/* HTML overlays use the full window; unity-startup sizes the real render canvas below the header. */
body.native-leaderboard-open #pc-controls,body.native-leaderboard-open #world-status{display:none!important}
:root{--header-height:clamp(46px,3.85vw,66px);--panel-gap:clamp(18px,1.7vw,28px);--overlay-top:calc(var(--header-height) + var(--panel-gap));--surface:#090d13;--line:#ffffff20;--muted:#aab5c6;--text:#f1f4fa;--green:#31d89a}
body{color:var(--text);font-family:Helvetica,Arial,sans-serif}
#unity-canvas:focus{outline:none}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button svg,span svg,a svg{width:18px;height:18px;flex:none;vertical-align:middle}
#route-panel *,#destination-bar *,#site-header *,#world-status *,#pc-controls *,#world-sheet *{-webkit-text-stroke:0;text-shadow:none;paint-order:normal}
#site-header{box-sizing:border-box;position:fixed;inset:0 0 auto;z-index:45;display:flex;align-items:center;gap:clamp(13px,1.6vw,26px);height:var(--header-height);padding:0 clamp(14px,1.4vw,24px);background:#080c12ed;border-bottom:1px solid #ffffff16;color:var(--text);pointer-events:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-brand{display:flex;align-items:center;gap:12px;flex:none;color:var(--text);text-decoration:none;white-space:nowrap;font-size:clamp(13px,1.1vw,19px);font-weight:800;letter-spacing:-.04em}
.site-brand span,.site-location{font-size:clamp(10px,.85vw,14px);font-weight:400;letter-spacing:0;color:var(--muted)}
#site-header #destination-bar{position:static;flex:1 1 auto;min-width:0;z-index:auto;padding:0;margin:0;border:0;background:transparent}
#site-header #destination-bar nav{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:3px}
#site-header #destination-bar a{padding:clamp(8px,.7vw,12px) clamp(7px,.8vw,14px);font-size:clamp(10px,.9vw,15px);line-height:1.2;white-space:nowrap;border:1px solid transparent;border-radius:9px;color:#bac5d5;background:transparent;text-align:center;overflow-wrap:normal;text-decoration:none}
#site-header #destination-bar a[aria-current=page]{background:color-mix(in srgb,var(--route-accent) 13%,transparent);border-color:color-mix(in srgb,var(--route-accent) 48%,transparent);color:var(--text);font-weight:700}
#site-header #destination-bar a:hover{color:#fff;background:#ffffff08}
.header-actions{display:flex;align-items:center;gap:8px;flex:none}
#site-header button,.world-sheet button,.world-sheet a.sheet-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;box-sizing:border-box;border:1px solid #ffffff29;border-radius:9px;padding:8px 11px;background:#ffffff04;color:var(--text);font:600 clamp(11px,.9vw,15px)/1.2 Helvetica,Arial,sans-serif;cursor:pointer;text-decoration:none}
#site-header button:hover,.world-sheet button:hover{background:#ffffff0d;border-color:#ffffff50}
#site-header [data-world-action=invite]{border-color:color-mix(in srgb,var(--route-accent) 50%,transparent);background:color-mix(in srgb,var(--route-accent) 10%,transparent)}
.presence-chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:2px 10px;border:1px solid #ffffff17;border-radius:30px;color:var(--muted);font-size:clamp(10px,.83vw,14px);white-space:nowrap;box-sizing:border-box}
.presence-chip::before{content:"";width:7px;height:7px;background:var(--green);border-radius:50%;flex:none}
.presence-chip[data-status=connecting]::before{background:#8c9db1}
#site-header #world-presence{display:inline-flex;gap:8px;min-height:30px;padding:7px 10px;border:1px solid #ffffff17;border-radius:30px;background:transparent;color:var(--muted);font-size:clamp(10px,.83vw,14px);font-weight:400}
#world-presence:not(.is-connected)::before{background:#8c9db1}
.presence-compact{display:none}
#mobile-destination{display:none!important}
.video-tools{position:static;display:flex;gap:6px;align-items:center}
.video-menu-toggle[aria-expanded=true]{border-color:var(--route-accent)!important;background:color-mix(in srgb,var(--route-accent) 14%,transparent)!important}
.video-dialog-actions{display:grid;gap:10px;margin-top:18px}
.video-dialog-actions button{justify-content:flex-start;min-height:44px;font-size:15px}
.video-dialog-actions [data-world-action=leave-video]{margin-top:7px;color:#ff9b9b;border-color:#ff536850}
[hidden],.video-tools[hidden],#world-toast[hidden]{display:none!important}
#route-content{inset:0;z-index:10;display:flex;align-items:flex-start;padding:var(--overlay-top) var(--panel-gap) 80px!important;overflow:hidden;pointer-events:none;box-sizing:border-box}
#route-panel{position:relative;box-sizing:border-box;isolation:isolate;width:min(560px,33.4vw);max-width:560px;max-height:calc(100dvh - var(--overlay-top) - 90px);display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden;color:var(--text);background:#090d13ed;border:1px solid #ffffff21;border-radius:16px;box-shadow:0 18px 54px #0005;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-shadow:none;pointer-events:auto;transition:opacity .25s,transform .35s}
#route-panel::before,#route-panel::after{display:none}
#route-content.is-hidden #route-panel{opacity:0;transform:translateX(calc(-100% - var(--panel-gap) - 5px));pointer-events:none}
.world-ui-ready #route-panel{opacity:1;transform:translate3d(0,0,0);transition:transform 560ms cubic-bezier(.22,.8,.24,1),opacity 380ms ease;will-change:transform,opacity}
.world-ui-ready #route-content.is-hidden #route-panel{opacity:0;transform:translate3d(calc(-100% - var(--panel-gap) - 8px),12px,0);pointer-events:none;transition:transform 420ms cubic-bezier(.55,0,.75,.25),opacity 280ms ease}
#route-scroll{box-sizing:border-box;padding:clamp(21px,1.9vw,32px);min-height:0;overflow:auto;scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:#ffffff4a transparent;touch-action:pan-y;overscroll-behavior:contain}
#route-scroll::-webkit-scrollbar{width:5px;height:5px}
#route-scroll::-webkit-scrollbar-track{background:transparent}
#route-scroll::-webkit-scrollbar-thumb{background:#ffffff3b;border:0;border-radius:3px;min-height:36px}
#route-panel .route-hero,#route-panel .route-hero.no-art{display:block;margin:0}
#route-panel .route-kicker{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 clamp(17px,1.45vw,24px)}
#route-panel .eyebrow{margin:0;color:var(--route-accent);font-size:clamp(9px,.86vw,14px);font-weight:700;letter-spacing:.14em;line-height:1.5;text-transform:uppercase}
#route-panel h1,body[data-route=home] #route-panel h1{margin:0;font-size:clamp(29px,2.99vw,50px);font-weight:750;line-height:1.055;letter-spacing:-.055em;text-wrap:pretty;color:var(--text)}
#route-panel h1 .destination-name{display:block;margin:0 0 8px;color:var(--route-accent);font-size:clamp(11px,.92vw,15px);line-height:1.3;font-weight:650;letter-spacing:.01em}
#route-panel p{max-width:none;margin:16px 0 0;color:#c9d0dc;font-size:clamp(13px,1.18vw,20px);font-weight:400;line-height:1.48;letter-spacing:0;opacity:1}
#route-panel .route-intro{margin-top:clamp(16px,1.5vw,26px);font-size:clamp(13.5px,1.18vw,20px);line-height:1.48}
#route-panel .route-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:clamp(16px,1.3vw,22px) 0 0}
#route-panel button,#route-panel .route-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:35px;margin:0;padding:clamp(10px,.85vw,14px) clamp(11px,1.1vw,19px);border:1px solid #ffffff2c;border-radius:10px;background:transparent;color:var(--text);font-size:clamp(11px,.98vw,16px);font-weight:650;line-height:1.2;font-family:inherit;text-decoration:none;cursor:pointer;box-shadow:none;-webkit-text-stroke:0;text-shadow:none;transition:background .15s,border-color .15s}
#route-panel button:hover,#route-panel .route-actions a:hover{background:#ffffff09;border-color:#ffffff57}
#route-panel .route-actions .route-primary{background:var(--route-accent);border-color:var(--route-accent);color:#090d13;box-shadow:none;font-weight:750;-webkit-text-stroke:0;text-shadow:none}
#route-panel .route-actions .route-primary:hover{filter:brightness(1.08);background:var(--route-accent)}
#site-header button:disabled,#route-panel button:disabled{cursor:wait;opacity:.6}
#route-panel .route-hint{font-size:clamp(10px,.85vw,14px);line-height:1.45;color:var(--muted);margin-top:12px}
body[data-route=home] #route-panel .route-hint.desktop-copy{text-align:right}
kbd{display:inline-block;padding:1px 5px;border:1px solid #ffffff35;border-radius:4px;background:#ffffff06;font:inherit;font-size:.9em;line-height:1.35;color:inherit}
#route-panel .section-label{margin:0 0 10px;font-size:clamp(9px,.85vw,14px);line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:650}
.world-picker{margin-top:clamp(17px,1.6vw,27px)}
.world-links{display:grid;gap:8px}
#route-panel a.world-link{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;margin:0;padding:clamp(11px,1vw,17px);border:1px solid #ffffff20;border-radius:12px;background:#ffffff03;color:var(--text);text-decoration:none;line-height:1.3}
#route-panel a.world-link:hover{background:#ffffff08;border-color:#ffffff40}
.world-link>span:nth-child(2){min-width:0;flex:1}
.world-link strong{display:block;font-size:clamp(11px,1vw,17px);line-height:1.25;font-weight:700}
.world-link small{display:block;margin-top:5px;font-size:clamp(10px,.9vw,15px);line-height:1.3;color:var(--muted)}
.world-link .world-play{font-size:clamp(10px,.83vw,14px);font-weight:600;color:var(--muted)}
.world-icon,.step-icon{display:flex;align-items:center;justify-content:center;flex:none;width:clamp(29px,2.5vw,42px);height:clamp(29px,2.5vw,42px);border-radius:9px;background:color-mix(in srgb,var(--route-accent) 18%,transparent);color:var(--route-accent)}
.world-icon svg{width:20px;height:20px}
[data-destination=endlessclown]{--route-accent:#ff5368}
[data-destination=journeytospace]{--route-accent:#f7c64c}
[data-destination=music-club]{--route-accent:#b18aff}
#route-panel .content-badge{flex:none;border:1px solid #ffffff29;border-radius:20px;padding:4px 8px;font-size:clamp(8px,.75vw,12px);font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
#route-panel .live-badge{color:var(--green);border-color:#31d89a80}
.next-step{display:flex;align-items:flex-start;gap:12px;box-sizing:border-box;margin:clamp(17px,1.4vw,24px) 0 0;padding:clamp(13px,1.1vw,19px);border:1px solid color-mix(in srgb,var(--route-accent) 40%,transparent);background:color-mix(in srgb,var(--route-accent) 7%,transparent);border-radius:12px}
#route-panel .next-step h2{margin:1px 0 5px;font-size:clamp(11px,1vw,17px);font-weight:700;line-height:1.3;letter-spacing:0}
#route-panel .next-step p{margin:0;font-size:clamp(11px,.99vw,17px);line-height:1.45}
.next-step .step-icon{width:clamp(26px,2.3vw,38px);height:clamp(26px,2.3vw,38px);border-radius:8px}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:clamp(14px,1.3vw,22px)}
.feature-grid article{min-width:0;box-sizing:border-box;border:1px solid #ffffff20;border-radius:10px;padding:clamp(10px,.9vw,15px)}
#route-panel .feature-grid h3{font-size:clamp(10px,.9vw,15px);line-height:1.3;letter-spacing:0;margin:0 0 6px}
#route-panel .feature-grid p{font-size:clamp(10px,.9vw,15px);line-height:1.4;margin:0;color:#c9d0dc}
#route-panel .combat-steps h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:clamp(9px,.75vw,12px)}
.club-features article>svg{width:20px;height:20px;color:var(--route-accent);margin:0 0 12px}
#route-panel .club-features p{font-size:clamp(10px,.85vw,14px);color:var(--muted)}
.video-before{box-sizing:border-box;margin-top:clamp(17px,1.4vw,24px);padding:clamp(14px,1.15vw,20px);border:1px solid #ffffff20;border-radius:12px;background:#ffffff03}
.device-state{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:clamp(11px,1vw,17px);color:var(--text)}
.device-state>svg{width:18px;height:18px;flex:none}
.device-state>span:first-of-type{flex:1}
.device-state .state-badge{padding:4px 8px;border:1px solid #ffffff24;border-radius:20px;color:var(--muted);font-size:clamp(9px,.85vw,14px);font-weight:600;white-space:nowrap}
#route-panel .video-before p{margin-top:14px;font-size:clamp(10px,.9vw,15px);color:var(--muted);line-height:1.5}
.device-pills{gap:8px;margin-top:12px}
.device-pills>span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #ffffff29;border-radius:22px;font-size:12px;font-weight:600;color:var(--muted)}
.device-pills svg{width:16px;height:16px}
.leaderboard-preview{margin-top:clamp(15px,1.3vw,22px)}
.section-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
#route-panel .section-row h2{margin:0 0 8px}
#route-panel button.text-button{display:inline;padding:0;min-height:0;border:0;border-radius:0;font-size:clamp(10px,.83vw,14px);font-weight:600;color:var(--muted);background:none}
#route-panel .leaderboard-status{margin:0;font-size:clamp(10px,.9vw,14px);color:var(--muted)}
.leaderboard-status:empty{display:none}
#route-panel .leaderboard-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0;margin:0;list-style:none;counter-reset:leaderboard}
.leaderboard-rows:empty{display:none!important}
#route-panel .leaderboard-rows li{display:flex;align-items:center;gap:6px;min-width:0;margin:0;padding:10px 8px;border:1px solid #ffffff26;border-radius:9px;font-size:clamp(10px,.85vw,14px);color:var(--text)}
#route-panel .leaderboard-rows li:first-child{border-color:#f7c64c70}
.leaderboard-rows li strong{font-weight:700}
.leaderboard-rows li small,.leaderboard-rows li span:last-child{margin-left:auto;color:var(--muted);white-space:nowrap}
.journey-progress{display:flex;align-items:center;gap:6px;margin-top:clamp(18px,1.6vw,27px);color:var(--muted);font-size:clamp(10px,.86vw,14px);line-height:1.3}
.beacon{position:relative;display:block;flex:1;height:10px}
.beacon:before{content:"";position:absolute;left:0;top:0;width:9px;height:9px;box-sizing:border-box;border:1px solid #aab5c670;border-radius:50%}
.beacon:not(:last-of-type):after{content:"";position:absolute;left:15px;right:0;top:4px;height:1px;background:#ffffff20}
.beacon[data-collected=true]:before,.beacon.is-collected:before,.beacon.is-complete:before{background:var(--route-accent);border-color:var(--route-accent)}
.journey-end{flex:none;font-weight:600}
#route-panel .route-faq{margin-top:22px}
#route-panel .route-faq h2{font-size:24px;margin:0 0 16px;line-height:1.2;letter-spacing:-.03em}
#route-panel .route-faq details{border-top:1px solid #ffffff24}
#route-panel .route-faq summary{padding:14px 0;font-size:14px;cursor:pointer;color:var(--text)}
#route-panel .route-faq p{font-size:14px;margin:0 0 16px;color:var(--muted)}
.world-ui-ready:not(.unity-unavailable) #route-scroll>.route-faq{display:none}
#route-panel>.route-faq>summary,#route-scroll>.route-faq>summary{padding:15px 0;font-size:14px;font-weight:650;color:var(--text);cursor:pointer}
.route-faq-content{padding-top:10px}
.mobile-copy{display:none!important}
#world-status{position:fixed;left:var(--panel-gap);bottom:var(--panel-gap);z-index:25;display:flex;align-items:center;gap:10px;box-sizing:border-box;max-width:min(47vw,600px);min-height:37px;padding:8px 14px 8px 9px;border:1px solid #ffffff20;border-radius:40px;background:#090d13ed;color:var(--muted);font-size:clamp(10px,.85vw,14px);line-height:1.35;pointer-events:none;backdrop-filter:blur(10px)}
.presence-avatars{display:flex;align-items:center;padding-right:2px;flex:none}
.presence-avatars:empty::before{content:"";width:23px;height:23px;border-radius:50%;background:#26364c;display:block}
.presence-avatars>span{display:grid;place-items:center;width:24px;height:24px;border:2px solid #090d13;border-radius:50%;background:#26364c;color:#dbe7f6;font-size:9px;font-weight:700;margin-left:-5px}
.presence-avatars>span:first-child{margin-left:0}
#pc-controls{position:fixed;right:var(--panel-gap);bottom:var(--panel-gap);z-index:25;display:flex;align-items:center;gap:clamp(11px,1.3vw,22px);padding:10px 12px;box-sizing:border-box;border:1px solid #ffffff20;border-radius:12px;background:#090d13ed;color:var(--muted);font-size:clamp(10px,.85vw,14px);line-height:1.2;backdrop-filter:blur(10px)}
.control-hint{display:flex;align-items:center;gap:7px;white-space:nowrap}
.control-hint kbd{color:var(--text);font-weight:700;padding:4px 6px;font-size:inherit}
#world-sheet{box-sizing:border-box;position:fixed;width:min(560px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 60px);margin:auto;padding:24px;border:1px solid #ffffff2b;border-radius:18px;background:#0a0e15;color:var(--text);box-shadow:0 24px 100px #0009;font-family:Helvetica,Arial,sans-serif;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:#ffffff50 transparent}
#world-sheet::-webkit-scrollbar{width:5px;height:5px}
#world-sheet::-webkit-scrollbar-track{background:transparent}
#world-sheet::-webkit-scrollbar-thumb{background:#ffffff45;border:0;border-radius:4px}
#world-sheet nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px}
#world-sheet nav a{display:block;padding:10px 12px;border:1px solid #ffffff24;border-radius:9px;color:var(--muted);font-size:13px;text-decoration:none;line-height:1.3}
#world-sheet nav a[aria-current=page]{background:color-mix(in srgb,var(--route-accent) 12%,transparent);border-color:color-mix(in srgb,var(--route-accent) 45%,transparent);color:var(--text)}
#world-sheet::backdrop{background:#02050ab8;backdrop-filter:blur(5px)}
.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.sheet-heading h2{margin:0;font-size:24px;letter-spacing:-.04em;line-height:1.1}
.world-sheet .sheet-close{min-width:34px;padding:7px;font-size:20px;line-height:1}
.world-sheet .route-extra,.world-sheet .route-faq,.world-sheet .mobile-copy{display:block!important}
.world-sheet .route-faq[hidden]{display:block!important}
.world-sheet .route-faq>summary{display:none}
.world-sheet p{font-size:14px;line-height:1.5;color:var(--muted);margin:12px 0}
.world-sheet h3{font-size:16px;margin:0 0 7px}
.world-sheet h2.section-label{margin:16px 0 10px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.world-sheet .world-link{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #ffffff21;border-radius:12px;color:var(--text);text-decoration:none}
.world-sheet .world-link strong{font-size:14px}
.world-sheet .world-link small{font-size:12px}
.world-sheet .world-play{font-size:12px}
.world-sheet .world-icon{width:34px;height:34px}
.world-sheet .sheet-link{display:flex!important;justify-content:flex-start;margin-top:12px;padding:12px 14px}
.world-sheet details{border-top:1px solid #ffffff20}
.world-sheet summary{padding:15px 0;cursor:pointer;font-size:14px}
.world-sheet ul,.world-sheet ol{padding-left:22px;font-size:14px;line-height:1.5;color:var(--muted)}
.world-sheet li+li{margin-top:9px}
.world-sheet .feature-grid article{padding:12px}
.world-sheet .feature-grid article p{font-size:12px;margin:0}
.world-sheet .feature-grid h3{font-size:13px}
.world-sheet .next-step h2{font-size:15px;margin:0}
.world-sheet .next-step p{font-size:14px;margin:6px 0 0}
.world-sheet .device-state{font-size:14px}
.world-sheet input,.world-sheet select{box-sizing:border-box;width:100%;padding:12px;border:1px solid #ffffff30;border-radius:8px;background:#ffffff08;color:var(--text);font:14px Helvetica,Arial,sans-serif}
.world-sheet label{font-size:13px;color:var(--muted)}
.world-sheet .sheet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.world-sheet button.route-primary{background:var(--route-accent);color:#090d13;border-color:var(--route-accent)}
.world-sheet .pc-controls{display:flex;flex-wrap:wrap;align-items:center;gap:15px 20px;padding:0;color:var(--muted);font-size:13px}
#world-toast{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);z-index:80;max-width:min(500px,calc(100vw - 40px));padding:12px 18px;border:1px solid #ffffff30;border-radius:12px;background:#0a1019f5;color:var(--text);font-size:14px;line-height:1.4;box-shadow:0 8px 35px #0008;pointer-events:none}
.world-command-status{font-size:12px!important;color:var(--muted)!important;line-height:1.4!important;margin-top:12px!important}
.world-command-status:empty{display:none}
#site-header :focus-visible,#route-panel :focus-visible,#world-sheet :focus-visible{outline:2px solid var(--route-accent);outline-offset:3px}
#arrival-card{display:none;position:absolute;box-sizing:border-box;left:50%;top:50%;transform:translate(-50%,-50%);width:min(580px,calc(100vw - 40px));max-height:calc(100dvh - var(--header-height) - 80px);overflow:auto;overflow-x:hidden;padding:clamp(24px,2.3vw,38px);border:1px solid #ffffff20;border-radius:18px;background:#090d13ef;color:var(--text);box-shadow:0 20px 70px #0006;pointer-events:auto}
.loader-active #arrival-card{display:block}
.world-ui-ready .loader-active #route-panel{visibility:hidden;opacity:0;transform:translate3d(-36px,10px,0);pointer-events:none}
#arrival-card .route-kicker{margin:0 0 24px;color:#55d8f4;font-size:12px;line-height:1.5;letter-spacing:.12em;font-weight:700;text-transform:uppercase}
#arrival-card *{-webkit-text-stroke:0;text-shadow:none;paint-order:normal}
#arrival-card h2{margin:0;font-size:clamp(25px,2.25vw,38px);line-height:1.1;letter-spacing:-.055em}
#arrival-card p{font-size:15px;color:#c9d0dc;line-height:1.5;margin:22px 0}
#arrival-card .loader-hud{position:static;display:block;box-sizing:border-box;min-width:0;width:100%;max-width:100%;margin:26px 0 15px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;opacity:1;visibility:visible;color:var(--text);text-transform:uppercase}
#arrival-card .loader-hud *{box-sizing:border-box;min-width:0;max-width:100%}
#arrival-card .loader-labels{font-size:11px;letter-spacing:.08em}
#arrival-card .loader-track{height:6px;border-radius:4px;background:#ffffff20}
#arrival-card #loader-progress-fill{background:#55d8f4;border-radius:4px}
#arrival-card .loader-signal{display:none}
.arrival-steps{display:flex;gap:14px;flex-wrap:wrap;padding:0;margin:12px 0 22px;list-style:none;color:var(--muted);font-size:11px;line-height:1.5}
.arrival-steps li{display:flex;align-items:center;gap:6px}
.arrival-steps li:before{content:"";width:7px;height:7px;border:1px solid #ffffff4d;box-sizing:border-box;border-radius:50%}
.arrival-steps li[data-state=complete]:before{background:var(--green);border-color:var(--green)}
.arrival-steps li[data-state=active]:before{background:#55d8f4;border-color:#55d8f4}
.arrival-steps li.is-complete:before{background:var(--green);border-color:var(--green)}
.arrival-steps li.is-active:before{background:#55d8f4;border-color:#55d8f4}
.arrival-controls{border-top:1px solid #ffffff15;padding-top:18px;color:var(--muted);font-size:12px;line-height:1.5}
.arrival-controls>div{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0}
.arrival-controls p{font-size:12px!important;margin:14px 0 0!important}
.loader-active #world-status,.loader-active~#world-status{opacity:0}
body:has(#unity-container.loader-active) #fusion-connection-status:not(:has(button)){display:none}
@media(min-width:901px){body.has-touch-controls #route-panel{max-height:calc(100dvh - var(--overlay-top) - 90px)}}
@media(max-width:1150px) and (min-width:901px){.site-brand span,.site-location{display:none}.header-actions{gap:5px}#site-header{gap:10px}#site-header button{padding:8px}.presence-chip{padding-inline:8px}#pc-controls{gap:12px}#world-status{max-width:42vw}}
@media(max-width:900px),(pointer:coarse){
 :root{--header-height:52px;--panel-gap:12px;--overlay-top:calc(var(--header-height) + 12px + env(safe-area-inset-top,0px))}
 #site-header{height:calc(var(--header-height) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 12px 0;gap:12px}
 .site-brand{font-size:16px;letter-spacing:-.045em}.site-brand span,.site-location{display:none}
 #site-header #destination-bar{position:fixed;top:calc(var(--header-height) + env(safe-area-inset-top,0px));left:12px;right:12px;padding:8px;background:#090e17fa;border:1px solid #ffffff29;border-radius:12px;box-shadow:0 15px 40px #0008;display:none;z-index:60}
 #site-header #destination-bar.is-open,#site-header #destination-bar[data-open=true]{display:block}
 #site-header #destination-bar nav{display:flex;flex-direction:column;align-items:stretch;gap:3px}
 #site-header #destination-bar a{padding:12px;font-size:14px;text-align:left}
 #mobile-destination{display:inline-flex!important;flex:0 1 auto;min-width:0;max-width:46vw;border-color:color-mix(in srgb,var(--route-accent) 50%,transparent)!important;background:color-mix(in srgb,var(--route-accent) 12%,transparent)!important;padding:9px 11px!important;font-size:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .header-actions{margin-left:auto;gap:7px}
 #site-header button{min-height:35px;padding:8px;font-size:12px;gap:5px}
 #site-header button[data-world-action=controls]{display:none}
 #site-header [data-world-action=invite] span,#site-header [data-world-action=sound] span{display:none}
 .presence-chip{border:0;min-height:0;padding:0;gap:5px;font-size:12px}
 .presence-chip::before{width:7px;height:7px}.presence-chip .presence-label{display:none}
 #site-header #world-presence{padding:0;min-height:0;min-width:20px;gap:5px;border:0;font-size:12px;background:none}
 .presence-compact{display:inline}
 .video-tools{position:static;top:auto;right:auto;z-index:auto;padding:0;border:0;background:transparent}
 .video-menu-label{display:none}
 #mobile-destination>[data-destination-label]{min-width:0;overflow:hidden;text-overflow:ellipsis}
 #route-content{padding:var(--overlay-top) 12px 15px!important}
 #unity-container.loader-active #route-content{--overlay-top:calc(var(--header-height) + 12px + env(safe-area-inset-top,0px))}
 #route-panel,body.has-touch-controls #route-panel,body:not(.has-touch-controls) #unity-container.loader-active #route-panel{width:100%;max-width:560px;max-height:calc(var(--controls-top,65dvh) - var(--overlay-top) - 14px);border-radius:16px}
 #route-scroll{padding:18px;scrollbar-width:thin}
 #route-panel h1,body[data-route=home] #route-panel h1{font-size:30px;line-height:1.06;letter-spacing:-.055em}
 #route-panel .route-kicker{margin-bottom:12px;gap:6px}
 #route-panel .eyebrow{font-size:10px;line-height:1.5;letter-spacing:.12em}
 #route-panel p,#route-panel .route-intro{font-size:15px;line-height:1.4;margin-top:13px}
 #route-panel .content-badge{font-size:8px;padding:4px 7px}
 #route-panel .route-actions{display:flex;flex-wrap:nowrap;gap:8px;margin-top:17px}
 #route-panel button,#route-panel .route-actions a{min-height:43px;padding:12px 14px;font-size:14px;border-radius:11px}
 #route-panel .route-primary{flex:1}
 #route-panel .route-more-button{flex:none;gap:8px}
 #route-panel .route-hint{font-size:12px;line-height:1.4;margin-top:11px}
 #route-panel .route-extra,.desktop-copy{display:none!important}
 .mobile-copy{display:block!important}
 button.mobile-copy,a.mobile-copy,#route-panel .route-actions .mobile-copy{display:inline-flex!important}
 .device-pills.mobile-copy{display:flex!important}
 #route-panel .route-actions .route-primary>span.mobile-copy{display:inline!important}
 .journey-progress{margin-top:15px;gap:5px;font-size:11px}
 .beacon:before{width:10px;height:10px}.beacon:not(:last-of-type):after{left:15px;top:5px}
 #route-panel .leaderboard-preview{margin-top:12px}
 #route-panel .leaderboard-preview .section-label{font-size:10px;margin:0 0 4px;letter-spacing:.04em}
 #route-panel .leaderboard-status{font-size:12px;line-height:1.4;margin:0}
 #route-panel .leaderboard-rows{gap:5px}
 #route-panel .leaderboard-rows li{font-size:11px;padding:6px}
 #world-status{left:14px;bottom:calc(8px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 28px);min-height:29px;padding:4px 10px 4px 5px;font-size:12px;gap:7px}
 .presence-avatars:empty::before,.presence-avatars>span{width:20px;height:20px}
 #pc-controls{display:none}
 #world-sheet{position:fixed;inset:auto 0 0;transform:none;margin:0;width:100%;max-width:100%;max-height:85dvh;padding:22px 20px calc(22px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;border-bottom:0;touch-action:pan-y}
 #world-sheet:before{content:"";display:block;width:36px;height:4px;border-radius:3px;background:#ffffff35;margin:-12px auto 20px}
 .world-sheet .desktop-copy{display:block!important}
 .world-sheet .route-extra,.world-sheet .route-faq,.world-sheet .mobile-copy{display:block!important}
 .world-sheet .feature-grid{margin-top:14px;gap:8px}
 .world-sheet .sheet-heading h2{font-size:22px}
 .world-sheet button,.world-sheet a.sheet-link{font-size:14px}
 #world-toast{bottom:calc(20px + env(safe-area-inset-bottom,0px));font-size:13px}
 #arrival-card{left:12px;right:12px;top:var(--overlay-top);transform:none;width:auto;max-height:calc(100dvh - var(--overlay-top) - 40px);padding:22px}
 #arrival-card .route-kicker{font-size:10px;margin-bottom:18px}
 #arrival-card h2{font-size:28px}
 #arrival-card p{font-size:14px;margin:18px 0}
 #arrival-card .loader-hud{margin:22px 0 12px}
 .arrival-steps{font-size:10px;gap:10px}
 .arrival-controls>div{gap:10px}.arrival-controls .control-hint{font-size:11px}
}
@media(max-width:370px){#site-header{gap:8px}.site-brand{font-size:14px}#mobile-destination{font-size:12px!important;max-width:44vw;padding:8px!important}.header-actions{gap:5px}.presence-chip{font-size:11px}#site-header button{padding:7px;min-height:32px}#site-header button svg{width:16px;height:16px}#route-scroll{padding:16px}#route-panel h1,body[data-route=home] #route-panel h1{font-size:27px}#route-panel .eyebrow{font-size:9px}#route-panel .content-badge{font-size:7px;padding:4px 5px}}
@media(max-height:540px) and (orientation:landscape){:root{--header-height:43px;--panel-gap:10px;--overlay-top:53px}#route-content{padding-top:53px!important}#route-panel,body.has-touch-controls #route-panel{width:360px;max-height:calc(100dvh - 115px)}#route-scroll{padding:15px 18px}#route-panel h1,body[data-route=home] #route-panel h1{font-size:27px}#route-panel .route-intro{font-size:13px}#route-panel .route-kicker{margin-bottom:10px}#route-panel .route-hint{font-size:10px}#route-panel .route-actions{margin-top:12px}#world-status{bottom:10px;left:10px;max-width:50vw}#pc-controls{bottom:10px;right:10px}#arrival-card{top:53px;left:50%;transform:translateX(-50%);width:540px;max-height:calc(100dvh - 66px);padding:18px 24px}#arrival-card h2{font-size:27px}#arrival-card p{font-size:13px;margin:12px 0}#arrival-card .route-kicker{margin-bottom:10px}#arrival-card .loader-hud{margin:15px 0 10px}.arrival-controls{padding-top:10px}.arrival-steps{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){#route-panel,.route-arriving #route-scroll{transition:none;animation:none}#site-header,#route-panel,#world-status,#pc-controls{backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Progressive enhancement: text, real links and native details work before scripts. */
html:has(body:not(.world-ui-ready)){height:auto;min-height:100%;overflow:auto}
body:not(.world-ui-ready){height:auto;min-height:100vh;overflow:visible}
body:not(.world-ui-ready) #unity-container{position:relative;inset:auto;width:100%!important;height:auto!important;min-height:100vh;overflow:visible}
body:not(.world-ui-ready) #unity-canvas,body:not(.world-ui-ready) #webgl-loader,body:not(.world-ui-ready) .loader-hud,body:not(.world-ui-ready) #unity-footer{display:none!important}
body:not(.world-ui-ready) #route-content{position:relative;inset:auto;display:block;height:auto;overflow:visible;padding:24px 12px!important}
body:not(.world-ui-ready) #route-panel{width:100%;max-width:760px;max-height:none!important;margin:0 auto;overflow:visible;visibility:visible;transform:none;opacity:1;pointer-events:auto}
body:not(.world-ui-ready) #route-scroll{overflow:visible;max-height:none;padding:24px}
body:not(.world-ui-ready) #route-panel .route-extra,body:not(.world-ui-ready) .desktop-copy,body.unity-unavailable #route-panel .route-extra{display:block!important}
body:not(.world-ui-ready) .mobile-copy,body:not(.world-ui-ready) #route-panel button[data-world-action],body:not(.world-ui-ready) #route-panel .route-hint{display:none!important}
body:not(.world-ui-ready) #route-panel .route-actions a.desktop-copy{display:inline-flex!important}
body:not(.world-ui-ready) #destination-bar{display:block;flex:none;padding:18px 24px 24px;border-top:1px solid #ffffff20}
body:not(.world-ui-ready) #destination-bar nav{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}
body:not(.world-ui-ready) #destination-bar a{display:block;padding:9px 12px;border:1px solid #ffffff25;border-radius:8px;font-size:13px;line-height:1.3;text-decoration:none;color:var(--muted)}
body:not(.world-ui-ready) #destination-bar a[aria-current=page]{color:var(--text);border-color:var(--route-accent)}
body:not(.world-ui-ready) #route-panel>.route-faq,body:not(.world-ui-ready) #route-scroll>.route-faq{display:block}
/* Labels keep one accessible copy; the bold visual copy rolls up behind it. */
span.roll-label,span.roll-label-current,span.roll-label-bold{font:inherit;letter-spacing:inherit;text-transform:inherit}
.roll-label{display:inline-grid;position:relative;min-width:0;max-width:100%;overflow:hidden;vertical-align:bottom;perspective:none;line-height:inherit}
.roll-label-current,.roll-label-bold{grid-area:1/1;display:block;min-width:0;backface-visibility:hidden;transform-style:preserve-3d;transform-origin:50% 50%;transition:transform 420ms cubic-bezier(.2,.7,.2,1),opacity 300ms ease;line-height:inherit}
.roll-label-current{transform:translateY(0) rotateX(0deg);opacity:1}
span.roll-label-bold{font-weight:700;transform:translateY(110%) rotateX(-180deg);opacity:0;pointer-events:none}
body.has-touch-input #pc-controls{display:none!important}
body.has-touch-input #world-status{left:max(12px,env(safe-area-inset-left,0px));bottom:calc(1px + env(safe-area-inset-bottom,0px));height:16px;min-height:0;max-width:min(360px,calc(100vw - 24px));padding:0;border:0;border-radius:3px;font-size:12px;line-height:16px;gap:0;background:#090d13d9;pointer-events:none}
body.has-touch-input #world-status .presence-avatars{display:none}
body.has-touch-input #world-status [data-world-presence-detail]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(orientation:landscape){body.has-touch-input #world-status{height:14px;line-height:14px}}
@media(orientation:landscape) and (max-height:375px){body.has-touch-input #world-status{bottom:env(safe-area-inset-bottom,0px)}}
@media(orientation:landscape) and (max-height:340px){body.has-touch-input #world-status{height:12px;line-height:12px;font-size:11px}}
body.has-touch-input .arrival-controls{font-size:13px;line-height:1.5}
@media(hover:hover) and (pointer:fine){
 a:hover .roll-label-current,button:hover:not(:disabled) .roll-label-current,summary:hover .roll-label-current{transform:translateY(-110%) rotateX(180deg);opacity:0}
 a:hover .roll-label-bold,button:hover:not(:disabled) .roll-label-bold,summary:hover .roll-label-bold{transform:translateY(0) rotateX(0deg);opacity:1}
}
@media(prefers-reduced-motion:reduce){
 .world-ui-ready #route-panel,.world-ui-ready #route-content.is-hidden #route-panel{transition:none;transform:none}
 .roll-label-current{transition:none;transform:none!important;opacity:1!important}
 .roll-label-bold{display:none;transition:none}
}
