/* star-lattice（hgame-plaza.jp「Hゲームプラザ」）の見た目・2026-11-03。
   色は下の :root の「色」の塊だけで決まる。見本は scripts/mock_css.py が、この塊だけを替えた data/mock/css_{a,b,c}.css を当てて撮る。
   書体はサイトから送らない（端末のゴシック）。class の接頭辞は rg-（テーマとプラグインの骨組み）と rgd-（プラグインの部品）。 */

:root{
	/* ---- 色（見本で差し替えるのはこの塊だけ） ---- */
	--rg-ground:#15122a;      /* 地（ページの背景・紫紺寄りの紺＝11/03 ユーザー決定 B） */
	--rg-ground-deep:#0d0b1c; /* 地より暗い所（ヘッダー・フッター・画像の舞台） */
	--rg-panel:#1d1938;       /* 箱・カードの地 */
	--rg-panel-hi:#272247;    /* 箱の中の箱・乗ったとき */
	--rg-ink:#f8fafc;         /* 見出し・強い文字（白に近い） */
	--rg-text:#d5dbe5;        /* 本文 */
	--rg-mute:#97a3b6;        /* 補足の文字 */
	--rg-faint:#5f6b80;       /* さらに弱い文字・区切りの記号 */
	--rg-accent:#fb7185;      /* 差し色（薄紅）＝札・ボタン・今いる所 */
	--rg-accent-hi:#fda4af;   /* 差し色の明るい方（乗ったとき・暗い地の上の差し色の文字） */
	--rg-on-accent:#2b0b13;   /* 差し色の地の上の文字 */
	--rg-star:#ffffff;        /* 星（★の数字・見出しの星） */
	--rg-good:#86efac;        /* 注意書きの締め（正しい手に入れ方）の印 */
	/* ---- 上の色から作るもの（差し替えなくてよい） ---- */
	--rg-line:rgba(255,255,255,.08);
	--rg-line-hi:rgba(255,255,255,.16);
	--rg-accent-soft:color-mix(in srgb,var(--rg-accent) 14%,transparent);
	--rg-accent-edge:color-mix(in srgb,var(--rg-accent) 42%,transparent);
	--rg-veil:color-mix(in srgb,var(--rg-ground-deep) 86%,transparent);
	--rg-dot:color-mix(in srgb,var(--rg-star) 9%,transparent);
	--rg-shadow:rgba(0,0,0,.45);
	/* ---- 形 ---- */
	--rg-font:system-ui,-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
	--rg-max:1180px;
	--rg-gut:16px;
	--rg-r:12px;
	--rg-r-s:8px;
	--rg-star-shape:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
	color-scheme:dark;
}
@media (min-width:768px){:root{--rg-gut:24px}}

/* ------------------------------------------------------------ 土台 */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--rg-ground);-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--rg-panel-hi) var(--rg-ground-deep)}
body{margin:0;background:var(--rg-ground);color:var(--rg-text);font-family:var(--rg-font);font-size:15px;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:var(--rg-accent);text-decoration:none;transition:color .15s,background-color .15s,border-color .15s}
a:hover{color:var(--rg-accent-hi)}
img{max-width:100%;height:auto}
h1,h2,h3,h4{margin:0;color:var(--rg-ink);font-weight:700;line-height:1.35}
button,input{font:inherit;color:inherit}
::selection{background:var(--rg-accent);color:var(--rg-on-accent)}
:focus-visible{outline:2px solid var(--rg-accent);outline-offset:2px}
.rg-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ------------------------------------------------------------ ヘッダー（印とサイト名・ナビ・ゲームを探す・PR） */
.rg-masthead{position:relative;z-index:40;border-bottom:1px solid var(--rg-line);background-color:var(--rg-ground-deep);background-image:radial-gradient(circle,var(--rg-dot) 1px,transparent 1.6px);background-size:22px 22px}
.rg-masthead-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;max-width:var(--rg-max);margin:0 auto;padding:6px var(--rg-gut) 0}
.rg-sign-h{margin:0;font-size:inherit;line-height:1}
.rg-sign{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--rg-ink)}
.rg-sign:hover{color:var(--rg-ink)}
.rg-mark{flex:0 0 auto;width:30px;height:30px;border-radius:8px}
.rg-sign-t{font-size:18px;font-weight:800;line-height:1.2;letter-spacing:.04em;white-space:nowrap}
.rg-routes{order:3;display:flex;gap:0 20px;width:100%;overflow-x:auto;scrollbar-width:none}
.rg-routes::-webkit-scrollbar{display:none}
.rg-routes a{flex:0 0 auto;padding:8px 0 9px;font-size:14px;font-weight:600;line-height:1.5;color:var(--rg-text);white-space:nowrap;box-shadow:inset 0 -2px 0 transparent}
.rg-routes a:hover{color:var(--rg-ink)}
.rg-routes a[aria-current]{color:var(--rg-ink);box-shadow:inset 0 -2px 0 var(--rg-accent)}
.rg-seek{margin-left:auto}
.rg-seek summary{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 13px;border:1px solid var(--rg-line-hi);border-radius:999px;font-size:13.5px;font-weight:600;line-height:1.2;color:var(--rg-ink);white-space:nowrap;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;transition:background-color .15s,border-color .15s}
.rg-seek summary::-webkit-details-marker{display:none}
.rg-seek summary svg{flex:0 0 auto;width:17px;height:17px;color:var(--rg-accent)}
.rg-seek summary:hover,.rg-seek[open] summary,.rg-seek.is-here summary{border-color:var(--rg-accent-edge);background:var(--rg-accent-soft)}
.rg-seek-form{position:absolute;top:calc(100% + 8px);left:var(--rg-gut);right:var(--rg-gut);z-index:50;display:flex;gap:8px;padding:10px;border:1px solid var(--rg-line-hi);border-radius:var(--rg-r);background:var(--rg-panel);box-shadow:0 18px 40px var(--rg-shadow)}
.rg-seek-form input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--rg-line-hi);border-radius:var(--rg-r-s);background:var(--rg-ground-deep);font-size:16px;color:var(--rg-ink)}
.rg-seek-form input::placeholder{color:var(--rg-faint)}
.rg-seek-form button{flex:0 0 auto;padding:0 18px;border:0;border-radius:var(--rg-r-s);background:var(--rg-accent);font-weight:700;color:var(--rg-on-accent);cursor:pointer}
.rg-seek-form button:hover{background:var(--rg-accent-hi)}
.rg-adline{display:flex;align-items:baseline;gap:8px;max-width:var(--rg-max);margin:0 auto;padding:3px var(--rg-gut) 6px;font-size:11px;line-height:1.55;color:var(--rg-mute)}
.rg-adline b{flex:0 0 auto;padding:0 5px;border:1px solid var(--rg-accent-edge);border-radius:4px;font-size:10px;letter-spacing:.08em;color:var(--rg-accent-hi)}
@media (max-width:360px){.rg-sign-t{font-size:16px}.rg-seek summary{padding:0 10px;font-size:12.5px}}
@media (min-width:860px){
	.rg-masthead-row{flex-wrap:nowrap;gap:24px;padding-top:0}
	.rg-routes{order:0;width:auto;margin-left:14px;overflow:visible}
	.rg-routes a{padding:12px 0}
	.rg-seek-form{left:auto;width:420px}
}

