:root{--bg:#f7f8fa;--fg:#1b1f24;--mut:#545d68;--acc:#0b5cad;--card:#fff;--bd:#d6dbe1}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
.wrap{max-width:860px;margin:0 auto;padding:0 1rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
header.site{background:#11263c;color:#fff}header.site .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.8rem 1rem}
header.site a{color:#fff}.brand{font-weight:700;text-decoration:none;font-size:1.15rem}
h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.2;margin:1.5rem 0 .5rem}.lead{color:var(--mut);font-size:1.07rem}
a{color:var(--acc)}
fieldset{border:1px solid var(--bd);background:var(--card);border-radius:10px;margin:0 0 1rem;padding:1rem}
legend{font-weight:700;padding:0 .3rem}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
input[type=number],select{font:inherit;padding:.5rem;border:1px solid #8a949f;border-radius:6px;min-height:44px}input[type=number]{width:7rem}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}.opts label{display:flex;align-items:center;gap:.4rem;border:1px solid var(--bd);border-radius:8px;padding:.55rem .8rem;cursor:pointer;min-height:44px}
.opts label:has(input:checked){border-color:var(--acc);background:#e8f1fb}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #f0a500;outline-offset:2px}
.hint{color:var(--mut);font-size:.9rem;margin:.4rem 0 0}.err{color:#a40000;font-weight:600}
.cta{font:inherit;font-weight:700;background:var(--acc);color:#fff;border:0;border-radius:8px;padding:.85rem 1.4rem;cursor:pointer;width:100%;max-width:340px}
.cta:hover{background:#084a8c}
#result{margin:2rem 0}#result:focus{outline:none}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:1rem 1.2rem;margin:0 0 1rem}
.card h3{margin:.2rem 0 .4rem}.card ul{padding-left:1.2rem;margin:.4rem 0}
table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--bd);padding:.45rem;text-align:left}
.buy{display:inline-block;margin:.25rem .4rem .25rem 0;font-size:.93rem}
.tag{font-size:.8rem;color:var(--mut)}
footer.site{border-top:1px solid var(--bd);margin-top:2rem;padding:1rem 0;color:var(--mut);font-size:.92rem}
@media print{header,footer,form,.cta{display:none}}
.badge{display:inline-block;font-size:.78rem;font-weight:600;background:#fff4d6;color:#6b4a00;border-radius:999px;padding:.1rem .55rem;margin-right:.6rem}
.pick{font-weight:600}
input[type=text]{font:inherit;padding:.5rem;border:1px solid #8a949f;border-radius:6px;min-height:44px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.res-row input[type=number]{width:6.5rem}
.scroll{overflow-x:auto}.scroll table{min-width:560px}
.formula{font-family:ui-monospace,Menlo,Consolas,monospace;background:#eef2f6;padding:.1rem .35rem;border-radius:4px;font-size:.92rem}
blockquote{margin:.5rem 0;padding:.4rem .9rem;border-left:4px solid var(--acc);background:#fff}
.ok{color:#0a6b2d;font-weight:600}.warn{color:#8a4b00;font-weight:600}
.opinion{border-left:4px solid #f0a500;padding-left:.7rem}
details summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.updated{font-size:.9rem;color:var(--mut)}
[hidden]{display:none!important}
