/* Compact masthead and a midnight / neon-pink home identity. */
:root[data-theme] body{--pink:#fa299b;--cyan:#b91672;--accent:#c91d85;--line:#e93e9d2b;--glow:#ff42ac14;--soft:#ffe0f0;--bg:#fff2fa;--panel:#fffaff;--panel2:#f5e3f1;--text:#32172e;--muted:#754568;--field:#fff9fc;background:var(--bg)}
:root[data-theme=dark] body{--pink:#ff41ae;--cyan:#ff8ace;--accent:#ff63b9;--line:#ff6ec12d;--soft:#311226;--bg:#0b0711;--panel:#160d1d;--panel2:#24112b;--text:#fff1fc;--muted:#c3a7bf;--field:#1c0e23;--glow:#ff2d9c16}
:root[data-theme] body .site-header{grid-template-columns:auto minmax(0,1fr) auto;padding:10px 4%;gap:12px 25px;background:var(--bg);border-bottom:1px solid var(--line)}
:root[data-theme] body .site-header .brand{grid-column:1;grid-row:1;gap:10px}
:root[data-theme] body .site-header .brand-symbol.lf-mark{width:40px;height:42px;font-size:27px;color:#270b21;background:#ff65b8;box-shadow:2px 2px 0 #ffcae7,0 0 25px #ff2fa521;border-radius:8px 8px 2px 8px}
body .lf-mark i{background:#ffe4f5;width:6px;height:6px;right:6px;bottom:6px}
:root[data-theme] body .brand-name{font-size:14px}:root[data-theme] body .brand-name span{font-size:10px}
:root[data-theme] body .site-header #navigation.compact-navigation{grid-column:2;grid-row:1;justify-content:center;border:0;padding:0;gap:7px;min-width:0}
:root[data-theme] body .site-header #navigation.compact-navigation a{border-radius:8px;background:transparent;color:var(--text)}
:root[data-theme] body .site-header #navigation.compact-navigation a.active{color:var(--cyan);border-color:var(--pink);background:var(--soft);box-shadow:inset 0 -2px var(--pink)}
:root[data-theme] body .site-header .header-tools{grid-column:3;grid-row:1;gap:8px}
:root[data-theme] body .language-select{height:40px;border-radius:8px;max-width:115px}
body .theme-switch{border-radius:9px;padding:2px}
body .theme-switch button{width:34px;height:34px;padding:7px;border-radius:6px}
body .theme-switch button[aria-pressed=true]{background:#ff67ba;color:#250917;box-shadow:0 0 14px #ff4bab25}
body #currentSection,body .site-header .header-link{display:none}
/* Numbers and unit labels only. Solid pink prevents transparent glyph failures. */
:root[data-theme] .release-nz.release-strip{display:flex;justify-content:center;align-items:center;position:relative;padding:12px 20px 11px;min-height:88px;background:#100914;border:0;border-bottom:1px solid #ff299968;text-align:center;color:#ff70be;isolation:isolate}
.release-strip::before{content:"";position:absolute;top:0;inset-inline:0;height:1px;background:linear-gradient(90deg,transparent,#ff3daf88,transparent)}
:root[data-theme] .release-strip .release-clock-digits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:center;width:min(100%,590px);max-width:none;margin:0;direction:ltr}
:root[data-theme] .release-strip .release-clock-digits>div{position:relative;display:flex;align-items:center;flex-direction:column;gap:4px;padding:0 10px;min-width:0;border:0}
:root[data-theme] .release-strip .release-clock-digits>div+div::before{content:"";position:absolute;inset-inline-start:0;top:8px;height:20px;width:1px;background:#ff78c249}
:root[data-theme] .release-strip .release-clock-digits strong{display:block;font:600 clamp(32px,3.2vw,46px)/1.06 var(--display);letter-spacing:.015em;font-variant-numeric:tabular-nums;background:none!important;background-clip:border-box;-webkit-background-clip:border-box;color:#ff65b8!important;-webkit-text-fill-color:#ff65b8!important;opacity:1;filter:none;text-shadow:0 0 20px #ff26984a}
:root[data-theme] .release-strip .release-clock-digits span{font:500 12px/1.4 var(--font);letter-spacing:.1em;color:#e7acd1;text-transform:uppercase}
/* Let the film fill the first screen behind the welcome. */
:root[data-theme] .hero.hero-signal{display:block;position:relative;isolation:isolate;height:calc(100svh - 154px);min-height:440px;max-height:1080px;margin:0;padding:0;border:0;border-bottom:1px solid #ff4fab8c;background:#0b0813;overflow:hidden}
:root[data-theme] .hero-signal .hero-image{height:100%;width:100%;object-fit:cover;object-position:center;filter:none}
:root[data-theme] .hero-signal .hero-cinema{inset:0;transition:opacity .4s ease}
:root[data-theme] .hero-signal .hero-film{filter:none;object-position:center!important}
:root[data-theme] .hero-signal .hero-shade{pointer-events:none;background:linear-gradient(180deg,#1b061528,transparent 18%,transparent 67%,#150918b8),linear-gradient(90deg,#ff15900a,transparent 22%,transparent 80%,#f530a80d)}
.neon-film-frame{position:absolute;inset:18px;z-index:1;pointer-events:none;background:linear-gradient(#ff49af,#ff49af) left top/42px 1px no-repeat,linear-gradient(#ff49af,#ff49af) left top/1px 42px no-repeat,linear-gradient(#ff49af,#ff49af) right top/42px 1px no-repeat,linear-gradient(#ff49af,#ff49af) right top/1px 42px no-repeat,linear-gradient(#ff49af66,#ff49af66) left bottom/42px 1px no-repeat,linear-gradient(#ff49af66,#ff49af66) left bottom/1px 42px no-repeat,linear-gradient(#ff49af66,#ff49af66) right bottom/42px 1px no-repeat,linear-gradient(#ff49af66,#ff49af66) right bottom/1px 42px no-repeat}
.neon-film-frame::after{content:"";position:absolute;top:-18px;left:0;width:15%;height:2px;background:#ff6ec1;box-shadow:0 0 12px #ff239fc9,0 0 32px #ff239f59;animation:neon-rail 12s ease-in-out infinite alternate;opacity:.85}
@keyframes neon-rail{from{transform:translateX(0)}to{transform:translateX(550%)}}
:root[data-theme] .hero-signal .hero-bottom{position:absolute;inset-inline:4%;bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:3;padding:0;margin:0}
.hero-neon-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
:root[data-theme] .hero-signal .neon-action{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:44px;padding:11px 18px;background:#ff44a9;color:#240718;border:1px solid #ff8cca;border-radius:2px 12px 2px 12px;font:600 14px/1.35 var(--font);text-decoration:none;box-shadow:0 5px 30px #ff188e35;transition:box-shadow .2s,background .2s,transform .2s}
:root[data-theme] .hero-signal .neon-action:hover{background:#ff8fce;box-shadow:0 0 35px #ff23894d;transform:translateY(-2px)}
:root[data-theme] .hero-signal .neon-action-quiet{background:#160a24d9;color:#ffe8f7;border-color:#ff8dc868;box-shadow:none;backdrop-filter:none}
:root[data-theme] .hero-signal .neon-action-quiet:hover{background:#3d102ce6}
.hero-signal .cinema-controls{margin:0;gap:12px}
.hero-signal .cinema-toggle{border:1px solid #ff90cd7a;background:#170921d9;color:#ffc0e5;border-radius:9px;backdrop-filter:none}
.hero-signal .cinema-sequence{position:absolute;bottom:-22px;inset-inline:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}
.hero-signal .cinema-sequence>span{width:auto;height:2px;background:#ffffff33}
.hero-signal .cinema-sequence>span.is-current{width:auto;background:#ff4baa;box-shadow:0 0 12px #ff299e88}
:root[data-theme] body .home-world-details{background:var(--bg);border-bottom:1px solid var(--line)}
body .home-world-details>summary{padding-block:12px;color:var(--muted)}
:root[data-theme] body .discover-scroll{background:radial-gradient(ellipse at 100% 20%,#ff159511,transparent 28%),radial-gradient(ellipse at 0 65%,#ed299a0d,transparent 28%),var(--bg)}
:root[data-theme] body .discover-section-head h2{letter-spacing:.06em;text-transform:uppercase}
:root[data-theme] body .discover-section-head .button{border-color:var(--line);border-radius:2px 13px 2px 13px;color:var(--cyan);background:var(--panel)}
body .drift-photo{border-radius:3px 22px 3px 22px;box-shadow:0 15px 65px #ff0a780b}
body .drift-photo:hover{box-shadow:0 0 0 1px #ff57b77a,0 15px 65px #ff0a7825}
:root[data-theme] body .photo-cta{border-color:#ff9cd163;background:#240c279e;color:#fff0fa}
/* Every destination appears exactly once, with no duplicate category layer. */
:root[data-theme] .hub-flat{max-width:1540px;padding-top:45px}
.hub-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;align-items:start;overflow:visible}
:root[data-theme] .hub-flat .photo-tile{position:relative;isolation:isolate;display:flex;align-items:flex-end;aspect-ratio:1.18;min-height:210px;padding:24px;border:1px solid #c5e9ed25;border-radius:8px 28px 8px 28px;overflow:hidden;background:#14252e;color:#fff;box-shadow:0 12px 32px #07182818;text-decoration:none;animation:destination-float calc(11s + var(--tile)*.45s) ease-in-out infinite alternate;animation-delay:calc(var(--tile)*-1.2s);animation-play-state:paused}
:root[data-theme] .hub-flat .photo-tile::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#081c2a22,transparent 30%,#061522d9)}
:root[data-theme] .hub-flat .photo-tile>img{position:absolute;inset:-3% -6%;width:112%;max-width:none;height:106%;object-fit:cover;animation:destination-pan 22s ease-in-out infinite alternate;animation-delay:calc(var(--tile)*-2s);animation-play-state:paused;transition:filter .3s}
:root[data-theme] .hub-flat .photo-tile strong{position:relative;z-index:2;font-size:clamp(21px,2vw,29px);line-height:1.18;max-width:85%;color:#fff;text-shadow:0 3px 20px #0007}
.hub-tile-icon{position:absolute;top:20px;inset-inline-start:20px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#12283988;border:1px solid #d7f5ef45;backdrop-filter:blur(8px);color:#e2fff4}
.hub-tile-icon .lf-icon{width:20px;height:20px}
.hub-tile-open{position:relative;z-index:2;margin-inline-start:auto;font:400 24px/1 var(--font);color:#d6f9eb;transition:transform .2s}
.hub-flat .photo-tile:hover .hub-tile-open{transform:translate(2px,-2px)}
.hub-flat .photo-tile:hover>img{filter:brightness(1.12)}
:root[data-theme] .hub-flat .photo-tile.in-view,:root[data-theme] .hub-flat .photo-tile.in-view>img{animation-play-state:running}
:root[data-theme] .hub-flat .photo-tile:hover,:root[data-theme] .hub-flat .photo-tile:focus-within,:root[data-theme] .hub-flat .photo-tile:hover>img,:root[data-theme] .hub-flat .photo-tile:focus-within>img,:root[data-theme] .hub-flat.motion-paused .photo-tile,:root[data-theme] .hub-flat.motion-paused .photo-tile>img{animation-play-state:paused}
@keyframes destination-float{from{transform:translateY(-5px)}to{transform:translateY(5px)}}
@keyframes destination-pan{from{transform:translateX(-2%)}to{transform:translateX(2%)}}

@media(min-width:960px){.hub-flat .photo-tile:nth-child(4n+2),.hub-flat .photo-tile:nth-child(4n+4){margin-top:20px}}
@media(max-width:1050px){.hub-links{grid-template-columns:repeat(3,minmax(0,1fr))}:root[data-theme] .hub-flat .photo-tile{padding:20px;min-height:190px}.hub-flat .photo-tile:nth-child(n){margin-top:0}:root[data-theme] body .site-header{gap:10px 16px}}
@media(max-width:760px){
 :root[data-theme] body .site-header{grid-template-columns:auto minmax(0,1fr);padding:10px 16px 8px;gap:8px 12px}
 :root[data-theme] body .site-header .header-tools{grid-column:2;grid-row:1;gap:6px}
 :root[data-theme] body .site-header #navigation.compact-navigation{grid-column:1/-1;grid-row:2;justify-content:flex-start;border-top:1px solid var(--line);padding-top:7px}
 :root[data-theme] body .brand-name{font-size:12px}:root[data-theme] body .brand-name span{font-size:9px}
 :root[data-theme] body .site-header .brand-symbol.lf-mark{width:33px;height:36px;font-size:23px}
 :root[data-theme] body .language-select{font-size:13px;max-width:100px;width:100px;padding-inline:8px}
 :root[data-theme] body .theme-switch button{width:32px;height:34px;padding:7px}
 :root[data-theme] .release-nz.release-strip{padding:10px 14px;min-height:78px}
 :root[data-theme] .release-strip .release-clock-digits{width:min(100%,440px)}
 :root[data-theme] .release-strip .release-clock-digits strong{font-size:clamp(28px,7.8vw,38px)}
 :root[data-theme] .release-strip .release-clock-digits>div{padding:0 3px;gap:5px}
 :root[data-theme] .release-strip .release-clock-digits span{font-size:12px;letter-spacing:0}
 :root[data-theme] .hero.hero-signal{height:calc(100svh - 193px);min-height:390px;max-height:850px}
 :root[data-theme] .hero-signal .hero-bottom{inset-inline:22px;bottom:31px;gap:10px}
 .hero-neon-actions{gap:8px;max-width:calc(100% - 55px)}
 :root[data-theme] .hero-signal .neon-action{font-size:13px;padding:10px 13px;gap:14px}
 .hero-signal .cinema-controls{align-self:flex-end}
 .neon-film-frame{inset:12px}.neon-film-frame::after{top:-12px}
 .hub-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}:root[data-theme] .hub-flat .photo-tile{min-height:180px;aspect-ratio:1;padding:16px;border-radius:6px 20px 6px 20px}:root[data-theme] .hub-flat .photo-tile strong{font-size:20px;max-width:90%}.hub-tile-icon{top:14px;inset-inline-start:14px;width:34px;height:34px}.hub-tile-open{font-size:20px}
}
@media(max-width:370px){.hub-links{grid-template-columns:1fr}:root[data-theme] .hub-flat .photo-tile{aspect-ratio:1.8;min-height:180px}:root[data-theme] body .brand-name{display:none!important}:root[data-theme] body .site-header .brand-symbol.lf-mark{width:35px;height:38px}}
