:root{--paper:#fafaf9;--surface:#fff;--surface-2:#f3f3f1;--ink:#1a1a1d;--ink-mid:#5a5a62;--ink-faint:#8e8e96;--rule:#e3e2de;--accent:#5b3fa6;--accent-tint:#5b3fa612;--good:#2c7357;--warn:#9a6b0c;--bad:#a63446;--shadow:0 1px 2px #1a1a1d0d, 0 6px 20px #1a1a1d0d;--radius:5px}@media (prefers-color-scheme:dark){:root{--paper:#121214;--surface:#1a1a1e;--surface-2:#212127;--ink:#ebebee;--ink-mid:#9c9ca6;--ink-faint:#6c6c76;--rule:#2c2c33;--accent:#a98bee;--accent-tint:#a98bee18;--good:#5bbf93;--warn:#dca83c;--bad:#f0798c;--shadow:0 1px 2px #0006, 0 6px 20px #0000004d}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Public Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6}.wrap{max-width:1120px;margin:0 auto;padding:0 24px 100px}.masthead{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.logo{letter-spacing:-.015em;margin:0;font-family:Newsreader,Georgia,serif;font-size:1.5rem;font-weight:600}.logo em{color:var(--accent);font-style:italic}.masthead-note{color:var(--ink-faint);font-size:12.5px}.hero{max-width:62ch;padding:54px 0 34px}.hero h2{letter-spacing:-.022em;text-wrap:balance;margin:0 0 16px;font-family:Newsreader,Georgia,serif;font-size:clamp(1.9rem,4.6vw,2.9rem);font-weight:500;line-height:1.14}.hero p{color:var(--ink-mid);margin:0;font-size:1.05rem}.steps{flex-wrap:wrap;gap:6px;margin:34px 0 20px;display:flex}.step{border:1px solid var(--rule);background:var(--surface);color:var(--ink-faint);border-radius:100px;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-size:13px;display:flex}.step.active{border-color:var(--accent);color:var(--ink);background:var(--accent-tint)}.step.done{color:var(--ink-mid)}.step-n{background:var(--surface-2);width:19px;height:19px;color:var(--ink-faint);border-radius:50%;place-items:center;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;display:grid}.step.active .step-n{background:var(--accent);color:#fff}.step.done .step-n{background:var(--good);color:#fff}.grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}@media (max-width:900px){.grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px;display:flex}.panel-head h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mid);margin:0;font-size:13px;font-weight:700}.panel-head span{color:var(--ink-faint);font-size:12px}.panel-body{padding:18px}.panel-body>p:first-child{margin-top:0}textarea{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-2);width:100%;color:var(--ink);resize:vertical;min-height:150px;padding:13px 14px;font-family:Public Sans,system-ui,sans-serif;font-size:14.5px;line-height:1.65}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea::placeholder{color:var(--ink-faint)}.btn{cursor:pointer;border-radius:var(--radius);border:1px solid var(--rule);background:var(--surface-2);color:var(--ink);padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:background .13s,border-color .13s,opacity .13s}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){color:#fff;filter:brightness(1.08)}.btn-row{flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;display:flex}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.sample-list{flex-direction:column;gap:8px;margin-top:14px;display:flex}.sample{background:var(--surface-2);border-radius:var(--radius);align-items:center;gap:12px;padding:9px 12px;font-size:13.5px;display:flex}.sample-text{color:var(--ink-mid);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sample-words{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:11.5px}.sample.thin .sample-words{color:var(--bad)}.icon-btn{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:3px 5px;font-size:17px;line-height:1}.icon-btn:hover{color:var(--bad);background:var(--surface)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.score-hero{text-align:center;padding:8px 0 4px}.score-num{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-family:Newsreader,Georgia,serif;font-size:4.1rem;font-weight:500;line-height:1}.score-num.good{color:var(--good)}.score-num.warn{color:var(--warn)}.score-num.bad{color:var(--bad)}.score-of{color:var(--ink-faint);font-size:1.1rem}.score-verdict{letter-spacing:.07em;text-transform:uppercase;margin-top:5px;font-size:13px;font-weight:700}.score-target{color:var(--ink-faint);margin-top:7px;font-size:12.5px}.metrics{background:var(--rule);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:16px;display:grid;overflow:hidden}.metric{background:var(--surface);text-align:center;padding:10px 12px}.metric-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:9.5px}.metric-val{font-variant-numeric:tabular-nums;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:500}.notes{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.notes li{color:var(--ink-mid);padding-left:16px;font-size:13.5px;line-height:1.5;position:relative}.notes li:before{content:"→";color:var(--accent);font-size:12px;position:absolute;left:0}.card-pre{white-space:pre-wrap;color:var(--ink-mid);max-height:260px;margin:0;font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:1.65;overflow-y:auto}.warning{background:var(--accent-tint);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-mid);margin-top:14px;padding:12px 14px;font-size:13px}.warning strong{color:var(--ink)}.error{background:color-mix(in srgb, var(--bad) 9%, transparent);border:1px solid color-mix(in srgb, var(--bad) 35%, transparent);color:var(--bad);border-radius:var(--radius);margin-top:14px;padding:12px 14px;font-size:13.5px}.output{white-space:pre-wrap;color:var(--ink);margin:0;font-family:Public Sans,system-ui,sans-serif;font-size:15px;line-height:1.7}.quota{color:var(--ink-faint);align-items:center;gap:7px;margin-left:auto;font-size:12.5px;display:flex}.quota b{color:var(--ink);font-family:JetBrains Mono,monospace}footer{border-top:1px solid var(--rule);color:var(--ink-faint);max-width:68ch;margin-top:60px;padding-top:22px;font-size:13px}footer p{margin:0 0 8px}a{color:var(--accent)}.spinner{border:2px solid var(--rule);border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:13px;height:13px;margin-right:7px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.account{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.acct-email{color:var(--ink-mid)}.pill{background:var(--surface-2);color:var(--ink-mid);border:1px solid var(--rule);border-radius:100px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:11px}.pill-on{background:color-mix(in srgb, var(--good) 14%, transparent);color:var(--good);border-color:color-mix(in srgb, var(--good) 35%, transparent)}.btn.small{padding:6px 13px;font-size:12.5px}.link-btn{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;padding:2px;font-family:inherit;font-size:12.5px;text-decoration:underline}.link-btn:hover{color:var(--accent)}.link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notice{border-radius:var(--radius);background:var(--accent-tint);border:1px solid var(--rule);color:var(--ink);margin-top:16px;padding:11px 14px;font-size:13.5px}.signin{margin-top:18px}.signin-row{flex-wrap:wrap;gap:9px;display:flex}.signin-row input{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-2);min-width:220px;color:var(--ink);flex:1;padding:10px 13px;font-family:inherit;font-size:14.5px}.signin-row input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
