
:root{--bg:#0c0e13;--card:#161a22;--tx:#e9ecf2;--dim:#98a0ad;--pink:#ff4d6d;
--gold:#ffc93c;--cyan:#4ecdc4;--line:#242a35}
*{margin:0;box-sizing:border-box}
body{background:var(--bg);color:var(--tx);font-family:"Hiragino Sans",sans-serif;line-height:1.75}
.wrap{max-width:900px;margin:0 auto;padding:0 14px 60px}
header.site{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:16px}
.logo{font-weight:800;font-size:20px;letter-spacing:.05em;text-decoration:none;color:var(--tx)}
.logo b{color:var(--pink)}
.logo small{color:var(--dim);font-weight:400;font-size:12px;margin-left:10px;white-space:nowrap}
@media(max-width:600px){.logo{display:block}.logo small{display:block;margin:2px 0 0;font-size:11px}}
nav.top{margin-top:8px;display:flex;gap:14px;flex-wrap:wrap}
nav.top a{color:var(--dim);text-decoration:none;font-size:13px;font-weight:700}
nav.top a:hover{color:var(--pink)}
h1{font-size:25px;line-height:1.4;margin:10px 0 6px}h1 b{color:var(--pink)}
.sub{color:#c3c9d4;font-size:14px;margin-bottom:14px}
h2.sec{font-size:17px;margin:30px 0 10px;padding-left:10px;border-left:3px solid var(--pink)}
h2.sec small{color:var(--dim);font-weight:400;font-size:12px;margin-left:8px}
.box{background:var(--card);border-radius:12px;padding:15px;margin:14px 0;font-size:13.5px}
.box h2{font-size:15px;color:var(--cyan);margin-bottom:8px}
.box a,.sub a{color:var(--cyan);text-decoration:none;border-bottom:1px solid #274a48}
.note{color:var(--dim);font-size:12px;margin-top:8px}
.sbox{width:100%;padding:14px 16px;font-size:16px;border-radius:11px;
border:1px solid var(--line);background:var(--card);color:var(--tx);margin:4px 0 10px}
.sbox:focus{outline:none;border-color:var(--pink)}
/* 作家カード：数字を主役にする */
.au{display:flex;gap:12px;align-items:center;background:var(--card);border-radius:12px;
padding:12px 14px;margin:9px 0;text-decoration:none;color:inherit;border:1px solid transparent}
.au:hover{border-color:var(--pink)}
.au .rk{width:34px;text-align:center;font-size:19px;font-weight:800;color:var(--dim);flex:0 0 34px}
.au .nm{flex:1;min-width:0}
.au .nm b{font-size:15px}
.au .nm .mt{font-size:12px;color:var(--dim);margin-top:2px}
.au .sc{text-align:right;flex:0 0 84px}
.au .sc b{font-size:20px;color:var(--gold)}
.au .sc small{display:block;font-size:11px;color:var(--dim)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:12px 0}
.cd{background:var(--card);border-radius:11px;overflow:hidden;text-decoration:none;color:inherit;
display:flex;flex-direction:column;border:1px solid transparent}
.cd:hover{border-color:var(--pink)}
.cd .th{position:relative;aspect-ratio:3/4;background:#090b0f}
.cd .th img{width:100%;height:100%;object-fit:contain;display:block}
.cd .off{position:absolute;left:0;top:0;background:var(--pink);color:#fff;font-size:11px;
font-weight:800;padding:2px 7px;border-radius:0 0 8px 0}
.cd .bd{padding:8px 9px 10px;flex:1;display:flex;flex-direction:column;gap:4px}
.cd .ti{font-size:12.5px;font-weight:700;line-height:1.45;display:-webkit-box;
-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cd .mk{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cd .rv{font-size:11px;color:var(--dim)}
.cd .pz{margin-top:auto;font-size:12px;color:var(--gold);font-weight:800}
.cd .pz s{color:#6b7280;font-weight:400;margin-left:5px;font-size:11px}
/* ランダム表示 */
.rnd{background:var(--card);border-radius:12px;padding:14px;margin:10px 0}
.rnd .rh{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px}
.rnd .rh b{font-size:17px}
.rnd .rh span{font-size:12px;color:var(--dim)}
#rnd{width:100%;padding:14px;font-size:15px;font-weight:800;border-radius:11px;
border:1px solid var(--line);background:var(--card);color:var(--tx);cursor:pointer}
#rnd:hover{border-color:var(--pink);color:var(--pink)}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.chip{background:var(--card);border:1px solid var(--line);color:var(--tx);text-decoration:none;
font-size:13px;font-weight:700;padding:6px 12px;border-radius:99px}
.chip:hover{border-color:var(--pink);color:var(--pink)}
.chip i{font-style:normal;color:var(--dim);font-weight:400;font-size:11px;margin-left:5px}
.tt{display:inline-block;background:#1e2530;color:#c3c9d4;font-size:11px;padding:2px 9px;
border-radius:99px;margin:0 5px 5px 0;text-decoration:none}
.spec{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}
.spec th,.spec td{border-bottom:1px solid var(--line);padding:7px 4px;text-align:left;vertical-align:top}
.spec th{color:var(--dim);font-weight:600;width:32%;white-space:nowrap}
.hero{display:flex;gap:14px;margin:12px 0}
.hero img{width:200px;border-radius:10px;flex:0 0 200px;align-self:flex-start}
@media(max-width:760px){.hero{flex-direction:column}.hero img{width:100%;max-width:300px;flex:none}}
.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:10px 0}
.shots img{width:100%;border-radius:8px;display:block}
.cta{display:block;text-align:center;background:linear-gradient(135deg,var(--pink),#ff7f95);
color:#fff;font-weight:800;font-size:17px;padding:16px;border-radius:12px;text-decoration:none;margin:14px 0 6px}
.pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:22px 0}
.pager a,.pager span{background:var(--card);color:var(--dim);text-decoration:none;padding:8px 14px;
border-radius:9px;font-weight:700;font-size:13px;border:1px solid var(--line)}
.pager .on{background:var(--pink);color:#fff;border-color:var(--pink)}
.crumb{font-size:12px;color:var(--dim);margin:2px 0 6px}
.crumb a{color:var(--dim);text-decoration:none}
footer{color:#5a626e;font-size:11px;margin-top:34px;line-height:1.7;border-top:1px solid var(--line);padding-top:16px}
footer a{color:#7f8794}
