@import url("assets/recreated-v2/asset-layout.css");
@font-face { font-family: 'Barlow Condensed'; src: url('assets/fonts/barlow-condensed-bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Barlow Condensed'; src: url('assets/fonts/barlow-condensed-black.ttf') format('truetype'); font-weight: 900; font-display: swap; }

/* Independent illustrated chapters joined by a narrow ornamental frame. */
body { background: #071d50; }
.scene.scene { background: var(--scene-background, url('assets/global/01-world-background.png')) center / cover scroll no-repeat; }
.scene--pass, .scene--modes, .scene--arsenal, .scene--final { --scene-background: url('assets/recreated-v3-smooth/world-background-smooth-v1.png'); }
.scene + .scene, .scene.scene--why { margin-top: 0; }
.scene::before { content: none; }
.scene:not(.scene--hero) .scene-content { inset: 0; height: 100%; }
.scene:not(.scene--hero) { height: auto; min-height: 0; aspect-ratio: 1672 / 941; }
.scene:not(.scene--hero) .scene-art { top: 0; width: 100%; height: 100%; object-fit: contain; }
.scene .scene-art { animation: none; mask-image: none; -webkit-mask-image: none; }
.transition-band { display: none; }
.scene-divider {
  position: relative;
  z-index: 40;
  height: clamp(12px, 1.1vw, 22px);
  pointer-events: none;
  background: linear-gradient(to bottom, #f4ca61 0 1px, #835013 1px 3px, #0b2b61 3px, #061431 calc(100% - 3px), #835013 calc(100% - 3px), #f4ca61 calc(100% - 1px));
  box-shadow: 0 -3px 8px #08193545, 0 3px 8px #08193545;
}
.scene-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(17px, 1.5vw, 30px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%) rotate(45deg);
  border: 3px solid #f3c15e;
  background: linear-gradient(135deg, #c4f6ff 0%, #35c8fa 35%, #0d61c0 55%, #08214e 100%);
  box-shadow: 0 0 0 2px #82500d, inset 0 0 0 1px #78ddfa, 0 2px 4px #00112b;
}
.scene-divider::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0 44%, #ffffff45 48%, transparent 50% 100%);
}

/* Each image remains a complete PNG. No sprite crops, masks, or clipped image containers. */
.asset-layer {
  position: absolute;
  aspect-ratio: var(--ink-aspect);
  height: auto;
  margin: 0;
  overflow: visible;
  isolation: isolate;
}
.asset-layer > img {
  position: absolute;
  z-index: -1;
  top: var(--image-top);
  left: var(--image-left);
  display: block;
  width: var(--image-width);
  max-width: none;
  height: auto;
  pointer-events: none;
}
.title-art { left: 50%; transform: translateX(-50%); z-index: 31; }
.scene-intro {
  position: absolute;
  left: 50%;
  width: 64%;
  margin: 0;
  transform: translateX(-50%);
  color: #121b32;
  font: 700 clamp(12px, 1.35vw, 27px) / 1.15 'Barlow Condensed', sans-serif;
  text-align: center;
  text-shadow: 0 1px 2px #fff, 0 0 6px #fff;
}

.why-title-frame { top: 1%; width: 54%; aspect-ratio: var(--ink-aspect); }
.feature-list { top: 29%; left: 14%; width: 72%; height: 49%; gap: 2% 8%; }
.feature-card-art { top: -10%; width: 126%; height: 104%; }
.feature-card-copy-art {
  z-index: 2;
  bottom: 0;
  left: 50%;
  width: 115%;
  aspect-ratio: var(--ink-aspect);
  transform: translateX(-50%);
  background: none;
  clip-path: none;
  container-type: inline-size;
  filter: drop-shadow(0 3px 2px #61381345);
}
.feature-card-copy-art strong,
.feature-card-copy-art p { position: absolute; left: 12%; width: 76%; margin: 0; text-align: center; white-space: nowrap; }
.feature-card-copy-art strong {
  top: 41%;
  transform: translateY(-50%);
  background: linear-gradient(#fffbd1 5%, #ffe649 60%, #efac20);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font: 900 6.2cqw / 1 'Barlow Condensed', sans-serif;
  text-transform: uppercase;
  -webkit-text-stroke: .5px #452409;
  filter: drop-shadow(0 2px 1px #001437);
}
.feature-card-copy-art p { top: 75%; transform: translateY(-50%); color: #24180c; font: 700 3.8cqw / 1.1 'Barlow Condensed', sans-serif; }
.why-mascot { bottom: 5%; width: 13%; }

.pass-heading { top: 1%; width: 45%; }
.pass-intro { top: 28%; }
.pass-badge { left: 3.7%; width: 10%; z-index: 5; filter: drop-shadow(0 3px 5px #00295680); }
.pass-badge--free { top: 30%; }
.pass-badge--premium { top: 63%; }
.pass-milestones, .trail-rewards { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; pointer-events: none; }
.pass-milestones { --track-color: #07386b; z-index: 4; }
.pass-milestones--premium { --track-color: #a6220b; }
.pass-milestones li {
  position: absolute;
  top: var(--y);
  left: var(--x);
  width: 3.55%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: clamp(2px, .22vw, 4px) solid #ffd34c;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 25%, #ffffff50, transparent 55%), var(--track-color);
  box-shadow: inset 0 0 0 2px #9f5c11, 0 0 0 2px #914109, 0 0 0 4px #fff1a9, 0 3px 6px #4b230a80;
  color: white;
  font: 900 clamp(12px, 2.25vw, 43px) / 1 'Barlow Condensed', sans-serif;
  text-shadow: 0 2px 2px #04122f;
}
.trail-rewards { z-index: 3; }
.trail-star, .trail-lock { position: absolute; top: var(--y); left: var(--x); transform: translate(-50%, -50%); }
.trail-star { color: #fff275; font-size: clamp(13px, 2.35vw, 42px); line-height: 1; text-shadow: 0 0 8px #fff, 0 0 14px #ffad00; animation: reward-glow 3s ease-in-out infinite alternate; }
.trail-lock { display: grid; place-items: center; width: 2.4%; aspect-ratio: 1; border: 2px solid #ffda66; border-radius: 50%; color: #fff4c1; background: #311c19c7; box-shadow: 0 1px 3px #31140c; }
.trail-lock svg { width: 55%; height: 60%; }
.pass-summary { top: 77%; left: 33.7%; width: 33%; }
.art-button {
  display: grid;
  place-items: center;
  left: 50%;
  transform: translateX(-50%);
  z-index: 32;
  color: #fff9d8;
  font: 900 clamp(14px, 2.25vw, 43px) / 1 'Barlow Condensed', sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  text-shadow: 0 2px 0 #7f2306, 1px 0 #7f2306, -1px 0 #7f2306;
  transition: filter .2s ease, translate .2s ease;
  filter: drop-shadow(0 5px 6px #70400955);
}
.art-button > span { position: absolute; inset: 12% 13%; display: flex; align-items: center; justify-content: center; gap: .6em; white-space: nowrap; }
.art-button:hover { translate: 0 -3px; filter: brightness(1.1) drop-shadow(0 0 12px #ffdd57a0); }
.art-button:active { translate: 0 1px; }
.art-button:focus-visible, .mode-card:focus-visible, .weapon-card:focus-visible { outline: 3px solid #fff9b4; outline-offset: 7px; border-radius: 10px; }
.pass-button { top: 84%; width: 33%; color: #531601; text-shadow: 0 1px #ffe07b; font-size: clamp(17px, 2.65vw, 50px); }

.modes-heading { top: 1%; width: 43%; }
.modes-intro { top: 27%; }
.mode-cards, .weapon-cards { position: absolute; inset: 0; pointer-events: none; }
.mode-card, .weapon-card { pointer-events: auto; text-decoration: none; container-type: inline-size; transition: translate .2s ease, filter .2s ease; }
.mode-card:hover, .weapon-card:hover { translate: 0 -3px; filter: brightness(1.12); }
.mode-card--arena { top: 53%; left: 5.7%; width: 20%; }
.mode-card--dungeon { top: 60.5%; left: 38.1%; width: 24%; }
.mode-card--social { top: 65%; left: 75.5%; width: 21%; }
.mode-card strong, .mode-card small { position: absolute; left: 10%; width: 80%; text-align: center; white-space: nowrap; }
.mode-card strong { top: 44%; transform: translateY(-50%); color: #ffe776; font: 900 9cqw / 1 'Barlow Condensed', sans-serif; text-transform: uppercase; text-shadow: 0 2px 1px #221204, 1px 0 #221204, -1px 0 #221204; }
.mode-card--dungeon strong { font-size: 7.7cqw; }
.mode-card--social strong { font-size: 8.4cqw; }
.mode-card small { top: 75%; transform: translateY(-50%); color: #21190e; font: 700 6cqw / 1 'Barlow Condensed', sans-serif; }
.mode-card--social strong { top: 42%; }
.mode-card--social small { top: 70%; }
.modes-button { top: 83%; width: 31%; }

.arsenal-heading { top: 1%; width: 46%; }
.arsenal-intro { top: 29%; }
.weapon-card { top: 65%; width: 18%; }
.weapon-card--1 { left: 8.5%; }
.weapon-card--2 { left: 30.3%; }
.weapon-card--3 { left: 51.6%; }
.weapon-card--4 { left: 73.1%; }
.weapon-card small, .weapon-card strong { position: absolute; left: 13%; width: 74%; text-align: center; white-space: nowrap; font-family: 'Barlow Condensed', sans-serif; text-transform: uppercase; line-height: 1; font-weight: 900; }
.weapon-card small { top: 43%; transform: translateY(-50%); color: #ffe05c; font-size: 6.4cqw; text-shadow: 0 2px #311b03; }
.weapon-card strong { top: 63%; transform: translateY(-50%); color: #fff; font-size: 7.5cqw; text-shadow: 0 2px 2px #071730; }
.arsenal-button { top: 83%; width: 32%; }

.arena-logo { top: 10%; left: 33.5%; width: 33%; z-index: 2; }
.arena-heading { top: 28%; width: 39%; }
.arena-button { top: 64%; width: 27%; }
.play-symbol { display: block; flex: 0 0 auto; width: .95em; height: .95em; overflow: visible; filter: drop-shadow(0 1px 1px #ab480b80); }
.arena-benefits { position: absolute; top: 78%; left: 33%; display: flex; width: 34%; gap: 4%; margin: 0; padding: 0; list-style: none; }
.arena-benefits li { position: relative; width: 30.66%; aspect-ratio: 1.32; }
.benefit-badge { width: 100%; top: 0; left: 0; }

.site-footer { height: auto; min-height: 0; aspect-ratio: 2172 / 255; margin-top: 0; padding-top: 0; background: #061c49; isolation: isolate; overflow: clip; }
.footer-frame-layer { inset: 0 auto auto 0; width: 100%; z-index: 1; }
.footer-logo-layer { top: 33%; left: 5%; width: 19%; z-index: 30; }
.footer-nav { top: 51%; left: 28%; width: 47%; display: flex; align-items: center; justify-content: space-between; gap: 1%; transform: translateY(-50%); }
.footer-nav a { font: 700 clamp(10px, 1.2vw, 24px) / 1 'Barlow Condensed', sans-serif; white-space: nowrap; }
.footer-nav a:hover { color: #ffe88d; }
.footer-nav a:not(:last-child)::after { content: '✦'; color: #ffd553; padding-left: .7vw; }
.footer-status { top: 45%; right: 5%; width: 17%; font: 700 clamp(10px, 1.2vw, 23px) / 1.4 'Barlow Condensed', sans-serif; }
.footer-status small { font-size: .74em; white-space: nowrap; }
.footer-status i { width: .7em; height: .7em; }
.footer-copyright { position: absolute; z-index: 30; right: 0; bottom: 1%; left: 0; width: 100%; margin: 0; color: #aec0da; font: 700 clamp(10px, .9vw, 16px) / 1.4 'Barlow Condensed', sans-serif; text-align: center; text-shadow: 0 2px #061a48; }

@keyframes reward-glow { from { opacity: .75; filter: brightness(1); } to { opacity: 1; filter: brightness(1.25); } }

@media (max-width: 700px) {
  .scene.scene { background: var(--scene-background, url('assets/global/01-world-background.png')) center / auto 100% scroll no-repeat; }
  .scene:not(.scene--hero) { aspect-ratio: auto; }
  .scene.scene--why { height: 900px; min-height: 900px; }
  .scene.scene--why .scene-art { width: auto; height: 100%; object-fit: contain; }
  .why-title-frame { top: 3%; width: 96%; }
  .feature-list { top: 21%; left: 8%; width: 84%; height: 67%; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 14px 5%; }
  .feature-card-art { top: -2%; width: 118%; height: 99%; }
  .feature-card-copy-art { width: 111%; }
  .feature-card-copy-art strong { font-size: 6.1cqw; }
  .feature-card-copy-art p { font-size: 3.8cqw; }
  .why-mascot { width: 100px; bottom: 0; }
  .scene--pass { height: 640px !important; }
  .pass-heading, .modes-heading, .arsenal-heading { top: 18px; width: 90%; }
  .scene-intro { font-size: 15px; width: 90%; }
  .pass-intro { top: 150px; }
  .scene.scene--pass .scene-art { top: 200px; width: 100%; height: auto; }
  .pass-milestones, .trail-rewards { inset: 200px 0 auto; height: calc(100vw * 941 / 1672); }
  .pass-milestones li { width: 5%; font-size: 15px; border-width: 2px; box-shadow: inset 0 0 0 1px #9f5c11, 0 0 0 1px #914109, 0 0 0 2px #fff1a9, 0 2px 3px #4b230a80; }
  .trail-star { font-size: 17px; }
  .trail-lock { width: 3%; border-width: 1px; }
  .pass-badge { width: 11%; }
  .pass-badge--free { top: calc(200px + 100vw * .3 * 941 / 1672); }
  .pass-badge--premium { top: calc(200px + 100vw * .63 * 941 / 1672); }
  .pass-summary { top: 470px; left: 10%; width: 80%; }
  .pass-button { top: 525px; width: 78%; font-size: 30px; }
  .scene--modes { height: 865px !important; }
  .modes-intro { top: 155px; }
  .scene.scene--modes .scene-art { top: 185px; width: 100%; height: auto; }
  .mode-card { left: 12%; width: 76%; }
  .mode-card--arena { top: 425px; }
  .mode-card--dungeon { top: 525px; }
  .mode-card--social { top: 625px; }
  .modes-button { top: 755px; width: 76%; font-size: 27px; }
  .scene--arsenal { height: 730px !important; }
  .arsenal-intro { top: 165px; }
  .scene.scene--arsenal .scene-art { top: 215px; width: 100%; height: auto; }
  .weapon-card { width: 43%; }
  .weapon-card--1 { left: 5%; top: 455px; }
  .weapon-card--2 { left: 52%; top: 455px; }
  .weapon-card--3 { left: 5%; top: 525px; }
  .weapon-card--4 { left: 52%; top: 525px; }
  .arsenal-button { top: 630px; width: 78%; font-size: 26px; }
  .scene--final { height: 740px !important; }
  .scene.scene--final .scene-art { width: auto; height: 100%; }
  .arena-logo { top: 12%; left: 16%; width: 68%; }
  .arena-heading { top: 29%; width: 95%; }
  .arena-button { top: 63%; width: 76%; font-size: 30px; }
  .arena-benefits { top: 77%; left: 6%; width: 88%; gap: 4%; }
  .site-footer { height: 320px; aspect-ratio: auto; min-height: 0; border-bottom: 2px solid #dba929; }
  .footer-frame-layer { top: 0; }
  .footer-logo-layer { top: 55px; left: 30%; width: 40%; }
  .footer-nav { top: 160px; left: 8%; width: 84%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 10px; text-align: center; transform: none; }
  .footer-nav a { font-size: 15px; }
  .footer-nav a::after { display: none; }
  .footer-status { top: 245px; right: 0; left: 0; width: 100%; text-align: center; font-size: 15px; }
}
@media (max-width: 360px) {
  .pass-intro { top: 135px; }
  .modes-intro { top: 140px; }
  .arsenal-intro { top: 145px; }
}
@media (max-width: 480px) {
  .scene.scene--why { height: 1650px; min-height: 1650px; }
  .why-title-frame { top: 2%; }
  .feature-list { top: 13%; left: 14%; width: 72%; height: 79%; grid-template-columns: 1fr; grid-template-rows: repeat(6, minmax(0, 1fr)); gap: 25px; }
  .feature-card-art { top: -10%; width: 110%; height: 114%; }
  .feature-card-copy-art { width: 118%; }
  .feature-card-copy-art strong { font-size: 6.2cqw; }
  .feature-card-copy-art p { font-size: 3.8cqw; }
}
@media (prefers-reduced-motion: reduce) {
  .trail-star { animation: none; }
  .art-button, .mode-card, .weapon-card { transition: none; }
}
