/* FabrikaTycoon 2.4 — one continuous canvas, no section seams */

body.tc-page {
  position:relative;
  height:auto !important;
  min-height:100vh !important;
  background:#f7d9e5 !important;
  background-attachment:scroll !important;
}
body.tc-page::before { display:none !important; }
body.tc-page::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 9%,rgba(226,104,150,.25),transparent 28rem),
    radial-gradient(circle at 91% 25%,rgba(255,255,255,.72),transparent 31rem),
    radial-gradient(circle at 23% 68%,rgba(241,151,184,.18),transparent 35rem),
    radial-gradient(circle at 79% 84%,rgba(255,255,255,.58),transparent 32rem),
    radial-gradient(circle at 18% 22%,rgba(218,80,132,.12) 0 3px,transparent 4px),
    radial-gradient(circle at 74% 15%,rgba(218,80,132,.09) 0 4px,transparent 5px),
    linear-gradient(145deg,#f6d4e1 0%,#fff4f7 31%,#f8dce7 63%,#fcecf2 100%);
  background-size:auto,auto,auto,auto,170px 155px,230px 205px,auto;
}

/* Sections are spacing only. They never paint separate rectangular bands. */
.tc-main,.tc-main>.tc-section,.tc-main>.section,
.tc-section--muted,.tc-section[style*="background"],.section[style*="background"] {
  background-color:transparent !important;
  border-block:0 !important;
}
.tc-section--muted { background-image:none !important; }
.tc-home-hero { border-bottom:0 !important; }

/* Footer flows out of the same canvas with a soft tonal change, not a line. */
.tc-footer {
  margin-top:18px !important;
  border-top:0 !important;
  background:linear-gradient(180deg,transparent 0%,rgba(239,176,199,.32) 16%,rgba(236,163,191,.58) 100%) !important;
  box-shadow:none !important;
}
.tc-footer__bottom { border-top-color:rgba(137,70,94,.20) !important; }

/* A world preview uses its actual artwork, then lets its last quarter dissolve into its palette. */
body.tc-page.is-world-previewing {
  background:var(--preview-page) !important;
}
body.tc-page.is-world-previewing::before {
  content:"";
  display:block !important;
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:0;
  height:max(52.75rem,56.25vw);
  pointer-events:none;
  background-image:var(--world-preview-image);
  background-repeat:no-repeat;
  background-position:center top;
  background-size:max(100vw,1500px) auto;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 75%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 75%,transparent 100%);
}
body.tc-page.is-world-previewing::after {
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--preview-deep) 25%,transparent) 0,
      color-mix(in srgb,var(--preview-page) 18%,transparent) 22rem,
      var(--preview-page) 56rem,
      color-mix(in srgb,var(--preview-paper) 68%,var(--preview-page)) 100%),
    radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--preview-accent) 42%,transparent),transparent 30rem),
    linear-gradient(145deg,var(--preview-page),var(--preview-paper) 58%,var(--preview-page));
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-position:center top,center top,center top;
  background-size:100% 100%,100% 100%,100% 100%;
}

