/* 공략·도감·FAQ 하위 페이지 (Tools/gen_seo_pages.py가 생성). landing.css 위에 얹음 */
body.sub{background:linear-gradient(#16113a,#1d1530 320px,#120e1c)}
.page{padding:84px 0 56px}
.page h1{font-size:clamp(28px,7vw,42px);line-height:1.25;margin:6px 0 14px;color:var(--gold)}
.page h2{font-size:clamp(21px,5vw,26px);margin:0 0 8px}
.page .lead{color:var(--muted);max-width:760px}
.page a{color:var(--gold)}
.top nav a[aria-current=page]{color:var(--ink);background:rgba(255,255,255,.08)}
.crumbs{margin:0;font-size:13px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}
.tip{background:rgba(255,207,74,.08);border:1px solid rgba(255,207,74,.3);border-radius:12px;padding:14px 16px;margin:0 0 24px;color:var(--ink);font-size:15px}
.tip b{color:var(--gold);margin-right:6px}
.small{font-size:14px;color:var(--muted)}
.toc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 28px}
.toc ol{margin:0;padding-left:20px;columns:2 220px;column-gap:24px}
.toc li{margin:2px 0;break-inside:avoid}
.toc a{text-decoration:none}
.page section{margin:0 0 30px}
.page section ul{padding-left:20px;margin:0}
.page section li{margin:6px 0;color:var(--ink)}
/* 광부 도감: 원화 + V003 도트 */
.mgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.mcard{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;scroll-margin-top:72px}
.mcard figure{position:relative;margin:0;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#3b2a5e,#1a1230)}
.mcard figure img{display:block;width:100%;height:auto;aspect-ratio:1}
.mcard figure .sprite{position:absolute;right:-6px;bottom:-4px;width:64px;margin:0;filter:drop-shadow(0 2px 0 rgba(0,0,0,.5))}
.mcard:hover .sprite{animation:mine8 var(--mt,1s) steps(8) infinite}
.mcard:target{border-color:rgba(255,207,74,.6)}
.mcard h2 small{font-family:-apple-system,sans-serif;font-size:12px;color:var(--gold);border:1px solid rgba(255,207,74,.4);border-radius:99px;padding:0 8px;vertical-align:middle;margin-left:4px}
.mcard p{margin:0 0 6px;color:var(--muted);font-size:14px}
.mcard .unlock{color:var(--ink)}.mcard .unlock b{color:var(--gold);margin-right:6px}
@media (max-width:520px){.mgrid{grid-template-columns:1fr}.mcard{grid-template-columns:104px 1fr}.mcard figure .sprite{width:52px}}
/* 광산 도감 */
.mine{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;scroll-margin-top:72px}
.mine-h{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;margin-bottom:6px}
.mine-h p{margin:0;color:var(--muted);font-size:14px}
.mine .tile{width:72px;height:72px;border-radius:8px;background-size:72px 72px;display:grid;place-items:center;image-rendering:pixelated}
.mine .tile img{width:48px;height:48px;image-rendering:pixelated}
.minerals{list-style:none;padding:0!important;margin:10px 0 0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.minerals li{margin:0!important;text-align:center;background:rgba(0,0,0,.18);border-radius:10px;padding:8px 4px;font-size:13px;line-height:1.3;position:relative}
.minerals img{display:block;margin:0 auto 4px;image-rendering:pixelated}
.minerals .boss{background:rgba(255,120,80,.14);outline:1px solid rgba(255,140,90,.4)}
.minerals em{position:absolute;top:4px;right:6px;font-style:normal;font-size:10px;color:#ffb089}
/* FAQ */
.qa{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:0 16px}
.qa summary{cursor:pointer;list-style:none;padding:14px 0;display:flex;gap:10px;align-items:center}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"Q";font-family:var(--font-h);color:var(--gold);font-size:20px}
.qa summary h2{font-size:18px;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;font-weight:700}
.qa p{margin:0 0 14px;color:var(--muted)}
.more{margin-top:40px;border-top:1px solid var(--line);padding-top:20px}
.more ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.more a{display:inline-block;padding:8px 14px;border-radius:99px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink)}
/* 소식 */
.page .news-list{margin-top:8px}
.page .news-list b{font-family:inherit}
.art-meta{display:flex;gap:10px;align-items:center;margin:-4px 0 16px;color:var(--muted);font-size:14px}
.art{max-width:780px;font-size:16.5px;line-height:1.8}
.art-hero{display:block;width:100%;height:auto;border-radius:14px;margin:0 0 22px;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.art h2{margin:34px 0 10px;color:var(--ink)}
.art p{margin:0 0 14px;color:#e6dcef}
.art ul,.art ol{padding-left:22px;margin:0 0 16px}
.art li{margin:6px 0}
.art b{color:var(--ink)}
.art-cta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.sgrid,.igrid,.bgrid,.itgrid{list-style:none;padding:0!important;margin:12px 0 18px!important;display:grid;gap:10px}
.sgrid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.sgrid li,.igrid li,.bgrid li,.itgrid li{margin:0!important;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 6px;font-size:12.5px;line-height:1.35;color:var(--muted)}
.sgrid .sprite{width:88px}
.sgrid li:hover .sprite{animation:mine8 var(--mt,1s) steps(8) infinite}
.igrid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.igrid img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:8px;background:radial-gradient(circle at 50% 40%,#3b2a5e,#1a1230);margin-bottom:6px}
.bgrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.bgrid li{border-top:3px solid var(--c)}
.bgrid .rboss{width:96px;margin:0 auto 4px}
.bgrid b{color:var(--c);font-family:var(--font-h);font-weight:400;font-size:16px}
.itgrid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.itgrid img{display:block;width:64px;height:64px;margin:0 auto 4px;image-rendering:pixelated}
.art-pager{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:36px 0 0;max-width:780px}
.art-pager a{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ink);font-size:14.5px;line-height:1.45}
.art-pager a:hover{border-color:rgba(255,207,74,.5)}
.art-pager small{display:block;color:var(--muted);font-size:12px}
.art-pager .next{text-align:right}
.art-back{margin:22px 0 0}
@media (max-width:520px){.art-pager{grid-template-columns:1fr}.art-pager .next{text-align:left}}

/* 이벤트 상세 */
.ev-list{display:grid;gap:16px;max-width:860px}
.ev-cols{display:grid;gap:12px;margin-top:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.ev-cols h3{font-size:16px;margin:0 0 4px;color:var(--ink)}
.ev-cols ol,.ev-cols ul{margin:0;padding-left:20px;color:var(--muted);font-size:14.5px}
.ev-cols li{margin:3px 0}
.ev-over-wrap{margin:22px 0;color:var(--muted)}.ev-over-wrap summary{cursor:pointer}
.ev-over{display:grid;gap:12px;margin-top:12px;max-width:860px}
/* FAQ 분류·검색 */
.qtools{position:sticky;top:56px;z-index:5;background:rgba(22,17,58,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:10px 0;margin:0 0 14px}
.qtools input{width:100%;font:inherit;font-size:16px;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:#120e1c;color:var(--ink)}
.qtoc{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.qtoc a{font-size:13.5px;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:99px;padding:4px 12px}
.qcat{scroll-margin-top:170px}
.qcat-h{font-size:22px!important;color:var(--gold);margin:22px 0 10px!important}
.qa summary h3{font-size:17px;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;font-weight:700}
.qnone{color:var(--muted)}
/* 문의하기 */
.cform{display:grid;gap:12px;max-width:720px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}
.cform label{display:grid;gap:5px;font-size:14px;color:var(--muted)}
.cform input,.cform select,.cform textarea{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#120e1c;color:var(--ink);width:100%}
.cform textarea{resize:vertical}
.crow{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.chint{margin:-4px 0 0;font-size:13.5px;color:#ffd9a0;background:rgba(255,207,74,.08);border-radius:8px;padding:8px 10px}
.cerr{color:#ff8a8a;margin:0;font-size:14px}
.cbtns{display:flex;flex-wrap:wrap;gap:10px}
.cbtns button{border:0;cursor:pointer;font-family:var(--font-h)}
.btn-ghost{background:transparent!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px var(--line)!important}
.cbox{margin-top:28px}.cbox ul{color:var(--muted)}
/* 업데이트 내역 */
.upd-list{display:grid;gap:16px;max-width:860px;margin:18px 0}
.upd{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 18px 14px;scroll-margin-top:76px}
.upd.is-next{background:linear-gradient(160deg,#1f3150,#1a1a3a);border-color:rgba(120,210,255,.35)}
.upd h2{font-size:24px!important;margin:8px 0 4px!important;line-height:1.3}
.upd>p{margin:0 0 10px;color:var(--muted);font-size:14.5px}
.upd-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.upd-state{font-size:12px;font-weight:700;padding:1px 9px;border-radius:99px;background:var(--gold);color:#2a1a05}
.upd.is-next .upd-state{background:#9ec3ff;color:#0c1a33}
.upd-date{margin-left:auto;font-size:13.5px;color:var(--muted)}
.upd-gs{display:grid;gap:10px 18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.upd-g h3{font-size:16px;margin:4px 0 2px;color:var(--ink)}
.upd-g ul{margin:0;padding-left:20px;color:var(--muted);font-size:14.5px}
.upd-g li{margin:3px 0}
[dir=rtl] .upd-date{margin-left:0;margin-right:auto}
.upd-shots{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin:6px 0 14px}
.upd-shots figure{margin:0;background:#120e1f;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.upd-shots figure a{display:block}
.upd-shots img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#120e1f}
.upd-shots figure.tall img{object-fit:cover;object-position:top}
.upd-shots figure.wide{grid-column:1/-1}
.upd-shots figure.wide img{aspect-ratio:auto;max-width:640px;margin:0 auto;padding:8px 12px;image-rendering:pixelated}
.upd-shots figcaption{font-size:13px;color:var(--muted);padding:7px 10px 9px;line-height:1.4;margin-top:auto}
@media(max-width:600px){.upd-shots img{aspect-ratio:auto}.upd-shots figure.tall img{aspect-ratio:3/4}}
/* 1.3.0부터 긴 업데이트 내역(배너·큰 주제·표) — gen_seo_pages.upd_rich */
.upd.ux{padding:0;overflow:hidden;max-width:none}
.ux-ban{position:relative;background:#140c24;line-height:0}
.ux-ban img{display:block;width:100%;height:auto;aspect-ratio:8/3;object-fit:cover;object-position:right center;image-rendering:pixelated}
.ux-bt{position:absolute;left:4%;top:50%;transform:translateY(-50%);line-height:1.15;display:flex;flex-direction:column;gap:6px;max-width:46%;text-shadow:0 3px 0 #1a0d24,0 0 18px rgba(0,0,0,.6)}
.ux-k{font-family:var(--font-h);font-size:clamp(12px,1.5vw,17px);letter-spacing:.18em;color:#ff9ad0}
.ux-v{font-family:var(--font-h);font-size:clamp(18px,2.6vw,30px);color:var(--ink);font-weight:400}
.ux-ti{font-family:var(--font-h);font-weight:400;font-size:clamp(28px,5.2vw,62px);color:var(--gold);-webkit-text-stroke:1px #6a2a08}
.ux-body{padding:18px 20px 8px}
.ux-sum{font-size:15.5px!important;color:var(--ink)!important;margin:2px 0 12px!important}
.ux-toc{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 20px}
.ux-toc a{font-size:14px;text-decoration:none;color:var(--ink);background:rgba(255,255,255,.07);border:1px solid var(--line);padding:5px 12px;border-radius:99px}
.ux-toc a:hover{background:rgba(255,207,74,.18)}
.ux-sec{scroll-margin-top:76px;margin:0 0 26px}
.ux-h{position:relative;margin:0 0 14px!important;height:110px;border-radius:12px;background:#140c24 right center/cover no-repeat;image-rendering:pixelated;display:flex;align-items:center;border:1px solid var(--line)}
.ux-h span{font-family:var(--font-h);font-weight:400;font-size:clamp(22px,3.4vw,32px);color:var(--ink);padding:0 22px;text-shadow:0 3px 0 rgba(0,0,0,.55)}
.ux-h::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 4px 4px 0;background:var(--gold)}
.ux-it{padding:4px 2px 16px;border-bottom:1px dashed var(--line);margin-bottom:16px}
.ux-it:last-child{border-bottom:0}
.ux-it h4{font-size:18.5px;margin:2px 0 6px;color:var(--gold);line-height:1.4}
.ux-it h4::before{content:"";display:inline-block;width:9px;height:9px;background:var(--gold);transform:rotate(45deg);margin:0 10px 2px 2px;vertical-align:middle}
.ux-it>p{margin:0 0 6px;font-size:15px;color:var(--ink)}
.ux-it ul{margin:4px 0 8px;padding-left:20px;color:var(--muted);font-size:14.5px}
.ux-it li{margin:3px 0}
.ux-pend{margin:0 8px;vertical-align:middle;font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:99px;background:#ff5a6a;color:#fff}
.ux-tw{overflow-x:auto;margin:8px 0 10px}
.ux-t{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}
.ux-t th{background:rgba(255,207,74,.16);color:var(--gold);font-weight:700;text-align:left;padding:8px 10px;border:1px solid var(--line)}
.ux-t td{padding:7px 10px;border:1px solid var(--line);color:var(--ink);vertical-align:top}
.ux-t td:first-child{color:var(--muted);white-space:nowrap}
.ux-t tbody tr:nth-child(even) td{background:rgba(255,255,255,.03)}
.ux-shots{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.ux-shots img{aspect-ratio:3/4}
[dir=rtl] .ux-ban,[dir=rtl] .ux-h{direction:ltr}
[dir=rtl] .ux-it h4::before{margin:0 2px 2px 10px}
@media(max-width:600px){
 .ux-ban img{aspect-ratio:16/9;object-position:72% center}
 .ux-bt{max-width:62%;gap:3px}
 .ux-ti{font-size:24px}
 .ux-v{font-size:16px}
 .ux-k{font-size:11px}
 .ux-body{padding:14px 14px 4px}
 .ux-h{height:84px}
 .ux-shots{grid-template-columns:1fr 1fr}
 .ux-t{min-width:0;font-size:13px}
 .ux-t td:first-child{white-space:normal}
 .ux-shots figure.wide{grid-column:1/-1}
}
