:root{--bg:#16181d;--surface:#1f232b;--ink:#e8e6e1;--ink-dim:#9aa0ab;--brass:#c9a227;--ember:#ff6b35;--forge-glow:#ffc53d;--close:#ffa94d;--danger:#e5484d;--on-tile:#16181d;--on-accent:#16181d;--result-start:#ffc53d;--result-end:#ff8a4c;--radius:10px;--gap:8px;--tap:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#faf7f2;--surface:#fff;--ink:#232730;--ink-dim:#6b7280;--brass:#d2ac33;--ember:#bc4217;--forge-glow:#e8a013;--close:#c77a2b;--danger:#c73a3f;--on-accent:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#faf7f2;--surface:#fff;--ink:#232730;--ink-dim:#6b7280;--brass:#d2ac33;--ember:#bc4217;--forge-glow:#e8a013;--close:#c77a2b;--danger:#c73a3f;--on-accent:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;margin:0;font-family:ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif}#app{max-width:520px;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));min-height:590px;margin:0 auto}:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header{align-items:center;gap:var(--gap);min-height:var(--tap);flex-wrap:wrap;display:flex}.wordmark-home{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.wordmark{letter-spacing:.14em;color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;margin:0;font-size:.75rem;font-weight:700;overflow:hidden}.pips{gap:6px;margin-inline:auto;padding:0;list-style:none;display:flex}.pip{color:var(--ink-dim);opacity:.45;font-size:.85rem}.pip[data-state=current]{color:var(--ember);opacity:1;font-weight:700}.pip[data-state=done]{opacity:.8;color:var(--brass)}.icon-btn{min-width:var(--tap);min-height:var(--tap);color:var(--ink-dim);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;place-items:center;font-size:1rem;display:grid}.icon-btn:hover{color:var(--ink)}.target{text-align:center;padding:12px 0 4px}.target-value{letter-spacing:.02em;margin:0;font-size:clamp(2.25rem,12vw,3.25rem);font-weight:800;line-height:1.05}.target-value .label{letter-spacing:.18em;color:var(--ink-dim);font-size:.4em;font-weight:600;display:block}.target-meta{justify-content:center;align-items:center;gap:var(--gap);min-height:28px;margin-top:6px;display:flex}.tier-label{color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.delta-chip{background:color-mix(in srgb, var(--close) 18%, transparent);color:var(--close);opacity:0;border-radius:999px;padding:3px 10px;font-size:.8rem;transition:opacity .15s ease-out}.delta-chip[data-visible=true]{opacity:1}.anvil{grid-template-columns:repeat(3,1fr);gap:clamp(6px,2.5vw,12px);margin:10px 0 16px;display:grid}.slot{aspect-ratio:1/1.06;place-items:center;display:grid}.tile{cursor:pointer;width:100%;height:100%;font:inherit;color:var(--on-tile);background:var(--brass);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);border:none;padding:0;font-size:clamp(1.1rem,6.5vw,1.6rem);font-weight:800;transition:transform .15s ease-out,filter .15s ease-out}.tile[data-kind=result]{background:linear-gradient(160deg, var(--result-start), var(--result-end))}.tile[aria-pressed=true]{filter:brightness(1.15) drop-shadow(0 0 10px var(--ember));transform:translateY(-4px)scale(1.04)}.slot[data-empty=true]{visibility:hidden}.tile-enter{animation:.2s ease-out drop-in}.tile-leave{animation:.15s ease-in forwards collapse}.tile-shake{animation:.2s ease-in-out shake}.tile-forged{animation:.6s ease-out flare}@keyframes drop-in{0%{opacity:0;transform:translateY(-14px)scale(.85)}70%{opacity:1;transform:translateY(0)scale(1.05)}to{transform:none}}@keyframes collapse{to{opacity:0;transform:scale(.4)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes flare{0%{filter:brightness()}35%{filter:brightness(2.1) drop-shadow(0 0 22px var(--forge-glow));transform:scale(1.12)}to{filter:brightness();transform:none}}.anvil-wrap{position:relative}.spark-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.spark{background:var(--forge-glow);width:5px;height:5px;box-shadow:0 0 6px var(--forge-glow);animation:spark-fly .52s ease-out var(--delay,0s) both;border-radius:50%;margin:-2.5px 0 0 -2.5px;position:absolute}@keyframes spark-fly{0%{opacity:1;transform:translate(0,0)scale(1)}to{transform:translate3d(var(--dx), calc(var(--dy) + 14px), 0) scale(.3);opacity:0}}.ops{gap:var(--gap);grid-template-columns:repeat(4,1fr);display:grid}.op{min-height:var(--tap);color:var(--ink);background:var(--surface);border:1px solid color-mix(in srgb, var(--ink-dim) 28%, transparent);border-radius:var(--radius);cursor:pointer;font-size:1.35rem;font-weight:700;transition:background .12s ease-out,color .12s ease-out}.op[aria-pressed=true]{background:var(--ember);color:var(--on-accent);border-color:var(--ember)}.actions{gap:var(--gap);min-height:var(--tap);align-items:stretch;margin-top:10px;display:flex}.action{min-height:var(--tap);font:inherit;color:var(--ink);background:var(--surface);border:1px solid color-mix(in srgb, var(--ink-dim) 28%, transparent);border-radius:var(--radius);cursor:pointer;padding:0 14px;font-weight:600}.action:disabled{opacity:.4;cursor:default}.action--ghost{color:var(--ink-dim);background:0 0;margin-left:auto}.action--ghost[hidden]{display:none}.badge{background:color-mix(in srgb, var(--ember) 22%, transparent);min-width:1.4em;color:var(--ember);border-radius:999px;margin-left:6px;padding:1px 5px;font-size:.75rem;display:inline-block}.promise{text-align:center;color:var(--ink-dim);margin:14px 0 0;font-size:.78rem}.toast-layer{left:0;right:0;bottom:max(16px, env(safe-area-inset-bottom));pointer-events:none;z-index:10;justify-items:center;gap:6px;display:grid;position:fixed}.toast{background:var(--surface);color:var(--ink);border:1px solid var(--danger);border-radius:var(--radius);padding:9px 14px;font-size:.85rem;animation:.15s ease-out toast-in;box-shadow:0 6px 24px #00000059}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.skeleton{background:color-mix(in srgb, var(--ink-dim) 16%, transparent);animation:1.1s ease-in-out infinite shimmer}@keyframes shimmer{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:50ms!important;animation-duration:50ms!important;animation-iteration-count:1!important}.tile[aria-pressed=true]{transform:none}.tile-enter,.tile-leave,.tile-forged{animation:50ms ease-out fade-only}.tile-shake{animation:50ms ease-out border-flash}.spark{display:none}@keyframes fade-only{0%{opacity:.5}}@keyframes border-flash{50%{filter:brightness(1.4) drop-shadow(0 0 0 4px var(--danger))}}}.banners{gap:6px;margin-bottom:4px;display:grid}.banner{border-radius:var(--radius);background:color-mix(in srgb, var(--ember) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--ember) 35%, transparent);align-items:center;gap:10px;padding:8px 12px;font-size:.85rem;display:flex}.banner-text{flex:1}.banner-link,.banner-dismiss{color:var(--ember);font:inherit;cursor:pointer;background:0 0;border:none;min-height:32px;padding:4px;font-weight:600}.result-screen{gap:14px;padding:8px 0 24px;display:grid}.result-grade{text-align:center;padding:8px 0}.result-grade-emoji{font-size:3rem;line-height:1;display:block}.result-grade-text{color:var(--ink-dim);margin:8px 0 0;font-size:1.05rem}.result-rows{gap:8px;display:grid}.result-row{border-radius:var(--radius);background:var(--surface);border-left:4px solid var(--row-accent,transparent);align-items:center;gap:10px;padding:10px 12px;display:flex}.result-row[data-grade=forged]{--row-accent:var(--forge-glow)}.result-row[data-grade=close]{--row-accent:var(--close)}.result-row[data-grade=missed]{--row-accent:var(--ink-dim)}.result-row-tier{flex:1;font-weight:600}.result-row-emoji{background:color-mix(in srgb, var(--row-accent) 22%, transparent);border-radius:50%;flex:none;place-items:center;width:1.9rem;height:1.9rem;font-size:1.1rem;display:grid}.result-row-score{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:.9rem}.result-callout{text-align:center;color:var(--ember);padding:6px 0;font-weight:700}.result-share{min-height:var(--tap);color:var(--on-accent);background:var(--ember);border-radius:var(--radius);cursor:pointer;border:none;font-size:1.05rem;font-weight:700}.countdown{text-align:center;color:var(--ink-dim);font-size:.9rem}.countdown-digits{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.1rem;font-weight:700;display:block}.stats-strip{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats-strip-item{background:var(--surface);border-radius:var(--radius);padding:8px 4px}.stats-strip-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800;display:block}.stats-strip-label{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.reveals{gap:6px;display:grid}.reveal summary{cursor:pointer;color:var(--ink-dim);padding:8px 4px;font-size:.85rem}.reveal-steps{color:var(--ink-dim);font-variant-numeric:tabular-nums;margin:0 0 8px;padding:0 4px 4px;font-size:.85rem}.next-round-btn{min-height:var(--tap);color:var(--on-accent);background:var(--ember);border-radius:var(--radius);cursor:pointer;border:none;font-size:1.05rem;font-weight:700}.modal-scrim{z-index:20;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-scrim[hidden]{display:none}.modal{background:var(--surface);width:100%;max-width:440px;max-height:min(80vh,640px);color:var(--ink);border-radius:14px;padding:20px;overflow-y:auto}.modal-title{margin:0 0 12px;font-size:1.1rem}.modal-subtitle{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em;margin:16px 0 8px;font-size:.85rem}.help-steps{gap:8px;margin:0;padding-left:1.2em;font-size:.92rem;display:grid}.help-keys{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.85rem;display:grid}.help-keys dt{color:var(--brass);font-weight:700}.help-keys dd{color:var(--ink-dim);margin:0}.settings-group{gap:8px;margin-bottom:16px;display:grid}.settings-option{border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:8px;display:flex}.settings-option:has(input:checked){background:color-mix(in srgb, var(--ember) 14%, transparent)}.modal-close{min-height:var(--tap);width:100%;font:inherit;color:var(--ink);border:1px solid color-mix(in srgb, var(--ink-dim) 28%, transparent);border-radius:var(--radius);cursor:pointer;background:0 0;margin-top:4px;font-weight:600}.page-content{max-width:640px;margin:48px auto 0;padding:0 16px 64px;font-size:1rem;line-height:1.6}.page-content h1{margin:0 0 4px;font-size:1.6rem}.page-content .tagline{color:var(--ink-dim);margin:0 0 40px;font-size:1.05rem}.page-content h2{border-top:1px solid color-mix(in srgb, var(--ink-dim) 20%, transparent);margin:40px 0 12px;padding-top:24px;font-size:1.15rem}.page-content section:first-of-type h2{border-top:none;padding-top:0}.page-content p{margin:0 0 14px}.page-content .worked-example{font-variant-numeric:tabular-nums;background:var(--surface);border-radius:var(--radius);color:var(--ink-dim);padding:12px 14px;font-size:.92rem}.page-content ol{margin:0 0 14px;padding-left:1.3em}.page-content li{margin-bottom:8px}.page-content dt{margin-top:18px;font-weight:700}.page-content dt:first-child{margin-top:0}.page-content dd{color:var(--ink-dim);margin:4px 0 0}
