:root{--y:#FFC200;--t:#2F2F2F;--g:#989D9F;--b:#BDC1C4;--box:#E9F1F8;--ok:#2BB733;--no:#CC0001}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.45 Roboto,"Segoe UI",system-ui,-apple-system,sans-serif;background:#f5f6f7;color:var(--t);overflow-x:hidden}
a{color:inherit}img{max-width:100%}
.bar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--y);display:flex;align-items:center;gap:8px;padding:0 8px;z-index:20;box-shadow:0 2px 4px #0002}
.bar .ib{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;padding:0;cursor:pointer;color:var(--t)}
.bar .logo{flex:1;display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:18px}
.bar .logo img{width:36px;height:36px;background:#fff;border-radius:8px}
main{padding:68px 12px 24px;max-width:720px;margin:0 auto}
#drawer{position:fixed;inset:0;z-index:30;visibility:hidden}#drawer.open{visibility:visible}
#drawer .sh{position:absolute;inset:0;background:#0006;opacity:0;transition:.2s}#drawer.open .sh{opacity:1}
#drawer nav{position:absolute;top:0;bottom:0;left:0;width:280px;max-width:85vw;background:#fff;transform:translateX(-100%);transition:.2s;overflow-y:auto}
#drawer.open nav{transform:none}
#drawer .hd{background:var(--y);padding:20px 16px;font-weight:700}#drawer .hd small{display:block;font-weight:400}
#drawer nav a{display:block;padding:14px 18px;text-decoration:none;border-bottom:1px solid #eee;font-size:16px}
.card{background:#fff;border:1px solid var(--b);border-radius:10px;padding:12px;margin-bottom:12px}
a.card{display:block;text-decoration:none}
.box{background:var(--box);border-radius:8px;padding:10px}
h1{font-size:20px;margin:4px 0 10px}h2{font-size:17px;margin:12px 0 6px}
.muted{color:var(--g);font-size:13px}.ok{color:var(--ok)}.err{color:var(--no)}.big{font-size:22px;font-weight:700}
.btn,button{background:var(--y);color:var(--t);border:0;border-radius:8px;min-height:44px;padding:10px 18px;font:600 15px/1.2 inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn.full,button.full{width:100%}.btn.line{background:#fff;border:1px solid var(--b)}.btn.dark{background:var(--t);color:var(--y)}
input,select,textarea{width:100%;min-height:44px;padding:10px;border:1px solid var(--b);border-radius:8px;font:inherit;background:#fff;color:var(--t)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0}
label{display:block;margin:10px 0 4px;font-weight:600}
.tag{display:inline-block;padding:2px 10px;border-radius:12px;background:var(--t);color:var(--y);font-size:12px}
.tag.ok{background:var(--ok);color:#fff}.tag.no{background:var(--no);color:#fff}
.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.sp{justify-content:space-between}
.tabs{display:flex;background:#fff;border:1px solid var(--b);border-radius:10px;overflow:hidden;margin-bottom:12px}
.tabs button{flex:1;border-radius:0;background:#fff}.tabs button.on{background:var(--y)}
.veh{display:flex;gap:10px}.veh img,.veh .ph{width:110px;height:84px;object-fit:cover;border-radius:8px;background:var(--box);flex:none}
.heart{background:none;min-height:44px;width:44px;padding:0;font-size:22px;color:var(--no)}
.gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:6px;border-radius:10px;margin-bottom:12px}
.gal img{flex:0 0 100%;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:center;background:var(--box);cursor:zoom-in}
#zoom{position:fixed;inset:0;background:#000;z-index:40;overflow:auto;display:none}#zoom.on{display:block}
#zoom img{width:100%;height:100%;object-fit:contain}#zoom.z img{width:200%;height:auto}
#zoom button{position:fixed;top:8px;right:8px}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:7px 4px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}
.kv th{color:var(--g);font-weight:400;width:42%}.r{text-align:right}
dialog{border:0;border-radius:12px;padding:16px;width:min(92vw,420px)}dialog::backdrop{background:#0006}
.steps{display:flex;gap:4px;margin-bottom:12px}.steps i{flex:1;height:5px;border-radius:3px;background:var(--b)}.steps i.on{background:var(--y)}
.opt{display:flex;flex-wrap:wrap;gap:8px}.opt label{flex:1 1 40%;margin:0;border:1px solid var(--b);border-radius:8px;padding:10px;font-weight:400;display:flex;gap:6px;align-items:center}
#splash{position:fixed;inset:0;background:#fff;z-index:50;display:grid;place-items:center;transition:opacity .3s}#splash img{width:160px}
#install{display:none}