/* ------------------------------------------------------------ 本文の枠・パンくず */
.rg-wrap{display:block;min-width:0;max-width:var(--rg-max);margin:0 auto;padding:14px var(--rg-gut) 48px}
.rg-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--rg-mute)}
.rg-crumb a{color:var(--rg-mute)}
.rg-crumb a:hover{color:var(--rg-accent)}
.rg-crumb i{font-style:normal;color:var(--rg-faint)}
.rg-crumb span{min-width:0;max-width:100%;overflow:hidden;color:var(--rg-text);white-space:nowrap;text-overflow:ellipsis}

/* ------------------------------------------------------------ トップの節 */
.rg-hero{position:relative;margin:4px 0 0;padding:18px 20px;overflow:hidden;border:1px solid var(--rg-line);border-radius:var(--rg-r);background-color:var(--rg-panel);background-image:radial-gradient(circle,var(--rg-dot) 1px,transparent 1.6px);background-size:18px 18px}
.rg-hero::after{content:"";position:absolute;right:-14px;bottom:-30px;width:150px;height:150px;background:var(--rg-star);opacity:.06;clip-path:var(--rg-star-shape);pointer-events:none}
.rg-hero p{position:relative;margin:0;max-width:780px;font-size:14.5px;line-height:1.95;color:var(--rg-text)}
.rg-sec{padding:34px 0 0}
.rg-sec-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;margin:0 0 16px;padding:0 0 10px;border-bottom:1px solid var(--rg-line)}
.rg-sec-tt{min-width:0}
.rg-kick{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--rg-accent-hi)}
.rg-sec-t{display:flex;align-items:center;gap:10px;font-size:clamp(19px,2.4vw,24px)}
.rg-sec-t::before{content:"";flex:0 0 auto;width:15px;height:15px;background:var(--rg-star);clip-path:var(--rg-star-shape)}
.rg-sec-sub{margin:4px 0 0;font-size:13px;line-height:1.6;color:var(--rg-mute)}
.rg-sec-act{display:flex;align-items:center;gap:8px;margin-left:auto}
.rg-viewall{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;white-space:nowrap}
.rg-viewall svg{width:16px;height:16px}
.rg-arw{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--rg-line-hi);border-radius:50%;background:var(--rg-panel);color:var(--rg-ink);cursor:pointer;transition:border-color .15s,color .15s}
.rg-arw:hover{border-color:var(--rg-accent-edge);color:var(--rg-accent)}
.rg-arw svg{width:18px;height:18px}
.rg-duo{display:grid;gap:34px}
.rg-duo>div{min-width:0}
@media (min-width:1000px){.rg-duo{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px}}

