/* 夜更かしノベル帖:記事の部品(rv-)と配色。build_theme.py が review_template.html から生成。
   直接ここを直さず、テンプレートを直して作り直す。 */
/* ---------- tokens(配色・フォント) ---------- */
:root{
  --rv-bg:#f3efe6; --rv-surface:#fbf9f4; --rv-raised:#ffffff;
  --rv-ink:#16151a; --rv-ink-2:#4f4c57; --rv-ink-3:#6b6773;
  --rv-line:#e2dccf; --rv-line-2:#cdc5b4;
  --rv-accent:#4434c4; --rv-accent-ink:#ffffff; --rv-accent-soft:#e8e5fa;
  --rv-shu:#c33a2c; --rv-gold:#9a6a0c; --rv-good:#16734a; --rv-bad:#a8520a;
  --rv-fanza:#d1243a; --rv-fanza-2:#a21b2d; --rv-fanza-text:#c41f35; --rv-dls:#1d5bcc; --rv-dls-2:#1546a0;
  --rv-adv-bg:rgba(17,16,27,.94); --rv-adv-ink:#f2efe8; --rv-adv-line:rgba(255,255,255,.14);
  --rv-shadow:0 1px 0 rgba(22,21,26,.04),0 18px 40px -22px rgba(22,21,26,.28);
  --rv-r:14px;
  --rv-f-display:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;
  --rv-f-body:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;
  --rv-f-num:"Instrument Serif","Times New Roman",serif;
  --rv-f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --rv-ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --rv-bg:#0c0c11; --rv-surface:#13131a; --rv-raised:#1a1a23;
    --rv-ink:#eeebe4; --rv-ink-2:#b4b0ba; --rv-ink-3:#96929e;
    --rv-line:#25242e; --rv-line-2:#363541;
    --rv-accent:#ab9eff; --rv-accent-ink:#0c0c11; --rv-accent-soft:#221f3d;
    --rv-shu:#ff6f61; --rv-fanza-text:#ff7a8a; --rv-gold:#f0c264; --rv-good:#5ccfa0; --rv-bad:#f2a75e;
    --rv-adv-bg:rgba(6,6,12,.92);
    --rv-shadow:0 1px 0 rgba(255,255,255,.03),0 22px 48px -24px rgba(0,0,0,.75);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --rv-bg:#0c0c11; --rv-surface:#13131a; --rv-raised:#1a1a23;
  --rv-ink:#eeebe4; --rv-ink-2:#b4b0ba; --rv-ink-3:#96929e;
  --rv-line:#25242e; --rv-line-2:#363541;
  --rv-accent:#ab9eff; --rv-accent-ink:#0c0c11; --rv-accent-soft:#221f3d;
  --rv-shu:#ff6f61; --rv-fanza-text:#ff7a8a; --rv-gold:#f0c264; --rv-good:#5ccfa0; --rv-bad:#f2a75e;
  --rv-adv-bg:rgba(6,6,12,.92);
  --rv-shadow:0 1px 0 rgba(255,255,255,.03),0 22px 48px -24px rgba(0,0,0,.75);
  color-scheme:dark;
}

/* ---------- Arkhe の色とフォントを rv の配色に合わせる ----------
   Arkhe はカスタマイザーの色を :root に書き出すので、より強い html:root で上書きする。
   rv の変数はダークモードで切り替わるため、サイト全体もいっしょに切り替わる。 */
html:root{
  --ark-color--bg:var(--rv-bg);
  --ark-color--text:var(--rv-ink);
  --ark-color--link:var(--rv-accent);
  --ark-color--main:var(--rv-accent);
  --ark-color--gray:var(--rv-surface);
  --ark-color--border:var(--rv-line);
  --ark-color--header_bg:var(--rv-bg);
  --ark-color--header_txt:var(--rv-ink);
  --ark-color--footer_bg:var(--rv-surface);
  --ark-color--footer_txt:var(--rv-ink-2);
  --ark-font_family:var(--rv-f-body);
}
body{letter-spacing:.03em;-webkit-font-smoothing:antialiased;line-break:strict;overflow-wrap:anywhere}
.l-header{border-bottom:1px solid var(--rv-line)}
.c-postContent{font-size:16px;line-height:1.95}
@media (min-width:768px){.c-postContent{font-size:17px}}
.c-pageTitle__main,.p-entry__title{font-family:var(--rv-f-display);font-weight:900;font-feature-settings:"palt";letter-spacing:.02em}
/* Arkhe が本文の li に付ける上下の余白を、rv の部品の中では消す(目次の段がずれるため) */
.rv-article li{margin:0}
/* データの出所バッジは確認用。記事に残っていても表示しない */
.rv-src{display:none !important}

