/* FabrikaTycoon 2.5 — calm Minecraft UI, scenic backgrounds, no neon */

/* Wynncraft-inspired principle: one illustrated scene, quiet readable panels. */
body.tc-page::after {
  opacity:1;
  transition:opacity 520ms cubic-bezier(.22,.7,.2,1);
  background:
    linear-gradient(155deg,#f5d5e1 0%,#fbe9ef 34%,#f7dce6 67%,#fcecf1 100%) !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
  background-size:100% 100% !important;
}
body.tc-page.is-world-previewing::after,
body.tc-page[data-world]:not([data-world=""])::after { transition:opacity 520ms cubic-bezier(.22,.7,.2,1); }
body.tc-page.is-world-theme-switching::after { opacity:.28; }
body.tc-page { transition:--preview-page 560ms ease,--preview-paper 560ms ease,--preview-accent 520ms ease,--preview-deep 520ms ease,--preview-line 520ms ease; }
body.tc-page.is-world-previewing::after {
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--preview-deep) 18%,transparent),color-mix(in srgb,var(--preview-page) 20%,transparent) 30rem,var(--preview-page) 70rem,color-mix(in srgb,var(--preview-paper) 70%,var(--preview-page)) 100%),
    var(--world-preview-image),
    linear-gradient(150deg,var(--preview-page),var(--preview-paper)) !important;
  background-repeat:no-repeat,no-repeat,no-repeat !important;
  background-position:center top,center top,center top !important;
  background-size:100% 100%,max(100vw,1500px) auto,100% 100% !important;
}
body.tc-page[data-world]:not([data-world=""])::after {
  background:
    linear-gradient(180deg,rgba(var(--world-rgb),.10),rgba(var(--world-rgb),.24) 30rem,color-mix(in srgb,var(--world-accent) 24%,var(--world-paper)) 68rem,color-mix(in srgb,var(--world-accent) 18%,var(--world-paper)) 100%),
    var(--canvas-image),
    linear-gradient(150deg,var(--world-paper),color-mix(in srgb,var(--world-accent) 28%,var(--world-paper))) !important;
  background-repeat:no-repeat,no-repeat,no-repeat !important;
  background-position:center top,center top,center top !important;
  background-size:100% 100%,max(100vw,1500px) auto,100% 100% !important;
}

/* No CSS confetti, grids, circles or animated pattern sheets. */
body.is-world-previewing .tc-wiki-page::before,
.tc-world-hover-atmosphere { display:none !important;animation:none !important; }

