:root{--bg:#0a0a0a;--card:#141414;--line:#2a2a2a;--txt:#f4f4f0;--dim:#9a9a92;--go:#ffe14a;--go-ink:#111;--ok:#3dd68c;--bad:#ff5c5c;--pad:max(1.25rem,env(safe-area-inset-left))}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--txt);font-family:Sora,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}body{min-height:100dvh}.app{min-height:100dvh;min-height:100svh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) var(--pad) env(safe-area-inset-bottom);max-width:430px;margin:0 auto}.bar{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0 .4rem}.logo{font-weight:700;font-size:.82rem;letter-spacing:.04em}.meta{color:var(--dim);font-size:.75rem;font-weight:500}.screen{flex:1;display:flex;flex-direction:column;padding:.6rem 0 1.2rem;animation:in .28s ease}@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}h1{font-size:clamp(1.9rem,8vw,2.45rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;margin:1.4rem 0 .7rem}.lead{color:var(--dim);font-size:.98rem;line-height:1.45;margin-bottom:1.6rem}.stack{display:grid;gap:.7rem;margin-top:auto}.hit{min-height:3.6rem;border:0;border-radius:1.15rem;font:600 1.05rem Sora,system-ui,sans-serif;cursor:pointer;width:100%;text-align:left;padding:1rem 1.15rem}.hit.primary{background:var(--go);color:var(--go-ink);text-align:center}.hit.ghost{background:var(--card);color:var(--txt);border:1px solid var(--line)}.hit.ok{background:#143526;color:var(--ok);border:1px solid var(--ok)}.hit.bad{background:#3a1414;color:var(--bad);border:1px solid var(--bad)}.dots{display:flex;gap:.35rem;margin:.4rem 0 1.1rem}.dots i{height:4px;flex:1;background:var(--line);border-radius:99px}.dots i.on{background:var(--go)}.dots i.done{background:#3a3a3a}.q{font-size:1.22rem;font-weight:600;line-height:1.28;margin-bottom:1.3rem}.why{color:var(--dim);font-size:.9rem;min-height:2.8rem;margin:.8rem 0 .4rem}.skip{background:none;border:0;color:var(--dim);font:500 .9rem Sora,system-ui;padding:.9rem;cursor:pointer}.score{font-size:4.2rem;font-weight:700;letter-spacing:-.06em;line-height:1;margin:1.2rem 0 .5rem}.tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--go-ink);background:var(--go);border-radius:99px;padding:.2rem .55rem;margin-bottom:.9rem}.clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:.9rem;color:var(--go);margin-bottom:.5rem}