
*{box-sizing:border-box} :root{--ink:#0f172a;--mut:#475569;--acc:#0e7490;--acc2:#164e63;--bg:#f8fafc;--card:#fff;--line:#e2e8f0;--good:#15803d}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;margin:0;color:var(--ink);background:var(--bg);line-height:1.65}
a{color:var(--acc)} a:hover{color:var(--acc2)}
header.site{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:10}
header.site .inner{max-width:1060px;margin:0 auto;padding:.7rem 1rem;display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.logo{font-weight:800;color:var(--ink);text-decoration:none;font-size:1.15rem}.logo span{color:var(--acc)}
nav.main a{margin-right:1rem;text-decoration:none;color:var(--mut);font-weight:600}
main{max-width:1060px;margin:0 auto;padding:1.5rem 1rem 3rem}
h1{font-size:2rem;line-height:1.2;margin:.3em 0} h2{margin-top:2rem} .lede{font-size:1.13rem;color:var(--mut)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.2rem;margin:1rem 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.grid a.card{text-decoration:none;color:var(--ink)} .grid a.card:hover{border-color:var(--acc)}
label{display:block;font-weight:600;margin:.8rem 0 .25rem} input[type=number],input[type=text],select,textarea{width:100%;padding:.55rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem}
input[type=range]{width:100%} .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem} @media(max-width:640px){.row{grid-template-columns:1fr}}
.result{background:#ecfeff;border:1px solid #a5f3fc;border-radius:12px;padding:1.2rem;margin:1rem 0}
.result .big{font-size:2rem;font-weight:800;color:var(--acc2)}
table{width:100%;border-collapse:collapse;background:#fff} th,td{border:1px solid var(--line);padding:.55rem;text-align:left} th{background:#f1f5f9}
tr.cheapest td{background:#f0fdf4;font-weight:700}
.btn{display:inline-block;background:var(--acc);color:#fff;padding:.65rem 1.2rem;border-radius:8px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--acc2)} .btn.ghost{background:#fff;color:var(--acc);border:1px solid var(--acc)}
.ad-slot{border:1.5px dashed #cbd5e1;color:#94a3b8;text-align:center;padding:1.4rem;margin:1.5rem 0;border-radius:8px;background:#fff;font-size:.9rem}
details{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem;margin:.6rem 0}
footer.site{border-top:1px solid var(--line);background:#fff;padding:1.5rem 1rem;color:var(--mut);font-size:.92rem}
footer.site .inner{max-width:1060px;margin:0 auto} .small{font-size:.88rem;color:var(--mut)}
.bar-wrap{background:#e2e8f0;border-radius:6px;height:22px;margin:.3rem 0 .9rem}.bar{height:22px;border-radius:6px;background:var(--acc)}
textarea.out{width:100%;min-height:260px;font-family:ui-monospace,monospace;font-size:.92rem}
.badge{display:inline-block;background:#ecfeff;color:var(--acc2);padding:.15rem .6rem;border-radius:999px;font-size:.82rem;font-weight:700}
