:root{color-scheme:light dark;--bg:#f6f7f9;--card:#fff;--ink:#14171c;--muted:#5a6270;--line:#d9dde4;--accent:#2457d6;--ok:#12803c;--bad:#b3261e;--warn:#9a6700}
@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--card:#181c22;--ink:#eef1f5;--muted:#a0a8b5;--line:#2a303a;--accent:#7ea2ff;--ok:#4fcf80;--bad:#ff8a80;--warn:#e6b450}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif}
main{max-width:760px;margin:0 auto;padding:16px}
h1{font-size:1.6rem;margin:.4em 0 .2em}h2{font-size:1.2rem;margin:0 0 .5em}h3{font-size:1rem;margin:1.2em 0 .4em}
.lead,.hint{color:var(--muted)}.hint{font-size:.92rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}
label{display:block;font-weight:600;margin:.6em 0}input{display:block;width:100%;margin-top:.3em;padding:12px;font-size:1rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
button{font:inherit;padding:11px 16px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.msg{min-height:1.4em}.msg.bad{color:var(--bad)}.msg.warn{color:var(--warn)}.msg.ok{color:var(--ok)}
.big{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.big div{background:var(--bg);border-radius:10px;padding:12px}.big b{display:block;font-size:2rem;line-height:1.1}.big span{color:var(--muted);font-size:.9rem}
.chart{display:flex;align-items:flex-end;gap:4px;height:120px}.chart div{flex:1;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px;position:relative}.chart div span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:.7rem;color:var(--muted)}
.bars>div{display:grid;grid-template-columns:110px 1fr 40px;gap:8px;align-items:center;margin:6px 0}.bars i{display:block;height:12px;background:var(--accent);border-radius:6px}
.free>div{display:grid;grid-template-columns:120px 1fr;gap:8px;margin:8px 0;align-items:center}.free .row{display:flex;gap:10px;flex-wrap:wrap;font-size:.92rem}.ok{color:var(--ok)}.bad{color:var(--bad)}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);word-break:break-all}
code{background:var(--bg);padding:1px 5px;border-radius:4px}