/* ------------------------------------------------------------ ゲームのカード（一覧・トップ） */
.rg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:640px){.rg-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media (min-width:980px){.rg-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.rg-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-panel);transition:border-color .15s,background-color .15s}
.rg-card:hover{border-color:var(--rg-line-hi);background:var(--rg-panel-hi)}
.rg-card-a{display:flex;flex:1;flex-direction:column;color:inherit}
.rg-card-a:hover{color:inherit}
.rg-card-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--rg-ground-deep)}
.rg-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rg-card-date{position:absolute;left:8px;bottom:8px;padding:1px 7px;border-radius:5px;background:var(--rg-veil);font-size:10.5px;line-height:1.7;color:var(--rg-text)}
.rg-card-rank{position:absolute;left:8px;top:8px;max-width:calc(100% - 16px);overflow:hidden;padding:0 8px;border:1px solid var(--rg-accent-edge);border-radius:5px;background:var(--rg-veil);font-size:11px;font-weight:700;line-height:1.75;color:var(--rg-star);white-space:nowrap;text-overflow:ellipsis}
.rg-card-env{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--rg-veil);color:var(--rg-text)}
.rg-card-env svg{width:13px;height:13px}
.rg-card-body{display:flex;flex-direction:column;gap:4px;padding:10px 12px 4px}
.rg-card-t{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14px;line-height:1.5;overflow-wrap:anywhere;transition:color .15s}
.rg-card:hover .rg-card-t{color:var(--rg-accent-hi)}
.rg-card-meta{font-size:11.5px;line-height:1.5;color:var(--rg-mute)}
.rg-card-foot{display:flex;min-width:0;margin:0;padding:4px 12px 12px}
.rg-chip{display:inline-block;max-width:100%;overflow:hidden;padding:0 8px;border:1px solid var(--rg-line-hi);border-radius:999px;font-size:11px;line-height:1.75;color:var(--rg-text);white-space:nowrap;text-overflow:ellipsis}
a.rg-chip:hover{border-color:var(--rg-accent-edge);color:var(--rg-accent-hi)}
@media (max-width:420px){.rg-card-body{padding:8px 10px 2px}.rg-card-foot{padding:4px 10px 10px}.rg-card-t{font-size:13px}}

/* 横に流れる大きいカード（急上昇） */
.rg-rail{margin:0 calc(var(--rg-gut) * -1)}
.rg-rail-in{display:flex;gap:14px;overflow-x:auto;padding:0 var(--rg-gut) 6px;scroll-padding:0 var(--rg-gut);scroll-snap-type:x mandatory;scrollbar-width:none}
.rg-rail-in::-webkit-scrollbar{display:none}
.rg-big{position:relative;flex:0 0 min(82vw,420px);aspect-ratio:16/10;overflow:hidden;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-ground-deep);scroll-snap-align:start}
.rg-big a{position:absolute;inset:0;display:block;color:var(--rg-ink)}
.rg-big a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--rg-ground-deep),transparent 64%)}
.rg-big img{display:block;width:100%;height:100%;object-fit:cover}
.rg-big-txt{position:absolute;left:0;right:56px;bottom:0;z-index:1;display:block;padding:12px 14px}
.rg-big-t{overflow:hidden;font-size:15px;line-height:1.45;white-space:nowrap;text-overflow:ellipsis}
.rg-big-meta{display:flex;align-items:center;gap:10px;min-width:0;margin-top:4px;font-size:12px;color:var(--rg-text)}
.rg-big-meta b{flex:0 0 auto;padding:0 7px;border-radius:5px;background:var(--rg-accent);font-size:11px;line-height:1.75;color:var(--rg-on-accent)}
.rg-big-meta span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rg-big-go{position:absolute;right:12px;bottom:12px;z-index:1;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--rg-line-hi);border-radius:50%;background:var(--rg-veil);color:var(--rg-ink)}
.rg-big-go svg{width:15px;height:15px}

/* 番号つきの列（週間人気） */
.rg-top10{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:0;padding:0;list-style:none}
.rg-top10 li{min-width:0}
.rg-top10 a{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--rg-r-s);color:var(--rg-ink)}
.rg-top10 a:hover{background:var(--rg-panel);color:var(--rg-ink)}
.rg-top10-n{flex:0 0 26px;font-size:16px;font-weight:800;text-align:center;color:var(--rg-faint)}
.rg-top10 li:nth-child(-n+3) .rg-top10-n{color:var(--rg-accent)}
.rg-top10 img{flex:0 0 64px;width:64px;height:48px;object-fit:cover;border-radius:6px;background:var(--rg-panel)}
.rg-top10-t{flex:1;min-width:0}
.rg-top10-t h3{overflow:hidden;font-size:14px;line-height:1.45;white-space:nowrap;text-overflow:ellipsis}
.rg-top10 a:hover h3{color:var(--rg-accent-hi)}
.rg-top10-t small{display:block;margin-top:2px;overflow:hidden;font-size:11.5px;color:var(--rg-mute);white-space:nowrap;text-overflow:ellipsis}