/* ---------- base から記事で使う分だけ ---------- */
:focus-visible{outline:2px solid var(--rv-accent);outline-offset:3px;border-radius:6px}
::selection{background:var(--rv-accent);color:var(--rv-accent-ink)}
.rv-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rv-mono{font-family:var(--rv-f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.rv-num{font-variant-numeric:tabular-nums}

/* ---------- layout から記事で使う分だけ ---------- */
.rv-article{min-width:0;max-width:760px;counter-reset:rv-ch}
.rv-crumb{font-size:12px;color:var(--rv-ink-3);padding:28px 0 0;letter-spacing:.06em}
.rv-crumb a{text-decoration:none;color:var(--rv-ink-2)}
.rv-crumb a:hover{color:var(--rv-ink);text-decoration:underline}

/* ---------- hero (タイトルは本番ではテーマが出す) ---------- */
.rv-hero{padding:36px 0 28px}
.rv-kicker{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;color:var(--rv-ink-3)}
.rv-kicker b{color:var(--rv-accent);font-weight:500}
.rv-kicker i{width:24px;height:1px;background:var(--rv-line-2)}
.rv-title{margin:18px 0 0;font:900 clamp(30px,6.4vw,54px)/1.22 var(--rv-f-display);letter-spacing:.02em;font-feature-settings:"palt";text-wrap:balance;word-break:auto-phrase}
.rv-title__tag{display:block;font-size:.36em;letter-spacing:.12em;color:var(--rv-ink-3);margin-bottom:.5em}
.rv-title__brand{display:block;font:500 14px/1.6 var(--rv-f-body);letter-spacing:.12em;color:var(--rv-ink-2);margin-top:14px}
.rv-lede{margin:30px 0 0;max-width:36em;font:500 clamp(17px,2.4vw,20px)/1.8 var(--rv-f-display);color:var(--rv-ink-2);text-wrap:pretty}
.rv-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin:26px 0 0;padding:14px 0 0;border-top:1px solid var(--rv-line);font-size:12px;color:var(--rv-ink-3)}
.rv-meta div{display:flex;gap:8px;align-items:baseline}
.rv-meta dt{font:500 10px/1 var(--rv-f-mono);letter-spacing:.16em;text-transform:uppercase}
.rv-meta dd{margin:0;color:var(--rv-ink-2);font-variant-numeric:tabular-nums}
.rv-pr{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;font-size:12px;line-height:1.7;color:var(--rv-ink-3)}
.rv-pr span{flex:0 0 auto;font:500 10px/1 var(--rv-f-mono);letter-spacing:.14em;border:1px solid var(--rv-line-2);border-radius:4px;padding:4px 6px;margin-top:1px}

/* ---------- sample art(画像の代わり。本番は公式画像) ---------- */
.rv-art{position:relative;overflow:hidden;isolation:isolate;background:
  radial-gradient(90% 70% at 78% 18%,hsl(var(--h,262) 85% 78% / .95),transparent 62%),
  radial-gradient(80% 70% at 12% 92%,hsl(calc(var(--h,262) + 58) 85% 62% / .85),transparent 60%),
  linear-gradient(162deg,hsl(calc(var(--h,262) - 24) 48% 14%),hsl(calc(var(--h,262) + 26) 46% 28%))}
.rv-art::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.32;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.rv-art__label{position:absolute;left:14px;bottom:12px;font:500 10px/1 var(--rv-f-mono);letter-spacing:.2em;color:rgba(255,255,255,.78);text-transform:uppercase}

/* ---------- figure ---------- */
.rv-fig{margin:28px 0}
.rv-fig .rv-art{aspect-ratio:16/9;border-radius:var(--rv-r)}
.rv-fig figcaption{margin-top:10px;font-size:12px;color:var(--rv-ink-3);display:flex;gap:8px;letter-spacing:.04em}
.rv-fig figcaption::before{content:"";flex:0 0 14px;height:1px;background:var(--rv-line-2);margin-top:.8em}
.rv-kv{margin:8px 0 0}
.rv-kv .rv-art{aspect-ratio:16/9;border-radius:calc(var(--rv-r) + 4px)}
.rv-kv__stars{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(1.2px 1.2px at 12% 22%,#fff,transparent),radial-gradient(1px 1px at 32% 12%,#fff,transparent),radial-gradient(1.4px 1.4px at 58% 30%,#fff,transparent),radial-gradient(1px 1px at 72% 8%,#fff,transparent),radial-gradient(1.2px 1.2px at 88% 40%,#fff,transparent),radial-gradient(1px 1px at 44% 46%,#fff,transparent),radial-gradient(1px 1px at 22% 58%,#fff,transparent);opacity:.8}
.rv-kv__hill{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%;z-index:-1}

/* ---------- verdict(結論) ---------- */
.rv-verdict{margin:44px 0 0;background:var(--rv-raised);border-radius:calc(var(--rv-r) + 6px);box-shadow:var(--rv-shadow);border:1px solid var(--rv-line);overflow:hidden;container-type:inline-size}
.rv-verdict__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 24px;border-bottom:1px solid var(--rv-line)}
.rv-verdict__head p{margin:0;font:700 14px/1.4 var(--rv-f-body);letter-spacing:.08em}
.rv-verdict__head .rv-mono{color:var(--rv-ink-3)}
.rv-verdict__main{display:grid;gap:28px;padding:28px 24px 8px}
@container (min-width:600px){.rv-verdict__main{grid-template-columns:200px 1fr;gap:36px;padding:32px 32px 8px}}
.rv-score{display:flex;flex-direction:column;justify-content:center}
.rv-score__label{color:var(--rv-ink-3)}
.rv-score__fig{display:flex;align-items:baseline;gap:6px;margin-top:4px}
.rv-score__num{font:400 112px/.9 var(--rv-f-num);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rv-score__of{font:italic 400 26px/1 var(--rv-f-num);color:var(--rv-ink-3)}
.rv-score__rank{margin-top:12px;display:inline-flex;align-self:flex-start;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--rv-ink-2);letter-spacing:.06em}
.rv-score__rank svg{width:13px;height:13px;fill:var(--rv-gold)}
.rv-score__rank .off{fill:var(--rv-line-2)}
/* 点数の物差し:自分と批評空間の中央値 */
.rv-scale{align-self:center}
.rv-scale__cap{display:flex;justify-content:space-between;color:var(--rv-ink-3)}
.rv-scale__track{position:relative;height:100px;margin-top:8px}
.rv-scale__line{position:absolute;left:0;right:0;top:45px;height:2px;background:var(--rv-line-2);border-radius:2px}
.rv-scale__line::before{content:"";position:absolute;left:0;right:0;top:-4px;height:10px;background:repeating-linear-gradient(90deg,var(--rv-line-2) 0 1px,transparent 1px 10%)}
.rv-scale__line::after{content:"";position:absolute;right:0;top:-4px;width:1px;height:10px;background:var(--rv-line-2)}
.rv-scale__gap{position:absolute;top:43px;height:6px;border-radius:6px;background:var(--rv-accent);opacity:.28;left:calc(var(--a) * 1%);width:calc((var(--b) - var(--a)) * 1%)}
.rv-scale__end{position:absolute;top:58px;font:500 10px/1 var(--rv-f-mono);color:var(--rv-ink-3)}
.rv-mark{position:absolute;left:calc(var(--x) * 1%);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;white-space:nowrap}
.rv-mark--me{bottom:calc(100% - 53px)}
.rv-mark--egs{top:47px}
.rv-mark b{font:400 24px/1 var(--rv-f-num);font-variant-numeric:tabular-nums}
.rv-mark small{font:500 10px/1.3 var(--rv-f-mono);letter-spacing:.1em;color:var(--rv-ink-3)}
.rv-mark--me small{color:var(--rv-accent)}
.rv-mark--me::after{content:"";width:14px;height:14px;border-radius:50%;background:var(--rv-accent);box-shadow:0 0 0 4px var(--rv-raised),0 0 0 5px color-mix(in srgb,var(--rv-accent) 45%,transparent);margin-top:8px}
.rv-mark--egs::before{content:"";width:2px;height:14px;background:var(--rv-ink-2);margin-bottom:4px}
.rv-mark--egs b{font-size:20px;color:var(--rv-ink-2)}
.rv-mark--me b{color:var(--rv-accent)}
.rv-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border-top:1px solid var(--rv-line)}
.rv-stats div{padding:14px 12px 4px 0}
.rv-stats div+div{padding-left:14px;border-left:1px solid var(--rv-line)}
.rv-stats dt{font:500 10px/1.4 var(--rv-f-mono);letter-spacing:.08em;color:var(--rv-ink-3)}
.rv-stats dd{margin:6px 0 0;font:400 30px/1 var(--rv-f-num);font-variant-numeric:tabular-nums}
.rv-stats dd small{font:500 11px/1.4 var(--rv-f-body);color:var(--rv-ink-3);margin-left:4px;letter-spacing:.04em}
.rv-verdict__say{margin:0;padding:24px;font:500 clamp(18px,2.6vw,21px)/1.75 var(--rv-f-display);text-wrap:pretty;border-top:1px solid var(--rv-line)}
@container (min-width:600px){.rv-verdict__say{padding:26px 32px}}
.rv-verdict__say::before{content:"“";font:400 54px/0 var(--rv-f-num);color:var(--rv-accent);vertical-align:-.36em;margin-right:6px}
.rv-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 24px 22px}
@container (min-width:600px){.rv-tags{padding:0 32px 24px}}
.rv-tags a,.rv-tags span{font-size:12px;font-weight:500;text-decoration:none;color:var(--rv-ink-2);background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:999px;padding:4px 12px}
.rv-tags a:hover{border-color:var(--rv-ink-2);color:var(--rv-ink)}
.rv-fit{display:grid;border-top:1px solid var(--rv-line)}
@container (min-width:600px){.rv-fit{grid-template-columns:1fr 1fr}.rv-fit>div+div{border-left:1px solid var(--rv-line)}}
.rv-fit>div{padding:20px 24px 22px}
@container (min-width:600px){.rv-fit>div{padding:22px 32px 24px}}
.rv-fit>div+div{border-top:1px solid var(--rv-line)}
@container (min-width:600px){.rv-fit>div+div{border-top:0}}
.rv-fit h3{margin:0 0 8px;font:700 13px/1.4 var(--rv-f-body);letter-spacing:.1em;display:flex;align-items:center;gap:8px}
.rv-fit h3 svg{width:16px;height:16px;flex:0 0 auto}
.rv-fit .is-yes h3{color:var(--rv-good)}.rv-fit .is-no h3{color:var(--rv-bad)}
.rv-fit ul{margin:0;padding:0;list-style:none;font-size:14px;line-height:1.8}
.rv-fit li{padding-left:16px;position:relative}
.rv-fit li::before{content:"";position:absolute;left:2px;top:.8em;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35}

