:root{--bg:#0b101c;--card:#ffffff0b;--line:#ffffff17;--text:#e9edf5;--muted:#98a2b8;--accent:#ffb454;--accent-deep:#ff8e54;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(900px 520px at 12% -10%,#627aff2b,#0000 62%),radial-gradient(820px 520px at 92% -4%,#9b5aff21,#0000 62%),radial-gradient(760px 640px at 50% 112%,#ffb45417,#0000 60%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(#ffffff0e 1px,#0000 1px);background-size:26px 26px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 60% at 50% 0,#000 25%,#0000 78%);mask-image:radial-gradient(90% 60% at 50% 0,#000 25%,#0000 78%)}.wrap{z-index:1;max-width:780px;margin:0 auto;padding:34px 20px 52px;position:relative}.wrap>*{animation:.55s cubic-bezier(.3,.8,.3,1) both rise}.wrap>:nth-child(2){animation-delay:70ms}.wrap>:nth-child(3){animation-delay:.14s}.wrap>:nth-child(4){animation-delay:.21s}.wrap>:nth-child(5){animation-delay:.28s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero{text-align:center}.kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}h1{letter-spacing:-.022em;max-width:24ch;margin:10px auto 12px;font-size:clamp(30px,5.4vw,44px);font-weight:800;line-height:1.08}h1 .accent{background:linear-gradient(100deg,#ffc46b,#ff8e54);color:#0000;-webkit-background-clip:text;background-clip:text}.sub{color:var(--muted);max-width:580px;margin:0 auto;font-size:15.5px;line-height:1.55}.share{border:1px solid var(--line);color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0d;border-radius:999px;margin-top:15px;padding:8px 16px;font-family:inherit;font-size:12.5px;font-weight:600;transition:color .2s,border-color .2s,background .2s}.share:hover{color:var(--text);background:#ffffff14;border-color:#ffffff38}.card{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);border-radius:18px;margin-top:16px;padding:18px;box-shadow:0 18px 50px #00000059}.stage-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.stage-label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:700}.progress{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.steptrack{background:#ffffff14;border-radius:2px;height:3px;margin-bottom:14px;overflow:hidden}.stepfill{background:linear-gradient(90deg,#ffb454,#ff8e54);border-radius:2px;width:0%;height:100%;transition:width .5s cubic-bezier(.3,.8,.3,1)}.sentence{letter-spacing:-.01em;min-height:2.9em;font-size:clamp(22px,4.8vw,30px);font-weight:650;line-height:1.42}.sentence .w{transition:opacity .55s,color .55s;display:inline-block}.sentence .w.ghost{opacity:.17}.sentence .w:not(.ghost){text-shadow:0 0 16px #e9edf51a}.sentence .w.new{color:var(--accent);animation:.5s cubic-bezier(.2,.9,.3,1.35) pop}.sentence .w.hidden-fly{visibility:hidden}@keyframes pop{0%{opacity:0;transform:scale(.35)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.sentence .cursor{background:var(--accent);vertical-align:-.14em;border-radius:2px;width:.52em;height:1.08em;margin-left:5px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.caption{color:var(--muted);min-height:3em;margin:10px 0 0;font-size:14.5px;line-height:1.55}.bars{flex-direction:column;gap:9px;display:flex}.bar-row{border-radius:8px;grid-template-columns:96px 1fr 58px;align-items:center;gap:10px;animation:.45s cubic-bezier(.3,.8,.3,1) both rowin;display:grid}@keyframes rowin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bar-track{transition:background .2s}.bar-row:hover .bar-track{background:#ffffff17}.bar-token{font-family:var(--mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.bar-track{background:#ffffff0e;border-radius:8px;height:26px;overflow:hidden}.bar{background:linear-gradient(90deg,#6d8dff99,#9a6bff99);border-radius:8px;width:0%;height:100%;transition:width .55s cubic-bezier(.3,.8,.3,1)}.bar-row.top .bar{background:linear-gradient(90deg,#ffb454,#ff8e54);animation:2.4s ease-in-out infinite barpulse;box-shadow:0 0 18px #ffb45459}@keyframes barpulse{0%,to{box-shadow:0 0 12px #ffb45447}50%{box-shadow:0 0 26px #ffb4548c}}.bar-row.top .bar-token{color:var(--accent);font-weight:700}.bar-pct{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.bar-row.top .bar-pct{color:var(--accent);font-weight:700}.done{padding:6px 2px}.done p{color:var(--text);margin:0 0 14px;font-size:15.5px;line-height:1.55}.done .btn{flex:none}.temp{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.temp-head{justify-content:space-between;align-items:baseline;margin-bottom:9px;display:flex}.temp-head label{letter-spacing:.02em;font-size:13px;font-weight:700}.temp-value{font-family:var(--mono);color:var(--accent);font-size:14px;font-weight:700}input[type=range]{appearance:none;background:linear-gradient(90deg,#6d8dff,#9a6bff,#ff7ab8);border-radius:3px;outline:none;width:100%;height:6px;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid var(--accent);cursor:pointer;background:#fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 10px #00000073}input[type=range]::-moz-range-thumb{border:3px solid var(--accent);cursor:pointer;background:#fff;border-radius:50%;width:15px;height:15px;box-shadow:0 2px 10px #00000073}.temp-scale{color:var(--muted);justify-content:space-between;align-items:baseline;margin-top:7px;font-size:11.5px;display:flex}.temp-scale .mid{color:var(--text);font-size:12px;font-weight:700}.expert-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:600}.expert-btn:hover{color:var(--text);border-color:#fff3}.expert-btn.open{color:var(--accent);border-color:#ffb45466}.expert{border-top:1px dashed var(--line);margin-top:16px;padding-top:14px;font-size:13px;animation:.3s both expertin}@keyframes expertin{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.formula{font-family:var(--mono);border:1px solid var(--line);color:#b9c4da;white-space:nowrap;background:#00000052;border-radius:10px;padding:10px 12px;font-size:12.5px;overflow-x:auto}.expert table{border-collapse:collapse;width:100%;font-family:var(--mono);margin-top:12px;font-size:12.5px}.expert th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:4px 8px 6px 0;font-size:11px;font-weight:600}.expert td{color:var(--text);border-bottom:1px solid #ffffff0d;padding:5px 8px 5px 0}.expert td:first-child{color:var(--text)}.expert tr.top-row td:first-child{color:var(--accent);font-weight:700}.expert-note{color:var(--muted);margin:12px 0 0;font-size:12.5px;line-height:1.5}.controls{gap:10px;margin-top:16px;display:flex}.btn{border:1px solid var(--line);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0d;border-radius:12px;flex:1;padding:13px 14px;font-family:inherit;font-size:15px;font-weight:650;transition:transform .12s,background .2s,filter .2s}.btn:hover:not(:disabled){background:#ffffff17}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.35;cursor:default}.btn:focus-visible,.share:focus-visible,.expert-btn:focus-visible,input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{color:#241302;background:linear-gradient(135deg,#ffb454,#ff8e54);border:none;flex:1.5;box-shadow:0 8px 24px #ff9e5440}.btn.primary:hover:not(:disabled){filter:brightness(1.07);background:linear-gradient(135deg,#ffb454,#ff8e54)}.btn.playing{color:var(--accent);border-color:#ffb45473}footer{margin-top:28px}.kbd-hint{text-align:center;color:#98a2b88c;margin:0 0 12px;font-size:12px}.how{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.how-step{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:11px 12px;font-size:12.5px;line-height:1.35;transition:border-color .25s,transform .25s}.how-step:hover{border-color:#ffb45459;transform:translateY(-2px)}.how-step b{color:var(--accent);font-size:15px;font-family:var(--mono);margin-bottom:3px;display:block}.fineprint{color:#98a2b8a6;text-align:center;margin:14px 0 0;font-size:12px;line-height:1.5}.fly{z-index:50;color:var(--accent);pointer-events:none;white-space:nowrap;text-shadow:0 0 22px #ffb4548c;will-change:transform;font-weight:800;position:fixed}@media (width<=600px){.wrap{padding:30px 14px 44px}.card{border-radius:15px;padding:16px}.bar-row{grid-template-columns:82px 1fr 54px;gap:8px}.bar-token{font-size:13px}.how{grid-template-columns:repeat(2,1fr)}.controls{flex-wrap:wrap}.btn{flex:auto;min-width:100px}.btn.primary{flex:100%;order:-1}.caption{min-height:0}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