/* 大小のタイル（月間人気） */
.rg-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:700px){.rg-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rg-tile{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-ground-deep);color:var(--rg-ink)}
.rg-tile:hover{color:var(--rg-ink)}
.rg-tile.is-big{grid-column:1/-1;aspect-ratio:16/9}
.rg-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rg-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--rg-ground-deep),transparent 66%)}
.rg-tile-txt{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:3px;padding:8px 10px}
.rg-tile-txt b{align-self:flex-start;padding:0 6px;border-radius:4px;background:var(--rg-accent);font-size:10.5px;line-height:1.75;color:var(--rg-on-accent)}
.rg-tile-txt span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12.5px;font-weight:700;line-height:1.4}
.rg-tile.is-big .rg-tile-txt{padding:14px 16px}
.rg-tile.is-big .rg-tile-txt span{font-size:clamp(15px,1.8vw,19px)}
@media (min-width:1000px){.rg-tiles{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:118px}.rg-tile{aspect-ratio:auto}.rg-tile.is-big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}

/* 小さなカードの列（ゲームのページの「同じ棚」「同じサークル」） */
.rgd-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,44%);gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
@media (min-width:700px){.rgd-row{grid-auto-columns:minmax(150px,24%)}}
@media (min-width:1000px){.rgd-row{grid-auto-flow:row;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}}
.rgd-row>a,.rgd-row>div{display:flex;flex-direction:column;gap:4px;min-width:0;color:var(--rg-ink)}
.rgd-row>.is-plain{opacity:.8}
.rgd-row img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rg-line);border-radius:var(--rg-r-s);background:var(--rg-ground-deep)}
.rgd-row span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12.5px;font-weight:700;line-height:1.45}
.rgd-row a:hover span{color:var(--rg-accent-hi)}
.rgd-row small{font-size:11px;color:var(--rg-mute)}

/* ------------------------------------------------------------ 評価の棚（カード・表・札） */
.rgd-sers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:700px){.rgd-sers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.rgd-sers{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.rgd-ser{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-panel);color:var(--rg-ink);transition:border-color .15s}
a.rgd-ser:hover{border-color:var(--rg-accent-edge);color:var(--rg-ink)}
.rgd-ser img,.rgd-noimg{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--rg-ground-deep)}
.rgd-ser>span:not(.rgd-noimg){padding:10px 12px 0;overflow:hidden;font-size:14.5px;font-weight:700;line-height:1.4;white-space:nowrap;text-overflow:ellipsis}
a.rgd-ser:hover>span:not(.rgd-noimg){color:var(--rg-accent-hi)}
.rgd-ser small{padding:2px 12px 0;font-size:12px;color:var(--rg-mute)}
.rgd-ser small i{font-style:normal}
.rgd-ser em{align-self:flex-start;max-width:calc(100% - 24px);margin:8px 12px 12px;padding:0 8px;overflow:hidden;border:1px solid var(--rg-accent-edge);border-radius:999px;background:var(--rg-accent-soft);font-size:11px;font-style:normal;line-height:1.75;color:var(--rg-accent-hi);white-space:nowrap;text-overflow:ellipsis}
@media (max-width:420px){.rgd-ser>span:not(.rgd-noimg){padding:8px 10px 0;font-size:13.5px}.rgd-ser small{padding:2px 10px 0;font-size:11px}.rgd-ser small i{display:none}.rgd-ser em{margin:6px 10px 10px}}

.rgd-grid-wrap{overflow-x:auto;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-panel)}
.rgd-grid{width:100%;border-collapse:collapse;font-size:13px}
.rgd-grid th,.rgd-grid td{padding:9px 12px;border-bottom:1px solid var(--rg-line);text-align:left;vertical-align:middle}
.rgd-grid thead th{background:var(--rg-ground-deep);font-size:12px;font-weight:700;color:var(--rg-star);white-space:nowrap}
.rgd-grid tbody th{font-weight:700;color:var(--rg-ink);white-space:nowrap}
.rgd-grid tbody tr:last-child th,.rgd-grid tbody tr:last-child td{border-bottom:0}
.rgd-grid tbody tr:hover th,.rgd-grid tbody tr:hover td{background:var(--rg-panel-hi)}
@media (max-width:480px){.rgd-grid{font-size:12px}.rgd-grid th,.rgd-grid td{padding:8px 6px}.rgd-grid thead th{font-size:11px}}

.rgd-chip{display:inline-block;padding:1px 10px;border:1px solid var(--rg-accent-edge);border-radius:999px;background:var(--rg-accent-soft);font-size:12.5px;font-weight:700;line-height:1.65;color:var(--rg-accent-hi);white-space:nowrap}
a.rgd-chip:hover{border-color:var(--rg-accent);background:var(--rg-accent);color:var(--rg-on-accent)}
.rgd-chip.is-plain{border-color:var(--rg-line-hi);background:transparent;font-weight:500;color:var(--rg-mute)}
.rgd-chip.is-none{border-color:transparent;background:transparent;color:var(--rg-faint)}
.rgd-chip.is-on{border-color:var(--rg-accent);background:var(--rg-accent);color:var(--rg-on-accent)}