/* ---------- buy(購入ボタン) ---------- */
.rv-buy{margin:36px 0;padding:22px;border-radius:calc(var(--rv-r) + 6px);background:var(--rv-surface);border:1px solid var(--rv-line);display:grid;gap:22px;container-type:inline-size}
@media (min-width:640px){.rv-buy{grid-template-columns:148px 1fr;align-items:start;padding:26px}}
.rv-buy__art{aspect-ratio:3/4;border-radius:10px;width:148px;box-shadow:var(--rv-shadow)}
@media (max-width:639px){.rv-buy{grid-template-columns:96px 1fr;gap:16px;align-items:end}.rv-buy__art{width:96px}.rv-buy>div:last-child{display:contents}.rv-buy__head{align-self:end}.rv-stores,.rv-buy__sub,.rv-buy__fine{grid-column:1/-1}}
.rv-buy__eyebrow{margin:0;color:var(--rv-ink-3)}
.rv-buy__title{margin:6px 0 14px;font:900 20px/1.45 var(--rv-f-display);font-feature-settings:"palt";text-wrap:balance;word-break:auto-phrase}
.rv-stores{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rv-store{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 14px;padding:12px 12px 12px 16px;border-radius:12px;background:var(--rv-raised);border:1px solid var(--rv-line)}
.rv-store.is-best{border-color:color-mix(in srgb,var(--rv-fanza) 55%,var(--rv-line));box-shadow:0 0 0 3px color-mix(in srgb,var(--rv-fanza) 10%,transparent)}
.rv-store__id{display:flex;flex-direction:column;gap:2px;min-width:0}
.rv-store__name{font:700 13px/1.2 var(--rv-f-body);letter-spacing:.08em;display:flex;align-items:center;gap:8px}
.rv-store__best{font:700 10px/1 var(--rv-f-body);letter-spacing:.1em;color:#fff;background:var(--rv-fanza);border-radius:4px;padding:4px 6px}
.rv-store__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;font-variant-numeric:tabular-nums}
.rv-store__price s{font-size:12px;color:var(--rv-ink-3)}
.rv-store__price b{font:400 26px/1.1 var(--rv-f-num)}
.rv-store__price em{font:700 11px/1 var(--rv-f-body);font-style:normal;color:var(--rv-fanza-text)}
.rv-store__note{font-size:11px;color:var(--rv-ink-3);letter-spacing:.04em}
.rv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:10px;font:700 14px/1 var(--rv-f-body);letter-spacing:.06em;text-decoration:none;white-space:nowrap;transition:transform .2s var(--rv-ease),box-shadow .2s var(--rv-ease),background .2s}
.rv-btn svg{width:16px;height:16px;flex:0 0 auto;transition:transform .25s var(--rv-ease)}
.rv-btn:hover svg{transform:translateX(3px)}
.rv-btn:active{transform:translateY(1px)}
.rv-btn--fanza{background:var(--rv-fanza);color:#fff;box-shadow:0 2px 0 var(--rv-fanza-2),0 10px 22px -12px var(--rv-fanza)}
.rv-btn--dls{background:var(--rv-dls);color:#fff;box-shadow:0 2px 0 var(--rv-dls-2),0 10px 22px -12px var(--rv-dls)}
.rv-btn--ghost{background:transparent;color:var(--rv-ink);border:1px solid var(--rv-line-2);min-height:44px;font-weight:500}
.rv-btn--ghost:hover{border-color:var(--rv-ink);background:var(--rv-raised)}
@container (max-width:430px){.rv-store{grid-template-columns:1fr}.rv-store .rv-btn{width:100%}}
.rv-buy__sub{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rv-buy__sub .rv-btn{flex:1 1 160px}
.rv-buy__fine{margin:12px 0 0;font-size:11px;line-height:1.7;color:var(--rv-ink-3)}

/* ---------- toc(目次) ---------- */
.rv-toc{margin:44px 0;padding:22px 24px;border-radius:var(--rv-r);border:1px solid var(--rv-line);background:var(--rv-surface)}
.rv-toc:has(ol:empty){display:none}
.rv-toc__head{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px}
.rv-toc__head b{font:700 14px/1 var(--rv-f-body);letter-spacing:.1em}
.rv-toc__head span{color:var(--rv-ink-3)}
.rv-toc ol{list-style:none;margin:0;padding:0;counter-reset:rv-toc;columns:2 240px;column-gap:28px}
.rv-toc li{counter-increment:rv-toc;break-inside:avoid}
.rv-toc a{display:flex;gap:12px;align-items:baseline;padding:7px 0;font-size:14px;text-decoration:none;color:var(--rv-ink-2);border-bottom:1px dashed var(--rv-line);transition:color .2s}
.rv-toc a::before{content:counter(rv-toc,decimal-leading-zero);font:500 11px/1 var(--rv-f-mono);color:var(--rv-accent);letter-spacing:.06em}
.rv-toc a:hover{color:var(--rv-ink)}

/* ---------- chapter heading ---------- */
.rv-h{counter-increment:rv-ch;margin:88px 0 26px;padding-top:22px;border-top:1px solid var(--rv-line-2);font:700 clamp(24px,3.6vw,31px)/1.4 var(--rv-f-display);letter-spacing:.03em;font-feature-settings:"palt";text-wrap:balance;word-break:auto-phrase;scroll-margin-top:96px;position:relative}
@media (max-width:860px){.rv-h{scroll-margin-top:124px}}
.rv-h::before{content:"CHAPTER " counter(rv-ch,decimal-leading-zero);display:block;margin-bottom:10px;font:500 11px/1 var(--rv-f-mono);letter-spacing:.2em;color:var(--rv-accent)}
.rv-h::after{content:"";position:absolute;left:0;top:-1px;width:56px;height:3px;background:var(--rv-accent)}
.rv-h3{margin:40px 0 14px;font:700 18px/1.5 var(--rv-f-body);letter-spacing:.06em;display:flex;align-items:center;gap:10px}
.rv-h3::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--rv-accent);transform:rotate(45deg)}
:where(.rv-article) p{margin:0 0 1.2em}
.rv-lead-in::first-letter{font:900 2.6em/1 var(--rv-f-display);float:left;margin:.08em .12em 0 0;color:var(--rv-accent)}
.rv-mark-hl{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--rv-accent) 26%,transparent) 0);padding:0 .1em}

