:root{--paper:#fafafa;--surface:#ffffff;--sunken:#f1f1f1;--line:#e4e4e4;--line-strong:#8c8c8c;--ink:#111111;--ink-muted:#4d4d4d;--ink-subtle:#6e6e6e;--good:#0b6e4f;--good-soft:#e4f2ec;--bad:#a63d1e;--bad-soft:#f7e6df;--sans:"Public Sans","Helvetica Neue",Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--ink)}a:hover{color:var(--ink-muted)}
.h1{margin:0;font-weight:600;font-size:48px;line-height:54px;letter-spacing:-0.03em;text-wrap:balance}
.lead{margin:0;font-size:19px;line-height:30px;color:var(--ink-muted);max-width:40rem;text-wrap:pretty}
.p{margin:0;font-size:15px;line-height:24px;color:var(--ink-muted);text-wrap:pretty}
.small{margin:0;font-size:13px;line-height:20px}
.label{font-size:12px;line-height:16px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-subtle)}
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border:1px solid transparent;border-radius:6px;font-family:var(--sans);font-weight:500;font-size:14px;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:#2a2a2a}
.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover{border-color:var(--ink)}
.btn-lg{height:48px;padding:0 22px;font-size:15px}
.btn:focus-visible,.navlink:focus-visible,.tlink:focus-visible,.input:focus-visible,.linkbtn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink)}
.navlink{font-size:14px;font-weight:500;color:var(--ink-muted);text-decoration:none;border-radius:4px}.navlink:hover{color:var(--ink)}
.navlink-on{color:var(--ink)}
.tlink{font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:1px}.tlink:hover{border-color:var(--ink)}
.linkbtn{appearance:none;background:none;border:0;padding:0;margin:0;font-family:var(--sans);font-size:13px;line-height:20px;font-weight:500;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line-strong);border-radius:0}.linkbtn:hover{border-color:var(--ink)}
.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:4px;font-weight:600;font-size:13px;line-height:16px;white-space:nowrap}
.chip-good{background:var(--good-soft);color:var(--good)}.chip-bad{background:var(--bad-soft);color:var(--bad)}.chip-wait{background:var(--sunken);color:var(--ink-muted)}
.sq{width:8px;height:8px;background:currentColor;border-radius:1px}
.cross{position:relative;width:8px;height:8px}
.cross::before,.cross::after{content:"";position:absolute;left:-1px;top:3px;width:10px;height:2px;border-radius:1px;background:currentColor;transform:rotate(45deg)}
.cross::after{transform:rotate(-45deg)}
.input{box-sizing:border-box;width:100%;min-height:228px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-family:var(--mono);font-size:14px;line-height:22px;resize:vertical}
.input::placeholder{color:var(--ink-subtle)}
.input-bad{border-color:var(--bad)}
.input-good{border-color:var(--good)}
.drop{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px dashed var(--line-strong);border-radius:6px;color:var(--ink-muted);font-size:14px;line-height:20px}
.meta{display:grid;gap:6px;margin:0;font-family:var(--mono);font-size:13px;line-height:20px;color:var(--ink-muted)}
.meta span{color:var(--ink)}
.tally{display:grid;gap:8px}
.half{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));height:44px;border-radius:5px;justify-items:center}
.half-yours{background:var(--sunken);align-items:end}
.half-tw{background:var(--good-soft);align-items:start}
.half-tw-idle{background:var(--sunken)}
.n{display:block;width:4px;height:20px;border-radius:1px;transition:background-color 240ms ease-out}
.n-on{background:var(--ink)}.n-tw{background:var(--good)}.n-off{background:transparent}.n-x{background:var(--bad)}.n-idle{background:var(--line)}
.verdict{margin:0;font-weight:600;font-size:40px;line-height:46px;letter-spacing:-0.03em;text-wrap:balance}
.stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:48px;align-items:start}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:32px;padding-top:28px;border-top:1px solid var(--line)}
@media (max-width:860px){.stage{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.h1{font-size:34px;line-height:40px}.verdict{font-size:28px;line-height:34px}}
@media (prefers-reduced-motion:reduce){.n{transition:none}}