/* ------------------------------------------------------------ 節の箱・文・数字・FAQ */
.rg-box{margin:0 0 32px}
.rg-box-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 14px;padding:0 0 0 12px;border-left:3px solid var(--rg-accent);font-size:clamp(17px,2vw,21px);line-height:1.4}
.rg-box-h small{font-size:12px;font-weight:500;color:var(--rg-mute)}
.rg-box-in{min-width:0}
.rg-box-in>p{margin:0 0 10px;line-height:1.95}
.rgd-ai .rg-box-in p{margin:0;font-size:15px;line-height:2;color:var(--rg-text)}
.rgd-lines{margin:0;font-size:14.5px;line-height:1.95;color:var(--rg-text)}
.rg-note{margin:8px 0 0;font-size:12px;line-height:1.75;color:var(--rg-mute)}
.rg-note a{color:var(--rg-accent)}
.rgd-pos-st{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:10px;margin:0 0 14px}
.rgd-pos-st div{min-width:0;padding:12px 14px;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-panel)}
.rgd-pos-st b{display:block;font-size:21px;line-height:1.3;color:var(--rg-star);overflow-wrap:anywhere}
.rgd-pos-st span{display:block;margin-top:2px;font-size:11.5px;line-height:1.5;color:var(--rg-mute)}
.rgd-rate{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.rgd-rate>div{flex:1 1 220px;min-width:0}
.rgd-rate>.rgd-rate-avg{flex:0 0 auto}
.rgd-rate-avg b{display:block;font-size:30px;line-height:1.1;color:var(--rg-star)}
.rgd-rate-avg span,.rgd-rate-h{font-size:12px;color:var(--rg-mute)}
.rgd-rate-h{margin:0 0 6px}
.rgd-band{display:flex;height:10px;overflow:hidden;border-radius:999px;background:var(--rg-panel-hi)}
.rgd-band i{display:block;height:100%}
.rgd-band .s5{background:var(--rg-accent)}
.rgd-band .s4{background:color-mix(in srgb,var(--rg-accent) 55%,var(--rg-panel-hi))}
.rgd-band .s3{background:var(--rg-mute)}
.rgd-band .s2{background:var(--rg-faint)}
.rgd-band .s1{background:color-mix(in srgb,var(--rg-faint) 45%,var(--rg-panel-hi))}
.rgd-band-key{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:6px;font-size:11.5px;color:var(--rg-mute)}
.rgd-faq details{margin:0 0 8px;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-panel)}
.rgd-faq summary{display:flex;align-items:baseline;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}
.rgd-faq summary::-webkit-details-marker{display:none}
.rgd-faq summary::before{content:"Q";flex:0 0 auto;font-size:13px;font-weight:800;color:var(--rg-accent)}
.rgd-faq summary::after{content:"+";flex:0 0 auto;margin-left:auto;font-size:17px;line-height:1;color:var(--rg-mute)}
.rgd-faq details[open] summary::after{content:"−"}
.rgd-faq summary h3{font-size:14.5px;line-height:1.6}
.rgd-faq details p{margin:0;padding:0 14px 14px 37px;font-size:14px;line-height:1.9;color:var(--rg-text)}
.rgd-about{margin:8px 0 0;padding:14px 16px;border:1px dashed var(--rg-line-hi);border-radius:var(--rg-r);font-size:12px;line-height:1.85;color:var(--rg-mute)}
.rgd-about a{color:var(--rg-text);text-decoration:underline;text-decoration-color:var(--rg-line-hi);text-underline-offset:3px}

