:root{color-scheme:dark;--sw-bg:#000;--sw-ink:#f4f3ef;--sw-accent:#f4f3ef;--ink:#f4f3ef;--muted:#999b99;--edge:clamp(24px,4.2vw,80px);font-family:Arial,Helvetica,sans-serif;background:#000;color:var(--ink)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:7px}::selection{background:#fff;color:#000}
.header{position:fixed;inset:0 0 auto;z-index:60;margin:0 var(--edge);height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff30;gap:24px}.brand{font-size:34px;font-weight:700;letter-spacing:-2px;min-height:44px;display:flex;align-items:center}.brand-dot{font-size:11px;font-weight:400;align-self:flex-start;margin:9px 0 0 4px;letter-spacing:0}.header-note{font:10px/1.6 monospace;letter-spacing:.12em;color:var(--muted);display:flex;gap:22px;align-items:center}.note-line{width:56px;height:1px;background:#676767}.explore{font-size:12px;min-height:44px;display:flex;gap:36px;align-items:center}.explore span{font-size:22px;transition:transform .2s}.explore:hover span{transform:translate(3px,-3px)}
.edition{position:fixed;top:140px;left:var(--edge);right:var(--edge);display:flex;align-items:center;gap:12px;font:10px/1.5 monospace;letter-spacing:.1em;color:var(--muted);z-index:25}.tiny-cross{font-size:19px;line-height:1;color:var(--ink)}.edition-right{margin-left:auto}.vignette{position:fixed;inset:0;z-index:11;pointer-events:none;background:linear-gradient(0deg,#000 0%,transparent 28%,transparent 80%,#0008 100%)}
.intro{position:fixed;left:var(--edge);bottom:185px;z-index:25;width:min(660px,60vw);will-change:opacity,transform}.eyebrow{font:10px/1.6 monospace;letter-spacing:.12em;margin:0 0 22px;color:#b0b1ae}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#fff;margin-right:10px;vertical-align:middle}h1{font-size:clamp(56px,7.2vw,114px);line-height:.96;font-weight:400;letter-spacing:-.065em;margin:0;text-wrap:balance}h1 span{color:#a2a4a1}.intro-bottom{display:flex;align-items:center;gap:60px;margin-top:27px}.intro-bottom p{font-size:14px;line-height:1.5;color:#b6b7b3;margin:0}.enter{width:49px;height:49px;border:1px solid #ffffff50;border-radius:50%;display:grid;place-items:center;font-size:25px;transition:background .2s,color .2s,transform .2s}.enter:hover{background:var(--ink);color:#000;transform:translateY(2px)}
.side-caption{position:fixed;right:var(--edge);top:46%;z-index:25;writing-mode:vertical-rl;font:9px monospace;letter-spacing:.14em;color:#8b8d89}.finale{position:fixed;z-index:25;bottom:190px;left:var(--edge);right:var(--edge);display:flex;align-items:end;justify-content:space-between;gap:24px;opacity:0;pointer-events:none}.finale h2{font-size:clamp(30px,3.3vw,50px);font-weight:400;letter-spacing:-.045em;line-height:1.05;margin:0}.finale .eyebrow{margin-bottom:18px}.replay{font-size:13px;display:flex;align-items:center;gap:60px;border-bottom:1px solid #777;padding:15px 0;min-height:48px}.replay span{font-size:23px;transition:transform .25s}.replay:hover span{transform:rotate(-45deg)}
.controls{position:fixed;bottom:0;left:var(--edge);right:var(--edge);padding-bottom:max(20px,env(safe-area-inset-bottom));z-index:60;font-family:monospace}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.05em}.scroll-hint{font-size:9px;color:#b4b6b2;display:flex;gap:18px;align-items:center}.scroll-hint span{font-size:20px}.control-heading #counter{font-variant-numeric:tabular-nums;min-width:80px;text-align:right}#counter span{color:#797b78}.timeline{height:44px;position:relative;display:flex;align-items:center}.timeline:before{content:"";position:absolute;left:0;right:0;height:1px;background:#ffffff30}.timeline-fill{height:1px;position:absolute;inset:50% 0 auto;background:#fff;transform:scaleX(var(--progress,0));transform-origin:left}.timeline i{position:absolute;width:1px;height:7px;background:#888;left:18%}.timeline i:nth-of-type(2){left:76%}.timeline input{position:absolute;inset:0;width:100%;height:44px;margin:0;opacity:0;cursor:ew-resize}.timeline:has(input:focus-visible){outline:1px solid #fff;outline-offset:2px}.control-bottom{display:flex;align-items:center;justify-content:space-between;color:#8e908b;font-size:9px;letter-spacing:.05em}.control-bottom button{background:transparent;color:#b5b7b1;border:0;padding:0;min-height:44px;display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:0}.control-bottom button:hover{color:#fff}.status{position:fixed;right:var(--edge);top:180px;z-index:26;color:#aaa;font:10px/1.6 monospace;max-width:240px;text-align:right}.status:empty{display:none}.status a{text-decoration:underline}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:white;color:black;padding:15px}.skip:focus{top:15px}.no-script{position:fixed;z-index:100;top:180px;left:var(--edge);max-width:400px;background:#111;padding:20px}.no-script a{text-decoration:underline}
.sw-root{--sw-bg:#000;--sw-ink:#f4f3ef;--sw-accent:#fff}.sw-topbar,.sw-copylayer,.sw-route,.sw-hint,.sw-scrollbar,.sw-particles{display:none}.sw-scene__video,.sw-scene__still{object-fit:contain;object-position:center!important;transform:none!important}.sw-scene__video{opacity:0}.sw-scene.has-clip .sw-scene__video{opacity:1}body.motion-off .sw-scene__video{opacity:0}body.motion-off .sw-scene__still{opacity:1}
@media(min-width:1500px){.intro{bottom:195px}}
@media(max-width:860px){.header{height:85px}.header-note{display:none}.brand{font-size:29px}.edition{top:110px}.intro{bottom:180px;width:85vw}h1{font-size:clamp(56px,10vw,84px)}.side-caption{display:none}.sw-stage{top:5%;bottom:8%}.scroll-hint{font-size:8px}.finale{bottom:180px}.replay{gap:20px}.status{top:140px}}
@media(max-width:540px){.header{height:78px}.brand{font-size:28px}.explore{font-size:11px;gap:22px}.edition{top:100px;font-size:8px}.edition-right{font-size:8px}.intro{bottom:190px;width:calc(100vw - 48px)}h1{font-size:clamp(48px,12vw,68px);line-height:1}.intro .eyebrow{font-size:8px;margin-bottom:18px}.intro-bottom{gap:35px;margin-top:20px}.intro-bottom p{font-size:12px}.enter{height:44px;width:44px}.sw-stage{top:-12%;bottom:0}.scroll-hint{font-size:7px;gap:8px}.scroll-hint span{font-size:16px}.control-heading{font-size:9px;gap:6px}.control-heading #counter{min-width:55px}.control-bottom{font-size:7px}.control-bottom button{font-size:8px;gap:6px}.finale{bottom:170px;align-items:start;flex-direction:column;gap:18px}.finale h2{font-size:33px}.finale .eyebrow{font-size:8px}.replay{font-size:11px;min-height:44px;padding:10px 0;gap:32px}.status{font-size:8px;top:135px;max-width:190px}}
@media(max-height:640px) and (min-width:541px){.header{height:70px}.edition{top:89px}.intro{bottom:145px}h1{font-size:58px}.eyebrow{margin-bottom:12px}.intro-bottom{margin-top:15px}.finale{bottom:150px}.finale h2{font-size:32px}.controls{padding-bottom:5px}.status{top:120px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.intro,.finale{will-change:auto}}
/* Fixed overlays must never become browser scroll anchors. */
html,body,#world,.sw-track{overflow-anchor:none}
/* Use the supplied brand artwork at its original aspect ratio. */
.brand img{display:block;width:118px;height:auto}
@media(max-width:540px){.brand img{width:100px}}
