:root{--bg:#04060b;--text:#dce6f5;--text-dim:#8ea3c4;--accent:#7fd0ff;--amber:#ffc98a}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Manrope,system-ui,sans-serif;overflow-x:hidden}#scroll-space{z-index:-1;pointer-events:none;position:relative}.scene-wrap{z-index:0;position:fixed;inset:0}canvas{display:block}body.cursor-on,body.cursor-on *{cursor:none}.cursor-ball{z-index:100;pointer-events:none;background:radial-gradient(circle at 35% 35%,#fff3c4,#ffd23e 55%,#f0a500);border-radius:50%;width:14px;height:14px;position:fixed;top:0;left:0;box-shadow:0 0 14px #ffd23ed9,0 0 30px #ffbe2866}.cursor-dot{z-index:99;pointer-events:none;background:radial-gradient(circle,#ffd23e,#ffd23e00);border-radius:50%;width:8px;height:8px;position:fixed;top:0;left:0}.hud{z-index:10;pointer-events:none;transition:opacity .4s,transform .4s;position:fixed;bottom:0;left:0;right:0}.hud--hidden{opacity:0;transform:translateY(12px)}.hud-bar{align-items:center;gap:18px;padding:14px 22px 18px;display:flex}.progress{pointer-events:auto;flex:1;height:36px;position:relative}.progress-line{background:linear-gradient(90deg,#78aaf00a,#96c8ff4d 50%,#78aaf00a);border-radius:3px;height:3px;position:absolute;top:50%;left:0;right:0;box-shadow:0 0 10px #82beff2e}.progress-line:after{content:"";background:linear-gradient(90deg,#0000 30%,#c8e6ff8c 50%,#0000 70%) 0 0/220% 100%;border-radius:3px;animation:5s linear infinite lineShimmer;position:absolute;inset:0}@keyframes lineShimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.progress-fill{background:linear-gradient(90deg, #58b6ff, var(--amber));transform-origin:0;border-radius:2px;height:2px;position:absolute;top:50%;left:0;right:0;transform:scaleX(0);box-shadow:0 0 8px #78beff80}.progress-dot{cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.progress-dot:before{content:"";background:radial-gradient(circle,#cfe8ff 0%,#7fb6ef 55%,#5a8cdc80 100%);border-radius:50%;width:9px;height:9px;transition:transform .3s,box-shadow .3s;box-shadow:0 0 7px #8cc8ff99}.progress-dot:after{content:"";border:1.5px solid #96cdff80;border-radius:50%;transition:border-color .3s,opacity .3s;position:absolute;inset:2px}.progress-dot:hover:before,.progress-dot--active:before{transform:scale(1.3);box-shadow:0 0 14px #96d2ffe6}.progress-dot:hover:after{border-color:#aad7ffe6}.progress-dot--active:after{animation:2.2s ease-out infinite dotPulse}@keyframes dotPulse{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.7)}}.progress-dot-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;opacity:0;pointer-events:none;font-size:11px;transition:opacity .25s;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.progress-dot:hover .progress-dot-label,.progress-dot--active .progress-dot-label{opacity:1}.hud-buttons{pointer-events:auto;gap:10px;display:flex}.hud-btn{width:40px;height:40px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(10px);background:linear-gradient(160deg,#23375a80,#080e1aa6);border:1px solid #96c8fa47;border-radius:14px;place-items:center;transition:box-shadow .3s,transform .15s;display:grid;position:relative;box-shadow:inset 0 1px #c8e1ff29,0 4px 16px #0006}.hud-btn:before,.hud-btn:after{content:"";opacity:0;pointer-events:none;border:2px solid #8ccdffb3;border-radius:16px;position:absolute;inset:-2px}.hud-btn:hover:before{animation:1.6s ease-out infinite waterRing}.hud-btn:hover:after{animation:1.6s ease-out .55s infinite waterRing}@keyframes waterRing{0%{opacity:.85;transform:scale(.82)}to{opacity:0;transform:scale(1.55)}}.hud-btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px #c8e1ff38,0 0 22px #78beff66}.hud-btn svg{fill:currentColor;filter:drop-shadow(0 0 5px #8ccdffcc);width:16px;height:16px}.hud-top{z-index:12;gap:10px;transition:opacity .4s,transform .4s;display:flex;position:fixed;top:16px;right:18px}.hud-top--hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}.hud-top-btn{-webkit-backdrop-filter:blur(10px);color:var(--text);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:linear-gradient(160deg,#23375a80,#080e1aa6);border:1px solid #96c8fa47;border-radius:14px;align-items:center;gap:7px;padding:10px 16px;font-family:Unbounded,sans-serif;font-size:10px;text-decoration:none;transition:box-shadow .3s,transform .15s;display:flex;position:relative;box-shadow:inset 0 1px #c8e1ff29,0 4px 16px #0006}.hud-top-btn:before,.hud-top-btn:after{content:"";opacity:0;pointer-events:none;border:2px solid #8ccdffb3;border-radius:16px;position:absolute;inset:-2px}.hud-top-btn:hover:before{animation:1.6s ease-out infinite waterRing}.hud-top-btn:hover:after{animation:1.6s ease-out .55s infinite waterRing}.hud-top-btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px #c8e1ff38,0 0 22px #78beff66}.hud-top-btn span{opacity:0;white-space:nowrap;max-width:0;margin-left:-7px;transition:max-width .35s,opacity .3s,margin .35s;overflow:hidden}.hud-top-btn:hover span{opacity:1;max-width:150px;margin-left:0}.hud-top-btn svg{fill:currentColor;filter:drop-shadow(0 0 5px #8ccdffcc);width:14px;height:14px}.start-hint{letter-spacing:.14em;color:var(--text-dim);font-family:Unbounded,sans-serif;font-size:13px;transition:opacity .8s;animation:2.4s ease-in-out infinite hintPulse;position:fixed;bottom:76px;left:50%;transform:translate(-50%)}.start-hint--off{opacity:0;animation:none}@keyframes hintPulse{0%,to{opacity:.45}50%{opacity:1}}.portal-hint{letter-spacing:.1em;color:#cfe6ff;text-shadow:0 0 14px #82c8ff99;opacity:0;pointer-events:none;font-family:Unbounded,sans-serif;font-size:14px;transition:opacity .35s,transform .35s;position:fixed;bottom:76px;left:50%;transform:translate(-50%,8px)}.portal-hint--on{opacity:1;transform:translate(-50%)}.branch-hint{z-index:15;letter-spacing:.08em;color:#9fb9dc;text-shadow:0 0 12px #82c8ff66;opacity:0;pointer-events:none;font-size:12px;transition:opacity .4s,transform .4s;position:fixed;bottom:34px;left:50%;transform:translate(-50%,8px)}.branch-hint--on{opacity:.85;transform:translate(-50%)}.portal-flash{z-index:30;pointer-events:none;opacity:0;background:radial-gradient(60% 60%,#ebf5fff2,#a0c8ff59 45%,#0000 75%);position:fixed;inset:0}.loader{z-index:60;background:#04060b;align-content:center;place-items:center;gap:18px;transition:opacity .7s,visibility .7s;display:grid;position:fixed;inset:0}.loader--off{opacity:0;visibility:hidden}.loader-canvas{max-width:92vw}.loader-bar{gap:5px;display:flex}.loader-seg{background:#8cc8ff1f;border-radius:2px;width:8px;height:8px;transition:background .3s,box-shadow .3s;transform:scale(.6)}.loader-seg--on{background:#8fd4ff;animation:.35s cubic-bezier(.2,.8,.2,1) both segIn;box-shadow:0 0 10px #8ccdffcc}@keyframes segIn{0%{opacity:0;transform:scale(.2)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.loader-sub{letter-spacing:.3em;text-transform:uppercase;color:#7288ab;opacity:0;justify-items:center;gap:8px;font-family:Unbounded,sans-serif;font-size:11px;animation:1s 2.6s forwards loaderSubIn;display:grid}.loader-mobile-note{color:#a9834d;letter-spacing:.18em;display:none}@media (width<=720px){.loader-mobile-note{display:block}}@keyframes loaderSubIn{to{opacity:.85}}.rotate-hint{z-index:30;-webkit-backdrop-filter:blur(10px);color:var(--text);letter-spacing:.1em;white-space:nowrap;cursor:pointer;background:linear-gradient(160deg,#23375a99,#080e1abf);border:1px solid #96c8fa4d;border-radius:14px;padding:10px 18px;font-family:Unbounded,sans-serif;font-size:11px;animation:.5s both rotateHintIn;position:fixed;top:64px;left:50%;transform:translate(-50%)}@keyframes rotateHintIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.mobile-nav{display:none}@media (pointer:coarse),(width<=720px){.mobile-nav{z-index:14;pointer-events:none;justify-content:space-between;padding:0 16px;display:flex;position:fixed;bottom:86px;left:0;right:0}.mobile-nav-btn{pointer-events:auto;-webkit-backdrop-filter:blur(10px);width:56px;height:56px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(160deg,#23375a8c,#080e1ab3);border:1px solid #96c8fa4d;border-radius:18px;place-items:center;font-size:30px;line-height:1;display:grid;box-shadow:inset 0 1px #c8e1ff29,0 4px 16px #0006}.mobile-nav-btn:active{box-shadow:inset 0 1px #c8e1ff38,0 0 22px #78beff73}}@media (width<=720px){.progress-dot-label{display:none}.portal-hint,.start-hint{text-align:center;width:92vw;font-size:11px}.hud-bar{gap:10px;padding:10px 12px 14px}.hud-top{gap:6px;top:10px;right:10px}.hud-top-btn{padding:8px 10px}.hud-top-btn span{display:none}.branch-hint{text-align:center;width:92vw;font-size:10px;bottom:20px}.cursor-ball,.cursor-dot{display:none}body.cursor-on,body.cursor-on *{cursor:auto}.slot-window{width:30vw;min-height:56px;font-size:10px}.slot-body{gap:10px}}