/* ------------------------------------------------------------ ゲームのページの FV（札と★ → 題名 → 大きい画像 → 中の画像 → CTA） */
.rg-fv{margin:0 0 28px}
.rg-fv-head{margin:0 0 12px}
.rg-fv-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 6px}
.rg-pill{display:inline-flex;align-items:center;padding:1px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.7}
.rg-pill.is-band{background:var(--rg-accent);color:var(--rg-on-accent)}
a.rg-pill.is-band:hover{background:var(--rg-accent-hi);color:var(--rg-on-accent)}
.rg-fv-star{display:inline-flex;align-items:baseline;gap:6px;font-size:15px;font-weight:800;line-height:1.6;color:var(--rg-star)}
.rg-fv-star small{font-size:12px;font-weight:500;color:var(--rg-mute)}
.rg-fv-t{margin:0 0 4px;font-size:clamp(20px,2.4vw,24px);line-height:1.35;overflow-wrap:anywhere}
.rg-fv-by{margin:0;font-size:13px;line-height:1.6;color:var(--rg-mute)}
.rg-fv-by a{color:var(--rg-text);text-decoration:underline;text-decoration-color:var(--rg-line-hi);text-underline-offset:3px}
.rg-gallery{min-width:0}
.rg-stage{display:flex;justify-content:center;overflow:hidden;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-ground-deep)}
.rg-fv-cov{display:block;max-width:100%;line-height:0}
.rg-stage img{display:block;width:auto;max-width:100%;max-height:min(50vh,520px);margin:0 auto;object-fit:contain}
@media (max-width:767px){
	.rg-stage{margin:0 calc(var(--rg-gut) * -1);border-width:1px 0;border-radius:0}
	.rg-fv-cov{width:100%}
	.rg-stage img{width:100%;height:auto;max-height:62vh;object-fit:cover}
}
.rg-strip{position:relative;margin:6px 0 0}
.rg-strip-in{display:flex;gap:6px;overflow-x:auto;padding:2px;scroll-snap-type:x proximity;scrollbar-width:none}
.rg-strip-in::-webkit-scrollbar{display:none}
.rg-thumb{flex:0 0 auto;width:76px;aspect-ratio:4/3;padding:0;overflow:hidden;border:2px solid transparent;border-radius:6px;background:var(--rg-panel);opacity:.62;cursor:pointer;scroll-snap-align:start;transition:opacity .15s,border-color .15s}
.rg-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.rg-thumb:hover{opacity:1}
.rg-thumb.is-on{border-color:var(--rg-accent);opacity:1}
.rg-strip-btn{position:absolute;top:50%;z-index:2;display:none;width:32px;height:32px;padding:0;transform:translateY(-50%);border:1px solid var(--rg-line-hi);border-radius:50%;background:var(--rg-veil);font-size:18px;line-height:1;color:var(--rg-ink);cursor:pointer}
.rg-strip-btn.is-prev{left:-4px}
.rg-strip-btn.is-next{right:-4px}
@media (min-width:768px){.rg-strip-btn{display:block}.rg-thumb{width:84px}}
.rg-fv-cta{display:flex;flex-direction:column;align-items:center;gap:6px;margin:10px 0 0}
.rg-go-lead{margin:0;font-size:12px;line-height:1.4;letter-spacing:.04em;color:var(--rg-mute)}
.rg-go{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:min(320px,100%);padding:14px 30px;border-radius:999px;background:var(--rg-accent);box-shadow:0 10px 26px color-mix(in srgb,var(--rg-accent) 28%,transparent);font-size:16px;font-weight:800;line-height:1.2;letter-spacing:.06em;color:var(--rg-on-accent)}
.rg-go:hover{background:var(--rg-accent-hi);color:var(--rg-on-accent)}
.rg-go::after{content:"";flex:0 0 auto;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.rg-go-wrap{margin:0 0 32px;text-align:center}
@media (max-width:600px){.rg-go{width:100%}}

/* このゲームの情報（表）と札 */
.rg-work-dl{display:grid;grid-template-columns:minmax(6em,max-content) minmax(0,1fr);margin:0;overflow:hidden;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-panel);font-size:14px}
.rg-work-dl dt,.rg-work-dl dd{margin:0;padding:10px 14px;border-bottom:1px solid var(--rg-line)}
.rg-work-dl dt{background:color-mix(in srgb,var(--rg-ground-deep) 45%,transparent);font-size:12px;font-weight:700;line-height:1.9;color:var(--rg-mute);white-space:nowrap}
.rg-work-dl dd{line-height:1.75;color:var(--rg-text);overflow-wrap:anywhere}
.rg-work-dl dt:last-of-type,.rg-work-dl dd:last-of-type{border-bottom:0}
.rg-work-dl dd a{color:var(--rg-accent)}
@media (max-width:480px){.rg-work-dl dt,.rg-work-dl dd{padding:9px 10px}}
.rg-tag{display:inline-block;margin:0 6px 6px 0;padding:1px 10px;border:1px solid var(--rg-line-hi);border-radius:6px;background:var(--rg-panel-hi);font-size:12px;line-height:1.65;color:var(--rg-text)}
a.rg-tag:hover{border-color:var(--rg-accent-edge);color:var(--rg-accent-hi)}
.rg-tag small{margin-left:4px;color:var(--rg-mute)}
.rg-tag.is-kind{border-color:var(--rg-accent-edge);background:var(--rg-accent-soft);color:var(--rg-accent-hi)}
.rg-work-dl dd .rg-tag{margin-bottom:4px}

/* ------------------------------------------------------------ 違法アップロードの注意（11/03 ユーザー決定 A＝ゲームの「状態異常」の画面。窓の枠・状態の札・1 行ずつ） */
.rgd-status{position:relative;padding:16px 18px 14px;border:2px solid var(--rg-line-hi);border-radius:var(--rg-r);background:var(--rg-ground-deep);box-shadow:inset 0 0 0 4px var(--rg-ground-deep),inset 0 0 0 5px var(--rg-line)}
.rgd-status-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 8px}
.rgd-status-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--rg-accent);color:var(--rg-on-accent);font-size:12px;font-weight:700;letter-spacing:.08em}
.rgd-status-top .rg-box-h{margin:0;padding:0;border:0;font-size:clamp(16px,1.9vw,19px)}
.rgd-status-lead{margin:0 0 10px;font-size:13.5px;line-height:1.8;color:var(--rg-text)}
.rgd-status-list{margin:0;padding:0;list-style:none}
.rgd-status-list li{display:grid;grid-template-columns:28px 48px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border-top:1px dashed var(--rg-line)}
.rgd-status-list li:first-child{border-top:0}
.rgd-status-list i{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--rg-panel-hi);color:var(--rg-accent-hi)}
.rgd-status-list i svg{width:16px;height:16px}
.rgd-status-list b{justify-self:start;padding:2px 8px;border:1px solid var(--rg-accent-edge);border-radius:4px;background:var(--rg-accent-soft);color:var(--rg-accent-hi);font-size:13px;line-height:1.5;letter-spacing:.06em}
.rgd-status-list span{font-size:13px;line-height:1.7;color:var(--rg-text)}
@media (max-width:520px){.rgd-status-list li{grid-template-columns:28px minmax(0,1fr);align-items:start}.rgd-status-list span{grid-column:1/-1}}
.rgd-status-ok{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:10px 12px;border-radius:var(--rg-r-s);background:var(--rg-panel);font-size:13.5px;line-height:1.8;color:var(--rg-text)}
.rgd-status-ok svg{flex:0 0 18px;width:18px;height:18px;margin-top:4px;color:var(--rg-good)}