/* ---------- info ---------- */
.rv-info{margin:0;display:grid;border-top:1px solid var(--rv-line)}
.rv-info div{display:grid;grid-template-columns:7.5em 1fr;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rv-line);font-size:15px;line-height:1.7}
.rv-info dt{font:500 11px/1.4 var(--rv-f-mono);letter-spacing:.1em;color:var(--rv-ink-3)}
.rv-info dd{margin:0}
.rv-info dd a{color:var(--rv-accent);font-weight:500}

/* ---------- story ---------- */
.rv-quote{margin:24px 0;padding:4px 0 4px 22px;border-left:2px solid var(--rv-accent);font:500 16px/2 var(--rv-f-display);color:var(--rv-ink-2)}
.rv-quote p{margin:0 0 .6em}
.rv-quote cite{display:block;font:500 11px/1.6 var(--rv-f-body);font-style:normal;color:var(--rv-ink-3);letter-spacing:.06em}

/* ---------- score ---------- */
.rv-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:4px 0 18px;border-bottom:1px solid var(--rv-line)}
.rv-total b{font:400 64px/1 var(--rv-f-num);font-variant-numeric:tabular-nums}
.rv-total span{font-size:14px;color:var(--rv-ink-2)}
.rv-total code{font:500 13px/1.6 var(--rv-f-mono);color:var(--rv-ink-3);background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:6px;padding:2px 8px;letter-spacing:.02em}
.rv-sg{padding:18px 0;border-bottom:1px solid var(--rv-line)}
.rv-sg__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.rv-sg__top b{font:700 16px/1.4 var(--rv-f-body);letter-spacing:.06em}
.rv-sg__top span{font:400 26px/1 var(--rv-f-num);font-variant-numeric:tabular-nums}
.rv-sg__top span small{font-size:15px;color:var(--rv-ink-3)}
.rv-sg__bar{height:6px;border-radius:6px;background:var(--rv-line);overflow:hidden;margin-bottom:14px}
.rv-sg__bar i{display:block;height:100%;width:calc(var(--v) * 1%);background:var(--rv-accent);border-radius:inherit;transform-origin:0 50%}
.rv-items{display:grid;gap:8px 28px}
@media (min-width:640px){.rv-items{grid-template-columns:1fr 1fr}}
.rv-item>span{white-space:nowrap}
.rv-item{display:grid;grid-template-columns:9em 1fr 2.6em;align-items:center;gap:12px;font-size:13px;color:var(--rv-ink-2)}
.rv-item b{font:500 12px/1 var(--rv-f-mono);text-align:right;color:var(--rv-ink);font-variant-numeric:tabular-nums}
.rv-meter{height:8px;background:linear-gradient(var(--rv-accent),var(--rv-accent)) 0 0/calc(var(--v) * 10%) 100% no-repeat,var(--rv-line);-webkit-mask:repeating-linear-gradient(90deg,#000 0 calc(10% - 3px),transparent calc(10% - 3px) 10%);mask:repeating-linear-gradient(90deg,#000 0 calc(10% - 3px),transparent calc(10% - 3px) 10%)}
.rv-basis{display:inline-flex;align-items:center;align-self:flex-start;margin-top:10px;padding:3px 10px;border:1px solid currentColor;border-radius:999px;font:700 12px/1.5 var(--rv-f-body);letter-spacing:.06em;color:var(--rv-accent);white-space:nowrap}
.rv-total .rv-basis,.rv-table .rv-basis{margin-top:0;align-self:baseline;font-size:12px;color:var(--rv-accent)}
.rv-total .rv-basis.is-old,.rv-table .rv-basis.is-old{color:var(--rv-ink-3)}
.rv-formula + .rv-rules{margin-top:18px}
.rv-basis.is-old{color:var(--rv-ink-3)}
.rv-total__rank{font-weight:700;letter-spacing:.06em}
.rv-adjust__top small{margin-left:8px;font:500 11px/1 var(--rv-f-mono);color:var(--rv-ink-3);letter-spacing:.02em}
.rv-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin:16px 0 0;font-size:12px;color:var(--rv-ink-3)}
.rv-key div{display:flex;gap:5px;align-items:baseline}
.rv-key dt{font:500 12px/1 var(--rv-f-mono);color:var(--rv-ink);font-variant-numeric:tabular-nums}
.rv-key dd{margin:0}
.rv-adjust{margin:22px 0 0;padding:18px 20px;border-radius:12px;background:var(--rv-surface);border:1px solid var(--rv-line)}
.rv-adjust__top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.rv-adjust__top b{font:700 14px/1.4 var(--rv-f-body);letter-spacing:.08em}
.rv-adjust__top span{font:400 28px/1 var(--rv-f-num);color:var(--rv-accent);font-variant-numeric:tabular-nums}
.rv-adjust ul{list-style:none;margin:0;padding:0;font-size:14px}
.rv-adjust li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px dashed var(--rv-line)}
.rv-adjust li span:last-child{font:500 13px/1.7 var(--rv-f-mono);flex:0 0 auto}
.rv-adjust .is-plus span:last-child{color:var(--rv-good)}.rv-adjust .is-minus span:last-child{color:var(--rv-bad)}
.rv-fine{font-size:12px;color:var(--rv-ink-3);margin-top:14px}
.rv-fine a{color:var(--rv-accent)}

