:root{--bg:#14151a;--card:#1e2028;--line:#2e303c;--txt:#eee;--sub:#a7aabb;--acc:#e5487a;--acc2:#7a5af8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
a{color:#9db8ff}header,main,footer{max-width:1100px;margin:auto;padding:0 16px}
header{padding-top:20px}h1{font-size:22px;margin:0 0 4px}h1 a{color:var(--txt);text-decoration:none}
.note{color:var(--sub);font-size:13px;line-height:1.7}
nav{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:14px}
nav a{color:var(--sub);text-decoration:none}nav a:hover{color:var(--txt)}
.badge{display:inline-block;background:#3a2b12;color:#ffd479;border:1px solid #8a6d1f;border-radius:999px;padding:2px 10px;font-size:12px;margin-left:8px;vertical-align:middle}
.age{background:#2a1420;border:1px solid #7a2b47;border-radius:10px;padding:10px 14px;font-size:13px;margin:14px 0;line-height:1.7}
.bar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
input,select{background:var(--card);color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:14px}
input{flex:1;min-width:180px}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.tag{border:1px solid var(--line);background:var(--card);color:var(--sub);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer}
.tag.on{background:var(--acc);color:#fff;border-color:var(--acc)}
h2{font-size:17px;margin:24px 0 12px;border-left:4px solid var(--acc);padding-left:8px}
h2.mf{border-color:var(--acc2)}h2.art{border-color:#3f9d63}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.card.click{cursor:pointer}
.thumb{height:130px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;background:linear-gradient(135deg,#3b2b4f,#71304e);text-align:center;padding:8px}
.thumb.cg{background:linear-gradient(135deg,#1f3a5f,#274b73)}
.thumb.mf{background:linear-gradient(135deg,#2b2350,#3d2b6e)}
.body{padding:12px}.title{font-weight:700;font-size:15px;line-height:1.4;min-height:42px}
.meta{color:var(--sub);font-size:12px;margin-top:6px;line-height:1.7}
.price{color:#ffd479;font-weight:700;font-size:16px}
.chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
.chip{font-size:11px;background:#2a2c38;border-radius:999px;padding:2px 8px;color:var(--sub)}
.btn{display:block;text-align:center;margin-top:10px;background:var(--acc);color:#fff;text-decoration:none;border-radius:8px;padding:9px;font-size:14px}
.btn.mf{background:var(--acc2)}
.perm{font-size:11px;color:#8be09a;margin-top:8px}
dialog{background:var(--card);color:var(--txt);border:1px solid var(--line);border-radius:14px;max-width:520px;width:92%}
dialog::backdrop{background:rgba(0,0,0,.6)}
article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0;line-height:1.9;font-size:15px}
article h2{border:none;padding:0;margin-top:0}
footer{color:var(--sub);font-size:12px;line-height:1.8;padding-bottom:40px;margin-top:32px}
.empty{color:var(--sub);padding:20px 0}
