:root{--void: #080910;--void-2: #05060b;--ink: #e7eaf3;--ink-2: #929aad;--ink-3: #626b7e;--line: rgba(231, 234, 243, .1);--line-2: rgba(231, 234, 243, .18);--panel: #0e1018;--accent: #e8a33d;--glow: #e8a33d;--glow-a: 0;--sans: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overscroll-behavior:none}body{background:var(--void);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:focus-visible,.arch:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.app{position:fixed;inset:0;height:100dvh;overflow:hidden;background:var(--void)}.void{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--glow) calc(var(--glow-a) * 26%),transparent),transparent 62%),radial-gradient(circle at 50% 120%,#10131d,transparent 70%),var(--void);transition:background .12s linear;pointer-events:none}.stage{position:absolute;inset:0;touch-action:none;cursor:grab;transform-origin:50% 34%;transition:transform .52s cubic-bezier(.16,1,.3,1)}.stage-tucked{transform:translateY(-11%) scale(.62);cursor:default}@media (min-width: 40rem){.stage-tucked{transform:translateY(-6%) scale(.78)}}.stage:active{cursor:grabbing}.stage canvas{display:block}.bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:calc(env(safe-area-inset-top,0px) + .85rem) 1rem .85rem;pointer-events:none}.bar>*{pointer-events:auto}.brand{display:flex;align-items:baseline;gap:.6rem}.mark{font-variation-settings:"wdth" 118,"wght" 800;font-size:.95rem;letter-spacing:.14em}.num,.tag-archive{font-family:var(--mono);font-size:.72rem;color:var(--ink-3)}.tag-archive{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;padding:.1rem .45rem;letter-spacing:.08em}.bar-actions{display:flex;align-items:center;gap:.3rem}.icon{width:2.1rem;height:2.1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--ink-2);font-size:.9rem;line-height:1}.icon:hover{color:var(--ink);background:#e7eaf30f}.icon.streak{width:auto;min-width:2.6rem;padding:0 .6rem;gap:.3rem;font-family:var(--mono);font-size:.8rem;color:var(--ink)}.flame{color:var(--accent);font-size:.7em}.hud-left{position:absolute;left:1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1.4rem);opacity:.9}.dial-outer{fill:#08091080;stroke:var(--line-2);stroke-width:1}.dial-horizon{fill:none;stroke:var(--line);stroke-width:1}.dial-cross{stroke:var(--line);stroke-width:1}.controls{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem);display:flex;flex-direction:column;align-items:center;gap:.6rem;pointer-events:none}.controls>*{pointer-events:auto}.flash{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--ink);background:#080910c7;border:1px solid var(--line-2);border-radius:999px;padding:.34rem .85rem;animation:rise .26s ease-out}.flash.soft{color:var(--ink-3);background:none;border-color:transparent;animation:none}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.pips{display:flex;gap:.32rem}.pip{width:6px;height:6px;border-radius:999px;background:#e7eaf329}.pip.on{background:var(--accent)}.lock{font-variation-settings:"wdth" 108,"wght" 700;letter-spacing:.16em;font-size:.82rem;padding:.85rem 2.6rem;border-radius:999px;color:var(--void);background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent),0 10px 34px -12px var(--accent);transition:transform 90ms ease,filter .12s ease}.lock:hover{filter:brightness(1.08)}.lock:active{transform:scale(.97)}.lock.wide{width:100%;padding:.9rem 1rem}.reveal-note{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 2.4rem);text-align:center;font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;text-transform:lowercase;color:var(--ink-3);animation:fadeIn .9s ease-out both}@keyframes fadeIn{0%{opacity:0}}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:1.1rem;background:#040509b8;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);z-index:10;animation:fadeIn .2s ease-out both;overflow-y:auto}.intro,.sheet,.card{width:min(26rem,100%);background:var(--panel);border:1px solid var(--line-2);border-radius:16px;padding:1.5rem}.intro h1{margin:.6rem 0 .9rem;font-size:clamp(1.9rem,8vw,2.5rem);font-variation-settings:"wdth" 112,"wght" 800;letter-spacing:-.028em;line-height:1.02;text-wrap:balance}.eyebrow{margin:0;font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.lede{margin:0 0 .9rem;color:var(--ink-2);font-size:.96rem;line-height:1.55}.lede.quiet{color:var(--ink-3);font-size:.86rem}.card{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + .8rem);padding:1.25rem 1.3rem 1.35rem;transform:translate(-50%);z-index:9;animation:slideUp .42s cubic-bezier(.16,1,.3,1) both;box-shadow:0 30px 70px -30px #000000e6}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,28px)}}.card-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.1rem}.verdict{margin:0;font-size:1.5rem;font-variation-settings:"wdth" 108,"wght" 750;letter-spacing:-.02em;line-height:1.05}.was{margin:.3rem 0 .15rem;color:var(--ink);font-size:.95rem}.was b{font-weight:600}.detail{margin:0;font-family:var(--mono);font-size:.74rem;color:var(--ink-3)}.grid{margin:0 0 1.1rem;font-family:var(--mono);font-size:1.05rem;line-height:1.18;letter-spacing:.06em;text-align:center;background:#04050999;border:1px solid var(--line);border-radius:10px;padding:.75rem;overflow-x:auto}.card-actions{display:flex;flex-direction:column;gap:.55rem}.ghost{padding:.55rem;border-radius:999px;color:var(--ink-2);font-size:.85rem}.ghost:hover{color:var(--ink)}.next{margin:1rem 0 0;text-align:center;font-family:var(--mono);font-size:.72rem;color:var(--ink-3)}.streak-line{color:var(--ink-2)}.dot{margin:0 .4rem}.freeze{margin:.5rem 0 0;text-align:center;font-size:.72rem;color:var(--ink-3)}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.sheet-head h2{margin:0;font-size:1.15rem;font-variation-settings:"wdth" 104,"wght" 700}.help{margin:0;padding-left:1.1rem;color:var(--ink-2);font-size:.9rem;line-height:1.6}.help li+li{margin-top:.7rem}.help b{color:var(--ink);font-weight:600}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.stat{display:flex;flex-direction:column;align-items:center;gap:.2rem}.stat-value{font-family:var(--mono);font-size:1.4rem;font-variant-numeric:tabular-nums}.stat-label{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.hist{display:flex;flex-direction:column;gap:.35rem;margin-top:.6rem}.hist-row{display:flex;align-items:center;gap:.6rem}.hist-label{width:3.9rem;font-family:var(--mono);font-size:.72rem;color:var(--ink-3)}.hist-bar{display:inline-block;padding:.15rem .45rem;border-radius:3px;color:var(--void);font-family:var(--mono);font-size:.72rem;text-align:right;min-width:1.6rem}.fine{margin:1.2rem 0 0;font-size:.74rem;line-height:1.55;color:var(--ink-3)}.archive{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));gap:.45rem}.arch{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .4rem;border:1px solid var(--line);border-radius:9px;background:#04050980}.arch:hover{border-color:var(--line-2)}.arch.sel{border-color:var(--accent)}.arch-num{font-family:var(--mono);font-size:.78rem}.arch-state{font-family:var(--mono);font-size:.66rem;color:var(--ink-3)}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.tag-hard{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--void);background:var(--accent);border-radius:999px;padding:.12rem .45rem}.toggles{display:flex;flex-direction:column;gap:.5rem;margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid var(--line)}.toggle{display:flex;align-items:flex-start;gap:1rem;width:100%;text-align:left;padding:.75rem .85rem;border:1px solid var(--line);border-radius:11px;background:#04050973;transition:border-color .14s ease}.toggle:hover{border-color:var(--line-2)}.toggle.on{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.toggle-text{display:flex;flex-direction:column;gap:.2rem;flex:1}.toggle-label{font-size:.92rem;font-variation-settings:"wdth" 100,"wght" 600}.toggle-note{font-size:.76rem;line-height:1.45;color:var(--ink-3)}.switch{flex:none;width:2.4rem;height:1.35rem;border-radius:999px;background:#e7eaf324;padding:3px;margin-top:.15rem;transition:background .16s ease}.toggle.on .switch{background:var(--accent)}.knob{display:block;width:1.05rem;height:1.05rem;border-radius:999px;background:var(--ink);transition:transform .16s cubic-bezier(.16,1,.3,1)}.toggle.on .knob{transform:translate(1.05rem);background:var(--void)}.clock{font-size:.82rem;color:var(--ink-2);font-variant-numeric:tabular-nums;letter-spacing:.04em;padding-right:.35rem}.progress-dots{position:absolute;top:calc(env(safe-area-inset-top,0px) + 3.1rem);left:0;right:0;display:flex;justify-content:center;gap:.45rem;pointer-events:none}.progress-dots .dot{width:7px;height:7px;border-radius:999px;border:1px solid transparent;background:#e7eaf324;transition:background .2s ease,transform .2s ease}.progress-dots .dot.got{background:var(--accent)}.progress-dots .dot.lost{background:transparent;border-color:#e7eaf366}.progress-dots .dot.now{background:#e7eaf380;transform:scale(1.35)}.flash-spacer{height:1.85rem}.between{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 2rem);transform:translate(-50%);display:flex;align-items:center;gap:1rem;width:min(22rem,calc(100% - 2.2rem));text-align:left;padding:.9rem 1rem;border:1px solid var(--line-2);border-radius:14px;background:#0e1018eb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9;animation:slideUp .38s cubic-bezier(.16,1,.3,1) both}.between-text{display:flex;flex-direction:column;gap:.15rem;flex:1}.between-verdict{font-family:var(--sans);font-size:1.15rem;font-variation-settings:"wdth" 104,"wght" 700;letter-spacing:-.015em}.between-was{font-size:.9rem;color:var(--ink-2)}.between-next{font-size:.7rem;color:var(--ink-3);letter-spacing:.04em}.run{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:11px;overflow:hidden;margin:1.1rem 0}.run-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .7rem;background:#040509a8}.run-name{flex:1;font-size:.92rem;color:var(--ink)}.run-glyphs{font-family:var(--mono);font-size:1.05rem;letter-spacing:.08em}.card .verdict{margin:0 0 .2rem}.card .detail{margin:0}.dot-sep{margin:0 .4rem}.intro.start{text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}.start-mark{margin:.5rem 0 .7rem;font-size:clamp(2.2rem,11vw,3.1rem);font-variation-settings:"wdth" 122,"wght" 800;letter-spacing:.1em;line-height:1}.start-tag{margin:0 0 1.1rem;font-size:1.05rem;color:var(--ink)}.start-tag em{font-style:normal}.intro.start .lede{margin-bottom:1.3rem;max-width:22rem}.start-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.6rem .9rem;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:.76rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.start-meta b{color:var(--ink);font-weight:500}.start-sep{opacity:.4}.intro.start .ghost{margin-top:.4rem}.manual{display:flex;flex-direction:column;gap:.55rem;padding:.85rem;border:1px solid var(--line-2);border-radius:11px;background:#04050999;animation:rise .22s ease-out}.manual-note{margin:0;font-size:.76rem;line-height:1.45;color:var(--ink-3)}.manual-text{width:100%;resize:none;border:1px solid var(--line);border-radius:8px;background:var(--void-2);color:var(--ink);font-family:var(--mono);font-size:.86rem;line-height:1.4;letter-spacing:.04em;padding:.6rem .7rem;-webkit-user-select:text;user-select:text}.manual-text:focus{outline:2px solid var(--accent);outline-offset:1px}
