:root{--paper: #F7F5EF;--ink: #172321;--green: #115A50;--green-d: #0B3F38;--orange: #E27A34;--orange-d: #B85F24;--line: #DDD8CB;--card: #FFFFFF;--muted: #5C665F}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:var(--green)}button,input,select,textarea{font:inherit;color:inherit}button{min-height:44px;min-width:44px;cursor:pointer}input,select,textarea{min-height:44px}img{max-width:100%}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--green);color:#fff;padding:16px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.sidebar .brand{display:block;background:var(--paper);border-radius:12px;padding:10px 12px;margin-bottom:12px}.sidebar .brand img{display:block;width:100%;height:auto}.mobile-brand{display:none}.sidebar a.nav{display:flex;align-items:center;min-height:44px;padding:8px 12px;color:#e7efea;text-decoration:none;border-radius:10px}.sidebar a.nav.active{background:#ffffff29;color:#fff;font-weight:700}.sidebar .side-foot{margin-top:auto;font-size:13px;color:#c9d8d1;padding:8px 12px}.main{flex:1;min-width:0;padding:20px 24px 40px;max-width:1080px;margin:0 auto;width:100%}.bottomnav{display:none}.mock-banner{background:#fdf0d5;border:1px solid #E8C87A;color:#6b4a00;border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:14px}.live-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;line-height:1;color:#c8102e;background:#fdecec;border:1px solid #F3B8C0;border-radius:999px;padding:6px 10px;vertical-align:middle;white-space:nowrap}.live-badge .live-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#e00;animation:live-pulse 1.6s ease-in-out infinite}.live-badge.offline{color:var(--muted);background:#efede6;border-color:var(--line)}.live-badge.offline .live-dot{background:#9aa09b;animation:none}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 #e0000073}50%{opacity:.55;box-shadow:0 0 0 5px #e0000000}}h1{font-size:26px;margin:0 0 8px}h2{font-size:20px;margin:24px 0 10px}h3{font-size:17px;margin:16px 0 8px}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:var(--ink);border:1px solid var(--orange);border-radius:10px;padding:10px 18px;font-weight:700;text-decoration:none}.btn:hover{background:var(--orange-d);border-color:var(--orange-d);color:#fff}.btn.secondary{background:#fff;color:var(--green);border-color:var(--green)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.danger{background:#8c2f1b;border-color:#8c2f1b}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.vehicle-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.vehicle-card .body{padding:12px 14px 14px}.vehicle-card h3{margin:0 0 4px}.vehicle-card h3 a{color:var(--ink);text-decoration:none}.vehicle-price{margin:8px 0 0;font-size:17px;font-weight:800;color:var(--green-d)}.vehicle-img{aspect-ratio:4 / 3;background:var(--green);overflow:hidden}.vehicle-img img{width:100%;height:100%;object-fit:cover;display:block}.vehicle-img.vehicle-placeholder{display:flex;align-items:center;justify-content:center;padding:14px;text-align:center}.vehicle-placeholder.ph-tone-0{background:linear-gradient(135deg,#115a50,#0b3f38 55%,#c96a2b)}.vehicle-placeholder.ph-tone-1{background:linear-gradient(120deg,#0b3f38,#115a50 45%,#e27a34)}.vehicle-placeholder.ph-tone-2{background:linear-gradient(150deg,#115a50,#1b6b5e 40%,#b85f24)}.vehicle-placeholder .ph-text{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.vehicle-placeholder .ph-name{font-size:clamp(18px,5vw,24px);font-weight:800;line-height:1.25;color:#f6f2ec;text-shadow:0 1px 3px rgba(0,0,0,.35);overflow-wrap:anywhere;word-break:break-word}.vehicle-placeholder .ph-sub{font-size:14px;font-weight:600;line-height:1.3;color:#f6f2ece0;overflow-wrap:anywhere;word-break:break-word}.vehicle-placeholder .ph-note{margin-top:6px;font-size:12px;line-height:1.3;color:#f6f2eca6}.img-credit{margin-top:6px}.badge{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;margin:2px 4px 2px 0;background:#e7efea;color:var(--green-d);border:1px solid #BFD8CC}.badge.warn{background:#fbefe3;color:#7a3e12;border-color:#e8c9a8}.badge.demo{background:#fff3cd;color:#6b4a00;border-color:#e8c87a}.badge.grey{background:#efede6;color:var(--muted);border-color:var(--line)}.field{margin-bottom:14px}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.field .hint{font-size:13px;color:var(--muted);margin-top:4px}.form{max-width:560px}.error{background:#fbe9e4;border:1px solid #E5A99A;color:#7a2415;border-radius:10px;padding:10px 14px;margin-bottom:12px}.success{background:#e3efea;border:1px solid #9CC3B6;color:var(--green-d);border-radius:10px;padding:10px 14px;margin-bottom:12px}.notice{background:#fbefe3;border:1px solid #E8C9A8;color:#6b3a10;border-radius:10px;padding:10px 14px;margin-bottom:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;align-items:center}.chip{border:1px solid var(--green);background:#fff;color:var(--green);border-radius:999px;padding:8px 16px;font-weight:600}.chip.active{background:var(--green);color:#fff}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin:16px 0;overflow-x:auto}.tabs button{background:none;border:none;border-bottom:3px solid transparent;padding:10px 14px;font-weight:600;color:var(--muted);border-radius:0}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}table.specs{width:100%;border-collapse:collapse}table.specs th,table.specs td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.specs th{width:42%;font-weight:600}.list-row{display:flex;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}.list-row .grow{flex:1;min-width:0}.empty{text-align:center;padding:36px 16px;color:var(--muted)}.empty .big{font-size:40px;margin-bottom:8px}.view-toggle{margin-left:auto}.topbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.topbar input[type=search]{flex:1;min-width:180px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.search-row{display:flex;gap:8px}.search-row input{flex:1}.lookup-page .search-box{position:relative;display:flex;align-items:center}.lookup-page .search-box input[type=search]{flex:1;min-width:0;min-height:52px;border:1px solid var(--line);border-radius:999px;padding:10px 60px 10px 18px;background:#fff}.lookup-page .search-box input[type=search]:focus{outline:2px solid var(--green);outline-offset:2px;border-color:var(--green)}.mic-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);font-size:20px;display:inline-flex;align-items:center;justify-content:center}.mic-btn:hover{border-color:var(--green)}.mic-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.mic-btn.listening{background:#c8102e;border-color:#c8102e;color:#fff;animation:mic-pulse 1.4s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 #c8102e73}50%{box-shadow:0 0 0 7px #c8102e00}}.listening-hint{color:#c8102e;font-weight:600;margin-top:8px}.voice-msg{margin-top:8px}.lookup-page .filters select,.lookup-page .filters input{border-radius:999px}.lookup-page .filters select:focus,.lookup-page .filters input:focus{outline:2px solid var(--green);outline-offset:2px;border-color:var(--green)}@media(prefers-reduced-motion:reduce){.live-badge .live-dot,.mic-btn.listening{animation:none}}@media(max-width:760px){.sidebar{display:none}.mobile-brand{display:block;background:var(--paper);margin:-16px -16px 12px;padding:10px 16px 4px}.mobile-brand img{display:block;width:176px;height:auto}.main{padding:16px 16px 96px}.bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}.bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;font-size:11px;color:var(--muted);text-decoration:none;gap:2px}.bottomnav a.active{color:var(--green);font-weight:700}.bottomnav .ico{font-size:20px;line-height:1}h1{font-size:22px}}.gallery-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:2px}.compare-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff;max-width:100%}.compare-table{border-collapse:separate;border-spacing:0;min-width:640px;width:100%}.compare-table th,.compare-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;min-width:180px}.compare-table thead th{position:sticky;top:0;z-index:3;background:#efede6;font-weight:600}.compare-table th.compare-rowhead{position:sticky;left:0;z-index:2;background:#fff;min-width:150px;font-weight:600}.compare-table thead th.compare-rowhead{z-index:4;background:#efede6}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:none}.compare-section-row th{background:#e7efea;color:var(--green-d);font-weight:800;position:sticky;left:0}.compare-colhead{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.compare-remove{padding:6px 10px;min-height:36px;font-size:13px}.compare-empty{color:var(--muted);font-style:italic}.compare-warn{display:block;margin-top:4px;font-size:12px;font-weight:600;color:#7a3e12}.compare-source{display:block;margin-top:6px;font-size:12px;color:var(--muted)}.compare-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}.compare-toggle input{min-height:0;min-width:0;width:18px;height:18px;accent-color:var(--green)}.compare-tray{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -2px 12px #0000001f}.compare-tray-inner{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.compare-tray-picks{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.compare-pick{display:inline-flex;align-items:center;gap:6px;background:#e7efea;color:var(--green-d);border:1px solid #BFD8CC;border-radius:999px;padding:4px 6px 4px 12px;font-size:13px;font-weight:600}.compare-pick button{min-width:28px;min-height:28px;padding:0;border-radius:50%;border:none;background:#fff;color:var(--green-d);font-size:16px;line-height:1}@media(max-width:760px){.compare-tray{bottom:56px}.compare-table th,.compare-table td{min-width:160px}.compare-table th.compare-rowhead{min-width:120px}}.gallery-thumb{flex:0 0 auto;width:96px;padding:0;border:2px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;overflow:hidden}.gallery-thumb img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.gallery-thumb span{display:block;font-size:11px;font-weight:700;color:var(--muted);padding:3px 4px;white-space:nowrap}.gallery-thumb.active{border-color:var(--green)}.gallery-thumb.active span{color:var(--green-d)}
