:root{color-scheme:dark;--ink:#0b0c14;--paper:#f0eee9;--lilac:#b7adf4;--mint:#b9edcb}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:6px}header{position:fixed;z-index:8;top:0;width:100%;height:112px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:700;font-size:31px;letter-spacing:-1.8px}.brand .dot{font-size:12px;vertical-align:top;margin-left:4px;letter-spacing:0}.edition,.eyebrow,.coordinate,.chapter,.signature{font-family:monospace;letter-spacing:2px;font-size:10px}.edition{color:#9b9ba9}#skip{border:1px solid #ffffff35;border-radius:40px;background:#131420;padding:12px 18px;font-size:12px}#skip span{margin-left:24px;font-size:18px}main{position:relative;height:100svh;min-height:540px;isolation:isolate}.ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 69% 49%,#32224c88,transparent 46%),radial-gradient(ellipse at 28% 78%,#152c3533,transparent 45%);z-index:-3}.grid{position:absolute;inset:0;opacity:.18;z-index:-2;background-image:linear-gradient(#9a95b012 1px,transparent 1px),linear-gradient(90deg,#9a95b012 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(transparent,#000,transparent)}.orbit{position:absolute;border:1px solid #bdb3ee13;border-radius:50%;width:750px;height:750px;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1}.orbit.two{width:1050px;height:1050px;border-style:dashed}.intro{position:absolute;top:26%;left:12%;pointer-events:none;transition:opacity .7s,filter .7s,transform .7s}.eyebrow{display:flex;align-items:center;gap:9px;color:#bcb9c9}.eyebrow i,.counter i{width:6px;height:6px;border-radius:100%;background:var(--mint);display:inline-block;box-shadow:0 0 14px #b9edcb55}h1{font-size:clamp(50px,7.4vw,114px);letter-spacing:-.065em;line-height:1.02;margin:32px 0 27px;font-weight:500}em{font-style:normal;color:var(--lilac)}.intro p{font-size:15px;line-height:1.8;color:#a8a5b5}.invitation{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:12px;color:#d0cbdc}.pointer{font-size:22px;color:var(--mint)}.coordinate{position:absolute;top:52%;line-height:1.9;color:#7d7b8d;font-size:9px}.coordinate span{font-size:8px;color:#626071}.coordinate.left{left:4.5%}.coordinate.right{right:4.5%;text-align:right}.bug{position:absolute;top:0;left:0;width:56px;height:56px;padding:5px;border:0;background:transparent;border-radius:50%;will-change:transform;touch-action:manipulation;color:var(--c);filter:drop-shadow(0 6px 8px #0006)}.bug svg{width:100%;height:100%;overflow:visible}.bug:hover{filter:drop-shadow(0 0 12px currentColor)}.bug:focus-visible{background:#ffffff1a}.bug.fixed{pointer-events:none}.bug .label{position:absolute;top:0;left:-8px;white-space:nowrap;color:var(--mint);font:12px monospace;animation:pop .9s forwards}.bug.fixed svg{opacity:0;transition:opacity .15s}.bug.collecting{transition:transform 1.7s cubic-bezier(.6,0,.2,1),opacity 1.7s;pointer-events:none}.bug.collecting svg{filter:drop-shadow(0 0 15px currentColor)}@keyframes pop{0%{opacity:0;transform:translateY(0) scale(.8)}20%{opacity:1;transform:translateY(-10px) scale(1)}100%{opacity:0;transform:translateY(-40px)}}#toast{position:absolute;bottom:110px;width:100%;text-align:center;color:var(--mint);font:12px monospace;pointer-events:none}footer{position:fixed;bottom:0;width:100%;height:86px;padding:0 4.5%;display:flex;align-items:center;gap:36px;z-index:8;border-top:1px solid #ffffff12;background:#0b0c14b3;backdrop-filter:blur(8px)}.counter{display:flex;gap:10px;align-items:center;font:11px monospace;white-space:nowrap}#hint{font-size:11px;color:#9994a7}.progress{height:2px;background:#ffffff19;width:120px;margin-left:auto;overflow:hidden}.progress span{display:block;width:0;height:100%;background:var(--lilac)}.chapter{color:#aca6bf}.reveal{position:absolute;inset:14% 20px 100px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;opacity:0;visibility:hidden;transform:translateY(25px);transition:opacity 1s,transform 1s}.logo-halo{position:relative;margin-bottom:24px}.logo-halo:before{content:'';position:absolute;inset:-70px;background:radial-gradient(#6a5cff44,transparent 65%);z-index:-1}.logo-halo img{width:108px;height:108px}.reveal h2{font-size:clamp(64px,8.5vw,120px);font-weight:500;letter-spacing:-.07em;line-height:.98;margin:20px 0}.reveal p{font-size:14px;color:#aaa6b9;max-width:330px;line-height:1.7}.reveal button{border:1px solid #b9edcb44;color:var(--mint);background:#b9edcb08;border-radius:30px;padding:14px 24px;margin:15px}.reveal button span{margin-left:20px}.signature{font-size:9px;color:#878197;margin-top:16px}.finishing .intro{opacity:0;filter:blur(10px);transform:translateY(-20px)}.finished .reveal{visibility:visible;opacity:1;transform:none}.finished .coordinate{opacity:.5}.finished #skip{visibility:hidden}
@media(min-width:1500px){.intro{left:18%}}@media(max-width:700px){header{height:85px;padding:0 22px}.brand{font-size:26px}.brand img{width:31px;height:31px}.edition{display:none}#skip{padding:9px 14px;font-size:11px}#skip span{margin-left:12px}.intro{top:28%;left:25px;right:20px}h1{font-size:clamp(46px,12vw,76px);margin-top:24px}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro p{font-size:13px;max-width:280px}.coordinate{display:none}.invitation{margin-top:22px}.bug{width:49px;height:49px}footer{height:76px;padding:0 22px;gap:18px;flex-wrap:wrap}.counter{font-size:10px}#hint{display:none}.chapter{font-size:9px;letter-spacing:1px}.progress{width:45px}.orbit{width:540px;height:540px}.orbit.two{width:750px;height:750px}.reveal{inset:100px 20px 90px}.reveal h2{font-size:76px}.logo-halo img{width:88px;height:88px}.reveal p{font-size:13px}#toast{bottom:96px;font-size:10px}.signature{margin-top:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.finished .intro{display:none}.orbit{display:none}.progress{display:none}}
/* Clip decorative orbits to the viewport; they must not widen mobile layout. */
html{width:100%;overflow:hidden}main{overflow:hidden}header,footer{max-width:100vw}
