:root{--bg:#0b0d12;--line:#ece9e217;--ink:#ece9e2;--muted:#98a0b3;--faint:#5c6478;--amber:#f2b544;--teal:#59c3b4;--serif:ui-serif, Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}.bg-glow{pointer-events:none;z-index:0;background:radial-gradient(900px 480px at 75% -10%,#f2b5441c,#0000 65%),radial-gradient(700px 420px at 8% 108%,#59c3b417,#0000 60%);animation:9s ease-in-out infinite glowPulse;position:fixed;inset:0}@keyframes glowPulse{50%{opacity:.65}}.wrap{z-index:1;max-width:860px;margin:0 auto;padding:26px 20px 40px;position:relative}.head{text-align:center}.overline{letter-spacing:.22em;text-transform:uppercase;color:var(--amber);font-size:11px;font-weight:600}h1{font-family:var(--serif);letter-spacing:-.01em;margin:8px 0;font-size:clamp(28px,4.6vw,40px);font-weight:500}.sub{color:var(--muted);max-width:58ch;margin:0 auto;font-size:15px;line-height:1.55}.steps-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.ss{letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);white-space:nowrap;background:#ffffff05;border-radius:999px;padding:6px 12px;font-size:12px}.ss b{color:var(--amber);font-family:var(--mono);margin-right:5px;font-weight:600}.ss-arrow{color:var(--faint);font-size:13px}.bg-grid{z-index:0;pointer-events:none;background-image:radial-gradient(#ece9e20d 1px,#0000 1.5px);background-size:26px 26px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 50% 38%,#000 25%,#0000 72%);mask-image:radial-gradient(at 50% 38%,#000 25%,#0000 72%)}.spark{z-index:60;pointer-events:none;border-radius:2px;width:7px;height:7px;transition:transform 1s cubic-bezier(.2,.6,.3,1),opacity 1s;position:fixed}.stage{justify-content:center;align-items:center;min-height:126px;margin:18px 0 2px;display:flex}.sentence{font-family:var(--serif);text-align:center;font-size:clamp(26px,5.6vw,42px);font-weight:500;line-height:1.5}.w{opacity:.16;transition:opacity .5s;display:inline-block}.w.done{opacity:1}.w.new{animation:.7s both wordIn}@keyframes wordIn{0%{color:var(--amber);transform:scale(1.12)}to{color:var(--ink);transform:none}}.w.bye{opacity:.16;transition:opacity .17s,transform .17s;transform:scale(.9)}.caret{background:var(--amber);vertical-align:-.08em;border-radius:2px;width:.48ch;height:1em;margin-left:3px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.caption{text-align:center;color:var(--muted);max-width:62ch;min-height:3em;font-size:15.5px;line-height:1.6;font-family:var(--serif);margin:12px auto 20px;font-style:italic}.panel{border:1px solid var(--line);background:linear-gradient(#ffffff08,#ffffff03);border-radius:16px;padding:16px 20px 18px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}h2{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px;font-weight:600}.chip{color:var(--muted);white-space:nowrap;background:#f2b5441a;border:1px solid #f2b54440;border-radius:999px;padding:5px 12px;font-size:12px}.chip b{color:var(--amber);font-family:var(--serif);font-size:13.5px}.temp{align-items:center;gap:12px;margin-bottom:4px;display:flex}.t-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}input[type=range]{appearance:none;background:linear-gradient(90deg, var(--amber), #6b7280 55%, var(--teal));border-radius:2px;outline:none;flex:1;min-width:60px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ink);border:2px solid var(--bg);width:18px;height:18px;box-shadow:0 0 0 1px var(--line), 0 2px 8px #00000080;cursor:pointer;border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--ink);border:2px solid var(--bg);width:18px;height:18px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:50%}.temp-val{font-family:var(--mono);color:var(--amber);text-align:right;font-variant-numeric:tabular-nums;min-width:44px;font-size:14px}.temp-hint{color:var(--faint);text-align:center;min-height:16px;margin-bottom:12px;font-size:12.5px}.bars{flex-direction:column;gap:8px;display:flex}.bar{grid-template-columns:92px 1fr 56px;align-items:center;gap:12px;display:grid}.bar .tok{font-family:var(--serif);text-align:right;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.bar .track{background:#ffffff0b;border-radius:7px;height:22px;position:relative;overflow:hidden}.bar .bfill{background:#39415a;border-radius:7px;width:0%;transition:width .55s cubic-bezier(.25,.8,.3,1),background .4s;position:absolute;top:0;bottom:0;left:0}.bar.top .bfill{background:linear-gradient(90deg,#f2b544,#f08c4a);box-shadow:0 0 18px #f2b54440}.bar.top .tok{color:var(--amber)}.bar .pct{font-family:var(--mono);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.bar.top .pct{color:var(--amber)}.sample-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.btn.small{padding:9px 16px;font-size:13px}.sample-out{color:var(--muted);font-size:13.5px;line-height:1.5;font-family:var(--serif);font-style:italic}.sample-out b{color:var(--teal);font-style:normal}.done-note{color:var(--muted);text-align:center;margin-top:14px;font-size:14px}.done-note b{color:var(--amber)}.controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.btn{font:600 14px/1 var(--sans);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:12px 20px;transition:all .2s}.btn.primary{background:var(--amber);color:#1a1205;box-shadow:0 4px 18px #f2b54440}.btn.primary:hover:not(:disabled){background:#ffc35c;transform:translateY(-1px)}.btn.primary:disabled{opacity:.4;cursor:default;box-shadow:none}.btn.ghost{color:var(--muted);border-color:var(--line);background:0 0}.btn.ghost:hover:not(:disabled){color:var(--ink);border-color:#ffffff38}.btn.ghost:disabled{opacity:.35;cursor:default}.progress{flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:160px;margin-left:auto;display:flex}#stepLabel{font-family:var(--mono);color:var(--faint);white-space:nowrap;font-size:12px}.ptrack{background:#ffffff14;border-radius:2px;width:90px;height:3px;overflow:hidden}.pfill{background:var(--amber);width:0%;height:100%;transition:width .4s}.expert{margin-top:20px}.expert-btn{color:var(--muted);font:500 13.5px var(--sans);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;padding:8px 0}.expert-btn:hover{color:var(--ink)}.expert-btn .chev{transition:transform .25s;display:inline-block}.expert-btn.open .chev{transform:rotate(90deg)}.expert-body{border:1px solid var(--line);background:#ffffff05;border-radius:14px;margin-top:6px;padding:18px 20px}.formula{font-family:var(--mono);color:var(--ink);border:1px solid var(--line);text-align:center;background:#0000004d;border-radius:10px;margin-bottom:14px;padding:14px 16px;font-size:15px;overflow-x:auto}.exp-p{color:var(--muted);margin:10px 0;font-size:13.5px;line-height:1.6}.exp-p b{color:var(--ink)}.exp-scroll{overflow-x:auto}.exp-table{border-collapse:collapse;width:100%;font-family:var(--mono);min-width:340px;margin:12px 0;font-size:12.5px}.exp-table th{text-align:right;color:var(--faint);border-bottom:1px solid var(--line);padding:6px 10px;font-weight:500}.exp-table th:first-child{text-align:left}.exp-table td{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0a;padding:6px 10px}.exp-table td:first-child{text-align:left;font-family:var(--serif);font-size:14px}.exp-table tr.top td{color:var(--amber)}footer{text-align:center;color:var(--faint);max-width:54ch;margin-top:28px;margin-left:auto;margin-right:auto;font-size:12.5px;line-height:1.6}footer p{margin:0 0 12px}.fly{z-index:50;font-family:var(--serif);color:var(--amber);pointer-events:none;white-space:pre;will-change:transform;font-weight:500;transition:transform .68s cubic-bezier(.3,.7,.2,1),opacity .68s;position:fixed}@media (width<=640px){.wrap{padding:28px 16px 44px}.bar{grid-template-columns:72px 1fr 48px;gap:9px}.bar .tok{font-size:15px}.panel{padding:14px 14px 16px}.stage{min-height:110px}.progress{order:5;justify-content:center;width:100%;min-width:0;margin-left:0}.controls{gap:8px}.btn{padding:11px 16px;font-size:13px}}
