:root{--bg:#0b0b0d;--fg:#f2efe9;--dim:#f2efe980;--line:#f2efe92e;--accent:#ff4d2e;--holo:#7df3ff;--holo-dim:#7df3ff66;--sans:"Inter Tight", system-ui, sans-serif;--serif:"Instrument Serif", Georgia, serif;--ease-snap:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior:none;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 45%,#0000008c 100%),linear-gradient(#0000 65%,#00000080);position:fixed;inset:0}.flash{pointer-events:none;opacity:0;mix-blend-mode:soft-light;background:#fff;position:fixed;inset:0}.flash.go{animation:.7s ease-out flash}@keyframes flash{0%{opacity:.5}to{opacity:0}}.top{letter-spacing:.14em;text-transform:uppercase;z-index:2;justify-content:space-between;align-items:center;padding:28px clamp(20px,4vw,56px);font-size:12px;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:.22em;font-weight:600}.brand i{vertical-align:super;color:var(--accent);margin-left:2px;font-size:.7em;font-style:normal}.meta{color:var(--dim)}.hud{z-index:2;pointer-events:none;max-width:min(560px,80vw);position:fixed;bottom:clamp(28px,6vh,64px);left:clamp(20px,4vw,56px)}.counter{letter-spacing:.14em;font-variant-numeric:tabular-nums;align-items:center;gap:12px;margin-bottom:18px;font-size:12px;display:flex}.counter .sep{background:var(--line);width:44px;height:1px}.counter #total{color:var(--dim)}#cur{color:var(--accent)}h1{font-family:var(--serif);letter-spacing:-.02em;padding:0 .2em .08em 0;font-size:clamp(56px,11vw,168px);font-weight:400;line-height:.88;overflow:hidden}h1 span{will-change:transform;display:inline-block}h1 em{font-style:italic}#caption{color:var(--dim);max-width:34ch;margin-top:18px;font-size:14px;line-height:1.5}h1 span.out{animation:.28s cubic-bezier(.7,0,.84,0) forwards out}h1 span.in{animation:in .8s var(--ease-snap) forwards}@keyframes out{to{transform:translateY(-105%)}}@keyframes in{0%{transform:translateY(105%)}to{transform:translateY(0)}}#caption.swap{animation:cap .7s var(--ease-snap)}@keyframes cap{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dots{z-index:3;flex-direction:column;gap:14px;display:flex;position:fixed;top:50%;right:clamp(20px,4vw,56px);transform:translateY(-50%)}.dots button{cursor:pointer;background:0 0;border:0;width:22px;height:22px;position:relative}.dots button:after{content:"";background:var(--fg);opacity:.3;width:6px;height:6px;transition:all .5s var(--ease-snap);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dots button:hover:after{opacity:.7}.dots button.on:after{opacity:1;background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 5px #ff4d2e33}.dots__icon{width:14px;height:14px;color:var(--fg);opacity:.35;pointer-events:none;transition:opacity .4s var(--ease-snap), color .4s var(--ease-snap);margin-right:10px;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.dots__icon svg{width:100%;height:100%;display:block}.dots button:hover .dots__icon{opacity:.7}.dots button.on .dots__icon{opacity:1;color:var(--accent)}.hint{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);z-index:2;align-items:center;gap:12px;font-size:11px;transition:opacity .6s,transform .6s;display:flex;position:fixed;bottom:clamp(28px,6vh,64px);right:clamp(20px,4vw,56px)}.hint.gone{opacity:0;transform:translateY(8px)}.mouse{border:1px solid var(--dim);border-radius:10px;width:18px;height:28px;position:relative}.mouse b{background:var(--fg);border-radius:1px;width:2px;height:5px;margin-left:-1px;animation:1.6s ease-in-out infinite wheel;position:absolute;top:6px;left:50%}@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(9px)}}.loader{background:var(--bg);z-index:10;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:11px;transition:opacity .9s,visibility .9s;display:flex;position:fixed;inset:0}.loader.done{opacity:0;visibility:hidden}.loader-bar{background:var(--line);width:160px;height:1px;overflow:hidden}.loader-bar i{background:var(--fg);width:40%;height:100%;animation:1.1s ease-in-out infinite load;display:block}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (width<=640px){.meta{display:none}html,body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.top{padding:max(18px, env(safe-area-inset-top)) 20px 0}.urotate-home{padding:8px 0}.dots{top:auto;left:50%;right:auto;bottom:max(16px, env(safe-area-inset-bottom));flex-direction:row;gap:2px;transform:translate(-50%)}.dots button{width:40px;height:36px}.dots__icon{margin-bottom:2px;margin-right:0;inset:auto auto 100% 50%;transform:translate(-50%)}h1{font-size:clamp(30px,11vw,56px)}.hud{max-width:calc(100vw - 40px);bottom:calc(max(16px, env(safe-area-inset-bottom)) + 96px)}#caption{margin-top:12px;font-size:13px}.counter{margin-bottom:12px}.hint{left:50%;right:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 62px);gap:8px;display:flex;transform:translate(-50%)}.hint.gone{transform:translate(-50%)translateY(8px)}.mouse{display:none}.hint span:last-child:before{content:"↕  ";letter-spacing:0}.camera-tool-cta{display:none!important}}@media (width<=640px) and (height<=720px){#caption,.counter{display:none}.hud{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 84px)}}@media (height<=480px) and (pointer:coarse){.top{padding-top:12px;padding-bottom:0}h1{font-size:40px}#caption,.counter{display:none}.hud{bottom:18px}.dots,.hint{bottom:14px}}@media (pointer:coarse){.camera-tool-cta{display:none!important}}.top-right{align-items:center;gap:18px;display:flex}.top-left{align-items:center;gap:14px;display:flex}.urotate-home{letter-spacing:.1em;color:var(--fg);white-space:nowrap;font-weight:700;text-decoration:none;transition:opacity .2s}.urotate-home:hover{opacity:.7}.urotate-home i{color:var(--accent);margin-left:2px;font-style:normal}.top-left .brand{border-left:1px solid var(--line);padding-left:14px}.bag{border:1px solid var(--holo-dim);color:var(--holo);letter-spacing:.16em;border-radius:999px;padding:6px 12px}.bag b{font-variant-numeric:tabular-nums;margin-left:4px;font-weight:600}.bag.pop{animation:bagpop .7s var(--ease-snap)}@keyframes bagpop{0%{transform:scale(.6);box-shadow:0 0 #7df3ffcc}40%{transform:scale(1.18)}to{transform:scale(1);box-shadow:0 0 0 14px #7df3ff00}}.leader{pointer-events:none;z-index:3;opacity:0;width:100%;height:100%;transition:opacity .2s;position:fixed;inset:0;overflow:visible}.leader.show{opacity:1}.leader path{fill:none;stroke:var(--holo);stroke-linejoin:round;stroke-linecap:round}.l-base{stroke-width:1.25px;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 3px var(--holo))}.leader.show .l-base{animation:.45s cubic-bezier(.65,0,.35,1) 30ms forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.l-pulse{stroke-width:2.5px;stroke-dasharray:.07 1;stroke-dashoffset:.07px;opacity:0;filter:drop-shadow(0 0 6px var(--holo))}.leader.show .l-pulse{opacity:1;animation:2.4s linear .55s infinite travel}@keyframes travel{to{stroke-dashoffset:-1px}}.leader circle{transform-box:fill-box;transform-origin:50%}.leader .core{fill:var(--holo);filter:drop-shadow(0 0 5px var(--holo));transform:scale(0)}.leader.show .core{animation:pop .35s var(--ease-snap) 0s forwards}.leader .ring{fill:none;stroke:var(--holo);stroke-width:1px;opacity:0}.leader.show .ring{animation:2.2s ease-out .2s infinite ring}.leader.show .ring.r2{animation-delay:1.3s}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(4.2)}}.promo{z-index:4;pointer-events:none;opacity:0;will-change:transform;width:300px;transition:opacity .2s;position:fixed;top:0;left:0}.promo.show{opacity:1;pointer-events:auto}.holo{color:#dffcff;border:1px solid var(--holo-dim);-webkit-backdrop-filter:blur(7px)saturate(1.3);clip-path:inset(50% 100% 50% 0);background:linear-gradient(#7df3ff21,#7df3ff0a 60%,#7df3ff17);padding:16px 18px 14px;position:relative;overflow:hidden;box-shadow:0 0 28px #7df3ff29,inset 0 0 26px #7df3ff12}.holo:before{content:"";pointer-events:none;--c:var(--holo);--l:12px;background:linear-gradient(var(--c), var(--c)) top left / var(--l) 2px no-repeat, linear-gradient(var(--c), var(--c)) top left / 2px var(--l) no-repeat, linear-gradient(var(--c), var(--c)) top right / var(--l) 2px no-repeat, linear-gradient(var(--c), var(--c)) top right / 2px var(--l) no-repeat, linear-gradient(var(--c), var(--c)) bottom left / var(--l) 2px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 2px var(--l) no-repeat, linear-gradient(var(--c), var(--c)) bottom right / var(--l) 2px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 2px var(--l) no-repeat;position:absolute;inset:-1px}.holo:after{content:"";pointer-events:none;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#7df3ff17 0 1px,#0000 1px 3px);position:absolute;inset:0}.sweep{pointer-events:none;z-index:1;background:linear-gradient(#0000,#7df3ff38 55%,#c8fcff59 60%,#0000);height:46%;position:absolute;top:-50%;left:0;right:0}.promo.show .sweep{animation:3.4s linear .9s infinite sweep}@keyframes sweep{0%{top:-50%}60%,to{top:110%}}.promo.show .holo{animation:.5s cubic-bezier(.2,.8,.2,1) .2s forwards holoOn,5s step-end 1.2s infinite flicker,7s step-end 2.4s infinite glitch}@keyframes holoOn{0%{clip-path:inset(50% 100% 50% 0);filter:brightness(3)}35%{clip-path:inset(50% 0);filter:brightness(2.2)}to{clip-path:inset(0);filter:brightness()}}@keyframes flicker{0%,to{opacity:1}91%{opacity:.82}92%{opacity:1}95%{opacity:.9}96%{opacity:1}}@keyframes glitch{0%,to{text-shadow:none;transform:none}92%{text-shadow:-2px 0 #ff3c50b3,2px 0 #3c8cffb3;transform:translate(3px)skew(-3deg)}93.5%{text-shadow:2px 0 #ff3c50b3,-2px 0 #3c8cffb3;transform:translate(-2px)}95%{text-shadow:none;transform:none}}.promo .row{letter-spacing:.22em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;font-size:10.5px;display:flex}.promo .brand{color:var(--holo);text-shadow:0 0 10px #7df3ffb3;font-weight:600}.promo .tag{color:#dffcff8c;white-space:nowrap}.promo .name{font-family:var(--serif);color:#f2feff;text-shadow:0 0 14px #7df3ff73;min-height:2.1em;margin:12px 0 6px;font-size:27px;font-weight:400;line-height:1.05}.promo .spec{color:#dffcff99;min-height:1.4em;font-size:12px;line-height:1.4}.promo .sizes{z-index:2;gap:6px;margin:14px 0 12px;display:flex;position:relative}.promo .sizes button{color:#dffcffb3;font:500 11px var(--sans);letter-spacing:.1em;cursor:pointer;background:0 0;border:1px solid #7df3ff40;flex:1;padding:7px 0;transition:all .25s}.promo .sizes button:hover{border-color:var(--holo);color:var(--holo)}.promo .sizes button.on{border-color:var(--holo);color:#fff;background:#7df3ff2e;box-shadow:0 0 12px #7df3ff59}.promo .buy-row{z-index:2;justify-content:space-between;align-items:center;gap:14px;display:flex;position:relative}.promo .price{letter-spacing:-.01em;color:#fff;text-shadow:0 0 12px #7df3ff99;font-variant-numeric:tabular-nums;font-size:24px;font-weight:500}.promo .buy{cursor:pointer;min-width:132px;color:var(--holo);border:1px solid var(--holo);font:600 11px var(--sans);letter-spacing:.24em;text-transform:uppercase;background:#7df3ff1a;padding:12px 20px;transition:color .25s,box-shadow .25s;position:relative;overflow:hidden}.promo .buy:before{content:"";background:var(--holo);transition:transform .35s var(--ease-snap);z-index:0;position:absolute;inset:0;transform:translate(-101%)}.promo .buy-label{z-index:1;position:relative}.promo .buy:hover{color:#031a1d;box-shadow:0 0 22px #7df3ff8c}.promo .buy:hover:before{transform:none}.promo .buy:active{transform:scale(.97)}.promo .buy:focus-visible,.promo .sizes button:focus-visible{outline-offset:2px;outline:2px solid #fff}.promo .buy.busy{pointer-events:none;color:var(--holo)}.promo .buy.busy:before{opacity:.28;animation:1.4s linear forwards authorize;transform:none}@keyframes authorize{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.promo .buy.done{pointer-events:none;color:#031a1d;box-shadow:0 0 22px #7df3ff8c}.promo .buy.done:before{opacity:1;transform:none}.promo .fine{letter-spacing:.06em;color:#dffcff61;z-index:2;min-height:1.3em;margin-top:11px;font-size:10px;position:relative}.promo .fine.ok{color:var(--holo);letter-spacing:.04em}@media (width<=719px){.promo .name{min-height:0;font-size:22px}.top-right .meta{display:none}.promo .sizes{margin:10px 0}}@media (prefers-reduced-motion:reduce){.promo.show .holo{animation:10ms forwards holoOn}.promo.show .sweep,.leader.show .l-pulse,.leader.show .ring{animation:none}}.promo .logo{object-fit:contain;filter:brightness(0)invert()drop-shadow(0 0 6px #7df3ffcc);opacity:0;align-self:center;width:auto;max-width:140px;height:22px}.promo .logo.on-white{filter:invert()contrast(1.15);mix-blend-mode:screen}.promo.show .logo{animation:.5s steps(6,end) .3s forwards logoIn}@keyframes logoIn{0%{opacity:0;transform:translate(-6px)}40%{opacity:1}55%{opacity:.3}to{opacity:1;transform:none}}.promo .row{align-items:center;min-height:22px}.holo.has-mark .row,.holo.has-mark .name{padding-right:38px}.mark{z-index:2;pointer-events:none;position:absolute;top:14px;right:16px}.pole{filter:drop-shadow(0 0 6px #7df3ff80);flex-direction:column;width:16px;height:70px;display:flex}.pole .cap{background:linear-gradient(90deg,#4f7f88,#dffcff 45%,#4f7f88);border-radius:3px;flex:none;height:5px}.pole .tube{background:repeating-linear-gradient(45deg,#ff3b52 0 6px,#f4fdff 6px 12px,#3d6bff 12px 18px);flex:1;margin:0 1px;animation:.9s linear infinite pole;position:relative;overflow:hidden}.pole .tube:after{content:"";background:linear-gradient(90deg,#0000008c,#ffffff59 35%,#0000 55%,#00000080);position:absolute;inset:0}@keyframes pole{to{background-position:0 25.46px}}.reticle{fill:none;width:40px;height:40px;stroke:var(--holo);stroke-width:1.5px;filter:drop-shadow(0 0 4px var(--holo))}.reticle .spin{transform-origin:32px 32px;animation:9s linear infinite spin}.reticle .inner{stroke-dasharray:4 5;transform-origin:32px 32px;animation:5s linear infinite reverse spin}.reticle .dot{fill:#ff4d2e;stroke:none;transform-origin:32px 32px;animation:1.2s ease-in-out infinite blip}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blip{50%{opacity:.55;transform:scale(1.9)}}@media (prefers-reduced-motion:reduce){.pole .tube,.reticle .spin,.reticle .inner,.reticle .dot{animation:none}}@media (width<=640px){.top-left{gap:10px}.top-left .brand{letter-spacing:.18em;padding-left:10px}.promo .holo{padding:12px 14px 10px}.promo .name{margin:8px 0 4px;font-size:21px}.promo .sizes{margin:8px 0}.promo .sizes button{padding:6px 0}.promo .buy{min-width:120px;padding:10px 16px}.promo .price{font-size:21px}.promo .fine{margin-top:8px}}@media (width<=640px) and (height<=720px),(height<=480px) and (pointer:coarse){.promo .spec{display:none}}
