:root{--bg:#12201a;--surface:#1a2921;--surface-border:#33493a;--text:#f1ede0;--text-muted:#9fb0a1;--accent:#e8c547;--accent-strong:#f5d766;--radius-sm:3px}*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{background:var(--bg);color:var(--text);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);margin:0;font-family:Zen Kaku Gothic New,Hiragino Sans,sans-serif;line-height:1.7}h1,h2,h3{margin:0 0 .6em;font-family:Shippori Mincho,serif;font-weight:600;line-height:1.4}a{color:var(--accent)}img{max-width:100%;display:block}.wrap{max-width:980px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--surface-border);padding:28px 0 24px}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.site-title{letter-spacing:.02em;margin:0;font-size:1.6rem}.site-title a{color:var(--text);text-decoration:none}.site-tagline{color:var(--text-muted);margin:0;font-size:.85rem}.filter-panel{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:28px 0 24px;padding:20px 24px;display:grid}.filter-group label.filter-label{color:var(--text-muted);margin-bottom:8px;font-size:.8rem;display:block}.filter-group select,.filter-group input[type=text]{background:var(--bg);border:1px solid var(--surface-border);width:100%;color:var(--text);border-radius:var(--radius-sm);padding:8px 10px;font-family:inherit;font-size:.95rem}.taste-checks{flex-wrap:wrap;gap:8px 14px;display:flex}.taste-checks label{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.result-meta{color:var(--text-muted);margin:0 0 14px;font-size:.85rem}.result-meta strong{color:var(--accent);font-weight:600}.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin:0 0 40px;padding:0;list-style:none;display:grid}.product-card{border:1px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s;overflow:hidden}.product-card:hover{border-color:var(--accent)}.product-card.is-hidden{display:none}.product-card a.card-link{color:inherit;text-decoration:none;display:block}.card-image{aspect-ratio:4/3;color:var(--text-muted);background:#0e1712;justify-content:center;align-items:center;font-size:.75rem;display:flex}.card-image img{object-fit:cover;width:100%;height:100%}.card-body{padding:14px 16px 16px}.card-maker{color:var(--text-muted);margin-bottom:4px;font-size:.75rem}.card-name{margin:0 0 8px;font-size:1.05rem}.card-tags{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag{color:var(--accent-strong);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:2px 8px;font-size:.72rem}.card-footer{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.rating{color:var(--accent);font-weight:600}.empty-state{border:1px dashed var(--surface-border);border-radius:var(--radius-sm);text-align:center;color:var(--text-muted);margin-bottom:40px;padding:40px 20px}.empty-state.is-hidden{display:none}.detail-hero{grid-template-columns:minmax(240px,360px) 1fr;gap:32px;margin:32px 0 40px;display:grid}@media (width<=640px){.detail-hero{grid-template-columns:1fr}}.detail-image{aspect-ratio:4/3;border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text-muted);background:#0e1712;justify-content:center;align-items:center;font-size:.8rem;display:flex;overflow:hidden}.detail-image img{object-fit:cover;width:100%;height:100%}.spec-table{border-collapse:collapse;width:100%;margin:18px 0;font-size:.92rem}.spec-table th,.spec-table td{text-align:left;border-bottom:1px solid var(--surface-border);padding:9px 4px}.spec-table th{width:40%;color:var(--text-muted);font-weight:500}.back-link{color:var(--text-muted);margin-bottom:20px;font-size:.85rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.article-body :is(h2,h3){margin-top:1.6em}.buy-button{background:var(--accent);color:#12200e;border-radius:var(--radius-sm);margin-top:12px;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-block}.buy-button:hover{background:var(--accent-strong)}.site-footer{border-top:1px solid var(--surface-border);color:var(--text-muted);margin-top:40px;padding:24px 0 60px;font-size:.8rem}
