/* GAMEX Nova 1.0.1 — トップページ */
body.nv-home .site-main{width:100%;max-width:none;padding:0 0 12px;margin:0}

/* ---- ヒーロー：新しい無料ゲーム ---- */
.nv-hero{background:radial-gradient(900px 440px at 88% -10%,#ff5a1f33,transparent 62%),radial-gradient(820px 520px at -4% 110%,#5b3bff30,transparent 60%),linear-gradient(180deg,#12151c 0%,#0b0d12 100%);color:#fff;padding:30px 0 36px}
.nv-hero-in{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:22px;align-items:stretch}
.nv-hero-stage{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/2;background:#000;box-shadow:0 24px 60px #000000a8,0 0 0 1px #ffffff17}
.nv-slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;color:#fff!important;text-decoration:none!important}
.nv-slide.is-on{opacity:1;visibility:visible}
.nv-slide img{width:100%;height:100%;object-fit:cover;display:block}
.nv-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 42%,#000000e0 100%)}
.nv-slide-info{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:26px 28px 28px;display:grid;gap:8px;justify-items:start}
.nv-kicker{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:800;letter-spacing:.1em;color:#ffd4cc}
.nv-kicker b{font-weight:700;letter-spacing:.04em;background:#ffffff2b;border-radius:999px;padding:3px 10px;color:#fff}
.nv-slide-title{font-size:clamp(24px,2.7vw,37px);line-height:1.25;font-weight:900;color:#fff;text-shadow:0 2px 14px #000000b0}
.nv-slide-desc{font-size:14px;line-height:1.7;color:#e8ebf0;max-width:58ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;border:0;font:inherit;font-size:14.5px;font-weight:800;line-height:1;text-decoration:none!important;cursor:pointer}
.nv-btn svg{width:17px;height:17px}
.nv-btn-play{background:var(--nv-grad);color:#fff!important;box-shadow:0 10px 26px #ff3b2a66;margin-top:6px;transition:transform .15s}
.nv-slide:hover .nv-btn-play{transform:scale(1.05)}
.nv-hero-side{display:flex;flex-direction:column;min-width:0}
.nv-hero-label{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.1em;color:#ffb4a8}
.nv-hero-picks{display:grid;gap:8px;flex:1;grid-auto-rows:1fr}
.nv-pick{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:center;padding:7px;border-radius:12px;background:#ffffff0f;border:1px solid #ffffff14;color:#fff!important;text-decoration:none!important;transition:background .15s,border-color .15s;position:relative;overflow:hidden}
.nv-pick:hover,.nv-pick.is-on{background:#ffffff21;border-color:#ffffff3d}
.nv-pick-art{display:block;aspect-ratio:3/2;border-radius:8px;overflow:hidden;background:#000}
.nv-pick-art img{width:100%;height:100%;object-fit:cover;display:block}
.nv-pick-body{min-width:0}
.nv-pick-body strong{display:block;font-size:13.5px;line-height:1.4;font-weight:750;color:#fff}
.nv-pick-body small{font-size:11px;color:#aab3c2}
.nv-hero.is-auto .nv-pick.is-on:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--nv-grad);transform-origin:left;animation:nv-progress 6s linear both}
@keyframes nv-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1040px){
 .nv-hero{padding:18px 0 22px}
 .nv-hero-in{display:block}
 .nv-hero-side{display:none}
 .nv-hero-stage{aspect-ratio:auto;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:0;background:none;box-shadow:none;margin:0 calc(var(--nv-gut)*-1);padding:0 var(--nv-gut);scroll-padding:0 var(--nv-gut)}
 .nv-hero-stage::-webkit-scrollbar{display:none}
 .nv-slide{position:relative;inset:auto;opacity:1;visibility:visible;flex:0 0 min(88%,560px);aspect-ratio:3/2;border-radius:16px;overflow:hidden;scroll-snap-align:start;box-shadow:0 0 0 1px #ffffff17}
 .nv-slide:after{background:linear-gradient(180deg,#0000 34%,#000000eb 100%)}
 .nv-slide-info{padding:16px 16px 17px;gap:5px}
 .nv-kicker{display:none}
 .nv-slide-title{font-size:21px}
 .nv-slide-desc{display:none}
 .nv-btn-play{min-height:38px;padding:0 17px;font-size:13.5px;margin-top:4px}
}

/* ---- 3 本の柱 ---- */
.nv-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:22px}
.nv-pillar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--nv-r);background:var(--c-paper);border:1px solid var(--c-line);box-shadow:var(--nv-shadow);color:var(--c-ink)!important;text-decoration:none!important;transition:transform .16s,box-shadow .16s}
.nv-pillar:hover{transform:translateY(-3px);box-shadow:var(--nv-shadow-up)}
.nv-pillar-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;background:var(--nv-c)}
.nv-pillar-icon svg{width:24px;height:24px}
.nv-p-play{--nv-c:linear-gradient(135deg,#7b4dff,#2f8fff)}.nv-p-guide{--nv-c:linear-gradient(135deg,#ff2d2d,#ff7a18)}.nv-p-fc{--nv-c:linear-gradient(135deg,#a8231c,#dd9c2f)}
.nv-pillar-text{min-width:0}
.nv-pillar-text strong{display:block;font-size:16px;font-weight:800;line-height:1.4;color:var(--c-ink)}
.nv-pillar-text small{display:block;font-size:11.5px;line-height:1.55;color:var(--c-muted);margin-top:2px}
.nv-pillar-num{font-size:11px;color:var(--c-muted);white-space:nowrap;text-align:right}
.nv-pillar-num b{display:block;font-size:25px;line-height:1.05;font-weight:900;color:var(--c-ink);font-variant-numeric:tabular-nums}
@media(max-width:1040px){.nv-pillars{grid-template-columns:1fr;gap:10px;padding-top:16px}.nv-pillar{padding:13px 14px}.nv-pillar-icon{width:42px;height:42px}}

/* ---- 区切りの見出し ---- */
.nv-sec{padding:46px 0 6px}
.nv-sec-head{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px 18px;margin:0 0 18px}
.nv-sec-head h2,.nv-fc h2{margin:0;padding:0;border:0;background:none;display:grid;gap:5px;font-size:clamp(22px,2.3vw,30px);line-height:1.3;font-weight:900;letter-spacing:.01em;color:var(--c-ink)}
.nv-sec-en{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--c-accent)}
.nv-sec-head .result-count{margin-bottom:6px}
.nv-sec-head .nv-more-link{margin-left:auto}

/* ---- 無料ブラウザゲーム ---- */
.nv-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.nv-tabs 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}
.nv-tabs button:hover{border-color:var(--c-accent)}
.nv-tabs button span{font-size:10.5px;font-weight:500;color:var(--c-muted);margin-left:6px;font-variant-numeric:tabular-nums}
.nv-tabs button[aria-pressed=true]{background:var(--nv-solid);border-color:var(--nv-solid);color:#fff}
.nv-tabs button[aria-pressed=true] span{color:#ffffffd9}
.nv-games .nv-game-grid[data-tab="new"]>.nv-game:not([data-k~="new"]){display:none}
.nv-sub-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.nv-sub-links a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;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}
.nv-sub-links a svg{width:17px;height:17px;color:var(--c-accent)}
.nv-sub-links a:hover{border-color:var(--c-accent)}
@media(max-width:760px){
 .nv-sec{padding-top:36px}
 .nv-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--nv-gut)*-1) 14px;padding:2px var(--nv-gut)}
 .nv-tabs::-webkit-scrollbar{display:none}
 .nv-tabs button{flex:none}
}

/* ---- ゲーム攻略 ---- */
.nv-latest{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:11px 14px;border-radius:var(--nv-r);background:var(--c-paper);border:1px solid var(--c-line)}
.nv-latest>strong{flex:none;font-size:12px;font-weight:800;color:var(--c-accent)}
.nv-latest>div{display:flex;gap:10px;min-width:0;overflow-x:auto;scrollbar-width:none}
.nv-latest>div::-webkit-scrollbar{display:none}
.nv-latest a{flex:none;display:flex;align-items:center;gap:10px;max-width:250px;padding:5px 13px 5px 5px;border-radius:10px;background:var(--c-subtle);color:var(--c-ink)!important;text-decoration:none!important;font-size:12.5px;font-weight:700}
.nv-latest a:hover{color:var(--c-accent)!important}
.nv-latest img{width:77px;height:36px;object-fit:cover;border-radius:7px;flex:none}
.nv-latest a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-home .guide-grid[data-nv-collapsed]>.guide-card:nth-of-type(n+13){display:none!important}
.nv-guide-more{display:flex;justify-content:center;margin:24px 0 0}
@media(max-width:860px){.nv-home .guide-grid[data-nv-collapsed]>.guide-card:nth-of-type(n+9){display:none!important}}
@media(max-width:760px){.nv-latest{display:block;padding:11px 12px}.nv-latest>strong{display:block;margin-bottom:8px}}

/* ---- ファミコンクロニクル（明るい画面でも暗い帯のまま） ---- */
.nv-fc{margin-top:52px;padding:46px 0;position:relative;overflow:hidden;background:linear-gradient(135deg,#2b0f12 0%,#16090b 55%,#2a1c0b 100%);color:#f6efe2}
.nv-fc:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff07 0 2px,#0000 2px 6px);pointer-events:none}
.nv-fc-in{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:44px;align-items:center;position:relative}
.nv-fc h2{color:#fff!important}
.nv-fc .nv-sec-en{color:#f0b54a!important}
.nv-fc p{margin:14px 0 20px;font-size:14px;line-height:1.9;color:#e6dccb!important}
.nv-btn-fc,html[data-theme=dark] .nv-btn-fc{background:#f0b54a!important;color:#221405!important}
.nv-btn-fc svg{width:16px;height:16px}
.nv-fc .famicom-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.nv-fc .famicom-list a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:11px 14px;border-radius:10px;background:#ffffff0f;border:1px solid #ffffff17;color:#fff!important;text-decoration:none!important;font-size:13.5px;font-weight:700;line-height:1.5;transition:background .15s}
.nv-fc .famicom-list a:hover{background:#ffffff21}
.nv-fc .famicom-list a span{min-width:0;color:#fff!important}
.nv-fc .famicom-list small{flex:none;font-size:11px;font-weight:500;color:#d9c7a3!important}
@media(max-width:900px){.nv-fc{padding:36px 0;margin-top:40px}.nv-fc-in{grid-template-columns:1fr;gap:24px}}
@media(max-width:560px){.nv-fc .famicom-list{grid-template-columns:1fr}}

/* ---- ニュース・コラム・特集 ---- */
.nv-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nv-features a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:13px;align-items:center;padding:15px 16px;border-radius:var(--nv-r);background:var(--c-paper);border:1px solid var(--c-line);box-shadow:var(--nv-shadow);color:var(--c-ink)!important;text-decoration:none!important;transition:transform .16s,box-shadow .16s}
.nv-features a:hover{transform:translateY(-3px);box-shadow:var(--nv-shadow-up)}
.nv-feature-icon{grid-row:1/3;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--nv-tint);color:var(--c-accent)}
.nv-feature-icon svg{width:22px;height:22px}
.nv-features small{font-size:10.5px;font-weight:800;letter-spacing:.1em;line-height:1.4;color:var(--c-muted)}
.nv-features strong{font-size:14.5px;font-weight:800;line-height:1.45;color:var(--c-ink)}
.nv-posts-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:30px 0 12px}
.nv-posts-head h3{margin:0;padding:0;border:0;background:none;font-size:18px;font-weight:800;color:var(--c-ink)}
.nv-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nv-post{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);color:var(--c-ink)!important;text-decoration:none!important;transition:transform .16s,box-shadow .16s}
.nv-post:hover{transform:translateY(-3px);box-shadow:var(--nv-shadow-up)}
.nv-post-art{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#1a1f2b,#3d1519)}
.nv-post-art:empty:after{content:"GAMEX";position:absolute;inset:0;display:grid;place-items:center;font:italic 900 26px/1 system-ui,sans-serif;letter-spacing:.06em;color:#ffffff5c}
.nv-post-art img{width:100%;height:100%;object-fit:cover;display:block}
.nv-post-body{display:grid;gap:5px;padding:12px 14px 14px;min-width:0}
.nv-post-body small{font-size:11px;color:var(--c-muted)}
.nv-post-body strong{font-size:14px;line-height:1.6;font-weight:750;color:var(--c-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1040px){.nv-features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .nv-features{gap:10px}.nv-features a{padding:12px;column-gap:10px}.nv-feature-icon{width:36px;height:36px;border-radius:10px}.nv-features strong{font-size:13px}
 .nv-posts{grid-template-columns:1fr;gap:10px}
 .nv-post{flex-direction:row;align-items:stretch}
 .nv-post-art{flex:0 0 38%;aspect-ratio:auto;min-height:84px}
 .nv-post-body{flex:1;padding:10px 12px;align-content:center}
 .nv-post-body strong{font-size:13px;line-height:1.55}
}
@media(prefers-reduced-motion:reduce){.nv-slide,.nv-pillar,.nv-features a,.nv-post,.nv-btn-play{transition:none}.nv-pillar:hover,.nv-features a:hover,.nv-post:hover{transform:none}.nv-hero.is-auto .nv-pick.is-on:after{animation:none}}
