.overlay{position:fixed;inset:0;z-index:2;pointer-events:none}.is-hidden{opacity:0!important}.intro{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;text-align:center;padding:var(--edge);transition:opacity var(--dur-slow) var(--ease-out-expo)}.intro__title{font-family:var(--font-display);font-weight:800;font-size:var(--text-title);line-height:.98;letter-spacing:.01em;background:linear-gradient(100deg,#f2edff 20%,var(--color-violet) 50%,var(--color-gold) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 40px rgba(139,92,246,.35))}.intro__sub{font-family:var(--font-ui);font-size:var(--text-ui);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-text-dim)}.intro__note{margin-top:1.4rem;font-family:var(--font-ui);font-weight:300;font-size:clamp(.85rem,.8rem + .3vw,1rem);letter-spacing:.04em;line-height:1.7;color:var(--color-text-dim);max-width:48ch;text-shadow:0 1px 20px rgba(6,3,16,.9)}.hud{position:fixed;top:var(--edge);left:var(--edge);display:flex;flex-direction:column;gap:.3rem}.hud__index{font-family:var(--font-ui);font-size:var(--text-ui);letter-spacing:var(--tracking-ui);color:var(--color-gold)}.hud__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-chapter);line-height:1;color:var(--color-text)}.brand{position:fixed;top:var(--edge);right:var(--edge);font-family:var(--font-display);font-weight:600;font-size:var(--text-ui);letter-spacing:.4em;text-transform:uppercase;color:var(--color-text-dim)}.story{position:fixed;left:50%;bottom:12vh;transform:translate(-50%);width:min(90vw,52ch);text-align:center;display:flex;flex-direction:column;gap:1rem;transition:opacity var(--dur-slow) var(--ease-out-expo)}.story__line{font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,1rem + 2.4vw,3rem);line-height:1.15;color:var(--color-text);text-shadow:0 2px 40px rgba(6,3,16,.95)}.story__fact{font-family:var(--font-ui);font-weight:300;font-size:clamp(.85rem,.8rem + .3vw,1.05rem);letter-spacing:.05em;line-height:1.65;color:var(--color-text-dim);max-width:54ch;margin:0 auto;text-shadow:0 1px 20px rgba(6,3,16,.95)}.rail{position:fixed;right:var(--edge);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.9rem}.rail__dot{width:7px;height:7px;border-radius:50%;background:var(--color-text-faint);transition:background var(--dur-normal) var(--ease-out-expo),box-shadow var(--dur-normal) var(--ease-out-expo),transform var(--dur-normal) var(--ease-out-expo)}.rail__dot--active{background:var(--color-gold);box-shadow:0 0 14px #ffc966cc;transform:scale(1.5)}.rail__dot--past{background:var(--color-violet)}.scroll-hint{position:fixed;left:50%;bottom:var(--edge);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.7rem;font-family:var(--font-ui);font-size:var(--text-ui);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-text-dim);transition:opacity var(--dur-normal) var(--ease-out-expo)}.scroll-hint__line{width:1px;height:3rem;background:linear-gradient(to bottom,transparent,var(--color-gold),transparent);animation:descend 2.2s var(--ease-out-expo) infinite}@keyframes descend{0%{transform:translateY(-100%);opacity:0}40%{opacity:1}to{transform:translateY(100%);opacity:0}}.spark-hint{position:fixed;bottom:var(--edge);left:var(--edge);font-family:var(--font-ui);font-size:var(--text-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-dim);transition:opacity var(--dur-slow) var(--ease-out-expo)}.spark-hint b{color:var(--color-gold);font-weight:500}.predict{position:fixed;right:calc(var(--edge) + 2.5rem);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.7rem;width:min(34vw,240px);transition:opacity var(--dur-slow) var(--ease-out-expo)}.predict__row{display:flex;align-items:center;gap:.6rem;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.1em;color:var(--color-text-dim)}.predict__label{width:5.5ch;text-align:right}.predict__bar{flex:1;height:4px;border-radius:999px;background:#f2edff14;overflow:hidden}.predict__fill{height:100%;border-radius:999px;background:var(--color-violet);transform-origin:left;transition:transform 1.2s var(--ease-out-expo)}.predict__row--winner .predict__fill{background:var(--color-gold);box-shadow:0 0 12px #ffc966b3}.predict__row--winner .predict__label{color:var(--color-gold)}.train{position:fixed;left:var(--edge);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1.1rem;font-family:var(--font-ui);transition:opacity var(--dur-slow) var(--ease-out-expo)}.train__metric{display:flex;flex-direction:column;gap:.3rem}.train__name{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-dim)}.train__value{font-size:clamp(1.3rem,1rem + 1.2vw,2rem);font-variant-numeric:tabular-nums;color:var(--color-text)}.train__value--loss{color:var(--color-error)}.train__value--acc{color:var(--color-gold)}.ending{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12vh;gap:1.2rem;text-align:center;transition:opacity var(--dur-slow) var(--ease-out-expo)}.ending__line{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,1rem + 3vw,3.6rem);color:var(--color-text);max-width:24ch;text-shadow:0 2px 50px rgba(6,3,16,.95)}.btn{pointer-events:auto;font-family:var(--font-ui);font-size:var(--text-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text);background:#8b5cf61f;border:1px solid rgba(139,92,246,.45);border-radius:999px;padding:.7rem 1.3rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color var(--dur-fast) var(--ease-out-expo),background var(--dur-fast) var(--ease-out-expo),transform var(--dur-fast) var(--ease-out-expo)}.btn:hover{border-color:var(--color-gold);background:#ffc9661f}.btn:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}.btn:active{transform:scale(.96)}.ending__actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}@media(max-width:767px){.predict{display:none}.train{top:auto;bottom:30vh;transform:none;flex-direction:row;gap:2rem}}:root{--color-void: #060310;--color-violet: #8b5cf6;--color-magenta: #ff3d9a;--color-gold: #ffc966;--color-error: #ff4d4d;--color-text: #f2edff;--color-text-dim: rgba(242, 237, 255, .55);--color-text-faint: rgba(242, 237, 255, .28);--font-display: "Syne", system-ui, sans-serif;--font-ui: "Space Grotesk", system-ui, sans-serif;--text-title: clamp(2.6rem, 1rem + 8vw, 8rem);--text-chapter: clamp(1.6rem, 1rem + 2.6vw, 3.4rem);--text-ui: clamp(.78rem, .72rem + .2vw, .92rem);--tracking-ui: .3em;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--dur-slow: 1.1s;--dur-normal: .5s;--dur-fast: .25s;--edge: clamp(1.25rem, .5rem + 3vw, 3.5rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--color-void);color:var(--color-text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}#root{width:100%}.stage{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:0}.scroll-track{position:relative;z-index:1;width:100%;height:700vh;pointer-events:none}::selection{background:var(--color-gold);color:var(--color-void)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
