:root{--bg:#FBF5F3;--surface:#fff;--surface-2:#F4EAE8;--border:#EBDBD9;--ink:#1D1116;--muted:#8C777D;--accent:#E11D5B;--accent-ink:#fff;--rise:#D4145A;--fall:#8f8890;--sale:#B9720A;--star:#C9930A;--gold:#C99700;--silver:#8E9099;--bronze:#B06A3B;--radius:16px;--maxw:1120px;--font-body:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Meiryo","Noto Sans JP",sans-serif;--font-mono:ui-monospace,"Consolas","Menlo",monospace}
@media (prefers-color-scheme:dark){:root{--bg:#100A0D;--surface:#1A1014;--surface-2:#241620;--border:#39242E;--ink:#F7ECEF;--muted:#AD929B;--accent:#FF3D6E;--accent-ink:#1A0A10;--rise:#FF5C84;--fall:#7C737F;--sale:#F5A623;--star:#FFC24B;--gold:#E7C15A;--silver:#B7BAC4;--bronze:#CF8A5A}}
*{box-sizing:border-box}body{margin:0}
.page{background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.62;min-height:100vh;padding:0 20px 72px}
.wrap{max-width:var(--maxw);margin:0 auto}a{color:inherit}
.top{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:26px 0 16px;border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:baseline;gap:10px}.brand a{text-decoration:none}
.brand .logo{font-size:clamp(24px,4vw,37px);letter-spacing:.03em;font-weight:900;color:var(--ink)}.brand .heat{color:var(--accent)}
.brand .adult{font-size:11px;font-weight:800;border:1.5px solid var(--accent);color:var(--accent);border-radius:999px;padding:2px 8px;transform:translateY(-3px)}
.tagline{color:var(--muted);font-size:13.5px;max-width:52ch;margin:7px 0 0}
.stamp{text-align:right;font-size:12.5px;color:var(--muted);font-family:var(--font-mono);line-height:1.7}
.stamp .live{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:800}
.stamp .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{from{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 9px transparent}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 4px}
.tab{font-size:13.5px;font-weight:800;padding:8px 15px;border-radius:999px;color:var(--muted);text-decoration:none;border:1px solid transparent}
.tab:hover{color:var(--ink);background:var(--surface-2);border-color:var(--border)}
.pageh1{font-size:clamp(20px,3.4vw,28px);margin:20px 0 6px;text-wrap:balance}
.leaddesc{color:var(--muted);font-size:14px;margin:0 0 14px;max-width:70ch}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 4px}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 16px}
.stat .v{font-size:24px;font-weight:900;font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.stat .v.accent{color:var(--accent)}.stat .k{font-size:12px;color:var(--muted);margin-top:2px}
.section-label{display:flex;align-items:center;gap:12px;margin:34px 0 12px;font-size:17px;font-weight:900}
.section-label .en{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}
.section-label::after{content:"";flex:1;height:1px;background:var(--border)}
.hero-note{border:1px dashed var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-radius:14px;padding:15px 18px;margin:8px 0 4px;font-size:14px}.hero-note b{color:var(--accent)}
.board{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.03)}
.row{display:grid;grid-template-columns:50px 58px 1fr auto;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);transition:background .12s}
.row:first-child{border-top:0}.row:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.rank{text-align:center;font-family:var(--font-mono)}
.rank .n{font-size:23px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;color:var(--muted)}
.rank.rank-1 .n{color:var(--gold)}.rank.rank-2 .n{color:var(--silver)}.rank.rank-3 .n{color:var(--bronze)}
.delta{font-size:11px;font-weight:800;margin-top:3px;font-family:var(--font-mono)}.delta.up{color:var(--rise)}.delta.down{color:var(--fall)}.delta.flat{color:var(--muted)}
.rthumb{display:block;text-decoration:none}
.work{min-width:0}.work .ttl{font-weight:700;font-size:15px;line-height:1.4}.work .ttl a{color:var(--ink);text-decoration:none}.work .ttl a:hover{color:var(--accent);text-decoration:underline}
.work .meta{color:var(--muted);font-size:12.5px;margin-top:3px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.work .meta .mk{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}
.floorbadge{border:1px solid var(--border);border-radius:6px;padding:0 6px;font-size:11px}
.minichips{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.minichip{font-size:11px;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 8px;text-decoration:none}.minichip::before{content:"#";color:var(--accent);opacity:.8}
a.minichip:hover{color:var(--accent);border:0}
.rowbuy{text-align:right;display:grid;gap:5px;justify-items:end}
.price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.price .now{font-size:16px;font-weight:800}.price.big .now{font-size:27px}
.price .was{font-size:12.5px;color:var(--muted);text-decoration:line-through}
.price .off{font-size:11px;font-weight:800;color:#fff;background:var(--sale);padding:1px 6px;border-radius:5px}
.rev{font-size:12px;color:var(--muted);font-family:var(--font-mono)}.rev .star{color:var(--star)}.rev .cnt{opacity:.7;margin-left:3px}.rev.muted{opacity:.6}
.mini-cta{font-size:12px;font-weight:800;color:var(--accent);border:1.5px solid var(--accent);border-radius:8px;padding:5px 13px;text-decoration:none;white-space:nowrap}
.mini-cta:hover{background:var(--accent);color:var(--accent-ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 14px}
.chip{font-size:12px;background:var(--surface-2);border:1px solid var(--border);padding:3px 11px;border-radius:999px;text-decoration:none}.chip.tag::before{content:"#";color:var(--accent);font-weight:700;margin-right:2px}
a.chip:hover{border-color:var(--accent);color:var(--accent)}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 8px}
.tagcloud a{font-size:13px;background:var(--surface);border:1px solid var(--border);padding:6px 13px;border-radius:999px;text-decoration:none;font-weight:700}
.tagcloud a::before{content:"#";color:var(--accent);margin-right:2px}
.tagcloud a:hover{border-color:var(--accent);color:var(--accent)}
.cover{aspect-ratio:3/4;border-radius:12px;position:relative;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--surface-2)) 0 10px,var(--surface-2) 10px 20px);border:1px solid var(--border);overflow:hidden;display:grid;place-items:center}
.cover.mini{border-radius:8px}
.cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:filter .25s}
.nsfw .cover img{filter:blur(16px)}
.cover .ph{font-size:10px;color:var(--muted);letter-spacing:.12em;font-family:var(--font-mono)}.cover:not(.noimg) .ph{display:none}
.cover .agechip{position:absolute;top:6px;right:6px;z-index:2;font-size:9px;font-weight:800;background:var(--accent);color:var(--accent-ink);padding:1px 5px;border-radius:5px}
.cover .reveal{display:none}
.nsfw .cover .reveal{display:grid;position:absolute;inset:0;z-index:3;place-items:center;text-align:center;line-height:1.15;font-size:11px;font-weight:800;color:#fff;letter-spacing:.04em;background:color-mix(in srgb,#000 18%,transparent);cursor:pointer}
.nsfw .cover.mini .reveal small{display:none}
.cover .reveal small{font-size:9px;opacity:.85;font-weight:600}
.agebanner{display:none}
.nsfw .agebanner{display:flex;align-items:center;justify-content:center;gap:10px 16px;flex-wrap:wrap;position:sticky;top:0;z-index:60;background:var(--accent);color:var(--accent-ink);padding:10px 16px;font-size:13.5px;font-weight:700}
.agebanner .abbtns{display:flex;gap:12px;align-items:center}
.agebanner button{background:var(--accent-ink);color:var(--accent);border:0;font-weight:800;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px}
.agebanner button:hover{filter:brightness(.95)}
.agebanner .no{color:var(--accent-ink);opacity:.9;text-decoration:underline;font-size:12px}
.screen-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.detail{display:grid;grid-template-columns:250px 1fr;gap:28px;padding:26px}
.crumb{font-size:12.5px;color:var(--muted);margin:18px 0 6px;line-height:1.5}.crumb a{color:var(--accent);text-decoration:none}
.worktitle{margin:0 0 5px;font-size:clamp(20px,3vw,28px);line-height:1.28;text-wrap:balance}
.byline{color:var(--muted);font-size:14px;margin-bottom:4px}.byline b{color:var(--ink)}.byline a{color:var(--accent);text-decoration:none}
.kv{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;margin:16px 0;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}
.buybox{border:1px solid var(--border);border-radius:14px;padding:18px;background:var(--bg);margin-top:10px}
.countdown{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--sale);font-family:var(--font-mono);margin-bottom:12px}
.buyrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.sale-badge{font-size:12px;font-weight:800;color:#fff;background:var(--sale);padding:3px 9px;border-radius:6px}
.cta{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:15px;padding:12px 20px;border-radius:11px;text-decoration:none;margin-bottom:9px;transition:filter .12s,transform .12s}
.cta:hover{filter:brightness(1.06);transform:translateY(-1px)}
.cta.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--border)}.cta.ghost:hover{border-color:var(--accent);color:var(--accent)}
.afnote{font-size:11px;color:var(--muted);margin:8px 0 0}
.desc{border-top:1px solid var(--border);padding:20px 26px}.desc h2{margin:0 0 8px;font-size:15px}.desc p{margin:0;font-size:14px;line-height:1.9}
.rel-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.relcard{text-decoration:none;color:inherit;display:block}
.relcard .rt{display:block;font-size:11.5px;margin-top:6px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.relcard .rp{display:block;font-size:11px;color:var(--accent);font-weight:800;font-family:var(--font-mono)}
.relcard:hover .rt{color:var(--accent)}
.backlink{margin:22px 0}.backlink a{color:var(--accent);text-decoration:none;font-weight:700}
.foot{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);display:grid;gap:5px}.foot .credit{font-family:var(--font-mono)}.foot a{color:inherit;text-decoration:underline}.footlinks{line-height:1.9}
.doc{max-width:70ch}.doc h2{font-size:16px;margin:24px 0 8px}.doc p,.doc li{font-size:14px;line-height:1.9;color:var(--ink)}.doc ul{padding-left:1.2em;margin:6px 0}.doc .upd{color:var(--muted);font-size:12px;margin-bottom:18px}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}.detail{grid-template-columns:1fr}.detail .cover{max-width:210px}.row{grid-template-columns:38px 46px 1fr;gap:11px}.rowbuy{grid-column:2/-1;justify-items:start;text-align:left;margin-top:7px}.price{justify-content:flex-start}.rel-grid{grid-template-columns:repeat(3,1fr)}}
