:root{--bg:#0f1220;--card:#181c2e;--text:#e9ebf5;--muted:#9aa0b8;--accent:#f2b84b;--line:#2a2f47;--sale:#e5484d}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;line-height:1.7}
a{color:var(--accent)}header,main,footer{max-width:960px;margin:0 auto;padding:0 16px}
header{padding-top:16px;border-bottom:1px solid var(--line)}header .logo{font-size:1.3rem;font-weight:700;color:var(--text);text-decoration:none}
nav{display:flex;gap:14px;flex-wrap:wrap;padding:8px 0;font-size:.9rem}nav a{color:var(--muted);text-decoration:none}
.pr{font-size:.75rem;color:var(--muted);margin:8px 0}h1{font-size:1.35rem;margin:20px 0 6px}h2{font-size:1.1rem;margin:28px 0 8px;border-left:4px solid var(--accent);padding-left:8px}
.lead{color:var(--muted);font-size:.92rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:auto;display:block;background:#000}.card .b{padding:10px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.rk{font-weight:700;color:var(--accent)}.t{font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.m{font-size:.8rem;color:var(--muted)}.m a{color:var(--muted)}.sale{color:#fff;background:var(--sale);border-radius:4px;padding:0 6px;font-size:.75rem;margin-right:4px}
.btn{margin-top:auto;display:block;text-align:center;background:var(--accent);color:#1a1a1a;font-weight:700;text-decoration:none;border-radius:6px;padding:8px}
.names{columns:3 160px;font-size:.9rem}.names a{text-decoration:none}footer{border-top:1px solid var(--line);margin-top:40px;padding:20px 16px;font-size:.8rem;color:var(--muted)}
#age{position:fixed;inset:0;background:rgba(5,6,12,.96);display:none;align-items:center;justify-content:center;z-index:9;padding:16px}
#age div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;max-width:420px;text-align:center}
#age button{font-size:1rem;margin:8px;padding:10px 18px;border-radius:8px;border:0;cursor:pointer}
