:root{--bg:#0f172a;--card:#1e293b;--line:#334155;--text:#e2e8f0;--muted:#94a3b8;--green:#22c55e;--red:#ef4444;--amber:#f59e0b;--blue:#38bdf8}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.hidden{display:none!important}
.bar{position:sticky;top:0;z-index:5;display:flex;gap:.5rem;align-items:center;padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top));background:#020617;border-bottom:1px solid var(--line)}
.bar strong{flex:1}
main{padding:1rem;padding-bottom:6rem;max-width:640px;margin:0 auto}
h1{font-size:1.3rem;margin:.25rem 0 .75rem}
h2{font-size:1.15rem;margin:0 0 .5rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:.85rem}
.card.ok{border-color:var(--green)}
label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.6rem}
input,select{display:block;width:100%;margin-top:.3rem;padding:.8rem;font-size:1.05rem;color:var(--text);background:#0b1222;border:1px solid var(--line);border-radius:10px}
input:focus,select:focus{outline:2px solid var(--blue);border-color:transparent}
#vin{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;font-size:1.15rem;text-transform:uppercase}
fieldset{border:0;padding:0;margin:0 0 .6rem}
legend{font-size:.9rem;color:var(--muted);margin-bottom:.3rem}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.seg3{grid-template-columns:1fr 1fr 1fr}
.seg label{margin:0}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:block;text-align:center;padding:.85rem .3rem;border:1px solid var(--line);border-radius:10px;color:var(--text);font-weight:600;font-size:1rem}
.seg input:checked+span{background:var(--blue);color:#02131f;border-color:var(--blue)}
.seg input:focus-visible+span{outline:2px solid #fff}
#seg-result input[value=Pass]:checked+span{background:var(--green);border-color:var(--green)}
#seg-result input[value=Fail]:checked+span{background:var(--red);border-color:var(--red);color:#fff}
#seg-result input[value="Not Ready"]:checked+span{background:var(--amber);border-color:var(--amber)}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem}
.row2 input,.row2 select{min-width:0}
.row-tester{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.check{display:flex;gap:.5rem;align-items:center;color:var(--text)}
.check input{width:auto;margin:0}
.count{float:right;font-family:ui-monospace,monospace}
.count.bad{color:var(--amber)}
.hint{color:var(--muted);font-size:.88rem;margin:.2rem 0 .4rem}
.warn{color:var(--amber);font-size:.92rem;margin:.2rem 0 .5rem}
.err{color:var(--red);min-height:1.2em}
.msg{min-height:1.2em;color:var(--muted)}
.callout{border:1px solid var(--amber);background:#2a2110;border-radius:10px;padding:.75rem;margin:.4rem 0 .6rem}
.callout p{margin:.2rem 0 .5rem}
.price-line{display:flex;justify-content:space-between;font-size:1.1rem;margin-bottom:.5rem}
button{font:inherit;cursor:pointer}
.primary,.secondary{display:block;width:100%;padding:.9rem;border-radius:12px;font-weight:700;font-size:1.05rem;margin:.35rem 0}
.primary{background:var(--green);color:#052e12;border:0}
.primary:disabled{opacity:.5}
.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}
.big{padding:1.05rem;font-size:1.15rem}
.link{background:none;border:0;color:var(--blue);padding:.25rem}
.pill{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;background:#334155}
.pill.off{background:var(--red);color:#fff}
.tabs{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:#020617;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tabs button{background:none;border:0;color:var(--muted);padding:1rem .2rem;font-weight:600}
.tabs button.active{color:var(--green)}
.list{list-style:none;margin:0;padding:0}
.list li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.75rem;margin-bottom:.5rem}
.list .top{display:flex;justify-content:space-between;gap:.5rem;font-weight:600}
.list .vin{font-family:ui-monospace,monospace;font-size:.9rem;word-break:break-all}
.list .sub{color:var(--muted);font-size:.85rem}
.list-head{display:flex;justify-content:space-between;align-items:center}
.tag{display:inline-block;font-size:.72rem;padding:.05rem .4rem;border-radius:6px;background:#334155;margin-left:.3rem}
.tag.Pass{background:#14532d}.tag.Fail{background:#7f1d1d}.tag.amber{background:#78350f}
dialog{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;width:min(94vw,520px);padding:1rem}
dialog::backdrop{background:rgba(0,0,0,.6)}
dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem;margin:0 0 .6rem}
dt{color:var(--muted)}dd{margin:0;word-break:break-all}
code{background:#0b1222;padding:.15rem .35rem;border-radius:6px;word-break:break-all}
.muted{color:var(--muted)}