/* Stronger, coordinated component transformation. */
body.is-world-previewing .tc-nav {
  background:linear-gradient(180deg,color-mix(in srgb,var(--preview-paper) 66%,white),color-mix(in srgb,var(--preview-accent) 52%,var(--preview-paper))) !important;
  border-bottom-color:var(--preview-deep) !important;
  box-shadow:0 4px 0 color-mix(in srgb,var(--preview-deep) 28%,transparent) !important;
}
body.is-world-previewing .tc-nav__link,
body.is-world-previewing .tc-nav__ip-group,
body.is-world-previewing .tc-nav__actions>.tc-btn,
body.is-world-previewing .tc-nav__brand { border-color:color-mix(in srgb,var(--preview-line) 75%,var(--preview-deep)) !important; }
body.is-world-previewing .tc-nav__link:hover,
body.is-world-previewing .tc-nav__link.is-active {
  background:color-mix(in srgb,var(--preview-accent) 28%,var(--preview-paper)) !important;
  color:var(--preview-deep) !important;
}
body.is-world-previewing .tc-wiki-nav {
  background:color-mix(in srgb,var(--preview-paper) 86%,transparent) !important;
  border-color:var(--preview-deep) !important;
  backdrop-filter:blur(8px);
}
body.is-world-previewing .tc-wiki-header,
body.is-world-previewing .tc-wiki-panel {
  background:linear-gradient(135deg,color-mix(in srgb,var(--preview-accent) 22%,var(--preview-paper)),color-mix(in srgb,var(--preview-paper) 88%,transparent)) !important;
  border-color:var(--preview-deep) !important;
  backdrop-filter:blur(5px);
}
body.is-world-previewing .tc-wiki-header { box-shadow:0 7px 0 color-mix(in srgb,var(--preview-deep) 22%,transparent) !important; }
body.is-world-previewing .tc-world-route a {
  background:color-mix(in srgb,var(--preview-accent) 18%,var(--preview-paper)) !important;
  border-color:color-mix(in srgb,var(--preview-line) 80%,var(--preview-deep)) !important;
}
body.is-world-previewing .tc-world-route a:hover {
  background:color-mix(in srgb,var(--preview-accent) 34%,var(--preview-paper)) !important;
  color:var(--preview-deep) !important;
}
body.is-world-previewing .tc-footer {
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--preview-accent) 24%,var(--preview-paper)) 20%,color-mix(in srgb,var(--preview-accent) 44%,var(--preview-paper))) !important;
  border-top:0 !important;
}
body.is-world-previewing .tc-footer__col-title,
body.is-world-previewing .tc-footer__brand-name { color:var(--preview-deep) !important; }
body.is-world-previewing .tc-footer__social-link,
body.is-world-previewing .tc-footer .tc-cta-band {
  background:color-mix(in srgb,var(--preview-paper) 78%,transparent) !important;
  border-color:var(--preview-line) !important;
}

/* Persistent world pages receive the same full-canvas artwork treatment. */
body[data-world="main"] { --canvas-image:url("../img/worlds/main-world.jpg"); }
body[data-world="end"] { --canvas-image:url("../img/worlds/end.jpg"); }
body[data-world="nether"] { --canvas-image:url("../img/worlds/nether-minecraft-20260713.jpg"); }
body[data-world="ocean"] { --canvas-image:url("../img/worlds/ocean.jpg"); }
body[data-world="moon"] { --canvas-image:url("../img/worlds/moon-minecraft-20260713.jpg"); }
body[data-world="mars"] { --canvas-image:url("../img/worlds/mars-minecraft-20260713.jpg"); }
body[data-world="backrooms"] { --canvas-image:url("../img/worlds/backrooms.jpg"); }
body[data-world="void"] { --canvas-image:url("../img/worlds/void.jpg"); }
body[data-world="farm"] { --canvas-image:url("../img/worlds/farm-minecraft-20260713.jpg"); }
body[data-world="ancient"] { --canvas-image:url("../img/worlds/ancient.jpg"); }
body[data-world="industry"] { --canvas-image:url("../img/worlds/industry-minecraft-20260713.jpg"); }
body[data-world="crypto"] { --canvas-image:url("../img/worlds/crypto.jpg"); }
body.tc-page[data-world]:not([data-world=""])::after {
  display:block !important;
  background:
    linear-gradient(180deg,rgba(var(--world-rgb),.08),rgba(var(--world-rgb),.36) 32rem,color-mix(in srgb,var(--world-paper) 74%,transparent) 56rem,var(--world-paper) 82rem,color-mix(in srgb,var(--world-accent) 20%,var(--world-paper)) 100%),
    var(--canvas-image),
    radial-gradient(circle at 82% 20%,rgba(var(--world-rgb),.32),transparent 30rem),
    linear-gradient(145deg,var(--world-paper),color-mix(in srgb,var(--world-accent) 22%,var(--world-paper)));
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-position:center top,center top,center top,center top;
  background-size:100% 100%,max(100vw,1500px) auto,100% 100%,100% 100%;
}
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-paper) 84%,transparent) !important;
  backdrop-filter:blur(6px);
}
body[data-world]:not([data-world=""]) .tc-footer {
  border-top:0 !important;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--world-accent) 16%,var(--world-paper)) 22%,color-mix(in srgb,var(--world-accent) 34%,var(--world-paper))) !important;
}

@media (max-width:640px) {
  body.tc-page.is-world-previewing::after,
  body.tc-page[data-world]:not([data-world=""])::after { background-size:100% 100%,auto 50rem,100% 100%,100% 100%; }
  body.tc-page.is-world-previewing::before { display:none !important; }
  .tc-footer { margin-top:0 !important; }
}