/* Header: one lower rule, no glow and no inner white outlines. */
.tc-nav {
  border:0 !important;
  border-bottom:2px solid #704856 !important;
  box-shadow:none !important;
}
.tc-nav::before,.tc-nav::after,.tc-nav__link.is-active::before { display:none !important; }
.tc-nav__inner { align-items:center; }
.tc-nav__brand {
  width:44px !important;
  min-width:44px !important;
  padding:4px !important;
  justify-content:center;
  border:1px solid #714957 !important;
  border-bottom-width:2px !important;
  border-radius:2px !important;
  background:#f9e6ec !important;
  box-shadow:none !important;
}
.tc-nav__brand-mark { width:34px !important;height:34px !important;border-radius:1px !important; }
.tc-nav__brand-text { display:none !important; }
.tc-nav__link,.tc-nav__ip-group,.tc-nav__actions>.tc-btn,.tc-nav__avatar,.tc-nav__toggle,.tc-nav__discord {
  border-width:1px !important;
  border-bottom-width:2px !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
.tc-nav__link { background:rgba(255,246,249,.62) !important; }
.tc-nav__link:hover,.tc-nav__link.is-active {
  transform:none !important;
  background:#edbfd0 !important;
  box-shadow:none !important;
}
.tc-nav__discord {
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 11px;
  border:1px solid #665080;
  border-bottom:2px solid #4d3b65;
  background:#e7dff2;
  color:#47385c !important;
  font:800 .72rem var(--tc-font-heading);
  text-decoration:none;
}
.tc-nav__discord:hover { background:#d9cee9;color:#332743 !important; }

/* Remove the thin white inset line from every button/control. */
.tc-btn,.btn,button,.tc-nav__link,.tc-nav__brand,.tc-nav__ip-group,.tc-nav__discord,
.tc-category-scroller__button,.tc-quest-tab,.tc-world-pager a {
  box-shadow:none !important;
}
.tc-btn::before,.btn::before,button::before { display:none !important; }
.tc-btn,.btn {
  border-width:1px !important;
  border-bottom-width:2px !important;
  border-radius:2px !important;
}
.tc-btn:hover,.btn:hover { transform:none !important;box-shadow:none !important; }

/* Smaller, darker hero without the artificial lower light bloom. */
.tc-home-hero {
  min-height:490px !important;height:490px !important;
  margin-bottom:0;
  -webkit-mask-image:none;
  mask-image:none;
}
.tc-home-hero::after {
  background:linear-gradient(90deg,rgba(18,17,20,.90),rgba(28,25,29,.65) 48%,rgba(25,23,26,.12) 82%,rgba(22,20,23,.22)) !important;
}
.tc-home-hero__content { padding-block:42px !important; }
.tc-home-hero h1 { text-shadow:none !important; }
.tc-home-news-first { padding-top:38px !important; }

/* Compact footer. */
.tc-footer { margin-top:8px !important;padding:24px 0 14px !important; }
.tc-footer__grid { gap:18px !important; }
.tc-footer__about { margin-bottom:8px;font-size:.72rem;line-height:1.45; }
.tc-footer__social { margin-top:8px !important; }
.tc-footer__social-link { width:30px !important;height:30px !important;box-shadow:none !important; }
.tc-footer__links { gap:4px !important; }
.tc-footer__link { font-size:.70rem !important; }
.tc-footer__col-title { margin-bottom:6px !important;font-size:.78rem !important; }
.tc-footer .tc-cta-band { margin:16px 0 12px !important;padding:10px 14px !important; }
.tc-footer__bottom { padding-top:10px !important;font-size:.65rem !important; }

/* Stronger individual world identity while retaining square Minecraft blocks. */
body[data-world]:not([data-world=""]) .tc-world-page .tc-wiki-panel,
body[data-world]:not([data-world=""]) .tc-world-page .tc-wiki-fact,
body[data-world]:not([data-world=""]) .tc-world-page .tc-wiki-list li,
body[data-world]:not([data-world=""]) .tc-world-page .tc-mini-quest-list>div,
body[data-world]:not([data-world=""]) .tc-world-page .tc-world-pager a {
  background:color-mix(in srgb,var(--world-accent) 18%,var(--world-paper)) !important;
  border-color:color-mix(in srgb,var(--world-accent) 72%,var(--world-deep)) !important;
  backdrop-filter:none !important;
}
body[data-world]:not([data-world=""]) .tc-world-page .tc-wiki-panel>h2 {
  margin:-1px -1px 14px;
  padding:10px 12px;
  border-bottom:1px solid color-mix(in srgb,var(--world-accent) 72%,var(--world-deep));
  background:color-mix(in srgb,var(--world-accent) 30%,var(--world-paper));
  color:var(--world-deep) !important;
}
body[data-world]:not([data-world=""]) .tc-world-page .tc-wiki-list li,
body[data-world]:not([data-world=""]) .tc-world-page .tc-mini-quest-list>div { background:color-mix(in srgb,var(--world-accent) 10%,var(--world-paper)) !important; }
.tc-world-page .tc-world-header { box-shadow:none !important; }
.tc-world-page .tc-world-header h1 { text-shadow:none !important; }

/* Previous/next controls should read as navigation, not large content cards. */
.tc-world-pager { width:min(720px,100%);margin:14px auto 0 !important;gap:8px !important; }
.tc-world-pager a {
  min-height:40px;
  padding:6px 9px !important;
  font-size:.68rem !important;
  line-height:1.15;
}
.tc-world-pager a i { font-size:.9rem; }
.tc-world-pager small { display:inline !important;margin-left:5px;font-size:.68rem !important; }

/* Theme changes are deliberately stronger, but never neon. */
body.is-world-previewing .tc-nav { border-bottom-color:var(--preview-deep) !important; }
body.is-world-previewing .tc-nav { box-shadow:none !important; }
body.is-world-previewing .tc-wiki-nav,
body.is-world-previewing .tc-wiki-header,
body.is-world-previewing .tc-wiki-panel {
  border-color:var(--preview-deep) !important;
  box-shadow:none !important;
}
body.is-world-previewing .tc-wiki-header {
  background:color-mix(in srgb,var(--preview-accent) 34%,var(--preview-paper)) !important;
}
body.is-world-previewing .tc-wiki-nav { background:color-mix(in srgb,var(--preview-accent) 18%,var(--preview-paper)) !important; }
body.is-world-previewing .tc-world-route a { background:color-mix(in srgb,var(--preview-accent) 28%,var(--preview-paper)) !important; }

/* Account and form fields are part of the cherry surface, never stark white. */
.form-label,.tc-label { color:#5b3545 !important; }
.form-control,.form-select,.tc-input,.tc-select,.tc-textarea,
input[type="text"],input[type="email"],input[type="password"],input[type="number"],
input[type="search"],input[type="url"],input[type="tel"],input[type="date"],textarea,select,
.select2-container .select2-selection {
  border:1px solid #c98aa1 !important;
  border-radius:2px !important;
  background:#fff1f6 !important;
  color:#4a2c39 !important;
  box-shadow:none !important;
}
.form-control::placeholder,.tc-input::placeholder,textarea::placeholder,input::placeholder { color:#9d7181 !important; }
.form-control:focus,.form-select:focus,.tc-input:focus,.tc-select:focus,.tc-textarea:focus,
input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="number"]:focus,
input[type="search"]:focus,input[type="url"]:focus,input[type="tel"]:focus,input[type="date"]:focus,textarea:focus,select:focus {
  border-color:#b74770 !important;
  background:#fff7fa !important;
  box-shadow:0 0 0 2px rgba(197,70,113,.16) !important;
}
.input-group-text { border-color:#c98aa1 !important;background:#f6dfe8 !important;color:#613847 !important; }
.form-control:disabled,.form-control[readonly],.form-select:disabled,textarea:disabled {
  background:#f1dce5 !important;
  color:#896574 !important;
  opacity:1;
}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus {
  -webkit-text-fill-color:#4a2c39 !important;
  -webkit-box-shadow:0 0 0 1000px #fff1f6 inset !important;
}

/* The old generic input skin hid Tabler's checked state; draw it explicitly. */
input[type="checkbox"],.form-check-input[type="checkbox"] {
  appearance:none !important;
  -webkit-appearance:none !important;
  flex:0 0 18px;
  width:18px !important;
  height:18px !important;
  min-height:18px !important;
  margin:0 !important;
  border:1px solid #b97992 !important;
  border-radius:2px !important;
  background-color:#fff1f6 !important;
  background-image:none !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:12px 12px !important;
  box-shadow:none !important;
  cursor:pointer;
}
input[type="checkbox"]:checked,.form-check-input[type="checkbox"]:checked {
  border-color:#963956 !important;
  background-color:#c34e77 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m3 8 3 3 7-7'/%3E%3C/svg%3E") !important;
}
input[type="checkbox"]:indeterminate,.form-check-input[type="checkbox"]:indeterminate {
  border-color:#963956 !important;
  background-color:#c34e77 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-width='2.5' d='M3 8h10'/%3E%3C/svg%3E") !important;
}
input[type="checkbox"]:focus-visible,.form-check-input[type="checkbox"]:focus-visible {
  outline:2px solid rgba(183,71,112,.42) !important;
  outline-offset:2px;
}
input[type="checkbox"]:disabled,.form-check-input[type="checkbox"]:disabled { cursor:not-allowed;opacity:.58; }

/* Empty states and legacy alerts must not fall back to the old dark panel skin. */
.tc-alert,.alert {
  border:1px solid #d5a0b3 !important;
  border-radius:2px !important;
  background:#fff2f6 !important;
  color:#573442 !important;
  box-shadow:none !important;
}
.tc-alert--danger,.alert-danger {
  border-color:#cf849f !important;
  background:#fbe5ed !important;
  color:#74394e !important;
}
.tc-alert--warning,.alert-warning { border-color:#d9ac6c !important;background:#fff3df !important;color:#704f24 !important; }
.tc-alert--success,.alert-success { border-color:#92b89f !important;background:#ebf6ed !important;color:#355a40 !important; }
.tc-alert--info,.alert-info { border-color:#9dbcc9 !important;background:#eaf5f8 !important;color:#315764 !important; }
.tc-alert :is(strong,b,a),.alert :is(strong,b,a) { color:inherit !important; }
.tc-alert a,.alert a { text-decoration:underline;text-underline-offset:2px; }
.empty,.tc-empty { color:#765263 !important; }
.empty-icon { color:#b15575 !important; }

/* The two wiki start tracks share one grid, so every left/right pair stays aligned. */
.tc-start-guide__tracks { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px; }
.tc-start-guide__track-head { display:flex;align-items:center;gap:7px;padding:4px 2px 6px;color:#583442;font-size:1rem;font-weight:900; }
.tc-start-guide__track-head i { color:#ad4c6d;font-size:1rem; }
.tc-start-guide__flow { grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px; }
.tc-start-guide__step { display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;min-height:128px;padding:14px;border:1px solid #d9a4b7;background:#fff4f8; }
.tc-start-guide__step--factory { border-color:#d9a4b7;background:#fff2f7; }
.tc-start-guide__step--economy { border-color:#dcc09d;background:#fff8ee; }
.tc-start-guide__step>span { color:#ad4c6d;font:800 .82rem var(--tc-font-mono); }
.tc-start-guide__step--economy>span { color:#a46a3d; }
.tc-start-guide__step>div { display:flex;flex-direction:column;min-width:0; }
.tc-start-guide__step strong { color:#4d2e3b;font-size:.96rem;line-height:1.3; }
.tc-start-guide__step p { margin:5px 0 10px;color:#755363;font-size:.85rem;line-height:1.5; }
.tc-start-guide__step code { align-self:flex-start;margin-top:auto;font-size:.78rem; }
.tc-start-guide__step--economy code { border-color:#e5c79f;background:#fff0db;color:#7c5131; }

/* Payment completion: a compact in-world result panel instead of a stock success card. */
.tc-payment-success { padding-block:58px 76px !important; }
.tc-payment-success__panel {
  width:min(680px,100%);
  margin-inline:auto;
  padding:34px;
  border:1px solid #bb7893;
  border-bottom:4px solid #9a4564;
  border-radius:2px;
  background:linear-gradient(145deg,#fff8fa,#f8dfe9) !important;
  color:#4a2c39;
  text-align:center;
}
.tc-payment-success__mark {
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin:0 auto 16px;
  border:2px solid #9d405f;
  border-bottom-width:4px;
  border-radius:2px;
  background:#d85c87;
  color:#fff;
  font-size:1.65rem;
}
.tc-payment-success h1 { margin:6px 0 9px;color:#4a2737;font-size:clamp(1.65rem,4vw,2.25rem); }
.tc-payment-success__intro { max-width:510px;margin:0 auto;color:#765261;font-size:.92rem;line-height:1.65; }
.tc-payment-success__steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:26px 0 16px;
  border:1px solid #d6a7b9;
  background:#d6a7b9;
}
.tc-payment-success__steps>div { display:grid;justify-items:center;gap:6px;padding:13px 8px;background:#fff2f6;color:#795463;font-size:.7rem;font-weight:800;line-height:1.35; }
.tc-payment-success__steps i { color:#a64869;font-size:1.15rem; }
.tc-payment-success__steps .is-complete { background:#f5dce6;color:#5d3444; }
.tc-payment-success__steps .is-complete i { color:#b54369; }
.tc-payment-success__note { display:flex;align-items:flex-start;gap:8px;padding:11px 12px;border:1px solid #e0b5c4;background:#fff5f8;color:#795565;text-align:left;font-size:.76rem;line-height:1.5; }
.tc-payment-success__note i { flex:0 0 auto;margin-top:1px;color:#a84768;font-size:1rem; }
.tc-payment-success__actions { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:22px; }
.tc-payment-success__actions .tc-btn { display:inline-flex;align-items:center;gap:6px; }
.tc-payment-success__store-link { display:inline-flex;align-items:center;gap:4px;padding:7px 5px;color:#805063 !important;font-size:.75rem;font-weight:800;text-decoration:none; }
.tc-payment-success__store-link:hover { color:#a13f63 !important;text-decoration:underline; }

@media (max-width:1100px) { .tc-nav__discord span { display:none; }.tc-nav__discord { width:44px;padding:0; } }
@media (min-width:641px) {
  .tc-footer__about { display:none; }
  .tc-footer { padding-top:18px !important; }
}
@media (max-width:640px) {
  .tc-home-hero { min-height:520px !important;height:520px !important; }
  .tc-home-hero__content { padding-block:36px !important; }
  .tc-footer { padding:16px 0 62px !important; }
  .tc-footer__about { display:none; }
  .tc-footer__grid { gap:10px 10px !important; }
  .tc-footer__links { gap:2px !important; }
  .tc-footer__link { line-height:1.25 !important; }
  .tc-footer__bottom { gap:4px !important;padding-top:7px !important; }
  .tc-nav__discord { display:none; }
  .tc-world-pager small { display:block !important;margin:2px 0 0; }
  .tc-payment-success { padding-block:34px 46px !important; }
  .tc-payment-success__panel { padding:24px 16px; }
  .tc-payment-success__steps { grid-template-columns:1fr;gap:1px; }
  .tc-payment-success__steps>div { grid-template-columns:22px 1fr;justify-items:start;align-items:center;padding:10px 12px;text-align:left; }
  .tc-start-guide__tracks,.tc-start-guide__flow { grid-template-columns:1fr; }
}