/* ---------- ADV message window(運営者のひとこと) ---------- */
.rv-adv{position:relative;margin:40px 0 32px;padding:26px 24px 24px;border-radius:14px;background:var(--rv-adv-bg);color:var(--rv-adv-ink);box-shadow:inset 0 0 0 1px var(--rv-adv-line),0 20px 40px -24px rgba(0,0,0,.6)}
.rv-adv::before{content:"";position:absolute;inset:6px;border-radius:10px;border:1px solid var(--rv-adv-line);pointer-events:none}
.rv-adv__name{position:absolute;left:18px;top:-13px;display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--rv-accent);color:var(--rv-accent-ink);font:700 12px/1 var(--rv-f-body);letter-spacing:.1em}
.rv-adv__name i{width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--rv-accent-ink) 22%,transparent)}
.rv-adv p{margin:0;font-size:15px;line-height:1.95;letter-spacing:.05em}
.rv-adv__next{position:absolute;right:20px;bottom:14px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--rv-adv-ink);animation:rv-blink 1.1s steps(2,jump-none) infinite}
@keyframes rv-blink{50%{opacity:.15}}

/* ---------- pros / cons ---------- */
.rv-pc{display:grid;gap:14px}
@media (min-width:640px){.rv-pc{grid-template-columns:1fr 1fr}}
.rv-pc>div{border-radius:var(--rv-r);padding:20px 22px;background:var(--rv-surface);border:1px solid var(--rv-line)}
.rv-pc h3{margin:0 0 10px;display:flex;align-items:center;gap:10px;font:700 15px/1.4 var(--rv-f-body);letter-spacing:.08em}
.rv-pc h3 em{font:500 10px/1 var(--rv-f-mono);font-style:normal;letter-spacing:.18em;color:var(--rv-ink-3);margin-left:auto}
.rv-pc .is-good h3 svg{color:var(--rv-good)}.rv-pc .is-bad h3 svg{color:var(--rv-bad)}
.rv-pc h3 svg{width:20px;height:20px}
.rv-pc ul{margin:0;padding:0;list-style:none;font-size:15px;line-height:1.8}
.rv-pc li{padding:8px 0 8px 18px;border-top:1px dashed var(--rv-line);position:relative}
.rv-pc li:first-child{border-top:0}
.rv-pc li::before{content:"";position:absolute;left:0;top:1.15em;width:8px;height:2px;border-radius:2px;background:var(--rv-ink-3)}
.rv-pc .is-good li::before{background:var(--rv-good)}.rv-pc .is-bad li::before{background:var(--rv-bad)}

