:root{--ink:#1b1f24;--muted:#5c6670;--line:#d9dee3;--bg:#f4f6f8;--card:#fff;--brand:#0f4c81;--brand2:#e8f0f7;--ok:#1e7f4f;--warn:#b7791f;--bad:#b42318;--ribbon:#ffd54a;--house:#6b21a8}
*{box-sizing:border-box}html{font-size:15px}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45}
a{color:var(--brand)}h1{font-size:1.5rem;margin:.2rem 0 .6rem}h2{font-size:1.15rem;margin:1.4rem 0 .5rem}h3{font-size:1rem;margin:1rem 0 .4rem}
.ribbon{background:var(--ribbon);color:#3b2f00;font-weight:600;font-size:.85rem;text-align:center;padding:.35rem 1rem;letter-spacing:.02em}
.ribbon span{font-weight:400;margin-left:.6rem}
nav.top{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.25rem;padding:.4rem 1rem;flex-wrap:wrap;position:sticky;top:0;z-index:20}
nav.top .wordmark{font-weight:800;letter-spacing:-.02em;font-size:1.15rem;color:var(--brand);margin-right:1rem;text-decoration:none}
nav.top .wordmark b{color:#111}
nav.top a.l{color:var(--ink);text-decoration:none;padding:.3rem .55rem;border-radius:4px;font-size:.88rem}
nav.top a.l:hover,nav.top a.l.on{background:var(--brand2);color:var(--brand)}
nav.top .sp{flex:1}nav.top .me{font-size:.82rem;color:var(--muted)}
main{max-width:1240px;margin:0 auto;padding:1.2rem 1rem 4rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1rem;margin-bottom:1rem}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.side{grid-template-columns:260px 1fr}.side-r{grid-template-columns:1fr 340px}
@media(max-width:900px){.g2,.g3,.g4,.side,.side-r{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;background:#fafbfc}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:3px;border:1px solid var(--line);background:#fff;color:var(--muted);white-space:nowrap}
.badge.new{border-color:#9ccfb0;color:var(--ok);background:#eefaf3}.badge.used{border-color:#e4c98a;color:var(--warn);background:#fff8e8}
.badge.ver{border-color:#9bbfe0;color:var(--brand);background:var(--brand2)}.badge.house{border-color:#c4a7e7;color:var(--house);background:#f5edff}
.badge.neg{border-color:#c9d3dc}.badge.fix{border-color:#c9d3dc}.badge.bad{border-color:#f0b4ad;color:var(--bad);background:#fff1f0}
.btn{display:inline-block;font:inherit;font-size:.88rem;font-weight:600;padding:.45rem .9rem;border-radius:4px;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;text-decoration:none}
.btn.sec{background:#fff;color:var(--brand)}.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.btn.danger{background:#fff;color:var(--bad);border-color:#f0b4ad}.btn.sm{padding:.25rem .6rem;font-size:.8rem}
input,select,textarea{font:inherit;font-size:.9rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:4px;width:100%;background:#fff}
label{display:block;font-size:.8rem;color:var(--muted);margin:.5rem 0 .2rem;font-weight:600}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.row>*{flex:1}.row.tight>*{flex:0 0 auto}
.muted{color:var(--muted)}.small{font-size:.82rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}
.kv{display:grid;grid-template-columns:160px 1fr;gap:.25rem .8rem;font-size:.9rem}.kv dt{color:var(--muted)}.kv dd{margin:0}
.price{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}
.stat{font-size:1.4rem;font-weight:700}.stat small{display:block;font-size:.75rem;color:var(--muted);font-weight:500}
.photo{background:repeating-linear-gradient(45deg,#e9edf1,#e9edf1 10px,#f3f5f7 10px,#f3f5f7 20px);border:1px solid var(--line);border-radius:4px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem}
.steps{display:flex;gap:4px;margin:.5rem 0}.steps div{flex:1;padding:.4rem .3rem;font-size:.72rem;text-align:center;background:#e9edf1;border-radius:3px;color:var(--muted)}
.steps div.done{background:#cfe7d8;color:var(--ok)}.steps div.cur{background:var(--brand);color:#fff;font-weight:600}
.msg{border:1px solid var(--line);border-radius:6px;padding:.6rem .8rem;margin:.5rem 0;max-width:70%;background:#fff}.msg.me{margin-left:auto;background:var(--brand2)}.msg.sys{max-width:100%;background:#fafbfc;color:var(--muted);font-size:.85rem;text-align:center;border-style:dashed}
.msg .who{font-size:.75rem;color:var(--muted);margin-bottom:.2rem}
.alert{border-left:4px solid var(--warn);background:#fff8e8;padding:.6rem .8rem;border-radius:4px;font-size:.88rem;margin:.6rem 0}.alert.bad{border-color:var(--bad);background:#fff1f0}.alert.ok{border-color:var(--ok);background:#eefaf3}.alert.info{border-color:var(--brand);background:var(--brand2)}
.notes-btn{position:fixed;right:1rem;bottom:1rem;z-index:30;background:#111;color:#fff;border:0;border-radius:20px;padding:.5rem .9rem;font:inherit;font-size:.85rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.notes{position:fixed;right:1rem;bottom:3.6rem;width:340px;max-height:60vh;overflow:auto;background:#fffbe6;border:1px solid #e6d58a;border-radius:6px;padding:.8rem 1rem;z-index:30;font-size:.86rem;box-shadow:0 4px 16px rgba(0,0,0,.2);display:none}
.notes.open{display:block}.notes h4{margin:0 0 .4rem;font-size:.9rem}.notes ul{padding-left:1.1rem;margin:.3rem 0}.notes li{margin:.25rem 0}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:1.5rem;background:#1e7f4f;color:#fff;padding:.6rem 1rem;border-radius:6px;font-size:.88rem;display:none;z-index:40}.toast.show{display:block}
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:.8rem}.tabs a{padding:.5rem .9rem;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent;font-size:.9rem}.tabs a.on{color:var(--brand);border-color:var(--brand);font-weight:600}
.switch{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem}.switch input{width:auto}
.hero{background:#fff;border:1px solid var(--line);border-radius:6px;padding:2rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center}
@media(max-width:900px){.hero{grid-template-columns:1fr}}
.search-big{display:flex;gap:.5rem}.search-big input{font-size:1.05rem;padding:.65rem .8rem}
ul.clean{list-style:none;padding:0;margin:0}ul.clean li{padding:.35rem 0;border-bottom:1px solid var(--line)}
.rating{color:#c48a00;letter-spacing:-1px}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
footer{text-align:center;color:var(--muted);font-size:.78rem;padding:2rem 1rem}
