/* GAMEX Nova 1.0.1 — 見た目の層。gamex-c-design の c-shell.css のあとに読み込む。色と形だけを変え、仕組みと広告の出し方は変えない。 */
:root{
 --c-base:#f2f3f7;--c-paper:#fff;--c-ink:#151920;--c-muted:#5a6372;--c-line:#e0e4ea;--c-accent:#d42a2a;--c-hover:#f0f2f6;--c-subtle:#eceff4;--c-shadow:0 10px 30px #10162214;
 --nv-r:14px;--nv-grad:linear-gradient(100deg,#ff2d2d 0%,#ff7a18 100%);--nv-solid:#d42a2a;--nv-tint:#fdeceb;
 --nv-shadow:0 1px 2px #1016220d,0 6px 18px #1016220f;--nv-shadow-up:0 2px 6px #10162214,0 16px 36px #10162226;--nv-gut:32px;
}
html[data-theme=dark]{
 --c-base:#0d1015;--c-paper:#171b23;--c-ink:#eef1f6;--c-muted:#a7b0be;--c-line:#2b323d;--c-accent:#ff6f61;--c-hover:#202632;--c-subtle:#1e242f;--c-shadow:none;
 --nv-tint:#3a2022;--nv-shadow:0 0 0 1px #ffffff08;--nv-shadow-up:0 0 0 1px #ffffff26,0 14px 34px #00000099;
}
@media(max-width:760px){:root{--nv-gut:16px}}
body.nv.c-site{background:var(--c-base)!important}
.nv .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nv-wrap{width:min(1240px,calc(100% - var(--nv-gut)*2));margin-inline:auto}

/* ---- ヘッダー ---- */
body.nv .c-site-header{background:radial-gradient(900px 240px at 6% -70%,#ff2d2d47,transparent 62%),radial-gradient(700px 220px at 98% -90%,#ff7a182b,transparent 60%),linear-gradient(180deg,#07080b,#12151c);border-bottom:0}
body.nv .c-site-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--nv-grad)}
body.nv .c-header-inner{height:78px;gap:18px}
body.nv .c-brand{width:134px;flex:0 0 134px}body.nv .c-brand img{width:134px;height:71px}
body.nv .c-site-header .c-global-nav{gap:4px}
body.nv .c-site-header .c-global-nav a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;font-size:13.5px;font-weight:700;line-height:1;color:#cfd5de;transition:background .15s,color .15s}
body.nv .c-global-nav a svg{width:18px;height:18px;flex:none}
body.nv .c-global-nav a:hover{background:#ffffff1a;color:#fff}
body.nv .c-site-header .c-global-nav a[aria-current]{background:var(--nv-grad);color:#fff;box-shadow:0 6px 18px #ff3b2a45}
body.nv .c-global-nav a[aria-current]:after{display:none}
body.nv .c-global-nav .nv-s{display:none}
body.nv .c-search-link{border-color:#ffffff30;background:#ffffff10;transition:background .15s}
body.nv .c-search-link:hover{background:#ffffff26}
@media(max-width:1180px){body.nv .c-global-nav .nv-l{display:none}body.nv .c-global-nav .nv-s{display:inline}}
@media(max-width:1000px){body.nv .c-header-inner{gap:12px}body.nv .c-site-header .c-global-nav{gap:2px}body.nv .c-site-header .c-global-nav a{padding:0 10px;font-size:12.5px}body.nv .c-global-nav a svg{display:none}}
@media(max-width:760px){
 body.nv .c-header-inner{height:auto;grid-template-rows:58px 46px}
 body.nv .c-brand{width:104px}body.nv .c-brand img{width:104px;height:55px}
 body.nv .c-site-header .c-global-nav{justify-content:flex-start;gap:5px;border-top:1px solid #ffffff17;overflow-x:auto;scrollbar-width:none;align-items:center}
 body.nv .c-site-header .c-global-nav::-webkit-scrollbar{display:none}
 body.nv .c-site-header .c-global-nav a{height:30px;padding:0 9px;font-size:11.5px;flex:none;background:#ffffff12}
 body.nv .c-site-header .c-global-nav a[aria-current]{background:var(--nv-grad)}
 body.nv .c-global-nav a svg{display:none}
}

/* ---- ページの見出しと枠 ---- */
body.nv .c-pageTitle__main{font-weight:800}
body.nv .c-page-hero{border:1px solid var(--c-line)!important;border-radius:var(--nv-r)!important;box-shadow:inset 0 4px 0 var(--nv-solid),var(--nv-shadow)!important;padding:30px 30px 24px!important}
body.nv .c-page-hero h1{font-weight:800!important}
body.nv .c-section-nav{border-bottom:0!important;gap:8px!important;padding:0!important;margin:0 0 26px!important}
body.nv .c-section-nav>a{padding:0 15px!important;min-height:38px;border-radius:999px!important;background:var(--c-paper)!important;border:1px solid var(--c-line)!important;font-weight:650;font-size:13px!important;line-height:1.3!important}
body.nv .c-section-nav>a:hover{border-color:var(--c-accent)!important;color:var(--c-accent)!important}
body.nv .c-section-nav>a[aria-current]{background:var(--nv-solid)!important;border-color:var(--nv-solid)!important;color:#fff!important}
body.nv .c-menu-details,body.nv .c-mobile-toc{border-radius:var(--nv-r);box-shadow:var(--nv-shadow)}
body.nv .p-entry__thumb img{border-radius:var(--nv-r)}
body.nv.c-kind-article .c-postContent>h2{border:0!important;padding:2px 0 2px 17px!important;position:relative;font-weight:800;margin-top:48px!important}
body.nv.c-kind-article .c-postContent>h2:before{content:"";position:absolute;left:0;top:.28em;bottom:.28em;width:6px;border-radius:3px;background:var(--nv-grad)}
@media(max-width:760px){body.nv .c-page-hero{padding:22px 18px 18px!important}}

/* ---- 攻略とゲームのメニュー ---- */
body.nv .c-domain-menu{border:1px solid var(--c-line);border-radius:var(--nv-r);box-shadow:inset 0 4px 0 var(--nv-solid),var(--nv-shadow);overflow:hidden}
body.nv .c-domain-menu-body{padding:22px 16px 14px}
body.nv .c-domain-brand{font-size:14px;font-weight:800}
body.nv .c-domain-brand img{border-radius:10px}
body.nv .c-game-symbol{border:0;border-radius:11px;background:var(--nv-grad);color:#fff;font-size:24px;width:42px;height:42px;flex:none}
body.nv .c-domain-links a{border-left:0;border-radius:8px;padding:8px 12px}
body.nv .c-domain-links a[aria-current]{background:var(--nv-tint);color:var(--c-accent)!important}
@media(max-width:1040px){body.nv .c-domain-menu-body{padding:15px 14px}body.nv .c-domain-menu>summary{padding-top:16px}}

/* ---- カード（無料ゲーム）。トップと、ゲームのページの終わりで使う ---- */
.nv-game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.nv-game{display:flex;flex-direction:column;min-width:0;border-radius:var(--nv-r);overflow:hidden;background:var(--c-paper);border:1px solid var(--c-line);box-shadow:var(--nv-shadow);text-decoration:none!important;color:var(--c-ink)!important;transition:transform .16s,box-shadow .16s}
.nv-game:hover{transform:translateY(-4px);box-shadow:var(--nv-shadow-up)}
.nv-game-art{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#11141b}
.nv-game-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.nv-game:hover .nv-game-art img{transform:scale(1.05)}
.nv-new{position:absolute;left:10px;top:10px;font:800 10px/1 system-ui,sans-serif;font-style:normal;letter-spacing:.08em;color:#fff;background:var(--nv-grad);padding:5px 8px;border-radius:999px;box-shadow:0 4px 12px #0006}
.nv-play-mark{position:absolute;right:10px;bottom:10px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff!important;color:#111!important;opacity:0;transform:scale(.8);transition:opacity .16s,transform .16s;box-shadow:0 6px 16px #0007}
.nv-play-mark svg{width:18px;height:18px;margin-left:2px}
.nv-game:hover .nv-play-mark,.nv-game:focus-visible .nv-play-mark{opacity:1;transform:none}
.nv-game-body{display:flex;flex-direction:column;gap:3px;padding:11px 13px 13px;min-width:0}
.nv-game-body strong{font-size:14.5px;line-height:1.45;font-weight:750;color:var(--c-ink)}
.nv-game-body small{font-size:11px;line-height:1.5;color:var(--c-muted)}
.nv-more{margin:44px 0 8px;padding-top:26px;border-top:1px solid var(--c-line)}
.nv-more-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
.nv-more-head strong{font-size:20px;font-weight:800;color:var(--c-ink)}
.nv-more-head a,.nv-more-link{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--c-line);background:var(--c-paper);font-size:13px;font-weight:700;color:var(--c-ink)!important;text-decoration:none!important;white-space:nowrap}
.nv-more-head a svg,.nv-more-link svg{width:15px;height:15px}
.nv-more-head a:hover,.nv-more-link:hover{border-color:var(--c-accent);color:var(--c-accent)!important}
@media(max-width:1100px){.nv-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.nv-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nv-game-body{padding:9px 11px 11px}.nv-game-body strong{font-size:13.5px}.nv-more-head strong{font-size:18px}.nv-play-mark{display:none}}
@media(prefers-reduced-motion:reduce){.nv-game,.nv-game-art img,.nv-play-mark{transition:none}.nv-game:hover{transform:none}.nv-game:hover .nv-game-art img{transform:none}}

/* ---- ゲームのページ ---- */
body.nv .c-game-return{border-bottom:0;gap:10px;justify-content:flex-start;padding:4px 0;margin:14px 0 26px}
body.nv .c-game-return a{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border-radius:999px;background:var(--c-paper);border:1px solid var(--c-line);color:var(--c-ink);font-weight:650}
body.nv .c-game-return a:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* ---- 無料ゲームの一覧 ---- */
body.nv .gxl-tools{border-radius:var(--nv-r);background:var(--c-paper);box-shadow:var(--nv-shadow)}
body.nv .gxl-tools input[type=search],body.nv .gxl-tools select,body.nv .gxl-guide-options select{border-radius:10px;background:var(--c-base)}
body.nv .gxl-genres,body.nv .gxl-modes{border-bottom:0;gap:8px}
body.nv .gxl-genres button,body.nv .gxl-modes button{border:1px solid var(--c-line);border-radius:999px;background:var(--c-paper);padding:0 14px;min-height:38px;color:var(--c-ink)}
body.nv .gxl-genres button:hover,body.nv .gxl-modes button:hover{border-color:var(--c-accent)}
body.nv .gxl-genres button[aria-pressed=true],body.nv .gxl-modes button[aria-pressed=true]{background:var(--nv-solid);border-color:var(--nv-solid)!important;color:#fff!important}
body.nv .gxl-genres button[aria-pressed=true] span,body.nv .gxl-modes button[aria-pressed=true] span{color:#ffffffd9}
body.nv.gxl-browser .gxl-game-group h2{border-top:0!important;padding:0 0 0 16px!important;position:relative;font-size:22px!important;font-weight:800;margin:34px 0 16px!important}
body.nv.gxl-browser .gxl-game-group h2:before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:6px;border-radius:3px;background:var(--nv-grad)}
body.nv.gxl-browser .gx-database-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
body.nv.gxl-browser .gx-db-card{flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;border-radius:var(--nv-r)!important;overflow:hidden;box-shadow:var(--nv-shadow)!important;transition:transform .16s,box-shadow .16s;text-decoration:none!important}
body.nv.gxl-browser .gx-db-card:hover{transform:translateY(-4px);box-shadow:var(--nv-shadow-up)!important}
body.nv.gxl-browser .gx-db-thumb{width:100%!important;height:auto!important;aspect-ratio:3/2;flex:none!important;border-radius:0!important;overflow:hidden;background:#11141b}
body.nv.gxl-browser .gx-db-thumb img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .3s}
body.nv.gxl-browser .gx-db-card:hover .gx-db-thumb img{transform:scale(1.05)}
body.nv.gxl-browser .gx-db-body{padding:12px 14px 14px}
body.nv.gxl-browser .gx-db-title{font-size:15.5px!important}
@media(max-width:1100px){body.nv.gxl-browser .gx-database-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){body.nv.gxl-browser .gxl-tools{background:transparent;box-shadow:none;border-radius:0}body.nv.gxl-browser .gxl-tools input[type=search],body.nv.gxl-browser .gxl-tools select{background:var(--c-paper)}body.nv.gxl-browser .gx-database-grid{gap:12px!important}body.nv.gxl-browser .gx-db-body{padding:9px 11px 11px}body.nv.gxl-browser .gx-db-title{font-size:13.5px!important;margin-bottom:4px!important}body.nv.gxl-browser .gx-db-desc{font-size:11px!important;-webkit-line-clamp:2}body.nv.gxl-browser .gxl-game-group h2{font-size:19px!important;margin:22px 0 12px!important}}

/* ---- ファミコンクロニクル ---- */
body.nv.gxl-famicom #gx-famicom .gxl-fc-card{border:1px solid var(--c-line);border-radius:var(--nv-r);box-shadow:inset 0 3px 0 var(--nv-solid),var(--nv-shadow);padding-top:20px}
body.nv .gxl-pager button{border-radius:999px;padding:9px 18px}

/* ---- 攻略の一覧（トップと /game-guides で共通） ---- */
body.nv .section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:6px 0 20px}
body.nv .section-heading h1{font-size:30px!important;font-weight:900;color:var(--c-ink);letter-spacing:.01em}
body.nv .result-count{font-size:13px;font-weight:650;color:var(--c-muted)}
body.nv .guide-controls{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin:0 0 22px}
body.nv .search-box{position:relative;flex:1 1 320px;display:flex;align-items:center;min-width:0}
body.nv .search-box svg{position:absolute;left:17px;width:19px;height:19px;color:var(--c-muted);pointer-events:none}
body.nv .search-box input{width:100%;height:50px;margin:0;border-radius:999px;border:1px solid var(--c-line);background:var(--c-paper);color:var(--c-ink);font:inherit;font-size:15px;padding:0 50px 0 47px;box-shadow:var(--nv-shadow)}
body.nv .search-box input:focus{outline:3px solid var(--c-accent);outline-offset:2px}
body.nv .clear-search{position:absolute;right:8px;width:36px;height:36px;border-radius:50%;border:0;background:var(--c-subtle);color:var(--c-ink);font-size:18px;line-height:1;cursor:pointer}
body.nv .filters{display:flex;flex-wrap:wrap;gap:8px}
body.nv .filters button{appearance:none;border:1px solid var(--c-line);border-radius:999px;background:var(--c-paper);color:var(--c-ink);font:inherit;font-size:13px;font-weight:650;min-height:38px;padding:0 14px;cursor:pointer}
body.nv .filters button:hover{border-color:var(--c-accent)}
body.nv .filters button span{font-size:10.5px;font-weight:500;color:var(--c-muted);margin-left:6px;font-variant-numeric:tabular-nums}
body.nv .filters button[aria-pressed=true]{background:var(--nv-solid);border-color:var(--nv-solid);color:#fff}
body.nv .filters button[aria-pressed=true] span{color:#ffffffd9}
body.nv .gxl-guide-options{display:flex;align-items:center;gap:16px;margin:0 0 0 auto}
body.nv .gxl-guide-options .gxl-sort{display:flex;align-items:center;gap:9px;flex:none}
body.nv .gxl-guide-options .gxl-sort>span{margin:0;white-space:nowrap}
body.nv .gxl-guide-options select{width:auto;min-width:130px;height:40px;background:var(--c-paper)}
body.nv .guide-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-flow:row dense;gap:20px!important;margin:0}
body.nv .guide-card[hidden]{display:none!important}
body.nv .guide-card{display:flex;flex-direction:column;min-width:0;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--nv-r);overflow:hidden;box-shadow:var(--nv-shadow);transition:transform .16s,box-shadow .16s}
body.nv .guide-card:hover{transform:translateY(-3px);box-shadow:var(--nv-shadow-up)}
body.nv .guide-art{display:block;aspect-ratio:460/215;background:#10131a;overflow:hidden;flex:none}
body.nv .guide-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
body.nv .guide-card:hover .guide-art img{transform:scale(1.04)}
body.nv .guide-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;padding:13px 15px 15px}
body.nv .guide-info .genre{font-size:10.5px;font-weight:700;letter-spacing:.06em;line-height:1.5;color:var(--c-accent)}
body.nv .guide-info h3{margin:0;padding:0;border:0;background:none;font-size:15.5px;line-height:1.5;font-weight:800}
body.nv .guide-info h3 a{color:var(--c-ink);text-decoration:none}
body.nv .guide-info h3 a:hover{color:var(--c-accent)}
body.nv .guide-word{font-size:11px;font-weight:500;color:var(--c-muted);margin-left:6px;white-space:nowrap}
body.nv .guide-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}
body.nv .guide-links a{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 10px;border-radius:999px;background:var(--c-subtle);color:var(--c-ink);font-size:11.5px;line-height:1.3;text-decoration:none}
body.nv .guide-links a:hover{background:var(--nv-tint);color:var(--c-accent)}
body.nv .guide-links a span{color:var(--c-accent)}
body.nv .gxl-matches{border-top:1px solid var(--c-line);padding:11px 15px 13px}
body.nv .guide-grid>.c-uq-ad{margin-left:auto!important;margin-right:auto!important}
body.nv .no-results{margin:22px 0;padding:34px 20px;border:1px dashed var(--c-line);border-radius:var(--nv-r);text-align:center;color:var(--c-muted)}
body.nv .no-results p{margin:0 0 12px}
body.nv .reset-filters,.nv-btn-line{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;border:1px solid var(--c-line);background:var(--c-paper);color:var(--c-ink);font:inherit;font-size:14px;font-weight:750;cursor:pointer}
body.nv .reset-filters:hover,.nv-btn-line:hover{border-color:var(--c-accent);color:var(--c-accent)}
@media(max-width:1100px){body.nv .guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:860px){body.nv .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}body.nv .gxl-guide-options{margin-left:0}}
@media(max-width:760px){
 body.nv .section-heading h1{font-size:24px!important}
 body.nv .search-box input{font-size:16px;height:48px}
 body.nv .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--nv-gut)*-1);padding:2px var(--nv-gut);max-width:100vw}
 body.nv .filters::-webkit-scrollbar{display:none}
 body.nv .filters button{flex:none}
 body.nv .guide-controls{gap:12px}
 body.nv .guide-info{padding:10px 11px 12px;gap:4px}
 body.nv .guide-info h3{font-size:13.5px}
 body.nv .guide-links a{font-size:11px;padding:0 9px}
}
@media(prefers-reduced-motion:reduce){body.nv .guide-card,body.nv .guide-art img{transition:none}body.nv .guide-card:hover{transform:none}}

/* ---- 検索結果：画像のない項目は、空の枠を出さずカードにする ---- */
body.nv.search .p-postList__thumb[data-has-thumb="0"]{display:none}
body.nv.search .p-postList__link{display:block;height:100%;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--nv-r);box-shadow:var(--nv-shadow);overflow:hidden;text-decoration:none;transition:transform .16s,box-shadow .16s}
body.nv.search .p-postList__link:hover{transform:translateY(-3px);box-shadow:var(--nv-shadow-up)}
body.nv.search .p-postList__body{padding:15px 17px 16px}
body.nv.search .p-postList__title{font-size:15px;line-height:1.6;font-weight:750;color:var(--c-ink)}
body.nv.search .p-postList__thumb{margin:0;border-radius:0}

/* ---- フッター ---- */
body.nv .nv-footer{margin-top:56px;padding:0;border-top:0;background:linear-gradient(180deg,#0e1016,#07080b);color:#aeb7c4;position:relative}
body.nv .nv-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--nv-grad)}
body.nv .nv-footer>.nv-foot-top{display:grid;grid-template-columns:270px minmax(0,1fr);gap:48px;align-items:start;padding:44px 0 30px}
body.nv .nv-foot-brand .c-footer-brand{width:132px;flex:none}
body.nv .nv-foot-brand .c-footer-brand img{width:132px;mix-blend-mode:screen}
body.nv .nv-foot-brand p{margin:12px 0 0;font-size:12.5px;line-height:1.9;color:#aeb7c4}
body.nv .nv-footer .nv-foot-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
body.nv .nv-foot-col{display:grid;gap:2px;align-content:start;min-width:0}
body.nv .nv-foot-col p{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;color:#fff}
body.nv .nv-footer .nv-foot-nav a{font-size:13px;line-height:1.5;color:#c5ccd6;text-decoration:none;padding:6px 0}
body.nv .nv-footer .nv-foot-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
body.nv .nv-footer>.nv-foot-bottom{display:block;border-top:1px solid #ffffff14;padding:16px 0 22px}
body.nv .nv-foot-bottom small{font-size:11px;color:#8d97a6}
@media(max-width:900px){body.nv .nv-footer>.nv-foot-top{grid-template-columns:1fr;gap:26px;padding:34px 0 22px}}
@media(max-width:760px){
 body.nv .nv-footer>.nv-foot-top,body.nv .nv-footer>.nv-foot-bottom{width:calc(100% - 32px);display:block}
 body.nv .nv-footer .nv-foot-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;margin-top:24px}
 body.nv .nv-footer .nv-foot-nav a{font-size:13px;padding:7px 0}
}