/* ---------- characters ---------- */
.rv-chars{display:grid;gap:14px}
@media (min-width:640px){.rv-chars{grid-template-columns:1fr 1fr}}
.rv-char{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px;border-radius:var(--rv-r);background:var(--rv-surface);border:1px solid var(--rv-line);transition:border-color .2s,transform .3s var(--rv-ease)}
.rv-char:hover{border-color:var(--rv-line-2);transform:translateY(-2px)}
.rv-char__pic{position:relative;aspect-ratio:3/4;border-radius:10px}
.rv-char h3{margin:2px 0 0;font:700 18px/1.4 var(--rv-f-display);font-feature-settings:"palt"}
.rv-char__cv{font:500 11px/1.6 var(--rv-f-mono);letter-spacing:.06em;color:var(--rv-ink-3)}
.rv-char p{margin:8px 0 0;font-size:14px;line-height:1.8;color:var(--rv-ink-2)}
.rv-char__media{position:relative}
.rv-stamp{position:absolute;right:-12px;top:-12px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--rv-shu);border:2px solid currentColor;background:var(--rv-surface);font:900 14px/1 var(--rv-f-display);transform:rotate(-12deg);box-shadow:inset 0 0 0 3px var(--rv-surface),inset 0 0 0 4px currentColor}
.rv-char.is-fav{border-color:color-mix(in srgb,var(--rv-shu) 45%,var(--rv-line))}

/* ---------- play info ---------- */
.rv-route{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:rv-r;container-type:inline-size}
.rv-route li{counter-increment:rv-r;position:relative;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:8px 0}
.rv-route li::before{content:counter(rv-r);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:400 20px/1 var(--rv-f-num);border:1px solid var(--rv-line-2);background:var(--rv-raised)}
.rv-route li:not(:last-child)::after{content:"";position:absolute;left:19.5px;top:48px;bottom:-8px;width:1px;background:var(--rv-line-2)}
.rv-route li:last-child::before{background:var(--rv-accent);border-color:var(--rv-accent);color:var(--rv-accent-ink)}
.rv-route b{font-weight:700;font-size:15px}
.rv-route small{display:block;font-size:12px;color:var(--rv-ink-3);line-height:1.5}
.rv-sys{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.rv-sys li{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px 6px 8px;border-radius:999px;border:1px solid var(--rv-line);background:var(--rv-surface)}
.rv-sys svg{width:16px;height:16px}
.rv-sys .is-ok svg{color:var(--rv-good)}
.rv-sys .is-ng{color:var(--rv-ink-3)}
.rv-sys .is-ng svg{color:var(--rv-bad)}
.rv-sys .is-ng span{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--rv-ink-3) 60%,transparent)}

/* ---------- spoiler as choice(選択肢) ---------- */
.rv-choice{margin:8px 0 0;padding:30px 22px;border-radius:calc(var(--rv-r) + 4px);background:radial-gradient(120% 100% at 50% 0%,color-mix(in srgb,var(--rv-accent) 16%,transparent),transparent 70%),var(--rv-surface);border:1px solid var(--rv-line);text-align:center}
.rv-choice__q{margin:0 0 18px !important;font:500 16px/1.8 var(--rv-f-display);color:var(--rv-ink-2)}
.rv-choice__q .rv-mono{display:block;color:var(--rv-shu);margin-bottom:6px}
.rv-opt{display:flex;align-items:center;justify-content:center;gap:12px;max-width:460px;min-height:52px;margin:10px auto 0;padding:12px 22px;border-radius:12px;background:var(--rv-raised);border:1px solid var(--rv-line-2);font:700 15px/1.4 var(--rv-f-body);letter-spacing:.08em;color:var(--rv-ink);text-decoration:none;cursor:pointer;list-style:none;position:relative;transition:background .25s,color .25s,border-color .25s,transform .25s var(--rv-ease)}
.rv-opt::-webkit-details-marker{display:none}
.rv-opt::before{content:"";width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .25s var(--rv-ease)}
.rv-opt:hover{background:var(--rv-ink);color:var(--rv-bg);border-color:var(--rv-ink)}
.rv-opt:hover::before,.rv-opt:focus-visible::before{opacity:1;transform:none}
.rv-spoiler[open]>.rv-opt{background:var(--rv-accent);border-color:var(--rv-accent);color:var(--rv-accent-ink)}
.rv-spoiler[open]>.rv-opt .rv-opt__open{display:none}
.rv-spoiler:not([open])>.rv-opt .rv-opt__close{display:none}
.rv-spoiler__body{margin:20px 0 4px;padding:22px 22px 6px;text-align:left;border-radius:12px;background:var(--rv-raised);border:1px solid var(--rv-line)}
.rv-opt--skip{background:transparent}

