:root{ --bg:#0b0c10; --fg:#eaf1f5; --muted:#9bb0bd; --card:#12151a; --border:#1d2330; --accent:#8bd3ff; --accent2:#ffd18b; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Noto Sans JP,sans-serif}
.container{max-width:1080px;margin:0 auto;padding:16px}
.flex{display:flex}.between{justify-content:space-between}.center{align-items:center}.wrap{flex-wrap:wrap}
.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(11,12,16,.8);backdrop-filter:saturate(180%) blur(8px);z-index:10}
.logo{font-weight:700;color:var(--fg);text-decoration:none}
.nav a{color:var(--fg);opacity:.85;margin-left:12px;text-decoration:none}
.nav a:hover{opacity:1}
.small{font-size:12px}.muted{color:var(--muted)}.b{font-weight:600}.tag{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:2px 8px;margin-right:6px}
.grid{display:grid;gap:12px}
.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;display:block;transition:transform .12s ease, box-shadow .12s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.25)}
.card img{width:100%;height:180px;object-fit:cover;background:#111}
.p-12{padding:12px}.p-16{padding:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mt-16{margin-top:16px}
.hero{display:grid;grid-template-columns:280px 1fr;gap:16px;margin:16px 0}
.hero img{width:100%;height:280px;object-fit:cover;border:1px solid var(--border);border-radius:14px;background:#111}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;background:var(--accent);color:#001018;text-decoration:none;font-weight:700;margin:6px 8px 0 0}
.btn.secondary{background:var(--accent2);color:#2a1600}
.kv{font-size:14px;color:var(--muted)}
.filters{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}
.filters input,.filters select,.filters button{padding:8px;border-radius:10px;border:1px solid var(--border);background:#0e1117;color:#fff}
footer{border-top:1px solid var(--border);margin-top:40px}
@media (max-width:720px){.hero{grid-template-columns:1fr}.card img{height:160px}}