@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2) format("woff2-variations")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono-Variable.woff2) format("woff2-variations")}:root{--rr-bg: #0f172a;--rr-surface: #111827;--rr-surface-2: #1e293b;--rr-grid: #1f2a44;--rr-divider: #1e293b;--rr-fg-1: #e2e8f0;--rr-fg-2: #94a3b8;--rr-fg-3: #64748b;--rr-fg-disabled: #475569;--rr-node: #38bdf8;--rr-node-glow: rgba(56, 189, 248, .45);--rr-path: #22c55e;--rr-path-glow: rgba(34, 197, 94, .45);--rr-highlight: #eab308;--rr-highlight-glow: rgba(234, 179, 8, .45);--rr-error: #ef4444;--rr-error-glow: rgba(239, 68, 68, .45);--rr-ghost: rgba(255, 255, 255, .25);--rr-ghost-strong: rgba(255, 255, 255, .4);--rr-r-xs: 4px;--rr-r-sm: 6px;--rr-r-md: 10px;--rr-r-lg: 14px;--rr-r-pill: 999px;--rr-space-1: 4px;--rr-space-2: 8px;--rr-space-3: 12px;--rr-space-4: 16px;--rr-space-5: 24px;--rr-space-6: 32px;--rr-space-7: 48px;--rr-space-8: 64px;--rr-elev-0: none;--rr-elev-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 1px 2px rgba(0, 0, 0, .4);--rr-elev-2: 0 4px 16px rgba(0, 0, 0, .4);--rr-glow-node: 0 0 14px var(--rr-node-glow);--rr-glow-path: 0 0 12px var(--rr-path-glow);--rr-glow-highlight: 0 0 16px var(--rr-highlight-glow);--rr-dur-1: 90ms;--rr-dur-2: .14s;--rr-dur-3: .2s;--rr-ease: cubic-bezier(.2, .8, .2, 1);--rr-ease-out: cubic-bezier(.16, 1, .3, 1);--rr-ease-snap: cubic-bezier(.34, 1.56, .64, 1);--rr-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--rr-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--rr-w-light: 300;--rr-w-regular: 400;--rr-w-medium: 500;--rr-w-semibold: 600;--rr-w-bold: 700;--rr-w-black: 800;--rr-track-tight: -.02em;--rr-track-snug: -.01em;--rr-track-wide: .04em;--rr-track-caps: .12em;--rr-t-score-size: 96px;--rr-t-score-weight: var(--rr-w-bold);--rr-t-score-leading: 1;--rr-t-score-track: var(--rr-track-tight);--rr-t-h1-size: 28px;--rr-t-h1-weight: var(--rr-w-semibold);--rr-t-h1-leading: 1.15;--rr-t-h2-size: 20px;--rr-t-h2-weight: var(--rr-w-medium);--rr-t-h2-leading: 1.2;--rr-t-body-size: 14px;--rr-t-body-weight: var(--rr-w-regular);--rr-t-body-leading: 1.45;--rr-t-small-size: 12px;--rr-t-small-weight: var(--rr-w-medium);--rr-t-small-leading: 1.3;--rr-t-caps-size: 11px;--rr-t-caps-weight: var(--rr-w-semibold);--rr-t-caps-track: var(--rr-track-caps)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html,body{margin:0;background:var(--rr-bg);color:var(--rr-fg-1);font-family:var(--rr-font-sans);font-size:var(--rr-t-body-size);line-height:var(--rr-t-body-leading);font-weight:var(--rr-t-body-weight);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1{font-size:var(--rr-t-h1-size);font-weight:var(--rr-t-h1-weight);line-height:var(--rr-t-h1-leading);letter-spacing:var(--rr-track-snug);color:var(--rr-fg-1);margin:0}h2{font-size:var(--rr-t-h2-size);font-weight:var(--rr-t-h2-weight);line-height:var(--rr-t-h2-leading);color:var(--rr-fg-1);margin:0}p{margin:0;color:var(--rr-fg-2)}small{font-size:var(--rr-t-small-size);color:var(--rr-fg-2)}code,kbd,samp{font-family:var(--rr-font-mono);font-size:.95em;color:var(--rr-fg-1)}.rr-score{font-family:var(--rr-font-mono);font-size:var(--rr-t-score-size);font-weight:var(--rr-t-score-weight);line-height:var(--rr-t-score-leading);letter-spacing:var(--rr-t-score-track);font-variant-numeric:tabular-nums;color:var(--rr-fg-1)}.rr-caps{font-size:var(--rr-t-caps-size);font-weight:var(--rr-t-caps-weight);letter-spacing:var(--rr-t-caps-track);text-transform:uppercase;color:var(--rr-fg-2)}.rr-mono{font-family:var(--rr-font-mono);font-variant-numeric:tabular-nums}@keyframes rr-pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes rrPulse{0%{filter:drop-shadow(0 0 0 rgba(34,197,94,0))}50%{filter:drop-shadow(0 0 24px rgba(34,197,94,.8))}to{filter:drop-shadow(0 0 0 rgba(34,197,94,0))}}@keyframes rrScoreIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes rrShake{0%,to{transform:translate(0)}25%{transform:translate(-1px)}75%{transform:translate(1px)}}@keyframes rrFade{0%{opacity:0}to{opacity:1}}@keyframes rrFailBlink{0%,to{opacity:.95}50%{opacity:.4}}@keyframes rrStarPop{0%{opacity:0;transform:scale(.5)}18%{opacity:1;transform:scale(2.4)}72%{opacity:1;transform:scale(2.2)}to{opacity:0;transform:scale(1.4) translateY(80px)}}@keyframes rrBonusRing{0%{r:8;opacity:1;stroke-width:3}to{r:44;opacity:0;stroke-width:1}}.rr-bonus-ring{animation:rrBonusRing .7s cubic-bezier(.2,.8,.2,1) forwards}@keyframes rrBonusSpark{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--rr-spark-tx),var(--rr-spark-ty)) scale(.3);opacity:0}}.rr-bonus-spark{animation:rrBonusSpark .7s cubic-bezier(.2,.8,.2,1) forwards}@keyframes rrGateLockShake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-2px) rotate(-6deg)}40%{transform:translate(2px) rotate(6deg)}60%{transform:translate(-1px) rotate(-3deg)}80%{transform:translate(1px) rotate(3deg)}}.rr-gate-lock-shake{animation:rrGateLockShake .32s ease-in-out 2;transform-box:fill-box;transform-origin:center}@keyframes rrGateLockOpen{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.rr-gate-lock-open{animation:rrGateLockOpen .52s cubic-bezier(.2,.9,.3,1.4) forwards;transform-box:fill-box;transform-origin:center}@keyframes rrGateBurstRing{0%{r:14;opacity:.9;stroke-width:4}to{r:90;opacity:0;stroke-width:1}}.rr-gate-burst-ring{animation:rrGateBurstRing .9s cubic-bezier(.2,.8,.2,1) forwards}@keyframes rrGateGlow{0%,to{opacity:0}50%{opacity:.85}}.rr-gate-glow{animation:rrGateGlow 1.4s ease-in-out forwards}@keyframes rrHaloSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rr-unlock-halo{background:conic-gradient(from 0deg,#fbbf2400,#fbbf2452 60deg,#38bdf800,#a855f742 220deg,#fbbf2400 320deg 360deg);filter:blur(34px);animation:rrHaloSpin 11s linear infinite}@keyframes rrGlimmer{0%,to{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.1)}}.rr-unlock-glimmer{animation:rrGlimmer 2.4s ease-in-out infinite}@keyframes rrShootingStar{0%,93%{opacity:0;transform:translate(0)}94%{opacity:0}96%{opacity:1}99%{opacity:.7}to{opacity:0;transform:translate(var(--rr-star-dx, -200px),var(--rr-star-dy, 220px))}}.rr-map-shooting{animation:rrShootingStar var(--rr-star-dur, 60s) cubic-bezier(.6,0,.7,1) infinite;transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:reduce){.rr-map-shooting{animation:none!important;opacity:0!important}}@keyframes rrMoteDrift{0%{transform:translate(0);opacity:0}14%{opacity:.8}82%{opacity:.8}to{transform:translateY(var(--rr-mote-dist, 500px));opacity:0}}.rr-map-mote{animation:rrMoteDrift var(--rr-mote-dur, 18s) linear infinite;transform-box:fill-box;transform-origin:center;will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.rr-map-mote{animation:none!important;opacity:.35!important}}@keyframes rrUnlockZoom{0%{transform:scale(1);opacity:1}60%{transform:scale(3.5);opacity:1}to{transform:scale(7);opacity:0}}.rr-unlock-zoom{animation:rrUnlockZoom 1.2s cubic-bezier(.45,0,.4,1) forwards}@keyframes rrUnlockFlash{0%{opacity:0}40%{opacity:1}to{opacity:0}}.rr-unlock-flash{animation:rrUnlockFlash 1.2s ease-out forwards}@media(prefers-reduced-motion:reduce){.rr-bonus-ring,.rr-bonus-spark,.rr-gate-lock-shake,.rr-gate-lock-open,.rr-gate-burst-ring,.rr-gate-glow,.rr-unlock-halo,.rr-unlock-glimmer,.rr-unlock-zoom,.rr-unlock-flash{animation:none!important}.rr-unlock-halo{background:#fbbf2426}}.rr-shake{animation:rrShake 90ms 2 cubic-bezier(.36,.07,.19,.97)}.rr-modal-bg{position:fixed;inset:0;background:#050912b3;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px;animation:rrFade .14s cubic-bezier(.2,.8,.2,1) both}@media(prefers-reduced-motion:reduce){:root{--rr-dur-1: 0ms;--rr-dur-2: 0ms;--rr-dur-3: 0ms}.rr-shake,.rr-modal-bg{animation:none!important}}[data-reduce-motion=true] :where(*){animation:none!important;transition:none!important}@keyframes rrNodePopIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.rr-title-node{opacity:0;animation:rrNodePopIn .22s cubic-bezier(.34,1.56,.64,1) both;transform-box:fill-box;transform-origin:center}@keyframes rrPathDraw{0%{stroke-dashoffset:var(--rr-path-len, 1000)}to{stroke-dashoffset:0}}.rr-title-path{stroke-dasharray:var(--rr-path-len, 1000);stroke-dashoffset:var(--rr-path-len, 1000);animation:rrPathDraw .6s cubic-bezier(.22,1,.36,1) forwards;animation-delay:1.3s}@keyframes rrWordmarkFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rr-title-wordmark{opacity:0;animation:rrWordmarkFade .3s cubic-bezier(.22,1,.36,1) both;animation-delay:1.9s}.rr-title-cinematic{position:fixed;inset:0;background:var(--rr-bg);display:flex;align-items:center;justify-content:center;z-index:100;cursor:pointer;transition:opacity .3s cubic-bezier(.22,1,.36,1)}.rr-title-cinematic.rr-title-fading{opacity:0;pointer-events:none}.rr-title-cinematic.rr-title-idle :where(.rr-title-node,.rr-title-path){animation-play-state:paused}.rr-title-cinematic.rr-title-idle .rr-title-wordmark{animation:none;opacity:1;transform:none}@keyframes rrTapHintPulse{0%,to{opacity:.55}50%{opacity:1}}.rr-title-tap-hint{animation:rrTapHintPulse 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.rr-title-tap-hint{animation:none!important;opacity:.85!important}}[data-reduce-motion=true] .rr-title-tap-hint{animation:none!important;opacity:.85!important}@keyframes rrFadeIn{0%{opacity:0}to{opacity:1}}.rr-fade-in{animation:rrFadeIn .4s cubic-bezier(.22,1,.36,1) both}@media(prefers-reduced-motion:reduce){.rr-title-node,.rr-title-path,.rr-title-wordmark{animation:none!important;opacity:1!important;stroke-dashoffset:0!important;transform:none!important}.rr-title-cinematic{transition:none!important}.rr-fade-in{animation:none!important}}[data-reduce-motion=true] :where(.rr-title-node,.rr-title-path,.rr-title-wordmark){animation:none!important;opacity:1!important;stroke-dashoffset:0!important}@keyframes rrEdgeDraw{0%{stroke-dashoffset:var(--rr-edge-len, 1000)}to{stroke-dashoffset:0}}.rr-edge-draw{stroke-dasharray:var(--rr-edge-len, 1000);stroke-dashoffset:var(--rr-edge-len, 1000);animation:rrEdgeDraw .1s linear forwards}@media(prefers-reduced-motion:reduce){.rr-edge-draw{animation:none;stroke-dasharray:none;stroke-dashoffset:0}}@keyframes rrNodeSnap{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}.rr-node-snap{transform-box:fill-box;transform-origin:center;animation:rrNodeSnap .18s cubic-bezier(.34,1.56,.64,1) both;pointer-events:none}@keyframes rrNodeSnapRing{0%{opacity:.65;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.rr-node-snap-ring{transform-box:fill-box;transform-origin:center;animation:rrNodeSnapRing .26s cubic-bezier(.2,.8,.2,1) forwards;pointer-events:none}@media(prefers-reduced-motion:reduce){.rr-node-snap,.rr-node-snap-ring{animation:none;opacity:0}}@keyframes rrTutorialPulse{0%{opacity:.65;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.rr-tutorial-pulse{animation:rrTutorialPulse 1.2s cubic-bezier(.2,.8,.2,1) infinite;transform-origin:center;transform-box:fill-box;pointer-events:none}@media(prefers-reduced-motion:reduce){.rr-tutorial-pulse{animation:none;opacity:.5;transform:scale(1.2)}}:root{--rr-brand-path: var(--rr-path);--rr-brand-node: var(--rr-node);--rr-brand-bg: var(--rr-bg);--rr-brand-fg: var(--rr-fg-1);--rr-brand-fg-2: var(--rr-fg-2);--rr-brand-accent: #fbbf24}
