:root{--navy:#0f2a44;--navy2:#153a5e;--teal:#0d9a79;--teal2:#0b7f64;--gold:#f2b134;--bg:#f4f7fa;--card:#fff;--ink:#17202a;--mut:#5b6b7c;--line:#e3e9ef;--ok:#1f8a4c;--warn:#b7791f;--ind:#6b5cc7;--r:14px;--sh:0 1px 2px rgba(15,42,68,.06),0 8px 24px -12px rgba(15,42,68,.18)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--teal2);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .4em;font-weight:800;letter-spacing:-.01em}h1{font-size:1.9rem}h2{font-size:1.3rem;margin-top:1.6em}h3{font-size:1.05rem}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}.wrap.wide{max-width:1240px}
main.wrap{padding-top:18px;padding-bottom:48px;min-height:60vh}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--teal);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:700;font-size:.95rem;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--teal2);text-decoration:none}.btn.sm{padding:7px 11px;font-size:.85rem}.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.ghost:hover{background:#f0f4f8}.btn.alt{background:var(--navy)}.btn.alt:hover{background:var(--navy2)}.btn.danger{background:#c0392b}
input,select,textarea{font:inherit;width:100%;padding:10px 12px;border:1px solid #cbd5df;border-radius:10px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
label{display:block;font-weight:600;font-size:.9rem;color:var(--navy)}label>input,label>select,label>textarea{margin-top:4px;font-weight:400}
.hp{position:absolute;left:-9999px;opacity:0}
/* header */
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}.top .wrap{display:flex;align-items:center;gap:18px;min-height:60px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:1.25rem;letter-spacing:-.02em}.brand small{display:block;font-size:.65rem;font-weight:500;opacity:.75;letter-spacing:.08em;text-transform:uppercase;margin-top:-2px}.brand:hover{text-decoration:none}
.logo{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#fff;padding:3px}.logo img{width:100%;height:100%;object-fit:contain}.flogo{width:72px;background:#fff;border-radius:12px;padding:6px;margin-bottom:8px;display:block}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}.nav>a,.menu-t{color:#dbe6f1;padding:8px 10px;border-radius:8px;font-weight:600;font-size:.92rem;cursor:pointer}.nav>a:hover,.menu:hover .menu-t{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
.menu{position:relative}.menu-d{display:none;position:absolute;top:100%;left:0;background:#fff;border-radius:12px;box-shadow:var(--sh);padding:8px;min-width:220px}.menu:hover .menu-d{display:block}.menu-d a{display:block;padding:8px 10px;color:var(--ink);border-radius:8px;font-size:.92rem}.menu-d a:hover{background:#f0f4f8;text-decoration:none}
.burger{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.5rem}
@media(max-width:860px){.burger{display:block;padding:8px 10px}.nav{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;background:var(--navy);flex-direction:column;align-items:stretch;padding:8px 16px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:25}.nav-open .nav{display:flex}.nav-open{overflow:hidden}.menu-d{display:grid;grid-template-columns:1fr 1fr;gap:2px;position:static;background:transparent;box-shadow:none;padding:0 0 10px;min-width:0}.menu-d a{color:#fff;padding:11px 10px;background:rgba(255,255,255,.07);border-radius:8px}.menu-t{display:block;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-top:10px;padding:6px 0}.nav>a{padding:12px 10px;border-top:1px solid rgba(255,255,255,.1);font-size:1rem}}
@media(max-width:600px){html{font-size:15px}h1{font-size:1.6rem}main.wrap{padding-top:12px}.card{padding:14px;border-radius:12px}.kvs{grid-template-columns:1fr 1fr;gap:8px}.kv.hi.cost{grid-template-columns:1fr}.card.prod footer .btn{flex:1 1 45%;justify-content:center}.cmp{width:100%;margin-bottom:4px}.card.prod header{flex-direction:column}.cathead{flex-direction:column}aside .filt{padding:10px 12px}.chip{padding:7px 12px}.best{grid-template-columns:1fr 1fr}.bestcard b{font-size:1.25rem}.quick a{padding:8px 12px}.detail{padding:16px}.actions .btn{flex:1 1 45%;justify-content:center}.search{flex-direction:column}.cmpbar{bottom:8px;padding:8px 10px;font-size:.9rem}}
.flash{background:#e6f7f0;border:1px solid #bfe8d6;color:#14633f;padding:10px 14px;border-radius:10px;margin-top:14px;font-weight:600}
/* hero */
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2) 60%,#1d5a7a);color:#fff;border-radius:20px;padding:36px 24px;margin-top:8px}.hero h1{font-size:2.2rem;max-width:620px}.hero em{font-style:normal;color:var(--gold)}.hero p{max-width:620px;font-size:1.05rem;opacity:.92}
.search{display:flex;gap:8px;max-width:620px;margin-top:16px}.search input{border:0;padding:12px 14px}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.quick a{color:#fff;background:rgba(255,255,255,.12);padding:6px 12px;border-radius:999px;font-size:.88rem;font-weight:600}.quick a:hover{background:rgba(255,255,255,.22);text-decoration:none}
@media(max-width:600px){.hero{padding:26px 18px}.hero h1{font-size:1.65rem}}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:16px;border:1px solid transparent}
.card.cat{color:var(--ink);display:flex;flex-direction:column}.card.cat:hover{border-color:var(--teal);text-decoration:none}.card.cat .ico{font-size:1.7rem}.card.cat p{color:var(--mut);font-size:.92rem;flex:1;margin:.3em 0 .6em}.card.cat .cta{color:var(--teal2);font-weight:700;font-size:.9rem}
.card.mini{display:flex;flex-direction:column;gap:3px;color:var(--ink);font-size:.92rem}.card.mini:hover{border-color:var(--teal);text-decoration:none}.card.mini span{color:var(--mut)}
.prov{display:inline-block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teal2)}
.best{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.bestcard{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:14px;color:var(--ink);display:flex;flex-direction:column;gap:2px}.bestcard:hover{text-decoration:none;border:1px solid var(--teal);margin:-1px}.bestcard small{color:var(--mut);font-size:.78rem}.bestcard b{font-size:1.5rem;color:var(--navy)}.bestcard span{font-size:.85rem;color:var(--mut)}
.how .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.how .steps>div{background:#fff;border-radius:var(--r);padding:16px;box-shadow:var(--sh)}.how p{color:var(--mut);margin:.3em 0 0;font-size:.92rem}
.sub{background:#fff;border-radius:var(--r);padding:20px;box-shadow:var(--sh);margin-top:28px}.sub form{display:grid;grid-template-columns:2fr 1.5fr auto;gap:8px}@media(max-width:600px){.sub form{grid-template-columns:1fr}}
/* category */
.crumb{font-size:.85rem;color:var(--mut);margin-bottom:8px}.cathead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.cathead p{margin:.2em 0;color:var(--mut)}.meta{color:var(--mut);font-size:.9rem}
.catbody{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}@media(max-width:860px){.catbody{grid-template-columns:1fr}}
aside .filt{background:#fff;border-radius:var(--r);padding:12px 14px;box-shadow:var(--sh);margin-bottom:12px}aside .filt b{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-bottom:6px}
.chip{display:inline-block;padding:5px 11px;border-radius:999px;background:#eef2f6;color:var(--navy);font-size:.85rem;font-weight:600;margin:0 6px 6px 0}.chip.on{background:var(--navy);color:#fff}.chip:hover{text-decoration:none;background:#dfe6ee}.chip.on:hover{background:var(--navy2)}
.calc{background:linear-gradient(160deg,#fff,#eef8f4);border:1px solid #cfe9df;border-radius:var(--r);padding:14px;box-shadow:var(--sh)}.calc label{margin-bottom:8px}.calc .btn{width:100%;justify-content:center;margin-top:4px}.hint{font-size:.82rem;color:var(--mut);margin:.6em 0 0}
.list{display:flex;flex-direction:column;gap:12px}.empty{background:#fff;padding:24px;border-radius:var(--r);text-align:center;color:var(--mut)}
.card.prod header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.card.prod h3{margin:0}.card.prod h3 a{color:var(--ink)}
.kvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:12px 0}.kv small{display:block;color:var(--mut);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.kv b{font-size:1.05rem;color:var(--navy)}.kv.hi{grid-column:1/-1;background:#eef8f4;border-radius:10px;padding:8px 10px}.kv.hi b{font-size:1.4rem;color:var(--teal2)}.kv.hi i{display:block;font-style:normal;color:var(--mut);font-size:.8rem}
.card.prod footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:10px}.cmp{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;margin-right:auto;color:var(--navy)}.cmp input{width:auto}
.note{font-size:.88rem;color:var(--mut);background:#fbf7ec;border-left:3px solid var(--gold);padding:6px 10px;border-radius:6px;margin:0 0 10px}
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}.badge.ok{background:#e4f5ea;color:var(--ok)}.badge.warn{background:#fdf1dc;color:var(--warn)}.badge.ind{background:#ece9fb;color:var(--ind)}
.disc{font-size:.85rem;color:var(--mut);background:#fff;padding:12px 14px;border-radius:var(--r);margin-top:6px}
/* detail */
.detail{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:22px}.detail header{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:12px}.detail h1{margin:0;width:100%}
.attrs{width:100%;border-collapse:collapse}.attrs th{text-align:left;font-weight:600;color:var(--mut);padding:9px 8px 9px 0;border-bottom:1px solid var(--line);width:45%;font-size:.92rem;vertical-align:top}.attrs th small{display:block;font-weight:400;font-size:.78rem}.attrs td{padding:9px 0;border-bottom:1px solid var(--line);font-weight:700;color:var(--navy)}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 10px}.fine{font-size:.8rem;color:var(--mut)}
/* compare */
.tscroll{overflow:auto;background:#fff;border-radius:var(--r);box-shadow:var(--sh)}.cmptable{border-collapse:collapse;min-width:600px;width:100%}.cmptable th,.cmptable td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.93rem}.cmptable thead th{background:#f7f9fb;position:sticky;top:0}.cmptable tbody th{color:var(--mut);font-weight:600;width:200px}.cmptable td.best{background:#e9f8f1;font-weight:800;color:var(--ok)}
.cmpbar{display:none;position:fixed;bottom:14px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 14px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.3);gap:10px;align-items:center;z-index:30;max-width:95vw}.cmpbar.on{display:flex}.cmpbar .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
/* forms */
.formpage{max-width:620px;margin:0 auto}.form{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:20px;display:flex;flex-direction:column;gap:12px}.form .chk{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:.9rem}.form .chk input{width:auto;margin-top:3px}
.thanks{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:32px;max-width:620px;margin:20px auto;text-align:center}
.prose{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:28px;max-width:760px;margin:0 auto}.prose h2{margin-top:1.2em}
/* footer */
.foot{background:#0b1f33;color:#b8c7d6;padding:32px 0 20px;font-size:.9rem}.foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.foot b{color:#fff;display:block;margin-bottom:6px}.foot a{color:#dbe6f1;display:block}.foot .cols div:first-child a{display:inline}.foot .fine{margin-top:24px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;font-size:.78rem;opacity:.8}
@media(max-width:700px){.foot .cols{grid-template-columns:1fr}}

.kv.hi.cost{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.kv.hi.cost b{font-size:1.25rem}.kv.hi.cost>div:first-child b{font-size:1.45rem}
.calc.inline{margin-top:16px}.calc.inline .btn{width:auto}.attrs.cost{margin-top:12px;background:#fff;border-radius:10px}.attrs.cost tr.tot td,.attrs.cost tr.tot th{color:var(--teal2);font-weight:800}

.sl{margin-bottom:10px}.sl label{display:flex;justify-content:space-between;align-items:baseline}.sl output{font-weight:800;color:var(--teal2)}.sl input[type=range]{width:100%;padding:0;margin:6px 0 4px;accent-color:var(--teal)}.sl input[type=number]{font-size:.85rem;padding:6px 10px}
.lock{display:inline-block;background:#fdf1dc;color:var(--warn);font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:999px}.kv.hi.cost i .lock{margin-left:4px}
[hidden]{display:none!important}
.stats .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0}.stats .tile{background:#f4f7fa;border-radius:12px;padding:14px}.stats .tile b{display:block;font-size:1.6rem;color:var(--navy)}.stats .tile span{font-size:.8rem;color:var(--mut)}
.chart{display:flex;align-items:flex-end;gap:3px;height:160px;background:#f4f7fa;border-radius:12px;padding:10px}.chart .bar{flex:1;position:relative;height:100%}.chart .bar i,.chart .bar em{position:absolute;bottom:0;left:0;right:0;border-radius:3px 3px 0 0}.chart .bar i{background:var(--navy);opacity:.85}.chart .bar em{background:var(--teal);width:60%;left:20%}