/* ------------------------------------------------------------ 棚とサークルのページの見出し */
.rgd-head{position:relative;margin:0 0 28px;padding:22px 20px;overflow:hidden;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-ground-deep)}
.rgd-head::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--rg-ground-deep) 20%,transparent)}
.rg-work-bg{position:absolute;inset:-40px;background-position:center;background-size:cover;filter:blur(32px);opacity:.3;transform:scale(1.08)}
.rgd-head>:not(.rg-work-bg){position:relative;z-index:1}
.rgd-head-in{display:flex;align-items:center;gap:20px}
.rgd-avatar{flex:0 0 auto;width:clamp(120px,26vw,280px);aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rg-line-hi);border-radius:var(--rg-r-s)}
.rgd-head-txt{min-width:0}
.rgd-kicker{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--rg-accent-hi)}
.rgd-h1{margin:0 0 8px;font-size:clamp(21px,3vw,30px);line-height:1.3;overflow-wrap:anywhere}
.rgd-sub{margin:0;font-size:13px;line-height:1.7;color:var(--rg-text)}
.rgd-ladder{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:12px 0 0;font-size:12.5px;color:var(--rg-mute)}
@media (max-width:640px){.rgd-head{padding:18px 16px}.rgd-head-in{flex-direction:column;align-items:flex-start;gap:14px}.rgd-avatar{width:100%}}

/* ------------------------------------------------------------ 一覧の固定ページ（見出し・絞り込み・ページ送り・検索） */
.rg-list-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 14px;margin:2px 0 10px}
.rg-list-h h1{font-size:clamp(22px,3vw,30px);line-height:1.3}
.rg-list-h nav{display:flex;flex-wrap:wrap;gap:6px}
.rg-list-h nav a{padding:4px 12px;border:1px solid var(--rg-line-hi);border-radius:999px;font-size:12.5px;font-weight:600;line-height:1.6;color:var(--rg-text)}
.rg-list-h nav a:hover{border-color:var(--rg-accent-edge);color:var(--rg-accent-hi)}
.rg-list-h nav a.is-on{border-color:var(--rg-accent);background:var(--rg-accent);color:var(--rg-on-accent)}
.rg-lead{max-width:860px;margin:0 0 20px;font-size:13px}
.rg-h2{margin:22px 0 12px;font-size:19px}
.rg-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:24px 0 6px}
.rg-pager a,.rg-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--rg-line-hi);border-radius:var(--rg-r-s);background:var(--rg-panel);font-size:13px;font-weight:600;color:var(--rg-ink)}
.rg-pager a:hover{border-color:var(--rg-accent-edge);color:var(--rg-accent-hi)}
.rg-pager span[aria-current]{border-color:var(--rg-accent);background:var(--rg-accent);color:var(--rg-on-accent)}
.rg-pager i{align-self:center;font-style:normal;color:var(--rg-faint)}
.rg-find{display:flex;gap:8px;max-width:560px;margin:0 0 22px}
.rg-find input{flex:1;min-width:0;padding:11px 14px;border:1px solid var(--rg-line-hi);border-radius:var(--rg-r-s);background:var(--rg-panel);font-size:16px;color:var(--rg-ink)}
.rg-find input::placeholder{color:var(--rg-faint)}
.rg-find button{flex:0 0 auto;padding:0 20px;border:0;border-radius:var(--rg-r-s);background:var(--rg-accent);font-weight:700;color:var(--rg-on-accent);cursor:pointer}
.rg-find button:hover{background:var(--rg-accent-hi)}

