/* Development preview: one editorial system for desktop and mobile. */
body.gd-visual-refresh { --gd-ink:#202226; --gd-muted:#565b63; --gd-line:#dddfe3; --gd-yellow:#ffce00; font-family:Meiryo,"Hiragino Kaku Gothic ProN",Arial,sans-serif; color:var(--gd-ink); background:#f4f5f7; }
.gd-visual-refresh .header-top { height:30px; padding:0; }
.gd-visual-refresh .header-top-caption { line-height:30px; font-size:11px; color:#222; font-weight:700; }
.gd-visual-refresh .header-searchbox { top:0; }
.gd-visual-refresh .header-body { padding:18px 0; }
.gd-visual-refresh .header-menu ul { background:#222429; border-bottom:3px solid var(--gd-yellow); }
.gd-visual-refresh .header-menu .gd-primary-nav a { font-size:14px; font-weight:700; padding:16px 0; }
.gd-visual-refresh .header-menu .gd-primary-nav li+li { border-left:1px solid #ffffff12; }
.gd-visual-refresh .gd-subnav { background:#fff; border-bottom:1px solid var(--gd-line); min-height:44px; }
.gd-visual-refresh .gd-subnav>a { color:#303239; font-weight:700; font-size:12px; }
.gd-visual-refresh .gd-subnav>span { color:var(--gd-muted); }
.gd-visual-refresh .contents-box { border-color:var(--gd-line); border-radius:6px; box-shadow:none; }
.gd-visual-refresh .contents-box-header { background:transparent; border:0; border-bottom:2px solid #25272b; border-radius:0; margin:0 20px; padding:20px 0 14px; }
.gd-visual-refresh .contents-box-header span { height:auto; line-height:1.5; border:0; padding:0; color:var(--gd-ink); font-size:22px; font-weight:700; letter-spacing:0; }
.gd-visual-refresh .contents-box-header span::before { content:""; display:inline-block; background:var(--gd-yellow); width:6px; height:22px; margin-right:10px; vertical-align:-3px; border-radius:2px; }
.gd-visual-refresh .contents-line { padding:20px; border-bottom:1px solid #e7e8eb; }
.gd-visual-refresh .contents-line-title { font-size:17px; line-height:1.65; color:#202226; font-weight:700; }
.gd-visual-refresh .contents-line-description { font-size:14px; color:#41464d; }
.gd-visual-refresh .contents-line-icon { border-radius:4px; background-color:#fff; background-size:contain; background-repeat:no-repeat; background-position:center; }
.gd-visual-refresh .contents-line-issue,.gd-visual-refresh .contents-sline-issue { color:var(--gd-muted); font-size:12px; }
.gd-visual-refresh .contents-box-more a,.gd-visual-refresh .contents-right-box-more a { background:#fff; border:1px solid #b9bdc3; border-radius:4px; color:#26292e; padding:10px 16px; font-size:13px; font-weight:700; }
.gd-visual-refresh .contents-box-more a:hover,.gd-visual-refresh .contents-right-box-more a:hover { background:#fff7cf; border-color:#ad8f14; }
.gd-visual-refresh .contents-right-box:has(.contents-right-box-header) { padding:0 16px 16px; border-color:var(--gd-line); border-radius:6px; }
.gd-visual-refresh .contents-right-box-header { background:transparent; color:#202226; border:0; border-bottom:2px solid #272a30; padding:16px 0 12px; font-size:18px; margin:0; }
.gd-visual-refresh .contents-sline-title { font-size:14px; font-weight:700; line-height:1.65; color:#202226; }
.gd-visual-refresh .contents-sline-icon { background-size:contain; background-color:#fff; }
.gd-visual-refresh .contents-sline-tag { font-size:10px; }
.gd-visual-refresh .contents-sline .contents-line-stamp { background:#33373d; color:#fff; width:23px; height:23px; line-height:23px; font-weight:700; }
.gd-visual-refresh .contents-sline .contents-line-stamp.gold { background:var(--gd-yellow); color:#191919; }
.gd-visual-refresh .gd-discover { padding:0 16px; border:1px solid var(--gd-line); border-radius:6px; background:#fff; margin-bottom:24px; }
.gd-visual-refresh .gd-discover h2 { padding:16px 0 12px; margin:0; font-size:18px; font-weight:700; color:#202226; background:none; border-bottom:2px solid #272a30; line-height:1.5; }
.gd-visual-refresh .gd-discover a { display:grid; grid-template-columns:76px minmax(0,1fr) 10px; align-items:center; gap:10px; padding:16px 0; border-top:0; border-bottom:1px solid #e3e5e8; }
.gd-visual-refresh .gd-discover img { width:76px; height:72px; object-fit:cover; border-radius:4px; background:#f3f3f0; }
.gd-visual-refresh .gd-discover strong { font-size:14px; font-weight:700; line-height:1.6; }
.gd-visual-refresh .gd-discover small { display:block; font-size:10px; color:#625013; font-weight:700; margin-bottom:3px; }
.gd-visual-refresh .gd-discover span { color:#50545b; font-size:11px; line-height:1.7; margin-top:3px; }
.gd-visual-refresh .gd-discover b { position:static; font-size:22px; color:#292929; }
.gd-visual-refresh .gd-discover a:hover { background:#fff9df; }
.gd-visual-refresh .gd-discover .gd-discover-library { grid-template-columns:34px minmax(0,1fr) 10px; border:0; }
.gd-visual-refresh .gd-discover-library svg { width:34px; height:34px; color:#272727; background:#ffdc45; border-radius:4px; padding:3px; box-sizing:border-box; }
.gd-visual-refresh .gd-discover-library strong { font-size:13px; }
.gd-visual-refresh .menu .gd-discover { padding:0 16px; margin-top:58px; }
.gd-visual-refresh .gd-article-refresh .article-title { color:#16191e; font-weight:700; }
.gd-visual-refresh .gd-article-refresh .article-description { color:#25282d; }
.gd-visual-refresh .gd-article-refresh .article-list>p { border:0; border-bottom:2px solid #272a30; padding:0 0 12px; background:transparent; font-size:21px; }
.gd-visual-refresh .gd-article-refresh .article-list .contents-sline { border-color:var(--gd-line); border-radius:5px; background:#fff; }
.gd-visual-refresh .gd-article-refresh .article-list .contents-sline-title { font-size:14px; }
.gd-visual-refresh footer { background:#e9ebee; border-top:4px solid var(--gd-yellow); color:#282b30; }
.gd-visual-refresh .gd-footer h2 { font-size:14px; color:#222; }
.gd-visual-refresh .gd-footer nav>a { color:#383d44; font-size:13px; }
.gd-visual-refresh .gd-footer-brand>p { color:#383d44; font-size:13px; }
/* Homepage: one responsive template; no rotating editorial banners. */
.gd-home-page .body-center { width:1160px; max-width:calc(100% - 40px); }
.gd-home-page .contents { padding-top:28px; }
.gd-home-page .contents-main { width:calc(100% - 332px); padding-right:0; }
.gd-home-page .contents-right { width:300px; margin-left:32px; }
.gd-home-page .gd-home-hero { margin:0 0 32px; }
.gd-home-section-heading { display:flex; align-items:baseline; gap:16px; margin-bottom:16px; }
.gd-home-section-heading h1 { font-size:23px; line-height:1.5; margin:0; color:#1d2025; font-weight:700; }
.gd-home-section-heading h1::before { content:""; width:8px; height:23px; display:inline-block; background:#ffce00; border-radius:2px; margin-right:10px; vertical-align:-3px; }
.gd-home-section-heading>span { font-size:12px; color:#565b63; }
.gd-hero-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.gd-hero-card { display:flex; flex-direction:column; background:#fff; color:#202226; border:1px solid #dddfe3; border-radius:6px; overflow:hidden; text-decoration:none; }
.gd-hero-card:hover { border-color:#aaa; text-decoration:none; }
.gd-hero-image { overflow:hidden; background:#e9ebee; min-width:0; height:140px; flex-shrink:0; }
.gd-hero-image img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .2s; }
.gd-hero-card:hover .gd-hero-image img { transform:scale(1.025); }
.gd-hero-card:not(.gd-hero-lead) .gd-hero-image img { object-fit:cover; }
.gd-hero-copy { padding:12px 14px; align-self:stretch; }
.gd-card-label { font-size:10px; font-weight:700; line-height:1.6; color:#544300; background:#ffdf5b; padding:3px 7px; border-radius:2px; display:inline-block; }
.gd-hero-copy h2 { margin:6px 0 8px; font-size:14px; line-height:1.65; color:#202226; font-weight:700; }
.gd-hero-copy time { font-size:12px; color:#565b63; }
.gd-hero-lead { border-top:3px solid #ffce00; }
.gd-hero-lead .gd-hero-image { height:138px; }
.gd-topic-strip { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:18px 0 0; }
.gd-topic-strip>span { font-size:11px; font-weight:700; letter-spacing:.08em; color:#4b5058; margin-right:4px; }
.gd-topic-strip a { display:inline-block; color:#33383f; background:#fff; border:1px solid #d7dade; font-size:12px; padding:7px 12px; border-radius:4px; }
.gd-topic-strip a:hover { background:#fff4bb; border-color:#d0aa00; }
.gd-visual-refresh .header-searchbox { top:0; width:280px; }
.gd-header-search { display:flex; height:30px; background:#fff; border:1px solid #d7b21d; border-radius:4px; overflow:hidden; }
.gd-header-search input { min-width:0; flex:1; color:#25282e; padding:4px 10px; font:inherit; font-size:12px; outline-offset:-2px; }
.gd-header-search button { width:38px; color:#24272c; cursor:pointer; }
.gd-header-search button:hover { background:#fff3b8; }
.gd-header-search svg { width:17px; height:17px; vertical-align:middle; }
.gd-home-page .contents-line:has(>.contents-line-icon) { grid-template-columns:180px minmax(0,1fr); column-gap:22px; }
.gd-home-page .contents-line-icon { height:112px; }
.gd-home-page .contents-line-tag { margin-top:8px; }
.gd-home-page .contents-line-issue { margin-top:4px; }
@media(min-width:801px) and (max-width:1100px) {
 .gd-home-page .body-center { max-width:calc(100% - 24px); }
 .gd-home-page .contents-main { width:calc(100% - 316px); }
 .gd-home-page .contents-right { margin-left:16px; }
 .gd-home-page .contents-line:has(>.contents-line-icon) { grid-template-columns:135px minmax(0,1fr); gap:6px 14px; }
 .gd-hero-card:not(.gd-hero-lead) { grid-template-columns:38% minmax(0,1fr); }
 .gd-hero-copy { padding:14px; }
 .gd-hero-copy h2 { font-size:15px; }
}
@media(max-width:800px) {
 .gd-visual-refresh .header-body { padding:8px 0; }
 .gd-visual-refresh .header-menu .gd-primary-nav a { font-size:11px; padding:14px 1px; }
 .gd-visual-refresh .contents-box-header { margin:0 14px; padding:16px 0 12px; }
 .gd-visual-refresh .contents-box-header span { font-size:19px; }
 .gd-visual-refresh .contents-line { padding:16px 12px; }
 .gd-visual-refresh .contents-line-title { font-size:15px; line-height:1.65; }
 .gd-home-page .body-center { width:100%; max-width:100%; }
 .gd-home-page .contents { padding-top:20px; }
 .gd-home-page .contents-main { width:100%; }
 .gd-home-page .contents-right { margin-left:0; }
 .gd-home-page .gd-home-hero { margin:0 14px 24px; }
 .gd-home-section-heading { margin-bottom:12px; }
 .gd-home-section-heading h1 { font-size:20px; }
 .gd-home-section-heading>span { display:none; }
 .gd-hero-grid { grid-template-columns:1fr; gap:8px; }
 .gd-hero-card { display:grid; grid-template-columns:100px minmax(0,1fr); border-radius:5px; }
 .gd-hero-image,.gd-hero-lead .gd-hero-image { width:100%; height:100%; min-height:96px; }
 .gd-hero-copy { padding:10px; align-self:stretch; }
 .gd-hero-copy h2 { font-size:12px; line-height:1.6; margin:0 0 5px; }
 .gd-hero-copy time { font-size:11px; }
 .gd-hero-copy .gd-card-label { display:none; }
 .gd-topic-strip { gap:7px; padding-top:14px; }
 .gd-topic-strip>span { display:none; }
 .gd-topic-strip a { padding:6px 9px; font-size:11px; }
 .gd-home-page .contents-line:has(>.contents-line-icon) { grid-template-columns:108px minmax(0,1fr); column-gap:12px; }
 .gd-home-page .contents-line-icon { height:84px; }
 .gd-home-page .contents-line-title { font-size:14px; }
 .gd-home-page .gd-footer { width:auto; margin:0 20px; }
}
@media(prefers-reduced-motion:reduce) { .gd-hero-image img { transition:none; } }

/* Cross-page rhythm: the same frame, type hierarchy and controls everywhere. */
.gd-series-directory-lead { margin:0; padding:18px 20px 6px; font-size:14px; line-height:1.8; color:#50565e; }
.gd-series-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:20px; }
.gd-series-directory-card { display:flex; flex-direction:column; border:1px solid #dce0e5; border-radius:6px; overflow:hidden; background:#fff; color:#202226; text-decoration:none; }
.gd-series-directory-card:hover { border-color:#a48a28; background:#fffdf3; text-decoration:none; }
.gd-series-directory-art { padding:14px; display:flex; align-items:center; justify-content:center; aspect-ratio:3/1; background:#fff; border-bottom:1px solid #eceef0; }
.gd-series-directory-art img { display:block; width:100%; max-height:110px; object-fit:contain; }
.gd-series-directory-art>span { color:#686d74; font-size:13px; }
.gd-series-directory-copy { display:flex; flex-direction:column; flex:1; padding:16px; }
.gd-series-directory-copy h2 { font-size:16px; line-height:1.65; margin:0 0 16px; color:#202226; }
.gd-series-directory-copy>span { margin-top:auto; font-size:12px; font-weight:700; color:#58503a; display:flex; justify-content:space-between; }
@media(max-width:800px) {
 .gd-series-directory-grid { grid-template-columns:1fr; gap:14px; padding:16px; }
 .gd-series-directory-lead { padding:16px 16px 0; font-size:13px; }
 .gd-series-directory-copy h2 { font-size:15px; }
}
.gd-visual-refresh .gd-series-intro { padding:22px 24px; }
.gd-series-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; color:#60656b; font-size:11px; line-height:1.8; margin-bottom:20px; }
.gd-series-breadcrumb a { color:#50565e; }
.gd-series-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.gd-series-heading>div { min-width:0; }
.gd-series-eyebrow { font-size:11px; color:#666; margin:0 0 8px; }
.gd-series-heading h1 { font-size:27px; line-height:1.5; margin:0; color:#202226; }
.gd-series-heading>img { width:240px; max-width:38%; height:auto; object-fit:contain; border-radius:4px; }
.gd-series-description { border-top:1px solid #e1e3e7; margin-top:20px; padding-top:16px; font-size:14px; line-height:1.85; color:#40464e; overflow-wrap:anywhere; }
.gd-series-description img { max-width:100%; height:auto; }
.gd-series-description p { margin:0 0 10px; }
.gd-series-share { padding:0 20px; }
.gd-series-empty { padding:24px; color:#555; }
@media(max-width:800px) {
 .gd-visual-refresh .gd-series-intro { padding:18px 16px; }
 .gd-series-heading { gap:12px; flex-direction:column; align-items:flex-start; }
 .gd-series-heading h1 { font-size:22px; }
 .gd-series-heading>img { width:180px; max-width:65%; }
 .gd-series-description { font-size:13px; }
 .gd-series-share { padding:0 16px; }
}
.gd-visual-refresh .body-center { width:1160px; max-width:calc(100% - 40px); }
.gd-visual-refresh .contents-main { width:calc(100% - 332px); padding-right:0; }
.gd-visual-refresh .contents-right { width:300px; margin-left:32px; }
.gd-visual-refresh .contents { padding-top:24px; }
.gd-visual-refresh .contents-box { margin-bottom:28px; }
.gd-visual-refresh .contents-line:has(>.contents-line-icon) { grid-template-columns:180px minmax(0,1fr); column-gap:22px; }
.gd-visual-refresh .contents-line-icon { height:112px; }
.gd-visual-refresh .contents-line-tag { margin-top:8px; font-size:11px; line-height:1.6; }
.gd-visual-refresh .contents-line-tag>span { padding:2px 5px; border-radius:3px; }
.gd-visual-refresh .contents-line-issue { margin-top:6px; font-variant-numeric:tabular-nums; }
.gd-visual-refresh .contents-box-body>.dot-bottom-line { padding:16px 20px; border-bottom:1px solid var(--gd-line); color:#50555c; font-size:13px; line-height:1.8; }
.gd-visual-refresh .contents-box-header span { overflow-wrap:anywhere; }
.gd-visual-refresh .gd-article-refresh .contents-box-body { padding:30px 34px; }
.gd-visual-refresh .gd-article-refresh .article-title { font-size:29px; line-height:1.55; letter-spacing:.015em; margin:20px 0; }
.gd-visual-refresh .gd-article-refresh .article-description { line-height:1.95; }
.gd-visual-refresh .gd-article-refresh .article-description h2 { background:#f3f4f6; border-left:5px solid #ffce00; border-radius:0 4px 4px 0; font-size:22px; padding:14px 18px; }
.gd-visual-refresh .gd-article-refresh .article-description h3 { font-size:19px; border-bottom:1px solid #dddfe3; padding-bottom:10px; }
.gd-visual-refresh .gd-article-refresh .gd-article-toc { background:#f7f8fa; border:1px solid #dddfe3; border-top:3px solid #ffce00; border-radius:5px; padding:18px 22px; }
.gd-visual-refresh .gd-article-refresh .gd-article-toc a { text-decoration:none; color:#343c46; }
.gd-visual-refresh .gd-article-refresh .gd-article-toc a:hover { text-decoration:underline; }
.gd-visual-refresh .gd-article-refresh .gd-reading-next { background:#f7f8fa; padding:22px; border:1px solid #dddfe3; border-top:3px solid #ffce00; border-radius:5px; }
.gd-visual-refresh .gd-article-refresh .gd-reading-link { background:#fff; padding:14px 16px; font-size:14px; font-weight:700; }
.gd-visual-refresh .gd-share { margin:28px 0; padding:20px 0; }
.gd-visual-refresh .gd-share-actions a,.gd-visual-refresh .gd-share-actions button { font-size:12px; font-weight:700; }
.gd-visual-refresh .gd-search-pagination { border-top:1px solid var(--gd-line); gap:12px; }
.gd-visual-refresh .gd-search-pagination a { min-height:44px; color:#282d34; font-size:13px; font-weight:700; }
.gd-visual-refresh .gd-search-pagination a:hover { background:#fff4bd; }
.gd-visual-refresh .game-guide { background:#fff; border:1px solid #dddfe3; border-radius:6px; padding:24px; color:#252a31; }
.gd-visual-refresh .game-guide h1 { font-size:29px; line-height:1.5; }
.gd-visual-refresh .game-guide .gp-index-hero,.gd-visual-refresh .game-guide .gp-detail-hero { border-bottom:2px solid #282d34; padding:12px 0 24px; }
.gd-visual-refresh .game-guide .gp-section-heading { border-bottom:2px solid #282d34; }
.gd-visual-refresh .game-guide .gp-game-card { border-color:#dce0e5; border-radius:5px; padding:16px; }
.gd-visual-refresh .game-guide .gp-card-art { background:#fff7d6; border-radius:3px; }
.gd-visual-refresh .game-guide .gp-panel { border-radius:5px; border-color:#dce0e5; padding:22px; }
.gd-visual-refresh .game-guide .gp-filters a { border-radius:4px; padding:7px 12px; background:#f4f5f7; }
.gd-visual-refresh .game-guide .gp-filters a[aria-current] { background:#ffce00; }
.gd-visual-refresh .game-guide .gp-button { border-radius:4px; padding:11px 16px; color:#222; }
.gd-visual-refresh .game-guide .gp-guide-toc { background:#f5f6f8; border-radius:5px; }
.gd-visual-refresh .game-guide .gp-facts>div { padding:13px 0; }
.gd-visual-refresh .gd-footer { padding-top:6px; padding-bottom:10px; }
.gd-visual-refresh .gd-footer nav>a { line-height:1.8; }
.gd-mobile-navigation { padding:24px 20px 40px; background:#fff; }
.gd-mobile-navigation .gd-menu-title { margin:0 0 24px; color:#222; font-weight:700; font-size:19px; border-bottom:4px solid #ffce00; padding-bottom:14px; }
.gd-mobile-navigation .gd-menu-subtitle { color:#666; font-size:11px; font-weight:700; margin:0 0 8px; }
.gd-mobile-navigation>a { display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid #e6e8eb; color:#222; font-size:14px; font-weight:700; }
.gd-mobile-navigation>a>span { color:#8a8f96; }
.gd-mobile-navigation details { margin:20px 0; background:#f4f5f7; padding:14px; border-radius:5px; }
.gd-mobile-navigation summary { cursor:pointer; font-size:13px; font-weight:700; }
.gd-mobile-navigation details a,.gd-menu-account a { display:block; color:#424850; font-size:12px; padding:12px 0; }
.gd-mobile-search { padding:20px; }
.gd-mobile-search h2 { color:#222; font-size:20px; margin:0 0 16px; }
.gd-mobile-search p { font-size:12px; color:#555; }
.gd-mobile-search .gd-header-search { height:46px; border:1px solid #b8bcc3; }
.gd-mobile-search .gd-header-search input { font-size:16px; }
.gd-mobile-search .gd-header-search button { width:46px; background:#ffce00; }
@media(min-width:801px) and (max-width:1100px) {
 .gd-visual-refresh .body-center { max-width:calc(100% - 24px); }
 .gd-visual-refresh .contents-main { width:calc(100% - 316px); }
 .gd-visual-refresh .contents-right { margin-left:16px; }
 .gd-visual-refresh .contents-line:has(>.contents-line-icon) { grid-template-columns:130px minmax(0,1fr); column-gap:14px; }
 .gd-visual-refresh .gd-article-refresh .contents-box-body { padding:24px; }
}
@media(max-width:800px) {
 .gd-visual-refresh .body-center { width:100%; max-width:100%; }
 .gd-visual-refresh .contents { padding-top:16px; }
 .gd-visual-refresh .contents-main { width:100%; }
 .gd-visual-refresh .contents-right { margin-left:0; }
 .gd-visual-refresh .contents-box { margin-bottom:20px; }
 .gd-visual-refresh .contents-line:has(>.contents-line-icon) { grid-template-columns:108px minmax(0,1fr); column-gap:12px; }
 .gd-visual-refresh .contents-line-icon { height:84px; }
 .gd-visual-refresh .contents-line-title { font-size:14px; }
 .gd-visual-refresh .gd-article-refresh .contents-box-body { padding:20px 16px; }
 .gd-visual-refresh .gd-article-refresh .article-title { font-size:23px; line-height:1.6; }
 .gd-visual-refresh .gd-article-refresh .article-description h2 { font-size:20px; padding:12px 14px; }
 .gd-visual-refresh .gd-article-refresh .article-description h3 { font-size:18px; }
 .gd-visual-refresh .gd-article-refresh .gd-reading-next { padding:16px; }
 .gd-visual-refresh .game-guide { border-radius:0; border-left:0; border-right:0; padding:18px 14px; }
 .gd-visual-refresh .game-guide h1 { font-size:24px; }
 .gd-visual-refresh .game-guide .gp-panel { padding:16px; }
 .gd-visual-refresh .gd-footer { width:auto; margin:0 20px; }
}
