:root{--ink:#14202b;--mut:#5b6773;--bg:#f6f4ef;--card:#fff;--line:#e3ded3;--red:#b42318;--redbg:#fdecea;--amb:#8a5a00;--ambbg:#fff4dc;--grn:#11663f;--grnbg:#e6f4ec;--acc:#6b2bd9}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:1080px;margin:0 auto;padding:16px}
.top{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--mut)}.top a{color:var(--mut)}
h1{font-size:clamp(22px,3.4vw,32px);line-height:1.2;margin:10px 0 6px}h2{font-size:21px;margin:26px 0 8px}
.lede{font-size:17px;max-width:860px}.lede b{color:var(--red)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}
.big{font-size:19px;margin:0 0 10px}.lost{color:var(--red);font-weight:700}
.kpi{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.kpi li{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.kpi span{display:block;font-size:13px;color:var(--mut)}.kpi b{font-size:20px}
.kpi .r{background:var(--redbg);border-color:#f3c3be}.kpi .w{background:var(--grnbg);border-color:#b9e0c9}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;color:var(--mut);white-space:nowrap}.n{text-align:right;white-space:nowrap}
tr.bad td:first-child{border-left:4px solid var(--red)}tr.warn td:first-child{border-left:4px solid #d39b1a}tr.ok td:first-child{border-left:4px solid var(--grn)}
td.id.bad{color:var(--red)}td.id.warn{color:var(--amb)}td.id.ok{color:var(--grn)}
.hint{font-size:13px;color:var(--mut)}
label{display:block;font-weight:600;font-size:14px;margin:8px 0}input,textarea{width:100%;font:inherit;padding:8px;border:1px solid #cfc8bb;border-radius:8px;background:#fff}
textarea{font:13px/1.45 ui-monospace,Menlo,Consolas,monospace}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.btn,button{display:inline-block;font:inherit;font-weight:700;padding:10px 16px;border-radius:9px;border:2px solid var(--acc);background:var(--acc);color:#fff;text-decoration:none;cursor:pointer;margin:4px 6px 4px 0}
.ghost,button.ghost{background:#fff;color:var(--acc)}
.buy{border:2px solid var(--acc)}.buy ul{margin:6px 0 10px 18px;padding:0}
#saved{list-style:none;padding:0}#saved li{margin:4px 0}#saved button{padding:4px 10px;font-size:14px}
.pro-only{display:none}.is-pro .pro-only{display:block}
details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0}summary{font-weight:700;cursor:pointer}
footer{font-size:13px;color:var(--mut);margin:28px 0}
#printHead{display:none}
@media print{body{background:#fff}.wrap>*:not(#out):not(#printHead){display:none!important}#printHead{display:block;font-size:18px;font-weight:700}#out{border:0}}
.tw td:last-child{min-width:230px}td.id{min-width:150px}