/* ---------- final ---------- */
.rv-final{position:relative;padding:34px 28px 30px;border-radius:calc(var(--rv-r) + 6px);background:#13121d;color:#f2efe8;overflow:hidden;isolation:isolate;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),var(--rv-shadow)}
.rv-final::after{content:"";position:absolute;right:-80px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(closest-side,rgba(150,130,255,.55),transparent);z-index:-1}
.rv-final::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:radial-gradient(1px 1px at 18% 30%,#fff,transparent),radial-gradient(1px 1px at 62% 18%,#fff,transparent),radial-gradient(1.2px 1.2px at 84% 62%,#fff,transparent),radial-gradient(1px 1px at 40% 78%,#fff,transparent)}
.rv-final__top{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.rv-final__top b{font:400 76px/1 var(--rv-f-num);font-variant-numeric:tabular-nums}
.rv-final__of{font:italic 400 22px/1 var(--rv-f-num);opacity:.6}
.rv-final__lbl{margin-left:auto;align-self:center;opacity:.65}
.rv-final p{margin:0 !important;font:500 clamp(17px,2.4vw,19px)/1.95 var(--rv-f-display);text-wrap:pretty}

/* ---------- related ---------- */
.rv-rel{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.rv-rel a{display:block;text-decoration:none;border-radius:var(--rv-r);overflow:hidden;background:var(--rv-surface);border:1px solid var(--rv-line);transition:transform .3s var(--rv-ease),border-color .2s}
.rv-rel a:hover{transform:translateY(-3px);border-color:var(--rv-line-2)}
.rv-rel .rv-art{aspect-ratio:16/9}
.rv-rel__body{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;padding:12px 14px 14px}
.rv-rel__body span{font-size:13px;line-height:1.6;font-weight:500}
.rv-rel__body small{display:block;font:500 10px/1.6 var(--rv-f-mono);letter-spacing:.12em;color:var(--rv-ink-3)}
@media (max-width:520px){.rv-rel{grid-template-columns:1fr;gap:10px}.rv-rel a{display:grid;grid-template-columns:112px 1fr}.rv-rel .rv-art{aspect-ratio:auto;height:100%;min-height:76px}.rv-rel__body{padding:12px 14px}}
.rv-rel__body b{font:400 30px/1 var(--rv-f-num);color:var(--rv-accent);font-variant-numeric:tabular-nums}

/* ---------- author ---------- */
.rv-author{margin-top:72px;padding:26px;border-radius:calc(var(--rv-r) + 6px);background:var(--rv-raised);border:1px solid var(--rv-line);box-shadow:var(--rv-shadow);display:grid;gap:18px;grid-template-columns:72px 1fr}
.rv-author__pic{width:72px;height:72px;border-radius:50%;--h:200}
.rv-author__by{color:var(--rv-ink-3)}
.rv-author h2{margin:4px 0 0;font:900 20px/1.4 var(--rv-f-display)}
.rv-author__bio{grid-column:2}
@media (max-width:520px){.rv-author{grid-template-columns:56px 1fr;padding:22px 20px}.rv-author__pic{width:56px;height:56px}.rv-author__bio{grid-column:1/-1}}
.rv-author p{margin:0 !important;font-size:14px;line-height:1.85;color:var(--rv-ink-2)}
.rv-author__stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rv-line);margin:0}
.rv-author__stats div{padding:14px 0 0}
.rv-author__stats div+div{padding-left:16px;border-left:1px solid var(--rv-line)}
.rv-author__stats dd{margin:0;font:400 34px/1 var(--rv-f-num);font-variant-numeric:tabular-nums}
.rv-author__stats dt{font:500 10px/1.6 var(--rv-f-mono);letter-spacing:.1em;color:var(--rv-ink-3);margin-top:4px}
.rv-author__stats div{display:flex;flex-direction:column-reverse}
.rv-xlink{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin-top:12px;padding:0 16px;border-radius:999px;border:1px solid var(--rv-line-2);font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.04em;transition:background .2s,color .2s,border-color .2s}
.rv-xlink svg{width:13px;height:13px;fill:currentColor}
.rv-xlink:hover{background:var(--rv-ink);color:var(--rv-bg);border-color:var(--rv-ink)}

/* ---------- sidebar(見本:本番はテーマのウィジェット) ---------- */
.rv-side{padding-top:28px;display:grid;gap:20px;align-content:start}
@media (min-width:1100px){.rv-side__sticky{position:sticky;top:88px;display:grid;gap:20px}}
.rv-box{padding:20px;border-radius:var(--rv-r);background:var(--rv-surface);border:1px solid var(--rv-line)}
.rv-box__h{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 12px;font:700 14px/1.4 var(--rv-f-body);letter-spacing:.1em}
.rv-box__h span{color:var(--rv-ink-3)}
.rv-prof{text-align:center}
.rv-prof .rv-art{width:76px;height:76px;border-radius:50%;margin:0 auto 10px;--h:200}
.rv-prof b{font:900 17px/1.4 var(--rv-f-display)}
.rv-prof p{margin:8px 0 0;font-size:13px;line-height:1.8;color:var(--rv-ink-2);text-align:left}
.rv-prof__links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:4px}
.rv-prof__links>a:first-child{font-size:13px;color:var(--rv-accent);font-weight:500}
.rv-rank{list-style:none;margin:0;padding:0;counter-reset:rv-k}
.rv-rank li{counter-increment:rv-k}
.rv-rank a{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--rv-line);font-size:13px;line-height:1.5;text-decoration:none}
.rv-rank a::before{content:counter(rv-k);font:400 18px/1 var(--rv-f-num);color:var(--rv-ink-3)}
.rv-rank li:nth-child(-n+3) a::before{color:var(--rv-gold)}
.rv-rank a:hover span{text-decoration:underline}
.rv-rank b{font:400 20px/1 var(--rv-f-num);font-variant-numeric:tabular-nums}
.rv-sale{display:block;position:relative;overflow:hidden;padding:20px;border-radius:var(--rv-r);text-decoration:none;color:#fff;--h:340;isolation:isolate}
.rv-sale b{display:block;font:900 18px/1.4 var(--rv-f-display)}
.rv-sale small{display:block;margin-top:4px;font-size:12px;opacity:.85}
.rv-sale .rv-mono{opacity:.8}
.rv-cats{display:flex;flex-wrap:wrap;gap:6px}
.rv-cats a{font-size:12px;text-decoration:none;color:var(--rv-ink-2);border:1px solid var(--rv-line);border-radius:999px;padding:4px 12px;transition:border-color .2s,color .2s}
.rv-cats a:hover{border-color:var(--rv-ink-2);color:var(--rv-ink)}

/* ---------- age gate ---------- */
.rv-gate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,#07070b 72%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.rv-gate[hidden]{display:none}
.rv-gate__card{width:100%;max-width:420px;padding:34px 28px 28px;border-radius:20px;background:var(--rv-raised);color:var(--rv-ink);text-align:center;box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}
.rv-gate__card .rv-mono{color:var(--rv-shu)}
.rv-gate h2{margin:10px 0 8px;font:900 24px/1.5 var(--rv-f-display)}
.rv-gate p{margin:0;font-size:14px;line-height:1.8;color:var(--rv-ink-2)}
.rv-gate__row{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:22px}
.rv-gate button{font:700 14px/1 var(--rv-f-body);letter-spacing:.06em;min-height:50px;border-radius:12px;cursor:pointer;border:1px solid var(--rv-line-2);background:transparent;color:var(--rv-ink)}
.rv-gate button.is-yes{background:var(--rv-ink);border-color:var(--rv-ink);color:var(--rv-bg)}

/* ---------- motion ---------- */
/* スクロールに合わせた動き:CSSだけで動かす。対応していないブラウザでは最初から表示される */
@media screen and (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .rv-reveal{animation:rv-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
    .rv-sg__bar i{animation:rv-grow linear both;animation-timeline:view();animation-range:entry 20% cover 40%}
    .rv-meter{animation:rv-fill linear both;animation-timeline:view();animation-range:entry 20% cover 45%}
    .rv-kv .rv-art{animation:rv-drift linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
  }
}
@keyframes rv-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes rv-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes rv-fill{from{background-size:0 100%,auto}to{background-size:calc(var(--v) * 10%) 100%,auto}}
@keyframes rv-drift{to{transform:translateY(-4%) scale(.98);opacity:.6}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv-adv__next{animation:none}
  *,*::before,*::after{transition-duration:.01ms !important}
}

/* ---------- 評価基準ページ用(記事と同じCSSに入れておく) ---------- */
.rv-page--single{justify-content:center}
@media (min-width:1100px){.rv-page--single{grid-template-columns:minmax(0,760px)}}
.rv-formula{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;margin:0}
.rv-formula>div{padding:18px 14px 16px;border-radius:var(--rv-r);background:var(--rv-surface);border:1px solid var(--rv-line);text-align:center}
.rv-formula>div.is-sum{background:var(--rv-accent);border-color:var(--rv-accent);color:var(--rv-accent-ink)}
.rv-formula dt{font:700 13px/1.5 var(--rv-f-body);letter-spacing:.06em}
.rv-formula dd{margin:6px 0 0;font:400 30px/1 var(--rv-f-num);font-variant-numeric:tabular-nums}
.rv-formula dd small{display:block;margin-top:8px;font:500 11px/1.5 var(--rv-f-body);letter-spacing:.02em;opacity:.8}
.rv-formula>span{align-self:center;font:400 28px/1 var(--rv-f-num);color:var(--rv-ink-3)}
@media (max-width:520px){.rv-formula{grid-template-columns:1fr}.rv-formula>span{justify-self:center;line-height:.6}}
.rv-types{display:grid;gap:14px}
.rv-type{padding:22px 22px 18px;border-radius:var(--rv-r);background:var(--rv-surface);border:1px solid var(--rv-line)}
.rv-type__top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.rv-type h3{margin:0;font:900 20px/1.4 var(--rv-f-display);letter-spacing:.04em}
.rv-type__top span{font-size:13px;color:var(--rv-ink-2)}
.rv-mix{display:flex;height:12px;margin:16px 0 14px;border-radius:12px;overflow:hidden;gap:2px}
.rv-mix i{flex:var(--w) 0 0;background:var(--c)}
.rv-groups{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.7}
.rv-groups li{display:grid;grid-template-columns:5.4em 2.4em 1fr;gap:10px;align-items:baseline;padding:7px 0;border-top:1px dashed var(--rv-line)}
.rv-groups li b{display:flex;align-items:center;gap:7px;font-weight:700}
.rv-groups li b::before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:3px;background:var(--c)}
.rv-groups li em{font:400 20px/1 var(--rv-f-num);font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.rv-groups li span{color:var(--rv-ink-2)}
.rv-groups li.is-none{color:var(--rv-ink-3)}.rv-groups li.is-none em,.rv-groups li.is-none span{color:var(--rv-ink-3)}
.rv-c-story{--c:var(--rv-accent)}.rv-c-chara{--c:var(--rv-fanza)}.rv-c-h{--c:var(--rv-gold)}.rv-c-art{--c:var(--rv-dls)}.rv-c-ux{--c:var(--rv-ink-3)}
.rv-anchor{display:grid;gap:10px;margin:0}
.rv-anchor div{display:grid;grid-template-columns:2.4em minmax(0,9em) 1fr;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rv-line)}
.rv-anchor dt{font:400 30px/1 var(--rv-f-num);text-align:right;font-variant-numeric:tabular-nums}
.rv-anchor dd{margin:0;font-size:14px;line-height:1.7;color:var(--rv-ink-2)}
.rv-anchor dd b{color:var(--rv-ink)}
@media (max-width:520px){.rv-anchor div{grid-template-columns:2.4em 1fr}.rv-anchor .rv-meter{grid-column:2}}
.rv-tablewrap{overflow-x:auto;margin:0;border:1px solid var(--rv-line);border-radius:var(--rv-r);background:var(--rv-surface)}
.rv-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.7}
.rv-table caption{text-align:left;padding:14px 16px 0;font:500 11px/1.4 var(--rv-f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--rv-ink-3)}
.rv-table th,.rv-table td{padding:11px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--rv-line)}
.rv-table thead th{border-top:0;font:500 11px/1.4 var(--rv-f-mono);letter-spacing:.12em;color:var(--rv-ink-3)}
.rv-table td.rv-num,.rv-table th.rv-num{white-space:nowrap}
.rv-table .rv-stars{white-space:nowrap;color:var(--rv-gold);letter-spacing:.08em}
.rv-rules{margin:0;padding:0;list-style:none}
.rv-rules li{position:relative;padding:10px 0 10px 22px;border-top:1px dashed var(--rv-line);font-size:15px}
.rv-rules li:first-child{border-top:0}
.rv-rules li::before{content:"";position:absolute;left:2px;top:1.3em;width:8px;height:8px;border-radius:50%;border:2px solid var(--rv-accent)}
