:root{--bg: #0f1115;--panel: #181b22;--panel-2: #20242d;--border: #2a2f3a;--text: #e7eaf0;--muted: #9aa3b2;--accent: #3ddc97;--accent-2: #2bb37a;--danger: #ff6b6b;--radius: 12px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 600px at 50% -10%,#1a2030,var(--bg));color:var(--text);min-height:100vh}.app{max-width:1000px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.hero{text-align:center;margin-bottom:2rem}.hero h1{font-size:clamp(2.2rem,6vw,3.4rem);margin:0 0 .5rem;font-weight:800;letter-spacing:-.02em}.accent{color:var(--accent)}.subtitle{color:var(--muted);max-width:580px;margin:0 auto;line-height:1.5}.search{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 20px 50px -30px #000c}.row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.field{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:180px}.field.grow{flex:2}.field>span,.checkbox>span{font-size:.85rem;color:var(--muted)}input[type=text],input:not([type]),input[inputmode=numeric],select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:.7rem .8rem;border-radius:8px;font-size:1rem;outline:none}input:focus,select:focus{border-color:var(--accent)}input[type=range]{accent-color:var(--accent);width:100%}.checkbox{display:flex;align-items:center;gap:.5rem;padding-bottom:.7rem;white-space:nowrap}.checkbox input{width:18px;height:18px;accent-color:var(--accent)}button[type=submit]{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#06281c;border:none;padding:.85rem 1.2rem;font-size:1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:transform .05s ease,filter .15s ease}button[type=submit]:hover:not(:disabled){filter:brightness(1.05)}button[type=submit]:active:not(:disabled){transform:translateY(1px)}button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.error{margin-top:1.5rem;background:#ff6b6b1a;border:1px solid var(--danger);color:#ffc9c9;padding:1rem;border-radius:8px}.empty{margin-top:2.5rem;text-align:center;color:var(--muted)}.results{margin-top:2rem}.results-meta{color:var(--muted);margin:0 0 .75rem}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.92rem}thead th{text-align:left;background:var(--panel-2);color:var(--muted);font-weight:600;padding:.75rem .9rem;border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:.75rem .9rem;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr.unavailable{opacity:.6}.num{text-align:right;white-space:nowrap}.store-name{font-weight:600}.store-addr{color:var(--muted);font-size:.82rem}.article-link{display:inline-block;margin-top:.35rem;font-size:.8rem;color:var(--accent);text-decoration:none}.article-link:hover{text-decoration:underline}.muted{color:var(--muted);font-size:.85rem}.badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.badge.ok{background:#3ddc9726;color:var(--accent)}.badge.no{background:#ff6b6b1f;color:var(--danger)}.footer{margin-top:3rem;text-align:center;color:var(--muted);font-size:.82rem}.brand{text-decoration:none;color:inherit;display:inline-block}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin-top:1rem}.product-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.product-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 24px 50px -30px #000000e6}.card-media{aspect-ratio:4 / 3;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover}.card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:linear-gradient(135deg,#eef2f7,#d7e2ee);color:#9fb3c8}.card-body{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.card-body h2{font-size:1.05rem;margin:0;line-height:1.3}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.price{font-weight:700}.card-sub{font-size:.8rem;color:var(--muted)}.back{display:inline-block;margin-bottom:1.25rem;color:var(--muted);text-decoration:none;font-size:.9rem}.back:hover{color:var(--accent)}.detail-head{display:flex;gap:1.25rem;align-items:center;margin-bottom:1rem}.detail-media{width:120px;height:120px;flex:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-media img{width:100%;height:100%;object-fit:cover}.detail-head h2{margin:0 0 .25rem;font-size:1.6rem}.section-title{font-size:1.1rem;margin:2rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.chart{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.chart-range{display:flex;gap:.5rem;margin-bottom:.75rem}.chart-range button{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:.35rem .7rem;border-radius:999px;font-size:.8rem;cursor:pointer}.chart-range button.active{background:#3ddc9726;border-color:var(--accent);color:var(--accent)}.chart-empty{height:220px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:1rem}.geo-row{align-items:center}.geo-btn{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#06281c;border:none;padding:.7rem 1.1rem;font-weight:700;border-radius:8px;cursor:pointer;white-space:nowrap}.geo-btn:hover:not(:disabled){filter:brightness(1.05)}.geo-btn:disabled{opacity:.5;cursor:not-allowed}.geo-status{color:var(--muted);font-size:.88rem}.geo-status.ok{color:var(--accent)}.geo-status.denied,.geo-status.unsupported{color:var(--danger)}button.plz-submit{background:var(--panel-2);color:var(--text);border:1px solid var(--border);padding:.7rem 1.1rem;font-weight:600;border-radius:8px;cursor:pointer;align-self:flex-end}button.plz-submit:hover:not(:disabled){border-color:var(--accent)}button.plz-submit:disabled{opacity:.5;cursor:not-allowed}