/* ------------------------------------------------------------ 固定ページ・受け皿・404 */
.rg-doc{max-width:860px;margin:0 auto}
.rg-doc-h{margin:4px 0 18px;font-size:clamp(22px,3vw,30px);line-height:1.35}
.rg-doc-body{font-size:15px;line-height:1.95;color:var(--rg-text)}
.rg-doc-body>:first-child{margin-top:0}
.rg-doc-body h2{margin:30px 0 10px;padding:0 0 6px;border-bottom:1px solid var(--rg-line);font-size:19px}
.rg-doc-body h3{margin:20px 0 8px;font-size:16px}
.rg-doc-body p{margin:0 0 14px}
.rg-doc-body ul,.rg-doc-body ol{margin:0 0 14px;padding-left:1.4em}
.rg-doc-body li{margin:0 0 4px}
.rg-doc-body a{color:var(--rg-accent);text-decoration:underline;text-decoration-color:var(--rg-accent-edge);text-underline-offset:3px}
.rg-doc-body table{width:100%;margin:0 0 16px;border:1px solid var(--rg-line);border-collapse:collapse;background:var(--rg-panel);font-size:14px}
.rg-doc-body th,.rg-doc-body td{padding:10px 12px;border-bottom:1px solid var(--rg-line);text-align:left;vertical-align:top}
.rg-doc-body th{width:7.5em;font-size:12.5px;color:var(--rg-mute);white-space:nowrap}
.rg-doc-body td{overflow-wrap:anywhere}
.rg-doc-body td ul{margin:0}
.rg-spare-list{margin:0 0 16px;padding-left:1.4em;line-height:2}
.rg-spare-back,.rg-lost-go{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.rg-spare-back a,.rg-lost-go a{padding:6px 14px;border:1px solid var(--rg-accent-edge);border-radius:999px;font-size:13px;font-weight:700}
.rg-spare-back a:hover,.rg-lost-go a:hover{background:var(--rg-accent-soft)}
.rg-lost{max-width:640px;margin:20px auto;padding:28px 22px;border:1px solid var(--rg-line);border-radius:var(--rg-r);background:var(--rg-panel);text-align:center}
.rg-lost-h{margin:0 0 10px;font-size:22px}
.rg-lost p{margin:0;color:var(--rg-text)}
.rg-lost .rg-lost-go{justify-content:center}

/* ------------------------------------------------------------ フッター（紹介・ゲームジャンル・案内・新着・著作） */
.rg-base{margin-top:24px;border-top:1px solid var(--rg-line);background-color:var(--rg-ground-deep);background-image:radial-gradient(circle,var(--rg-dot) 1px,transparent 1.6px);background-size:22px 22px;color:var(--rg-mute)}
.rg-base-in{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;max-width:var(--rg-max);margin:0 auto;padding:36px var(--rg-gut) 24px}
.rg-base-in>div{min-width:0}
@media (min-width:700px){.rg-base-in{grid-template-columns:repeat(2,minmax(0,1fr))}.rg-base-intro,.rg-foot-new{grid-column:1/-1}}
@media (min-width:1000px){.rg-base-in{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)}.rg-base-intro,.rg-foot-new{grid-column:auto}}
.rg-base-name{margin:0 0 8px;font-size:17px;font-weight:800;letter-spacing:.04em;color:var(--rg-ink)}
.rg-base-intro p:not(.rg-base-name){margin:0 0 10px;font-size:13px;line-height:1.85}
.rg-base-age{color:var(--rg-mute)}
.rg-base-h,.rg-foot-new-h{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--rg-ink)}
.rg-base ul{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none}
.rg-base li{min-width:0}
.rg-base li a{font-size:13.5px;line-height:1.5;color:var(--rg-text)}
.rg-base li a:hover{color:var(--rg-accent-hi)}
.rg-foot-new li a{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rg-foot-new-more{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--rg-accent)}
.rg-base-copy{margin:0;padding:14px var(--rg-gut) 22px;border-top:1px solid var(--rg-line);font-size:11.5px;text-align:center;color:var(--rg-faint)}
body.rgd-sticky-on .rg-base-copy{padding-bottom:96px}
@media (min-width:768px){body.rgd-sticky-mode-banner .rg-base-copy{padding-bottom:136px}}

/* ------------------------------------------------------------ 追従の CTA・バナー（プラグインの Fanza_Banners） */
.rgd-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;justify-content:center;padding:10px var(--rg-gut) calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--rg-line-hi);background:var(--rg-veil);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(110%);visibility:hidden;transition:transform .22s ease,visibility .22s}
.rgd-sticky-cta.is-visible{transform:none;visibility:visible}
.rgd-sticky-cta a{display:flex;align-items:center;justify-content:center;width:100%;max-width:440px;padding:14px 24px;border-radius:999px;background:var(--rg-accent);font-size:15.5px;font-weight:800;line-height:1.2;letter-spacing:.06em;color:var(--rg-on-accent)}
.rgd-sticky-cta a:hover{background:var(--rg-accent-hi);color:var(--rg-on-accent)}
.rgd-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;justify-content:center;padding:8px 44px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--rg-line-hi);background:var(--rg-veil)}
.rgd-sticky-bar-inner{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:64px;overflow:hidden}
.rgd-sticky-bar img{display:block;width:auto;max-width:100%;height:auto;max-height:64px}
@media (min-width:768px){.rgd-sticky-bar-inner,.rgd-sticky-bar img{max-height:100px}}
.rgd-sticky-close{position:absolute;top:6px;right:8px;width:28px;height:28px;padding:0;border:1px solid var(--rg-line-hi);border-radius:50%;background:var(--rg-panel);font-size:16px;line-height:1;color:var(--rg-mute);cursor:pointer}
.rgd-sticky-close:hover{color:var(--rg-ink)}
.rgd-banner{margin:24px auto;text-align:center}
.rgd-banner-inner{max-width:100%;margin:0 auto}
.rgd-banner img{max-width:100%;height:auto}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
