:root{--canvas:#101319;--panel:#171c24;--raised:#202731;--line:#303946;--text:#f3f7f5;--muted:#a4b0ad;--green:#20d568;--green-dark:#0fa94c;--max:1240px}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas);scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at 75% -15%,#183226 0,transparent 35%),var(--canvas);font-family:Inter,"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:8px 12px;color:#07130c;background:var(--green);transform:translateY(-160%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #65aaf8;outline-offset:3px}.site-header{position:sticky;z-index:20;top:0;height:64px;display:grid;grid-template-columns:auto auto minmax(220px,420px) auto;align-items:center;gap:28px;padding:0 max(20px,calc((100vw - var(--max))/2));border-bottom:1px solid rgba(255,255,255,.08);background:rgba(16,19,25,.92);backdrop-filter:blur(16px)}.public-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:850;letter-spacing:-.02em}.public-brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#06210f;background:var(--green);font-size:14px}.public-nav{display:flex;gap:22px;font-size:13px;font-weight:650;color:#c6cfcc}.public-nav a:hover{color:var(--green)}.public-search{height:36px;display:grid;grid-template-columns:1fr auto;overflow:hidden;border:1px solid #35403f;border-radius:8px;background:#0c1015}.public-search input{min-width:0;padding:0 12px;border:0;outline:0;color:white;background:transparent;font-size:12px}.public-search button{border:0;padding:0 13px;color:#08170e;background:var(--green);font-size:12px;font-weight:750}.locale-button{min-height:36px;padding:0 10px;border:1px solid #35403f;border-radius:7px;color:#d9e1df;background:transparent;font-size:12px}.game-hero{min-height:480px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;width:min(calc(100% - 40px),var(--max));margin:0 auto;padding:68px 0 50px}.hero-copy{max-width:720px}.public-eyebrow{margin:0 0 10px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-copy h1,.directory-head h1,.guide-hero h1{margin:0;font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.055em}.hero-copy>p:not(.public-eyebrow){max-width:680px;margin:22px 0 0;color:#b5c0bd;font-size:17px}.hero-actions{display:flex;gap:11px;margin-top:30px}.accent-button,.ghost-button{min-height:44px;display:inline-flex;align-items:center;padding:0 17px;border-radius:8px;font-size:13px;font-weight:800}.accent-button{color:#06210f;background:var(--green)}.accent-button:hover{background:#4be685}.ghost-button{border:1px solid #3b4745;background:rgba(255,255,255,.025)}.ghost-button:hover{border-color:#64716e}.hero-visual{position:relative;min-height:350px;overflow:hidden;border:1px solid #344039;border-radius:20px;background:linear-gradient(150deg,#102a1a,#17212b 52%,#101319);box-shadow:0 35px 80px rgba(0,0,0,.35)}.hero-visual:before,.hero-visual:after{content:"";position:absolute;inset:auto -8% 13% -8%;height:38%;background:linear-gradient(145deg,transparent 26%,#26322d 27% 46%,#0d1512 47%);filter:drop-shadow(0 -8px 15px rgba(0,0,0,.35))}.hero-visual:after{inset:auto -20% -10% 14%;height:50%;opacity:.7;transform:scaleX(-1)}.hero-rune{position:absolute;z-index:2;inset:50% auto auto 50%;color:rgba(32,213,104,.9);font-family:Georgia,serif;font-size:88px;font-weight:900;transform:translate(-50%,-58%);text-shadow:0 0 45px rgba(32,213,104,.35)}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-one{width:150px;height:150px;right:-20px;top:-24px;background:radial-gradient(circle,#3cfb86 0,rgba(32,213,104,.15) 45%,transparent 70%)}.orb-two{width:80px;height:80px;left:20%;bottom:14%;background:radial-gradient(circle,#9cffbf 0,rgba(32,213,104,.08) 50%,transparent 72%)}.stat-strip{width:min(calc(100% - 40px),var(--max));display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto 70px;border-block:1px solid var(--line)}.stat-strip div{min-height:100px;display:flex;flex-direction:column;justify-content:center;padding:0 28px;border-right:1px solid var(--line)}.stat-strip div:first-child{padding-left:0}.stat-strip div:last-child{border:0}.stat-strip strong{font-size:25px}.stat-strip span{color:var(--muted);font-size:12px}.content-section{width:min(calc(100% - 40px),var(--max));margin:0 auto 78px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.section-heading p{margin:0;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.12em}.section-heading h2{margin:2px 0 0;font-size:27px}.section-heading>a{color:#b7c2bf;font-size:12px}.section-heading>a:hover{color:var(--green)}.entity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.entity-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #2f3944;border-radius:12px;background:var(--panel);transition:transform .18s ease,border-color .18s ease}.entity-card:hover{border-color:#526159;transform:translateY(-3px)}.card-art{position:relative;aspect-ratio:4/3;display:flex;align-items:flex-end;padding:15px;overflow:hidden;background:linear-gradient(145deg,#1e4830,#11161c)}.card-art:before,.entity-art:before{content:"";position:absolute;width:56%;height:62%;right:-7%;bottom:-22%;border-radius:45% 45% 12% 12%;background:linear-gradient(160deg,rgba(255,255,255,.26),rgba(255,255,255,.02));transform:rotate(-16deg)}.card-art:after,.entity-art:after{content:"";position:absolute;width:34%;aspect-ratio:1;left:14%;top:18%;border:1px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 18px rgba(255,255,255,.025),0 0 0 38px rgba(255,255,255,.018)}.card-art.ember,.entity-art.ember{background:linear-gradient(145deg,#512a20,#16171c)}.card-art.violet,.entity-art.violet{background:linear-gradient(145deg,#382b5f,#14151c)}.card-art.blue,.entity-art.blue{background:linear-gradient(145deg,#1e4257,#11161c)}.card-art b{position:relative;z-index:2;padding:3px 8px;border-radius:12px;color:#07150c;background:var(--green);font-size:10px;text-transform:uppercase}.card-copy{display:block;padding:15px}.card-copy strong,.card-copy small{display:block}.card-copy strong{font-size:17px}.card-copy small{margin-top:1px;color:var(--green);font-size:10px;font-weight:750;text-transform:uppercase}.card-copy p{display:-webkit-box;min-height:42px;margin:8px 0 0;overflow:hidden;color:var(--muted);font-size:12px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.guide-highlight{padding:28px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(32,213,104,.05),rgba(255,255,255,.015))}.guide-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.guide-card{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:10px;background:rgba(13,17,22,.72)}.guide-card:hover{border-color:#526159}.guide-index{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:#082013;background:var(--green);font-weight:900}.guide-card small,.guide-card strong{display:block}.guide-card small{color:var(--green);font-size:10px;font-weight:750}.guide-card strong{margin-top:1px}.guide-card p{margin:5px 0 0;color:var(--muted);font-size:12px}.site-footer{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px max(20px,calc((100vw - var(--max))/2));border-top:1px solid var(--line);color:var(--muted);background:#0b0e12;font-size:12px}.site-footer strong{color:white;font-size:18px}.site-footer p{margin:3px 0}.directory-head,.detail-page{width:min(calc(100% - 40px),var(--max));margin:0 auto}.directory-head{padding:46px 0 34px;border-bottom:1px solid var(--line)}.directory-head h1{font-size:clamp(34px,5vw,58px)}.directory-head>p:last-child{max-width:680px;color:var(--muted)}.crumbs{display:flex;align-items:center;gap:8px;margin-bottom:28px;color:var(--muted);font-size:12px}.crumbs a:hover{color:var(--green)}.directory-layout{width:min(calc(100% - 40px),var(--max));display:grid;grid-template-columns:210px 1fr;gap:30px;margin:30px auto 80px}.facet-panel{padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.facet-panel h2{margin:0 0 10px;font-size:13px}.facet-panel label{min-height:35px;display:flex;align-items:center;gap:8px;color:#c3cdca;font-size:12px}.facet-panel input{accent-color:var(--green)}.facet-panel hr{border:0;border-top:1px solid var(--line);margin:13px 0}.directory-toolbar{min-height:45px;display:flex;align-items:start;justify-content:space-between;color:var(--muted);font-size:12px}.directory-toolbar p{margin:0}.directory-toolbar button{min-height:32px;border:1px solid var(--line);border-radius:6px;color:#c8d1ce;background:var(--panel)}.directory-grid{grid-template-columns:repeat(3,1fr)}.directory-content{margin-top:30px}.guide-directory{grid-template-columns:1fr}.entity-hero{display:grid;grid-template-columns:minmax(280px,460px) 1fr;align-items:center;gap:48px;padding:18px 0 45px}.entity-art{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border:1px solid #39443e;border-radius:15px;background:linear-gradient(145deg,#1e4830,#11161c)}.entity-art>span{position:relative;z-index:2;padding:8px 12px;border-radius:8px;background:rgba(10,14,17,.78);font-size:12px;font-weight:750}.entity-hero h1{margin:0;font-size:clamp(42px,6vw,72px);line-height:1}.entity-hero p:not(.public-eyebrow){max-width:650px;color:#afbbb7}.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.tag-row span{padding:5px 9px;border:1px solid #3a4541;border-radius:15px;color:#c7d1ce;background:#171d22;font-size:10px}.detail-grid{display:grid;grid-template-columns:1fr 310px;gap:20px;margin-bottom:80px}.article-panel,.facts-panel,.guide-hero{padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.article-panel h2,.facts-panel h2{margin:0 0 14px;font-size:21px}.article-panel h3{margin:28px 0 10px}.article-panel>p{color:#b2bdb9}.relation-row{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--raised);font-size:12px}.relation-row span{color:var(--muted)}.facts-panel dl{margin:0}.facts-panel dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.facts-panel dt{color:var(--muted)}.facts-panel dd{margin:0;font-weight:700}.guide-page{padding-top:30px}.guide-hero{margin-bottom:20px;background:linear-gradient(145deg,#193323,#171c24 60%)}.guide-hero h1{font-size:clamp(35px,5vw,60px)}.guide-hero>p:not(.public-eyebrow){max-width:750px;color:#b3beba}.quest-steps{margin:0;padding:0;list-style:none;counter-reset:steps}.quest-steps li{counter-increment:steps;display:grid;grid-template-columns:34px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.quest-steps li>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#07200f;background:var(--green);font-size:11px;font-weight:900}.quest-steps li>span:before{content:counter(steps)}.quest-steps p{margin:3px 0 0;color:var(--muted);font-size:12px}@media(max-width:1050px){.site-header{grid-template-columns:auto 1fr auto}.public-nav{display:none}.public-search{justify-self:end;width:min(100%,390px)}.game-hero{grid-template-columns:1fr .8fr}.entity-grid{grid-template-columns:repeat(3,1fr)}.directory-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.site-header{height:auto;min-height:58px;grid-template-columns:1fr auto;padding:10px 14px}.public-search{grid-column:1/-1;width:100%;order:3}.locale-button{font-size:0}.locale-button:after{content:"中";font-size:12px}.game-hero{min-height:auto;display:flex;flex-direction:column;padding:42px 0 30px}.hero-copy h1{font-size:45px}.hero-visual{width:100%;min-height:240px}.hero-actions{flex-direction:column}.hero-actions a{justify-content:center}.stat-strip{grid-template-columns:repeat(2,1fr);margin-bottom:50px}.stat-strip div{min-height:80px;padding:0 15px;border-bottom:1px solid var(--line)}.stat-strip div:nth-child(2){border-right:0}.stat-strip div:nth-child(3){padding-left:0}.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guide-list{grid-template-columns:1fr}.guide-highlight{padding:18px}.section-heading{align-items:start}.directory-layout{display:block}.facet-panel{display:none}.directory-grid{grid-template-columns:repeat(2,1fr)}.entity-hero{grid-template-columns:1fr;gap:25px}.entity-art{max-height:310px}.detail-grid{grid-template-columns:1fr}.site-footer{align-items:start;flex-direction:column}.card-copy{padding:11px}.card-copy strong{font-size:15px}.card-copy p{font-size:11px}}@media(max-width:390px){.entity-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-art{aspect-ratio:1}.card-copy p{display:none}.game-hero,.content-section,.stat-strip,.directory-head,.directory-layout,.detail-page{width:min(calc(100% - 28px),var(--max))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entity-card{transition:none}}
img,video,iframe{max-width:100%;height:auto}picture{display:block;min-width:0;max-width:100%}.world-map,.step-media,.frozen-asset-reference{min-width:0;margin-inline:0;overflow:hidden}.world-map img,.step-media img,.card-art img{display:block;width:100%;height:auto;object-fit:cover}figcaption,.card-copy,.card-copy strong,.card-copy p{overflow-wrap:anywhere;word-break:break-word}html{min-width:0}
.screenshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.screenshot-grid figure{min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.screenshot-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}@media(max-width:760px){.screenshot-grid{grid-template-columns:1fr}}
.runtime-consent-slot{position:fixed;z-index:60;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.consent-runtime-button{min-width:44px;min-height:44px;padding:8px 13px;border:1px solid #4d5e58;border-radius:999px;color:var(--text);background:#101813;box-shadow:0 8px 28px rgba(0,0,0,.42);font:700 12px/1.2 inherit;cursor:pointer}.consent-runtime-dialog{inline-size:min(520px,calc(100vw - 32px));max-block-size:85vh;padding:0;border:1px solid #46554f;border-radius:14px;color:var(--text);background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.65);overflow:auto}.consent-runtime-dialog::backdrop{background:rgba(3,6,5,.76)}.consent-runtime-form{display:grid;gap:14px;padding:24px}.consent-runtime-form h2,.consent-runtime-form p{margin:0}.consent-runtime-form>p{color:var(--muted);font-size:13px}.consent-runtime-choice{min-height:44px;display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:9px}.consent-runtime-choice input{width:20px;height:20px;accent-color:var(--green)}.consent-runtime-actions{display:flex;flex-wrap:wrap;gap:10px}.consent-runtime-actions button{min-width:44px;min-height:44px;border-color:#52615c;color:var(--text);cursor:pointer}.runtime-ad-slot[hidden]{display:none!important}.runtime-ad-slot{width:min(calc(100% - 40px),var(--max));display:grid;gap:10px;margin:64px auto;padding:14px;border:1px solid #3c4944;border-radius:12px;background:var(--panel);overflow:hidden}.runtime-ad-label{width:max-content;padding:3px 8px;border-radius:999px;color:#07150c;background:var(--green);font-size:11px;font-weight:850}.runtime-house-ad{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:9px}.runtime-house-ad span{color:var(--green);font-weight:750}.runtime-ad-frame{width:100%;height:120px;border:0;background:#0b0f0d}@media(max-width:520px){.runtime-consent-slot{right:10px;bottom:10px}.consent-runtime-button{max-width:148px}.consent-runtime-form{padding:18px}.consent-runtime-actions{display:grid}.runtime-ad-slot{width:calc(100% - 28px);margin-block:48px}.runtime-house-ad{align-items:flex-start;flex-direction:column}}
.entity-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.entity-filter-panel>label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.entity-filter-panel select,.entity-filter-panel input{width:100%;min-height:42px;padding:8px 10px;border:1px solid #43504d;border-radius:8px;color:var(--text);background:#10151b}.filter-range{display:grid;grid-template-columns:1fr 1fr;gap:7px}.filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px}.filter-actions button{border:1px solid #43504d;cursor:pointer}.filter-actions output{margin-left:auto;min-width:42px;padding:7px 10px;border-radius:999px;color:#07150c;background:var(--green);text-align:center;font-weight:900}.entity-card[hidden]{display:none!important}@media(max-width:900px){.entity-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.entity-filter-panel{grid-template-columns:1fr}.filter-actions{align-items:stretch;flex-direction:column}.filter-actions>*{width:100%;justify-content:center}.filter-actions output{margin-left:0}}
.homepage-games{margin-top:40px}.homepage-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,590px));align-items:start;justify-content:start;gap:20px}.homepage-game-card{width:100%;max-width:590px;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(32,213,104,.045),var(--panel) 40%);transition:border-color .18s ease,transform .18s ease}.homepage-game-card:hover{border-color:#526159;transform:translateY(-3px)}.homepage-game-cover{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#1e4830,#11161c)}.homepage-game-cover picture,.homepage-game-cover img{width:100%;height:100%}.homepage-game-cover img{display:block;object-fit:cover}.homepage-game-cover>span{color:rgba(32,213,104,.72);font-family:Georgia,serif;font-size:72px;font-weight:900}.homepage-game-copy{padding:18px}.homepage-game-copy h2{margin:0;font-size:21px;line-height:1.2}.homepage-game-copy h2 a:hover{color:var(--green)}.homepage-game-copy>p{display:-webkit-box;min-height:44px;margin:10px 0 14px;overflow:hidden;color:var(--muted);font-size:13px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.homepage-game-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.homepage-game-links a{padding:7px 10px;border:1px solid #3c4944;border-radius:999px;color:#dbe4e1;font-size:12px;font-weight:700}.homepage-game-links a:hover{border-color:var(--green);color:var(--green)}.homepage-game-cta{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:13px;font-weight:850}.homepage-game-cta span{transition:transform .18s ease}.homepage-game-cta:hover span{transform:translateX(3px)}@media(max-width:760px){.homepage-game-grid{grid-template-columns:minmax(0,1fr)}.homepage-game-card{max-width:none}.homepage-game-copy>p{min-height:0}}@media(prefers-reduced-motion:reduce){.homepage-game-card,.homepage-game-cta span{transition:none}}
.hero-game-media,.hero-game-media img{position:absolute;inset:0;width:100%;height:100%}.hero-game-media img{object-fit:cover}.hero-visual:has(.hero-game-media):before{inset:0;height:100%;z-index:1;background:linear-gradient(90deg,rgba(9,14,12,.22),transparent 60%),linear-gradient(0deg,rgba(9,14,12,.48),transparent 55%);filter:none}.hero-visual:has(.hero-game-media):after{display:none}.hero-visual .orb{z-index:2}.stat-strip>a{min-height:100px;display:flex;flex-direction:column;justify-content:center;padding:0 28px;border-right:1px solid var(--line);transition:background .18s ease}.stat-strip>a:first-child{padding-left:0}.stat-strip>a:last-child{border:0}.stat-strip>a:hover{background:rgba(32,213,104,.045)}.stat-strip>a strong{font-size:25px}.stat-strip>a span{color:var(--muted);font-size:12px}.game-home-section{margin-bottom:64px}.home-shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-shortcut-grid>a{min-height:92px;display:flex;flex-direction:column;justify-content:center;padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,rgba(32,213,104,.045),var(--panel));transition:border-color .18s ease,transform .18s ease}.home-shortcut-grid>a:hover{border-color:var(--green);transform:translateY(-2px)}.home-shortcut-grid strong,.home-shortcut-grid span{display:block}.home-shortcut-grid strong{font-size:16px}.home-shortcut-grid span{margin-top:2px;color:var(--muted);font-size:12px}.home-featured-grid,.home-guide-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-tool-grid>a{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,rgba(32,213,104,.06),var(--panel));transition:border-color .18s ease,transform .18s ease}.home-tool-grid>a:hover{border-color:var(--green);transform:translateY(-2px)}.home-tool-grid span{min-width:0}.home-tool-grid small,.home-tool-grid strong{display:block}.home-tool-grid small{color:var(--green);font-size:10px;font-weight:800;text-transform:uppercase}.home-tool-grid strong{margin-top:3px;font-size:19px}.home-tool-grid p{margin:7px 0 0;color:var(--muted);font-size:12px}.home-tool-grid>a>b{color:var(--green);font-size:24px}@media(max-width:900px){.home-shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-featured-grid,.home-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.stat-strip>a{min-height:80px;padding:0 15px;border-bottom:1px solid var(--line)}.stat-strip>a:nth-child(2){border-right:0}.stat-strip>a:nth-child(3){padding-left:0}.home-shortcut-grid,.home-featured-grid,.home-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-tool-grid{grid-template-columns:1fr}}@media(max-width:420px){.home-shortcut-grid{grid-template-columns:1fr}.home-shortcut-grid>a{min-height:76px}.home-featured-grid,.home-guide-grid{grid-template-columns:1fr}.game-home-section{margin-bottom:52px}}
.research-header{grid-template-columns:auto minmax(0,1fr) auto auto;gap:24px}.game-header-context{min-width:0;display:flex;align-items:baseline;gap:10px;padding-inline-start:20px;border-inline-start:1px solid var(--line)}.game-header-context small{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.game-header-context strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.locale-menu.locale-switcher{position:relative;display:block;min-height:0;max-inline-size:none;overflow:visible;padding:0;border:0;background:transparent}.locale-switcher>summary{min-width:154px;display:flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid #3a4744;border-radius:10px;color:var(--text);background:#151b21;cursor:pointer;list-style:none}.locale-switcher>summary::-webkit-details-marker{display:none}.locale-switcher[open]>summary{border-color:rgba(32,213,104,.65);box-shadow:0 0 0 3px rgba(32,213,104,.1)}.locale-globe{width:28px;height:28px;display:grid;flex:0 0 auto;place-items:center;border-radius:8px;color:#07150c;background:var(--green);font-size:12px;font-weight:900}.locale-current{min-width:0;display:grid!important;flex:1;gap:0;padding:0!important;color:inherit!important;background:transparent!important;line-height:1.2}.locale-current strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.locale-current small,.locale-popover small{color:var(--muted);font-size:9px;font-weight:600}.locale-chevron{flex:0 0 auto;color:var(--muted);transition:transform .16s ease}.locale-switcher[open] .locale-chevron{transform:rotate(180deg)}.locale-popover{position:absolute;z-index:60;inset-block-start:calc(100% + 9px);inset-inline-end:0;width:min(280px,calc(100vw - 28px));max-height:min(430px,calc(100vh - 100px));display:grid;gap:3px;overflow-y:auto;padding:8px;border:1px solid #3b4945;border-radius:13px;background:#11171c;box-shadow:0 22px 54px rgba(0,0,0,.52)}.locale-menu .locale-popover a,.locale-menu .locale-popover>span{min-height:46px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:7px 10px;border-radius:8px;color:#d9e1df;background:transparent}.locale-menu .locale-popover a:hover,.locale-menu .locale-popover>span[aria-current=page]{color:var(--text);background:rgba(32,213,104,.12)}.locale-popover b{grid-row:1;font-size:12px}.locale-popover small{grid-row:2}.locale-popover i{grid-column:2;grid-row:1/3;color:var(--green);font-style:normal}.game-section-nav{position:sticky;z-index:18;top:64px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(12,16,21,.96);backdrop-filter:blur(14px)}.game-section-nav>div{width:min(calc(100% - 40px),var(--max));min-height:52px;display:flex;align-items:stretch;gap:6px;margin-inline:auto;overflow-x:auto;scrollbar-width:thin}.game-section-nav a{position:relative;min-width:max-content;min-height:52px;display:inline-flex;align-items:center;padding-inline:15px;color:#aeb9b6;font-size:12px;font-weight:750}.game-section-nav a:hover,.game-section-nav a[aria-current=page]{color:var(--text)}.game-section-nav a[aria-current=page]:after{content:"";position:absolute;inset-inline:12px;inset-block-end:0;height:3px;border-radius:3px 3px 0 0;background:var(--green)}@media(max-width:760px){.research-header{grid-template-columns:auto minmax(0,1fr) auto auto;min-height:60px}.research-header .public-brand>span:last-child{display:none}.game-header-context{padding-inline-start:10px}.game-header-context small,.locale-current small{display:none}.locale-switcher>summary{min-width:44px;padding:6px}.locale-current,.locale-chevron{display:none!important}.game-section-nav{top:60px}.game-section-nav>div{width:100%;padding-inline:8px}}

.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 22px}.site-footer nav a:hover{color:var(--green)}

/* Scoped game-menu groups remain keyboard accessible without JavaScript. */
.game-nav-group{flex:0 0 auto;min-width:max-content}.game-nav-group>summary{min-height:52px;padding:16px 15px;cursor:pointer;color:var(--text);font-size:12px;font-weight:750}.game-nav-group>div{display:flex;flex-wrap:wrap;gap:4px;padding:0 8px 8px}.game-nav-group>div a{min-height:40px}
:where(.item-catalog) .item-category-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0 0 32px;padding:18px 0;border-block:1px solid var(--line)}
:where(.item-catalog) .item-category-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:var(--green)}
:where(.item-catalog) .item-category-links span{font-size:12px;color:var(--muted);font-weight:400}
:where(.item-catalog) .item-category{scroll-margin-top:110px;margin-bottom:44px}
:where(.item-catalog) .section-heading small{font-size:14px;color:var(--muted);margin-left:8px}
:where(.item-catalog) .card-art{height:132px;min-height:0;background:var(--raised)}
:where(.item-catalog) .card-art img{width:100%;height:100%;padding:16px;object-fit:contain}
:where(.item-catalog) .card-copy p{font-size:13px;line-height:1.7}
/* Compact, readable equipment details. The original game icon keeps its aspect ratio. */
.item-detail{width:min(calc(100% - 40px),980px);margin:0 auto;padding:28px 0 52px}
.item-detail>.crumbs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px;font-size:14px}
.item-detail-head{display:flex;align-items:center;gap:28px;padding:0 0 30px;border-bottom:1px solid var(--line,#dfe4e8)}
.item-detail-icon{width:128px;height:128px;flex:0 0 128px;display:grid;place-items:center;border-radius:18px;background:rgba(136,153,174,.09)}
.item-detail-icon picture,.item-detail-icon img{display:block;width:128px;height:128px;object-fit:contain}
.item-detail-head h1{margin:0 0 14px;font-size:clamp(28px,3vw,38px);line-height:1.2}
.item-detail-summary{margin:0;max-width:700px;font-size:17px;line-height:1.85}
.item-detail-sections{max-width:790px}
.item-detail-section{padding:24px 0;border-bottom:1px solid var(--line,#dfe4e8)}
.item-detail-section h2{margin:0 0 16px;font-size:22px}
.item-detail-section h3{margin:18px 0 8px;font-size:16px}
.item-detail-section p{margin:8px 0;line-height:1.9;font-size:16px}
.item-detail-back{display:inline-block;margin-top:26px}
.item-detail-section h4{margin:14px 0 4px;font-size:14px;color:var(--green)}
.item-detail-section h3[id^="attr-combat_phase_"]{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:20px}
.enemy-illustration{margin:20px 0;max-width:790px}.enemy-illustration img{display:block;width:100%;height:auto;border-radius:10px}.enemy-illustration figcaption{margin-top:8px;color:var(--muted);font-size:13px}
@media(max-width:600px){.item-detail{padding-top:18px}.item-detail>.crumbs{margin-bottom:22px}.item-detail-head{gap:16px;align-items:flex-start}.item-detail-icon{width:96px;height:96px;flex-basis:96px}.item-detail-icon picture,.item-detail-icon img{width:96px;height:96px}.item-detail-summary{font-size:15px}.item-detail-head h1{font-size:27px;margin-bottom:10px}.item-detail-section{padding:22px 0}}

/* Player detail: actionable destinations and conditions precede reference material. */
.player-quick-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.player-quick-links>a{display:flex;flex-direction:column;gap:5px;min-width:180px;max-width:100%;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:8px;background:var(--panel,#fff);text-decoration:none;overflow-wrap:anywhere}
.player-quick-links>a:hover,.player-quick-links>a:focus-visible{background:var(--green-soft,#eef7f3);outline:2px solid var(--green);outline-offset:2px}
.player-quick-links small{font-size:12px;color:var(--muted)}
.item-section-nav{display:flex;flex-wrap:wrap;gap:10px 20px;margin:22px 0 2px;font-size:14px}
.item-detail-section h2,.item-background{scroll-margin-top:100px}
.item-background summary{cursor:pointer;font-size:18px;font-weight:600}
.item-background[open] summary{margin-bottom:16px}
.player-map-point-instructions{max-width:960px;margin:0 0 20px;font-size:16px;line-height:1.85;white-space:pre-line}
@media(max-width:600px){.player-quick-links>a{min-width:0;flex:1 1 200px}.item-section-nav{gap:12px 16px}.player-map-point-instructions{font-size:15px}}

.player-map-links>a{min-width:0;padding:8px 12px;flex:0 1 auto;font-size:14px}
.player-map-focused .player-map-layout{grid-template-columns:minmax(0,1fr)}

.locale-button {
  display: inline-flex;
  align-items: center;
}

.facet-option {
  min-height: 32px;
  display: flex;
  align-items: center;
  color: #c3cdca;
  font-size: 12px;
}

.sort-label {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: #c8d1ce;
  background: var(--panel);
}

.search-results {
  min-height: 280px;
  margin-top: 30px;
}

.search-result-group + .search-result-group {
  margin-top: 46px;
}

.search-content-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 16px;
}

.search-content-card {
  min-width: 0;
}

.search-empty {
  padding: 42px;
  border: 1px solid var(--line);
  border-radius: 12px;
  text-align: center;
  background: var(--panel);
}

.search-empty strong {
  font-size: 22px;
}

.search-empty p {
  margin: 8px 0 22px;
  color: var(--muted);
}

.research-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 38px;
  padding: 7px 20px;
  border-bottom: 1px solid #61542a;
  color: #e8dfb5;
  background: #272313;
  font-size: 11px;
}

.research-banner strong {
  color: #ffe077;
  white-space: nowrap;
}

.integrity-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 20px;
  border-bottom: 1px solid #9d3e3e;
  color: #ffd6d6;
  background: #481e22;
  font-size: 11px;
}

.integrity-banner strong {
  color: #ff9b9b;
}

.hero-map-link {
  display: block;
  isolation: isolate;
}

.hero-map-link::before,
.hero-map-link::after {
  display: none;
}

.hero-map {
  width: 100%;
  height: 100%;
  min-height: 350px;
  display: block;
  object-fit: cover;
  transition: transform .25s ease;
}

.hero-map-link:hover .hero-map {
  transform: scale(1.025);
}

.hero-map-link > span {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: 16px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 7px;
  color: #fff;
  background: rgba(8,12,16,.78);
  font-size: 11px;
  font-weight: 750;
}

.hero-media-label {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;
  max-width: calc(100% - 32px);
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 7px;
  color: #fff0c9;
  background: rgba(52,38,18,.88);
  font-size: 9px;
}

.card-art img,
.entity-art img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.card-art img {
  padding: 8px;
  background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.08), transparent 62%);
}

.card-art b {
  z-index: 3;
}

.media-kind {
  position: absolute;
  z-index: 4;
  top: 9px;
  right: 9px;
  padding: 3px 6px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 5px;
  color: #fff0c9;
  background: rgba(52,38,18,.88);
  font-size: 8px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.3;
}

.media-source-label {
  display: block;
  margin-top: 6px;
  color: #d9c993;
  font-size: 9px;
  font-style: normal;
  line-height: 1.45;
}

.pager {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
  color: var(--muted);
  font-size: 12px;
}

.pager a,
.pager span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
}

.pager a:last-child,
.pager span:last-child {
  justify-self: end;
}

.pager a:hover {
  border-color: #64716e;
  color: var(--green);
}

.pager span[aria-disabled="true"] {
  opacity: .45;
}

.entity-art img {
  padding: 18px;
}

.media-label {
  position: absolute;
  z-index: 3;
  right: 9px;
  bottom: 9px;
  max-width: calc(100% - 18px);
  padding: 5px 7px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 6px;
  color: #dce5e1;
  background: rgba(8,12,15,.82);
  font-size: 9px;
  line-height: 1.35;
}

.guide-card-with-media {
  grid-template-columns: 76px 1fr;
}

.guide-thumb {
  position: relative;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: radial-gradient(circle, #26342e, #10151a);
}

@media (max-width: 1050px) {
  .site-header {
    height: auto;
    min-height: 64px;
    column-gap: 16px;
    row-gap: 8px;
    padding-block: 10px;
  }

  .site-header .public-nav {
    grid-column: 1 / -1;
    order: 4;
    display: flex;
    width: 100%;
    overflow-x: auto;
    padding-top: 7px;
    border-top: 1px solid var(--line);
    scrollbar-width: thin;
  }

  .site-header .public-nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
}

.guide-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.guide-hero-with-media {
  display: grid;
  grid-template-columns: 1fr minmax(180px, 300px);
  align-items: center;
  gap: 30px;
}

.guide-media {
  margin: 0;
}

.guide-media img {
  width: 100%;
  max-height: 300px;
  object-fit: contain;
}

.guide-media figcaption {
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.map-highlight {
  display: grid;
  grid-template-columns: minmax(280px, .75fr) minmax(340px, 1.25fr);
  align-items: center;
  gap: 34px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--panel);
}

.map-highlight h2 {
  margin: 0;
  font-size: 30px;
}

.map-highlight p:not(.public-eyebrow) {
  color: var(--muted);
}

.map-highlight img {
  width: 100%;
  max-height: 440px;
  object-fit: cover;
  border: 1px solid #39443e;
  border-radius: 11px;
}

.map-preview {
  margin: 0;
}

.map-preview figcaption {
  margin-top: 6px;
  color: #d9c993;
  font-size: 9px;
}

.map-page {
  padding-top: 30px;
}

.map-head {
  width: 100%;
  padding-top: 8px;
}

.world-map {
  margin: 28px 0 80px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
}

.world-map img {
  width: 100%;
  display: block;
  border-radius: 9px;
}

.world-map figcaption {
  padding: 11px 5px 3px;
  color: var(--muted);
  font-size: 11px;
}

.world-map figcaption strong {
  display: block;
  margin-bottom: 4px;
  color: #d9c993;
  font-size: 9px;
}

.relation-list {
  display: grid;
  gap: 8px;
}

.relation-row {
  min-height: 64px;
}

.relation-row > span {
  display: grid;
  gap: 1px;
}

.relation-row small {
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
}

.relation-row strong {
  color: var(--text);
  font-size: 14px;
}

.relation-row em {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
}

.relation-row > b {
  color: #cad4d1;
  font-size: 11px;
}

.step-signal,
.step-warning {
  padding: 8px 10px;
  border-left: 3px solid var(--green);
  border-radius: 0 7px 7px 0;
  background: rgba(32, 213, 104, .07);
}

.step-warning {
  border-left-color: #e3ad54;
  background: rgba(227, 173, 84, .08);
}

.step-signal b,
.step-warning b {
  display: block;
  color: var(--text);
  font-size: 10px;
}

.step-media {
  margin: 12px 0 0;
}

.step-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.step-links a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 5px 11px;
  border: 1px solid rgba(32, 213, 104, .42);
  border-radius: 999px;
  color: #c9f8da;
  background: rgba(32, 213, 104, .08);
  font-size: 12px;
  font-weight: 750;
}

.step-links a:hover {
  border-color: var(--green);
  background: rgba(32, 213, 104, .14);
}

.step-media img {
  width: min(100%, 680px);
  display: block;
  border: 1px solid var(--line);
  border-radius: 9px;
}

.step-media figcaption {
  margin-top: 5px;
  color: #d9c993;
  font-size: 9px;
}

.marker-directory {
  margin: -46px 0 80px;
}

.marker-directory > header {
  max-width: 760px;
  margin-bottom: 22px;
}

.marker-directory h2 {
  margin: 0;
  font-size: 28px;
}

.marker-directory header > p:last-child {
  color: var(--muted);
}

.marker-groups {
  display: grid;
  gap: 9px;
}

.marker-groups details {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
}

.marker-groups summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  cursor: pointer;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
}

.marker-groups summary span {
  color: var(--green);
  font-size: 10px;
}

.marker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  padding: 0 12px 12px;
}

.marker-card {
  min-width: 0;
  padding: 13px;
  border: 1px solid #35403f;
  border-radius: 8px;
  background: var(--raised);
}

.marker-card > div {
  display: grid;
}

.marker-card small {
  color: var(--green);
  font-size: 9px;
  font-weight: 800;
}

.marker-card strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.marker-card p {
  min-height: 38px;
  margin: 7px 0;
  color: var(--muted);
  font-size: 10px;
}

.marker-card footer {
  display: grid;
  gap: 4px;
  border-top: 1px solid var(--line);
  padding-top: 7px;
  font-size: 9px;
}

.marker-card footer span {
  color: #c9d2cf;
}

.marker-card footer a {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  color: var(--green);
  font-weight: 800;
}

@media (max-width: 760px) {
  .site-header {
    position: relative;
    top: auto;
    column-gap: 10px;
    row-gap: 8px;
  }

  .research-banner {
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 1px;
    padding-inline: 14px;
  }

  .integrity-banner {
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: 1px;
    padding-inline: 14px;
  }

  .hero-map {
    min-height: 240px;
  }

  .guide-card-with-media {
    grid-template-columns: 58px 1fr;
  }

  .guide-thumb {
    width: 54px;
    height: 54px;
  }

  .guide-hero-with-media,
  .map-highlight {
    grid-template-columns: 1fr;
  }

  .marker-grid {
    grid-template-columns: 1fr;
  }

  .pager {
    grid-template-columns: 1fr 1fr;
  }

  .pager strong {
    grid-column: 1 / -1;
    grid-row: 1;
    text-align: center;
  }
}

.locale-menu {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 4px;
  max-inline-size: min(520px, 42vw);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding-inline: 4px;
  border: 1px solid #35403f;
  border-radius: 7px;
  color: #d9e1df;
  background: transparent;
  font-size: 11px;
}

.locale-menu a,
.locale-menu span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding-inline: 7px;
  border-radius: 5px;
  white-space: nowrap;
}

.locale-menu a:hover,
.locale-menu span[aria-current="page"] {
  color: #07130c;
  background: var(--green);
}

.video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.video-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
}

.video-poster {
  position: relative;
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 18px;
  overflow: hidden;
  color: rgba(255,255,255,.72);
  background: radial-gradient(circle at 72% 25%, rgba(32,213,104,.32), transparent 26%), linear-gradient(145deg, #27342e, #11161c 70%);
  font-weight: 850;
}

.video-poster::after {
  content: "";
  position: absolute;
  inset: 18% 12%;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  transform: rotate(-12deg);
}

.video-poster .score {
  position: absolute;
  z-index: 1;
  inset-block-start: 12px;
  inset-inline-end: 12px;
  padding: 3px 7px;
  border-radius: 5px;
  color: #07130c;
  background: var(--green);
  font-size: 11px;
}

.video-poster > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-carousel .section-heading button {
  min-height: 44px;
  color: var(--text);
  cursor: pointer;
}

.video-carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 32%);
  gap: 15px;
  overflow-x: auto;
  padding: 2px 2px 12px;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
}

.video-carousel-track .video-card {
  scroll-snap-align: start;
}

.video-facets {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin-bottom: 18px;
  padding-bottom: 6px;
  scrollbar-width: thin;
}

.video-facets a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 22px;
  white-space: nowrap;
  background: var(--panel);
  font-size: 12px;
}

.video-facets a[aria-current="page"] {
  color: #07130c;
  border-color: var(--green);
  background: var(--green);
}

.video-facets span {
  font-variant-numeric: tabular-nums;
  opacity: .75;
}

.video-filter-form {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
}

.video-filter-form label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
}

.video-filter-form select {
  min-width: 150px;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid #53605b;
  border-radius: 7px;
  color: var(--text);
  background: #0d1116;
}

.video-filter-form button {
  border: 0;
}

.plot-sections {
  display: grid;
  gap: 12px;
}

.plot-sections > article {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
}

.plot-sections > article > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #07130c;
  background: var(--green);
  font-weight: 850;
}

.plot-sections h2 {
  margin: 0;
}

.plot-sections article p {
  color: var(--muted);
}

.plot-sections article div > p:first-child {
  margin: 0;
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.video-card > div {
  padding: 16px;
}

.video-card h3,
.article-card h3 {
  margin: 2px 0 6px;
  font-size: 19px;
}

.video-card p,
.video-card span,
.article-card p {
  color: var(--muted);
  font-size: 12px;
}

.video-card > div > p:first-child,
.article-card > p:first-child {
  margin: 0;
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.text-link {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  margin-block-start: 8px;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.split-directory {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.topic-card,
.article-card {
  display: block;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
}

.topic-card strong {
  font-size: 22px;
}

.topic-card p {
  margin-block-end: 0;
  color: var(--muted);
  font-size: 13px;
}

.media-detail,
.person-page,
.topic-page,
.editorial-page,
.player-page {
  padding-block-start: 30px;
}

.player-head {
  width: 100%;
  padding-block-start: 4px;
}

.player-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 18px;
  margin-block: 28px 54px;
}

.player-stage {
  min-height: 430px;
  display: grid;
  place-content: center;
  padding: 30px;
  border: 1px solid #35403f;
  border-radius: 12px;
  text-align: center;
  background: radial-gradient(circle, #1a3325, #080b0f 66%);
}

.player-stage strong {
  font-size: 24px;
}

.player-stage p {
  max-width: 580px;
  color: var(--muted);
}

.player-shell > aside {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
}

.player-shell h2,
.transcript h2 {
  margin-block-start: 0;
  font-size: 18px;
}

.episode-row {
  min-height: 48px;
  display: grid;
  grid-template-columns: 32px 1fr;
  align-items: center;
  gap: 8px;
  padding-inline: 8px;
  border-block-start: 1px solid var(--line);
}

.episode-row span {
  color: var(--green);
}

.transcript p {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  padding-block: 10px;
  border-block-start: 1px solid var(--line);
}

.transcript time {
  color: var(--green);
  font-variant-numeric: tabular-nums;
}

.accessibility-tracks {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
}

.accessibility-tracks h2 {
  margin-top: 0;
}

.accessibility-tracks ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.accessibility-tracks li {
  display: grid;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--raised);
}

.accessibility-tracks small {
  color: var(--green);
}

.account-nav-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  white-space: nowrap;
}

.account-page,
.comment-page {
  padding-block-start: 30px;
}

.account-island,
.comment-panel {
  max-width: 1040px;
  margin: 28px auto 54px;
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
}

.island-status {
  min-height: 48px;
  display: flex;
  align-items: center;
  margin-block: 0 20px;
  padding: 10px 14px;
  border-inline-start: 4px solid var(--green);
  border-radius: 8px;
  background: var(--raised);
  color: var(--muted);
}

.island-status[data-state="error"] {
  border-inline-start-color: #ff6b6b;
  color: #ffd7d7;
}

.island-status[data-state="success"] {
  color: var(--text);
}

.account-action-grid,
.account-private-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.account-action-card,
.account-private-grid > section {
  min-width: 0;
  min-height: 150px;
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--raised);
}

.account-action-card strong {
  color: var(--green);
  font-size: 18px;
}

.account-action-card span,
.account-private-grid p {
  color: var(--muted);
}

.account-form,
.comment-panel form {
  max-width: 620px;
  display: grid;
  gap: 16px;
}

.account-form label,
.comment-panel label {
  display: grid;
  gap: 7px;
  font-weight: 700;
}

.account-form input,
.account-form textarea,
.comment-panel textarea {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--canvas);
  color: var(--text);
  font: inherit;
}

.account-form textarea {
  min-height: 110px;
  resize: vertical;
}

.account-inline-form {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  align-items: end;
  gap: 10px;
}

.account-inline-form button,
.account-appeal-form button {
  justify-self: start;
}

.comment-panel textarea {
  min-height: 180px;
  resize: vertical;
}

.account-overview > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-block-end: 18px;
}

.account-data-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-data-list li {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding-block: 8px;
  border-block-start: 1px solid var(--line);
  overflow-wrap: anywhere;
}

.account-data-list span {
  color: var(--muted);
}

.account-security-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.account-security-grid > section,
.account-recovery,
.published-comment {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--raised);
  overflow-wrap: anywhere;
}

.account-security-grid h3,
.account-security-grid h4,
.published-comment p {
  margin: 0;
}

.account-session-list button {
  justify-self: start;
  margin-block-start: 6px;
}

.account-secret-once {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #8d7432;
  border-radius: 9px;
  background: #292311;
}

.account-secret-once code {
  overflow-wrap: anywhere;
  user-select: all;
}

.account-danger-zone {
  border-color: #754545 !important;
}

.published-comment-tree {
  display: grid;
  gap: 12px;
  margin-block-end: 28px;
}

.published-comment {
  padding: 16px;
}

.published-comment > header,
.comment-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.published-comment time {
  color: var(--muted);
  font-size: 13px;
}

.published-comment-children {
  display: grid;
  gap: 10px;
  margin-inline-start: clamp(10px, 3vw, 32px);
  padding-inline-start: 12px;
  border-inline-start: 2px solid var(--line);
}

.published-comment-report {
  display: grid;
  gap: 10px;
  max-width: none !important;
}

.published-comment-report textarea {
  min-height: 96px;
}

[data-reaction-panel] {
  margin-block-end: 24px;
  padding-block-end: 24px;
  border-block-end: 1px solid var(--line);
}

.reaction-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

[data-like-controls],
[data-rating-form] {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--raised);
}

[data-rating-form] label {
  flex-basis: 100%;
}

[data-rating-form] select {
  min-height: 44px;
  padding-inline: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--canvas);
  color: var(--text);
  font: inherit;
}

[data-reaction-like-count],
[data-reaction-rating-summary] {
  color: var(--muted);
}

.authorized-video,
.authorized-player-host,
.approved-frame-host,
.approved-frame-host iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 9px;
  background: #000;
}

.authorized-player-host {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  touch-action: manipulation;
}

.authorized-player-host .art-video-player {
  width: 100%;
  height: 100%;
  min-height: inherit;
  border-radius: inherit;
}

.authorized-player-host:fullscreen,
.authorized-player-host:-webkit-full-screen {
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  border-radius: 0;
}

body.newys-player-fullscreen-mode {
  overflow: hidden;
}

.art-video-player.newys-player-ios-fullscreen {
  position: fixed !important;
  z-index: 99999 !important;
  top: 50% !important;
  left: 50% !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #000 !important;
  transform: translate(-50%, -50%) !important;
}

@media (orientation: portrait) {
  .art-video-player.newys-player-ios-fullscreen {
    width: 100vh !important;
    height: 100vw !important;
    transform: translate(-50%, -50%) rotate(90deg) !important;
  }
}

.authorized-stage {
  width: 100%;
  place-content: stretch;
  text-align: start;
}

.authorized-stage > strong,
.authorized-stage > p {
  text-align: center;
}

.approved-frame-host[hidden],
.authorized-player-host[hidden],
.authorized-video[hidden] {
  display: none;
}

.player-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-block: 14px;
}

.player-shortcuts {
  max-width: 680px;
  margin-inline: auto;
  text-align: start;
}

.player-shortcuts summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
  color: var(--green);
}

.player-shortcuts kbd {
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--raised);
  font: inherit;
}

.transcript-seek {
  min-height: 44px;
  padding: 7px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text);
  text-align: start;
  font: inherit;
  cursor: pointer;
}

.transcript-seek:hover,
.transcript-seek:focus-visible {
  background: var(--raised);
}

.source-alternatives {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.source-alternatives a {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding-inline: 8px;
  border-block-start: 1px solid var(--line);
}

.source-policy-note {
  color: var(--muted);
}

.article-directory {
  display: grid;
  gap: 12px;
}

.prose p {
  font-size: 16px;
  line-height: 1.85;
}

.tool-panel {
  padding: clamp(20px, 4vw, 38px);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(32, 213, 104, .07), var(--panel) 52%);
}

.tool-panel > header {
  max-width: 780px;
}

.tool-panel h2 {
  margin: 0;
  font-size: clamp(25px, 4vw, 38px);
}

.tool-panel > header > p:last-child {
  color: var(--muted);
}

.tool-input-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin: 24px 0;
}

.tool-input-grid label {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(8, 12, 15, .45);
}

.tool-input-grid label > span {
  font-weight: 750;
}

.tool-input-grid input {
  min-height: 44px;
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #53605b;
  border-radius: 7px;
  color: var(--text);
  background: #0d1116;
}

.tool-input-grid input[aria-invalid="true"] {
  border-color: #ff7b72;
}

.tool-input-grid small {
  color: var(--muted);
}

.tool-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tool-actions button {
  border: 0;
  cursor: pointer;
}

.tool-actions .ghost-button {
  color: var(--text);
  background: transparent;
  border: 1px solid var(--line);
}

.tool-result {
  display: block;
  margin-top: 22px;
  font-size: clamp(27px, 5vw, 48px);
  font-weight: 850;
  letter-spacing: -.03em;
}

.tool-next-step {
  margin: 4px 0 0;
  color: var(--green);
  font-weight: 700;
}

/* Bidirectional support uses logical overrides so RTL changes flow without
   altering URLs, content identity, or template structure. */
.skip-link {
  left: auto;
  inset-inline-start: 8px;
}

.hero-map-link > span,
.media-kind,
.media-label {
  right: auto;
  inset-inline-end: 9px;
}

.hero-media-label {
  left: auto;
  inset-inline-start: 16px;
}

.step-signal,
.step-warning {
  border-left: 0;
  border-inline-start: 3px solid var(--green);
  border-radius: 7px;
}

.step-warning {
  border-inline-start-color: #e3ad54;
}

html[dir="rtl"] body {
  font-family: "Noto Sans Arabic", Tahoma, Arial, system-ui, sans-serif;
}

html[dir="rtl"] .public-eyebrow,
html[dir="rtl"] .video-card > div > p:first-child,
html[dir="rtl"] .article-card > p:first-child {
  letter-spacing: 0;
}

html[dir="rtl"] .relation-row > b,
html[dir="rtl"] .guide-index {
  transform: scaleX(-1);
}

html[dir="rtl"] .stat-strip div {
  border-right: 0;
  border-inline-end: 1px solid var(--line);
}

html[dir="rtl"] .stat-strip div:last-child {
  border-inline-end: 0;
}

@media (max-width: 1050px) {
  .locale-menu {
    justify-self: end;
  }

  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .locale-menu {
    max-width: 65vw;
    overflow-x: auto;
  }

  .split-directory,
  .player-shell {
    grid-template-columns: 1fr;
  }

  .video-poster,
  .player-stage {
    min-height: 260px;
  }

  .authorized-player-host {
    min-height: 220px;
  }

  .video-carousel-track {
    grid-auto-columns: minmax(250px, 82%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .video-carousel-track {
    scroll-behavior: auto;
  }
}

@media (max-width: 430px) {
  .video-grid {
    grid-template-columns: 1fr;
  }
}

.theme-home-hero,
.theme-featured,
.theme-home-block {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel);
}

.theme-home-hero img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
}

.theme-featured {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 24px;
  padding: 20px;
}

.theme-featured[hidden] {
  display: none;
}

.theme-featured img,
.theme-home-block > img {
  width: 100%;
  max-height: 360px;
  border-radius: 11px;
  object-fit: cover;
}

.theme-home-block {
  padding: 20px;
}

body[data-theme-poster-crop="contain"] .homepage-game-cover img {
  object-fit: contain;
}

body[data-theme-poster-crop="top-crop"] .homepage-game-cover img {
  object-position: center top;
}

body[data-theme-poster-aspect="1-1"] .homepage-game-cover { aspect-ratio: 1 / 1; }
body[data-theme-poster-aspect="2-3"] .homepage-game-cover { aspect-ratio: 2 / 3; }
body[data-theme-poster-aspect="3-2"] .homepage-game-cover { aspect-ratio: 3 / 2; }
body[data-theme-poster-aspect="4-3"] .homepage-game-cover { aspect-ratio: 4 / 3; }
body[data-theme-poster-aspect="16-9"] .homepage-game-cover { aspect-ratio: 16 / 9; }

@media (max-width: 700px) {
  .theme-featured {
    grid-template-columns: 1fr;
  }
}

.site-announcement {
  width: min(calc(100% - 40px), var(--max));
  min-height: 52px;
  margin: 16px auto 0;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid color-mix(in srgb, var(--green) 42%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--green) 8%, var(--panel));
}

.site-announcement[hidden] {
  display: none;
}

.site-announcement-warning {
  border-color: #a87924;
  background: #2a2315;
}

.site-announcement-critical {
  border-color: #b64c4c;
  background: #2c181a;
}

.site-announcement p {
  flex: 1;
  margin: 0;
}

.site-announcement a,
.site-announcement button,
.site-footer nav a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid currentColor;
  border-radius: 7px;
  color: var(--text);
  background: transparent;
  font: inherit;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

/* Game information architecture: a compact global bar, a persistent game
   section menu, and an accessible language popover. */
.research-header {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 24px;
}

.game-header-context {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding-inline-start: 20px;
  border-inline-start: 1px solid var(--line);
}

.game-header-context small {
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.game-header-context strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
}

.locale-menu.locale-switcher {
  position: relative;
  display: block;
  min-height: 0;
  max-inline-size: none;
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
}

.locale-switcher > summary {
  min-width: 154px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 10px;
  border: 1px solid #3a4744;
  border-radius: 10px;
  color: var(--text);
  background: #151b21;
  cursor: pointer;
  list-style: none;
}

.locale-switcher > summary::-webkit-details-marker {
  display: none;
}

.locale-switcher[open] > summary {
  border-color: rgba(32, 213, 104, .65);
  box-shadow: 0 0 0 3px rgba(32, 213, 104, .1);
}

.locale-globe {
  width: 28px;
  height: 28px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  color: #07150c;
  background: var(--green);
  font-size: 12px;
  font-weight: 900;
}

.locale-current {
  min-width: 0;
  display: grid !important;
  flex: 1;
  gap: 0;
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
  line-height: 1.2;
}

.locale-current strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.locale-current small,
.locale-popover small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 600;
}

.locale-chevron {
  flex: 0 0 auto;
  color: var(--muted);
  transition: transform .16s ease;
}

.locale-switcher[open] .locale-chevron {
  transform: rotate(180deg);
}

.locale-popover {
  position: absolute;
  z-index: 60;
  inset-block-start: calc(100% + 9px);
  inset-inline-end: 0;
  width: min(280px, calc(100vw - 28px));
  max-height: min(430px, calc(100vh - 100px));
  display: grid;
  gap: 3px;
  overflow-y: auto;
  padding: 8px;
  border: 1px solid #3b4945;
  border-radius: 13px;
  background: #11171c;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .52);
}

.locale-menu .locale-popover a,
.locale-menu .locale-popover > span {
  min-height: 46px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2px 12px;
  padding: 7px 10px;
  border-radius: 8px;
  color: #d9e1df;
  background: transparent;
}

.locale-menu .locale-popover a:hover,
.locale-menu .locale-popover > span[aria-current="page"] {
  color: var(--text);
  background: rgba(32, 213, 104, .12);
}

.locale-popover b {
  grid-row: 1;
  font-size: 12px;
}

.locale-popover small {
  grid-row: 2;
}

.locale-popover i {
  grid-column: 2;
  grid-row: 1 / 3;
  color: var(--green);
  font-style: normal;
}

.game-section-nav {
  position: sticky;
  z-index: 18;
  top: 64px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: rgba(12, 16, 21, .96);
  backdrop-filter: blur(14px);
}

.game-section-nav > div {
  width: min(calc(100% - 40px), var(--max));
  min-height: 52px;
  display: flex;
  align-items: stretch;
  gap: 6px;
  margin-inline: auto;
  overflow-x: auto;
  scrollbar-width: thin;
}

.game-section-nav a {
  position: relative;
  min-width: max-content;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  padding-inline: 15px;
  color: #aeb9b6;
  font-size: 12px;
  font-weight: 750;
}

.game-section-nav a:hover {
  color: var(--text);
}

.game-section-nav a[aria-current="page"] {
  color: var(--text);
}

.game-section-nav a[aria-current="page"]::after {
  content: "";
  position: absolute;
  inset-inline: 12px;
  inset-block-end: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--green);
}

/* Data-driven entity filters. The model still comes from ContentModel; this
   layer only improves hierarchy, result feedback, and small-screen behavior. */
.entity-filter-panel {
  display: block;
  padding: 0;
  overflow: hidden;
  border-color: #35413e;
  background: linear-gradient(145deg, rgba(32, 213, 104, .045), var(--panel) 42%);
}

.filter-panel-head {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
}

.filter-panel-head > div {
  display: grid;
}

.filter-panel-head small {
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.filter-panel-head strong {
  font-size: 16px;
}

.filter-panel-head p {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 0;
  color: var(--muted);
  font-size: 10px;
}

.filter-panel-head output {
  color: var(--green);
  font-size: 21px;
  font-weight: 900;
  line-height: 1;
}

.filter-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}

.filter-field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
  color: #b7c2bf;
  font-size: 11px;
  font-weight: 750;
}

.filter-field-text {
  grid-column: span 2;
}

.filter-field > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.filter-field select,
.filter-field input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 8px 11px;
  border: 1px solid #43504d;
  border-radius: 9px;
  color: var(--text);
  background: #0f151a;
}

.filter-field input[type="search"] {
  padding-inline-start: 38px;
  background-image: radial-gradient(circle, transparent 45%, #8fa09b 48% 57%, transparent 60%), linear-gradient(45deg, transparent 43%, #8fa09b 45% 55%, transparent 57%);
  background-position: 13px 12px, 24px 25px;
  background-size: 15px 15px, 8px 8px;
  background-repeat: no-repeat;
}

.filter-field select:focus,
.filter-field input:focus {
  border-color: var(--green);
}

.filter-actions {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 10px 16px;
  border-top: 1px solid var(--line);
}

.filter-actions button {
  min-width: 104px;
  justify-content: center;
}

.filter-empty-state {
  margin: 0 0 22px;
  padding: 26px;
  border: 1px dashed #46534f;
  border-radius: 12px;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 900px) {
  .filter-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .research-header {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    min-height: 60px;
  }

  .research-header .public-brand > span:last-child {
    display: none;
  }

  .game-header-context {
    padding-inline-start: 10px;
  }

  .game-header-context small,
  .locale-current small {
    display: none;
  }

  .locale-switcher > summary {
    min-width: 44px;
    padding: 6px;
  }

  .locale-current,
  .locale-chevron {
    display: none !important;
  }

  .game-section-nav {
    top: 60px;
  }

  .game-section-nav > div {
    width: 100%;
    padding-inline: 8px;
  }
}

@media (max-width: 520px) {
  .filter-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .filter-field-text {
    grid-column: auto;
  }

  .filter-panel-head {
    align-items: flex-start;
  }

  .filter-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .filter-actions button {
    width: 100%;
  }
}

/* Responsive and keyboard gates. Grid children must be allowed to shrink;
   long immutable digests/evidence labels wrap instead of widening the page. */
.detail-grid,
.detail-grid > *,
.article-panel,
.facts-panel,
.quest-steps li > div,
.guide-hero > *,
.directory-layout > *,
.player-shell > * {
  min-width: 0;
}

.article-panel,
.facts-panel,
.crumbs,
.relation-row,
.step-signal,
.step-warning,
.marker-card,
.player-stage {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.facts-panel dl div {
  min-width: 0;
  flex-wrap: wrap;
}

.facts-panel dt,
.facts-panel dd {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.crumbs {
  min-width: 0;
  flex-wrap: wrap;
}

.public-brand,
.skip-link,
.public-nav a,
.crumbs a,
.section-heading > a,
.text-link,
.locale-menu a,
.pager a,
.marker-card footer a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.public-nav a,
.skip-link,
.crumbs a,
.section-heading > a,
.text-link,
.pager a,
.marker-card footer a {
  min-width: 44px;
}

.public-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.public-search {
  height: 44px;
  min-height: 44px;
}

.public-search input,
.public-search button,
.locale-menu {
  min-height: 44px;
}

.public-search button,
.locale-menu a {
  min-width: 44px;
}

.public-search:focus-within {
  border-color: #65aaf8;
  box-shadow: 0 0 0 2px rgba(101, 170, 248, .42);
}

.public-search input:focus-visible {
  outline: 2px solid #65aaf8;
  outline-offset: -3px;
}

:where(a[href], button, input, select, textarea, summary, video, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 2px solid #65aaf8;
  outline-offset: 3px;
}

button,
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
summary {
  min-block-size: 44px;
}

.facet-panel label,
.player-shortcuts summary,
.transcript-seek,
.account-nav-link {
  min-block-size: 44px;
}

.video-card h3 a,
.tag-row a,
.account-form p a {
  min-inline-size: 44px;
  min-block-size: 44px;
  display: inline-flex;
  align-items: center;
}

@media (max-width: 900px) {
  .detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 430px) {
  .article-panel,
  .facts-panel,
  .guide-hero {
    padding-inline: 16px;
  }
}

/* Bounded directories: wrap links and keep controls usable on narrow screens. */
.directory-pagination,.directory-result-pages{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0;max-width:100%}
.directory-pagination a,.directory-result-pages button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.4rem .65rem;border:1px solid currentColor;border-radius:.4rem}
.directory-pagination a[aria-current=page]{font-weight:700;text-decoration:underline}
.directory-filter-status{overflow-wrap:anywhere}
.directory-content [hidden]{display:none!important}
@media(max-width:600px){.entity-filter-panel .filter-fields{grid-template-columns:minmax(0,1fr)}.filter-field,.filter-range{min-width:0}.filter-field input,.filter-field select{max-width:100%;min-width:0}.filter-actions{display:flex;flex-wrap:wrap}.directory-grid{grid-template-columns:minmax(0,1fr)}}

/* Direct category choices and consistent directory footers. */
.filter-choice-group{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}
.filter-choice{min-height:44px;padding:.5rem .8rem;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.filter-choice[aria-pressed="true"]{background:#254f3e;color:#fff;border-color:#254f3e;font-weight:700}
.filter-choice:focus-visible{outline:3px solid #c99b40;outline-offset:3px}
.filter-field-select,.filter-field-multi_select,.filter-field-toggle{grid-column:1/-1}
.directory-pagination,.directory-result-pages{grid-column:1/-1;justify-content:center;width:100%;padding-block:1rem;clear:both}
.directory-grid .card-art img{object-fit:contain}

.homepage-region {
  margin-top: 48px;
}

.homepage-region > .section-heading {
  margin-bottom: 22px;
}

.homepage-shelf + .homepage-shelf {
  margin-top: 38px;
}

.homepage-shelf > h3 {
  margin: 0 0 16px;
  color: var(--text);
  font-size: 20px;
}

.homepage-shelf-game-grid .homepage-game-card {
  max-width: 590px;
}

.homepage-shelf-poster-grid .homepage-game-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.homepage-shelf-poster-grid .homepage-game-card,
.homepage-shelf-landscape-row .homepage-game-card,
.homepage-shelf-carousel .homepage-game-card {
  max-width: none;
  border-radius: 12px;
}

.homepage-shelf-poster-grid .homepage-game-cover {
  aspect-ratio: 2 / 3;
}

.homepage-shelf-landscape-row .homepage-game-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homepage-shelf-carousel {
  overflow: hidden;
}

.homepage-shelf-carousel .homepage-game-grid {
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 300px);
  grid-template-columns: none;
  justify-content: normal;
  overflow-x: auto;
  padding-bottom: 10px;
  scroll-snap-type: x proximity;
}

.homepage-shelf-carousel .homepage-game-card {
  scroll-snap-align: start;
}

.homepage-video-card .homepage-game-copy {
  padding: 14px;
}

.homepage-video-card .homepage-game-copy h2 {
  font-size: 17px;
}

.homepage-video-card .homepage-game-copy > p {
  margin-bottom: 0;
  font-size: 12px;
}

/* Game shelves use compact cover cards; video shelves retain their own layout. */
:is(.homepage-games, .homepage-region-games) .homepage-game-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-card {
  position: relative;
  max-width: none;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 6px;
  background: #141714;
  isolation: isolate;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-card::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, .18) 55%, rgba(0, 0, 0, .78) 83%, rgba(0, 0, 0, .96));
  content: "";
  pointer-events: none;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-cover {
  aspect-ratio: 3 / 4;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-cover picture {
  display: block;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-cover img {
  transition: transform .25s ease;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-card:hover img {
  transform: scale(1.035);
}

:is(.homepage-games, .homepage-region-games) .homepage-game-copy {
  position: absolute;
  z-index: 2;
  inset-inline: 0;
  bottom: 0;
  padding: 12px;
  pointer-events: none;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-copy a {
  pointer-events: auto;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-copy h2 {
  display: -webkit-box;
  overflow: hidden;
  color: #f4f4f2;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  text-wrap: pretty;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-copy > p,
:is(.homepage-games, .homepage-region-games) .homepage-game-cta {
  display: none;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-links {
  gap: 2px 0;
  margin: 5px 0 0;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-links a {
  position: relative;
  max-width: 100%;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  color: #c7c7c3;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-links a + a {
  margin-inline-start: 7px;
  padding-inline-start: 8px;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-links a + a::before {
  position: absolute;
  inset-inline-start: 0;
  top: 4px;
  bottom: 4px;
  border-inline-start: 1px solid rgba(255, 255, 255, .4);
  content: "";
}

:is(.homepage-games, .homepage-region-games) .homepage-game-copy a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-card:focus-within {
  border-color: var(--green);
}

:is(.homepage-games, .homepage-region-games) a:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}

:is(.homepage-games, .homepage-region-games) .homepage-game-cover:focus-visible {
  outline-offset: -3px;
}

.homepage-region-games .homepage-shelf-landscape-row .homepage-game-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homepage-region-games .homepage-shelf-landscape-row .homepage-game-cover {
  aspect-ratio: 16 / 9;
}

.homepage-region-games .homepage-shelf-carousel .homepage-game-grid {
  grid-template-columns: none;
  grid-auto-columns: 180px;
}

@media (max-width: 1050px) {
  .homepage-shelf-poster-grid .homepage-game-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  :is(.homepage-games, .homepage-region-games) .homepage-game-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .homepage-region {
    margin-top: 38px;
  }

  .homepage-shelf-poster-grid .homepage-game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .homepage-shelf-landscape-row .homepage-game-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  :is(.homepage-games, .homepage-region-games) .homepage-game-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .homepage-region-games .homepage-shelf-landscape-row .homepage-game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  :is(.homepage-games, .homepage-region-games) .homepage-game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  :is(.homepage-games, .homepage-region-games) .homepage-game-copy {
    padding: 10px;
  }

  .homepage-region-games .homepage-shelf-landscape-row .homepage-game-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.homepage-games, .homepage-region-games) .homepage-game-card,
  :is(.homepage-games, .homepage-region-games) .homepage-game-cover img,
  :is(.homepage-games, .homepage-region-games) .homepage-game-card:hover img {
    transition: none;
    transform: none;
  }
}

/* Cover fit controls image scaling only; every game keeps the same card layout. */
:is(.homepage-games, .homepage-region-games) .homepage-game-card[data-cover-fit="contain"] .homepage-game-cover img {
  object-fit: contain;
  transform: none;
}

/* Aniimo handbook: intentionally scoped so other game pages keep their theme. */
.aniimo-handbook{--ah-ink:var(--text,#FFFEFA);--ah-muted:var(--muted,#a4b0ad);--ah-accent:var(--green,#F4693E);--ah-line:var(--line,#303946);--ah-panel:var(--panel,#242530);--ah-canvas:var(--canvas,#191A22);--ah-raised:var(--raised,#202731);--ah-on-accent:#101319;--ah-hover:color-mix(in srgb,var(--ah-accent) 12%,var(--ah-panel));--ah-art:color-mix(in srgb,var(--ah-panel) 86%,white);max-width:1440px;margin:24px auto 72px;padding:28px;color:var(--ah-ink);background:var(--ah-canvas);border:1px solid var(--ah-line);border-radius:24px;font-size:15px;line-height:1.65;color-scheme:dark}
.aniimo-handbook *{box-sizing:border-box}.aniimo-handbook [hidden]{display:none!important}.aniimo-handbook a{color:inherit}.aniimo-handbook :is(a,button,input,select):focus-visible{outline:3px solid var(--ah-accent);outline-offset:4px}.aniimo-handbook :is(h1,h2,h3,p){margin-top:0}.aniimo-handbook h1{font-size:clamp(28px,3.6vw,44px);line-height:1.2;letter-spacing:-.025em;margin-bottom:12px}.aniimo-handbook h2{font-size:24px;line-height:1.35}.aniimo-handbook h3{font-size:17px;line-height:1.45}.aniimo-handbook button,.aniimo-handbook input,.aniimo-handbook select{font:inherit}.aniimo-handbook button{cursor:pointer}.aniimo-handbook picture{display:block;min-width:0;width:100%}.aniimo-handbook .ah-header{display:flex;gap:20px;justify-content:space-between;align-items:flex-end;padding:8px 4px 24px}.aniimo-handbook .ah-header p{max-width:720px;color:var(--ah-muted);margin-bottom:0}.aniimo-handbook .ah-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;font-size:14px;color:var(--ah-muted)}.aniimo-handbook .ah-crumbs a{text-decoration:underline;text-underline-offset:4px}.aniimo-handbook .ah-count{display:flex;flex-shrink:0;flex-direction:column;text-align:end;color:var(--ah-muted)}.aniimo-handbook .ah-count strong{font-size:32px;line-height:1.2;color:var(--ah-accent)}
.aniimo-handbook .ah-filters{padding:20px;background:var(--ah-panel);border:1px solid var(--ah-line);border-radius:18px;margin-bottom:24px}.aniimo-handbook .ah-filter-fields{display:grid;grid-template-columns:1.65fr 1fr 1fr 1fr;gap:16px}.aniimo-handbook .ah-field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--ah-muted);font-weight:650}.aniimo-handbook .ah-field :is(input,select){width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--ah-line);border-radius:10px;background:var(--ah-canvas);color:var(--ah-ink);font-weight:400}.aniimo-handbook .ah-filter-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px}.aniimo-handbook .ah-filter-actions p{margin:0;color:var(--ah-muted);font-size:14px}.aniimo-handbook .ah-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border:1px solid var(--ah-line);border-radius:10px;background:var(--ah-canvas);color:var(--ah-ink);font-weight:650}.aniimo-handbook .ah-button:hover{background:var(--ah-hover);border-color:var(--ah-accent);color:var(--ah-accent)}.aniimo-handbook .ah-button:disabled{opacity:.4;cursor:default}.aniimo-handbook .ah-empty{padding:40px 24px;text-align:center;background:var(--ah-panel);border:1px dashed var(--ah-line);border-radius:16px;color:var(--ah-muted)}
.aniimo-handbook .ah-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.aniimo-handbook .ah-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:18px 12px 14px;text-align:center;background:var(--ah-panel);border:1px solid var(--ah-line);border-radius:20px;transition:transform .18s,border-color .18s,box-shadow .18s}.aniimo-handbook .ah-card:hover{transform:translateY(-3px);border-color:var(--ah-accent);box-shadow:0 12px 24px #00000026}.aniimo-handbook .ah-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;background:radial-gradient(circle,var(--ah-art),var(--ah-panel) 70%);margin-bottom:10px}.aniimo-handbook .ah-card strong{font-size:17px;overflow-wrap:anywhere}.aniimo-handbook .ah-card small{font-size:12px;color:var(--ah-muted)}.aniimo-handbook .ah-card-number{position:absolute;top:9px;left:12px;z-index:1;color:var(--ah-muted);font-size:11px;letter-spacing:.06em}.aniimo-handbook .ah-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:9px}.aniimo-handbook .ah-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:var(--ah-raised);color:var(--ah-muted);font-size:12px;line-height:1.4}.aniimo-handbook .ah-tag[data-element="fire"]{background:#472d2a;color:#ffb29c}.aniimo-handbook .ah-tag[data-element="water"]{background:#213b50;color:#9cd4ff}.aniimo-handbook .ah-tag[data-element="grass"]{background:#263f30;color:#a4dfaa}.aniimo-handbook .ah-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:26px;color:var(--ah-muted)}
.aniimo-handbook .ah-detail{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.45fr);gap:28px;align-items:start}.aniimo-handbook .ah-profile{position:sticky;top:92px;padding:24px;border:1px solid var(--ah-line);border-radius:22px;background:var(--ah-panel);overflow:hidden}.aniimo-handbook .ah-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:270px;background:radial-gradient(ellipse at center,var(--ah-art) 0,transparent 70%);border-radius:20px}.aniimo-handbook .ah-art img{width:100%;max-height:400px;object-fit:contain;filter:drop-shadow(0 14px 12px #00000033)}.aniimo-handbook .ah-profile h1{margin:12px 0 5px}.aniimo-handbook .ah-profile .ah-tags{justify-content:flex-start;margin:12px 0 18px}.aniimo-handbook .ah-description{white-space:pre-line;overflow-wrap:anywhere;color:var(--ah-muted)}.aniimo-handbook .ah-profile-links{display:flex;gap:10px;justify-content:space-between;margin-top:22px}.aniimo-handbook .ah-detail-content{min-width:0}.aniimo-handbook .ah-tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--ah-line);margin-bottom:24px;padding:0 0 9px;scrollbar-width:thin}.aniimo-handbook .ah-tabs a{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;padding:9px 13px;border-radius:10px;font-weight:650;color:var(--ah-muted);font-size:14px}.aniimo-handbook .ah-tabs a:hover{background:var(--ah-hover);color:var(--ah-accent)}.aniimo-handbook .ah-tabs a[aria-selected="true"]{background:var(--ah-accent);color:var(--ah-on-accent)}.aniimo-handbook .ah-panel{scroll-margin-top:150px;margin:0 0 24px;padding:24px;border:1px solid var(--ah-line);border-radius:18px;background:var(--ah-panel)}.aniimo-handbook .ah-section-description{color:var(--ah-muted);font-size:14px}.aniimo-handbook .ah-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px}.aniimo-handbook .ah-facts div{padding:13px;border-radius:12px;background:var(--ah-raised)}.aniimo-handbook .ah-facts dt{font-size:12px;color:var(--ah-muted)}.aniimo-handbook .ah-facts dd{margin:4px 0 0;font-weight:650}.aniimo-handbook .ah-list{display:grid;gap:14px}.aniimo-handbook .ah-info{display:flex;gap:13px;align-items:flex-start;padding:16px;background:var(--ah-raised);border:1px solid var(--ah-line);border-radius:12px}.aniimo-handbook .ah-info img{width:54px;height:54px;object-fit:contain;flex-shrink:0}.aniimo-handbook .ah-info>div{min-width:0;flex:1}.aniimo-handbook .ah-info h3{margin-bottom:7px}.aniimo-handbook .ah-info p{color:var(--ah-muted);white-space:pre-line;margin-bottom:8px}.aniimo-handbook .ah-info p:last-child{margin-bottom:0}.aniimo-handbook .ah-note{font-size:13px;color:var(--ah-muted)}.aniimo-handbook .ah-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.aniimo-handbook .ah-stat{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px;background:var(--ah-raised);border-radius:12px}.aniimo-handbook .ah-stat strong{color:var(--ah-accent);font-size:22px;font-variant-numeric:tabular-nums}.aniimo-handbook .ah-stat span{align-self:center;color:var(--ah-muted)}.aniimo-handbook .ah-stat meter{grid-column:1/-1;width:100%;height:8px}.aniimo-handbook .ah-skill-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;margin-bottom:12px;color:var(--ah-muted)}.aniimo-handbook .ah-links{display:flex;flex-wrap:wrap;gap:8px}.aniimo-handbook .ah-links a{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:6px 11px;border:1px solid var(--ah-line);border-radius:10px;color:var(--ah-accent);background:var(--ah-canvas)}.aniimo-handbook .ah-links img{width:34px;height:34px;object-fit:contain}.aniimo-handbook .ah-materials{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0}.aniimo-handbook .ah-material{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:9px;background:var(--ah-canvas);font-size:13px}.aniimo-handbook .ah-material img{width:32px;height:32px;object-fit:contain}.aniimo-handbook .ah-material strong{font-variant-numeric:tabular-nums}.aniimo-handbook .ah-evolution{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:10px;align-items:center;padding:16px;border:1px solid var(--ah-line);border-radius:14px;background:var(--ah-raised)}.aniimo-handbook .ah-evolution>a{display:flex;flex-direction:column;align-items:center;text-align:center}.aniimo-handbook .ah-evolution img{width:100%;max-width:110px;aspect-ratio:1;object-fit:contain}.aniimo-handbook .ah-evolution-arrow{color:var(--ah-accent);font-size:24px}.aniimo-handbook .ah-evolution-condition{grid-column:1/-1;color:var(--ah-muted);border-top:1px solid var(--ah-line);padding-top:10px;font-size:14px}.aniimo-handbook .ah-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.aniimo-handbook .ah-task{padding:18px;border:1px solid var(--ah-line);border-radius:12px;background:var(--ah-raised)}.aniimo-handbook .ah-task h3{margin-bottom:12px}.aniimo-handbook .ah-task ol{padding-left:24px;margin-bottom:0}.aniimo-handbook .ah-task li{padding:10px 0;border-top:1px solid var(--ah-line)}.aniimo-handbook .ah-task li p{margin:0 0 8px}.aniimo-handbook .ah-screens{display:grid;gap:20px}.aniimo-handbook .ah-screens figure{margin:0}.aniimo-handbook .ah-screens img{display:block;width:100%;height:auto;border:1px solid var(--ah-line);border-radius:12px}.aniimo-handbook .ah-screens figcaption{padding:10px 2px;color:var(--ah-muted);font-size:14px}

.aniimo-handbook .ah-field input::placeholder{color:var(--ah-muted);opacity:1}
.aniimo-handbook .ah-field :is(input,select):hover{border-color:var(--ah-muted)}
.aniimo-handbook .ah-links a:hover{background:var(--ah-hover);border-color:var(--ah-accent)}
.aniimo-handbook .ah-crumbs a:hover,.aniimo-handbook .ah-evolution>a:hover{color:var(--ah-accent)}
.aniimo-handbook .ah-stat meter{accent-color:var(--ah-accent);background:var(--ah-line);border:0;border-radius:999px;overflow:hidden}
.aniimo-handbook .ah-stat meter::-webkit-meter-bar{background:var(--ah-line);border:0;border-radius:999px}
.aniimo-handbook .ah-stat meter::-webkit-meter-optimum-value{background:var(--ah-accent);border-radius:999px}
.aniimo-handbook .ah-stat meter::-moz-meter-bar{background:var(--ah-accent);border-radius:999px}
.aniimo-handbook .ah-tag[data-element="dark"]{background:#393045;color:#d7bbed}
.aniimo-handbook .ah-tag[data-element="electric"]{background:#423c22;color:#f2d984}
.aniimo-handbook .ah-tag[data-element="holy"]{background:#403b2b;color:#eee0ad}
.aniimo-handbook .ah-tag[data-element="ice"]{background:#253f46;color:#a4e4ed}
.aniimo-handbook .ah-tag[data-element="rock"]{background:#40372f;color:#ddbd9b}
.aniimo-handbook .ah-tag[data-element="wind"]{background:#263e3b;color:#a4dace}
@media(min-width:1600px){.aniimo-handbook{margin-inline:auto}}@media(max-width:1100px){.aniimo-handbook{margin:20px;padding:22px}.aniimo-handbook .ah-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.aniimo-handbook .ah-detail{grid-template-columns:minmax(240px,.7fr) minmax(0,1fr);gap:20px}.aniimo-handbook .ah-profile{padding:18px}.aniimo-handbook .ah-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aniimo-handbook .ah-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.aniimo-handbook{margin:12px;padding:18px;border-radius:18px}.aniimo-handbook .ah-header{align-items:flex-start}.aniimo-handbook .ah-header p{font-size:14px}.aniimo-handbook .ah-count strong{font-size:25px}.aniimo-handbook .ah-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aniimo-handbook .ah-card{padding:16px 9px 12px}.aniimo-handbook .ah-card strong{font-size:15px}.aniimo-handbook .ah-detail{grid-template-columns:1fr}.aniimo-handbook .ah-profile{position:static}.aniimo-handbook .ah-art{min-height:200px}.aniimo-handbook .ah-art img{max-height:280px}.aniimo-handbook .ah-panel{padding:18px}.aniimo-handbook .ah-tabs{position:sticky;top:64px;z-index:2;background:var(--ah-canvas);padding-top:6px}.aniimo-handbook .ah-stats{gap:8px}.aniimo-handbook .ah-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.aniimo-handbook .ah-info{padding:12px}.aniimo-handbook .ah-info img{width:44px;height:44px}}
@media(max-width:440px){.aniimo-handbook{margin:8px;padding:14px}.aniimo-handbook .ah-header{gap:10px}.aniimo-handbook .ah-count{font-size:12px}.aniimo-handbook .ah-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aniimo-handbook .ah-filters{padding:14px}.aniimo-handbook .ah-filter-fields{gap:12px}.aniimo-handbook .ah-field:first-child{grid-column:1/-1}.aniimo-handbook .ah-field{font-size:12px}.aniimo-handbook .ah-field :is(input,select){font-size:14px}.aniimo-handbook .ah-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aniimo-handbook .ah-tabs a{padding:9px 11px}.aniimo-handbook .ah-stats{grid-template-columns:1fr}.aniimo-handbook .ah-facts{grid-template-columns:1fr}.aniimo-handbook .ah-info{flex-wrap:wrap}.aniimo-handbook .ah-info>div{flex-basis:190px}}
@media(prefers-reduced-motion:reduce){.aniimo-handbook *{transition:none!important;scroll-behavior:auto!important}}
@media print{.aniimo-handbook{--ah-ink:#101319;--ah-muted:#49515b;--ah-accent:#a83a17;--ah-line:#cbd0d6;--ah-panel:#fff;--ah-canvas:#fff;--ah-raised:#f2f3f5;--ah-art:#f2f3f5;margin:0;padding:0;background:white;border:0;color-scheme:light}.aniimo-handbook .ah-panel[hidden]{display:block!important}.aniimo-handbook .ah-tabs,.aniimo-handbook .ah-filters,.aniimo-handbook .ah-pagination{display:none}.aniimo-handbook .ah-detail{display:block}.aniimo-handbook .ah-profile{position:static}.aniimo-handbook .ah-panel{break-inside:avoid}}

.player-map{--map-paper:var(--panel,#20242b);--map-ink:var(--text,#f2f3ed);--map-muted:var(--muted,#b8c1be);--map-line:var(--line,#454c49);--map-accent:var(--green,#b7e19d);color:var(--map-ink);margin:28px 0;border:1px solid var(--map-line);border-radius:16px;overflow:hidden;background:var(--map-paper);min-width:0;isolation:isolate}.player-map *{box-sizing:border-box}.player-map [hidden]{display:none!important}.player-map-heading{padding:20px 22px 14px;border-bottom:1px solid var(--map-line)}.player-map-heading h2{margin:0;font-size:clamp(20px,2.5vw,28px);line-height:1.35;overflow-wrap:anywhere}.player-map-status{margin:7px 0 0;font-size:13px;color:var(--map-muted)}.player-map-status:empty{display:none}.player-map-layout{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);align-items:start;min-width:0}.player-map-sidebar{padding:16px;max-height:740px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-right:1px solid var(--map-line);min-width:0}.player-map-sidebar h3{font-size:15px;margin:20px 0 6px}.player-map-filters summary{cursor:pointer;font-weight:650;min-height:36px;line-height:1.5}.player-map-filter-body{display:grid;gap:10px}.player-map-filter-body>label{font-size:13px;color:var(--map-muted)}.player-map-search{display:block;width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--map-line);border-radius:8px;background:var(--map-paper);color:var(--map-ink);font:inherit}.player-map-search::placeholder{color:var(--map-muted);opacity:1}.player-map-categories{min-width:0;margin:3px 0 0;padding:10px;border:1px solid var(--map-line);border-radius:8px;max-height:270px;overflow:auto;overscroll-behavior:contain}.player-map-categories legend{padding:0 5px;font-size:13px;color:var(--map-muted)}.player-map-filter-actions{display:flex;gap:7px;margin:0 0 8px}.player-map-filter-actions .player-map-button{min-height:34px;font-size:12px;flex:1;padding:5px 8px}.player-map-category{display:flex;align-items:center;gap:8px;min-height:35px;cursor:pointer;font-size:13px;line-height:1.5}.player-map-category input{accent-color:var(--map-accent);flex:0 0 auto;width:17px;height:17px}.player-map-category span{min-width:0;flex:1;overflow-wrap:anywhere}.player-map-category small{font-size:11px;color:var(--map-muted)}.player-map-button{font:inherit;font-size:13px;line-height:1.4;color:var(--map-ink);background:var(--map-paper);border:1px solid var(--map-line);border-radius:8px;padding:9px 12px;min-height:44px;cursor:pointer;touch-action:manipulation;overflow-wrap:anywhere}.player-map-button:hover:not(:disabled){border-color:var(--map-accent)}.player-map-button:disabled{opacity:.42;cursor:default}.player-map button:focus-visible,.player-map input:focus-visible,.player-map summary:focus-visible,.player-map a:focus-visible,.player-map-svg:focus-visible{outline:3px solid var(--map-accent);outline-offset:3px}.player-map-result-count{font-size:12px;line-height:1.5;margin:0 0 9px;color:var(--map-muted)}.player-map-results,.player-map-related,.player-map-overlapping{list-style:none;padding:0;margin:0;display:grid;gap:6px}.player-map-result{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px;min-width:0}.player-map-result>span{min-width:0;flex:1}.player-map-result strong,.player-map-result small{display:block;line-height:1.45;overflow-wrap:anywhere}.player-map-result strong{font-size:13px;font-weight:600}.player-map-result small{font-size:11px;margin-top:2px;color:var(--map-muted)}.player-map-result[aria-current=true]{border-color:var(--map-accent);background:#334037}.player-map-result-icon{width:32px!important;height:32px!important;min-width:32px;max-width:32px;max-height:32px;object-fit:contain;flex:0 0 auto;display:block}.player-map-sidebar>.player-map-button{width:100%;margin-top:10px}.player-map-empty{font-size:13px;line-height:1.65;color:var(--map-muted);padding:12px 0}.player-map-canvas{position:relative;min-width:0;overflow:hidden}.player-map-viewport{height:min(70vh,680px);min-height:460px;position:relative;overflow:hidden;background:#52696a}.player-map-svg{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.player-map-svg.is-dragging{cursor:grabbing}.player-map-images{pointer-events:none}.player-map-marker{cursor:pointer;outline:none}.player-map-marker-hit{fill:transparent;pointer-events:all}.player-map-marker-ring{fill:#233838d9;stroke:#ecebdd;pointer-events:none}.player-map-marker-dot{fill:#fff5c4;pointer-events:none}.player-map-marker image,.player-map-marker text{pointer-events:none}.player-map-marker text{fill:#fff;font-weight:750;font-family:system-ui,sans-serif}.player-map-cluster .player-map-marker-ring{fill:#394542;stroke:#e1eeb7}.player-map-marker:hover .player-map-marker-ring{stroke:#fff59d}.player-map-marker:focus-visible .player-map-marker-ring,.player-map-marker.is-selected .player-map-marker-ring{stroke:#ffe579;fill:#5a493cee}.player-map-controls{position:absolute;z-index:2;top:12px;right:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:calc(100% - 24px);padding:6px;border:1px solid var(--map-line);background:#202b29ed;border-radius:10px;box-shadow:0 4px 20px #0003}.player-map-controls .player-map-button{min-width:42px;padding:8px 10px}.player-map-controls .player-map-button:first-child,.player-map-controls .player-map-button:nth-child(2){font-size:21px;line-height:1;min-height:42px}.player-map-zoom{font-size:11px;color:#e4ebe0;min-width:45px;text-align:center;padding:0 3px}.player-map-instructions{margin:0;padding:11px 15px;font-size:12px;line-height:1.65;color:var(--map-muted);border-top:1px solid var(--map-line)}.player-map-popup{position:absolute;right:14px;top:82px;width:min(330px,calc(100% - 28px));max-height:calc(100% - 130px);overflow:auto;overscroll-behavior:contain;z-index:3;border:1px solid #8b9d89;border-radius:12px;background:var(--map-paper);color:var(--map-ink);box-shadow:0 12px 45px #0006;padding:15px}.player-map-popup-heading{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-bottom:11px}.player-map-popup-heading h3{font-size:19px;line-height:1.4;margin:4px 0;overflow-wrap:anywhere}.player-map-popup-heading button{flex:0 0 36px;min-width:36px;min-height:36px;padding:0;font-size:24px;line-height:1}.player-map-popup-body{font-size:14px;line-height:1.65;overflow-wrap:anywhere}.player-map-popup-body p{margin:8px 0 12px;white-space:pre-line}.player-map-popup-icon{width:56px!important;height:56px!important;object-fit:contain;float:left;margin:0 12px 8px 0}.player-map-kind{color:var(--map-muted);font-size:12px;min-height:20px}.player-map-popup-facts{clear:both;display:grid;gap:8px;margin:14px 0}.player-map-popup-facts div{border-top:1px solid var(--map-line);padding-top:8px}.player-map-popup-facts dt{font-size:12px;color:var(--map-muted)}.player-map-popup-facts dd{margin:2px 0 0;white-space:pre-line}.player-map-detail-link{display:inline-block;color:var(--map-accent);text-decoration:underline;text-underline-offset:3px;min-height:36px;padding:6px 0}.player-map-popup h4{clear:both;font-size:14px;margin:16px 0 8px}.player-map-related a,.player-map-related li>span{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--map-line);border-radius:8px;color:var(--map-ink);min-height:48px;text-decoration:none}.player-map-related a:hover{border-color:var(--map-accent)}.player-map-overlapping+.player-map-button{width:100%;margin-top:10px}.player-map-error{padding:24px;line-height:1.65}
@media(max-width:1000px){.player-map-layout{grid-template-columns:220px minmax(0,1fr)}.player-map-controls{max-width:calc(100% - 20px);top:10px;right:10px;gap:4px;padding:4px}.player-map-controls .player-map-button{font-size:11px;padding:7px;min-width:36px}.player-map-popup{top:118px;max-height:calc(100% - 165px)}}
@media(max-width:760px){.player-map{border-radius:12px}.player-map-heading{padding:17px}.player-map-layout{grid-template-columns:minmax(0,1fr)}.player-map-sidebar{display:grid;grid-template-columns:minmax(0,1fr);max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--map-line);padding:13px}.player-map-filter-body{grid-template-columns:minmax(0,1fr) auto;align-items:center}.player-map-filter-body>label{grid-column:1/-1}.player-map-filter-body>.player-map-search{grid-column:1/-1}.player-map-categories{grid-column:1/-1;max-height:150px}.player-map-filter-body>.player-map-button{grid-column:1/-1}.player-map-results{max-height:190px;overflow:auto;overscroll-behavior:contain}.player-map-sidebar h3{margin-top:12px}.player-map-viewport{height:55vh;min-height:360px;max-height:580px}.player-map-controls{top:8px;right:8px;max-width:calc(100% - 16px)}.player-map-controls .player-map-button{min-height:40px}.player-map-popup{position:relative;top:auto;right:auto;width:auto;max-height:430px;margin:0;border-radius:0;border-width:1px 0 0;box-shadow:none;padding:17px}.player-map-popup-heading h3{font-size:19px}.player-map-instructions{padding:10px 13px}.player-map-popup-body{font-size:14px}.player-map-filters:not([open])+h3{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.player-map *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.player-map-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.player-map-presets .player-map-button{font-size:12px;padding:8px 5px;min-height:40px}.player-map-presets .player-map-button[aria-pressed=true]{border-color:var(--map-accent);background:#334037;box-shadow:inset 0 0 0 1px var(--map-accent)}.player-map-preset-hint,.player-map-search-hint{margin:0;font-size:12px;line-height:1.6;color:var(--map-muted)}.player-map-search-hint{padding:8px;border-left:2px solid var(--map-accent)}.player-map-category-group h4{margin:12px 0 6px;font-size:12px;line-height:1.5;color:var(--map-ink)}.player-map-category-group:first-of-type h4{margin-top:4px}.player-map-category .player-map-category-icon{width:22px!important;height:22px!important;max-width:22px;max-height:22px;min-width:22px;object-fit:contain;padding:0;margin:0}.player-map-result-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--map-muted);font-size:11px;line-height:1.6;margin-top:4px}.player-map-context-note{clear:both;border-left:2px solid var(--map-accent);background:#8c9d7e10;padding:8px 10px;color:var(--map-muted);font-size:12px}.player-map-cluster-badge{fill:#29362d;stroke:#ecebdd;pointer-events:none}.player-map-cluster .player-map-marker-ring{fill:#233838d9}
.player-map-heading-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0}.player-map-heading-title h2{min-width:0}.player-map-level-tier{display:flex;align-items:center;gap:8px;max-width:100%;font-size:12px;color:var(--map-muted)}.player-map-level-tier>span{flex:0 0 auto}.player-map-level-tier-select{min-width:0;max-width:230px;min-height:38px;font:inherit;color:var(--map-ink);background:var(--map-paper);border:1px solid var(--map-line);border-radius:8px;padding:7px 10px}.player-map-level-tier-select:focus-visible{outline:3px solid var(--map-accent);outline-offset:3px}
@media(max-width:760px){.player-map-presets,.player-map-preset-hint,.player-map-search-hint{grid-column:1/-1}.player-map-presets{grid-template-columns:repeat(3,minmax(0,1fr))}}
.player-map-region-labels,.player-map-region-labels *{pointer-events:none;user-select:none}.player-map-region-label text{font-family:system-ui,"Segoe UI",sans-serif;fill:#f5f3e9;stroke:#233e49d9;stroke-width:3px;stroke-linejoin:round;paint-order:stroke fill}.player-map-region-title{font-weight:750;letter-spacing:.02em}.player-map-region-level{font-weight:500;fill:#f0e4b7!important;stroke-width:2.5px!important}.player-map-portrait{position:relative;display:block;background:#293d43;border:1px solid #d8e9cf;border-radius:50%;overflow:visible;padding:1px}.player-map-result>.player-map-portrait{flex:0 0 auto}.player-map-portrait .player-map-portrait-image{display:block;width:100%!important;height:100%!important;max-width:none;max-height:none;object-fit:contain;border-radius:0;margin:0;padding:0}.player-map-portrait .player-map-portrait-category{position:absolute;right:-3px;bottom:-3px;display:block;width:45%!important;height:45%!important;object-fit:contain;border:1px solid #e1edd9;border-radius:50%;background:#243837;margin:0;padding:1px}.player-map-portrait-marker .player-map-marker-ring{fill:#29404cef;stroke:#d9eacb}.player-map-portrait-badge{fill:#263c35;stroke:#e1edd9;pointer-events:none}

.player-map-zoom-controls{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;padding:9px 5px;border:1px solid #e6ece373;border-radius:28px;background:#2f435bd1;box-shadow:0 4px 18px #1b27332e}.player-map-zoom-controls .player-map-button{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;font-size:24px;line-height:1;background:#f2f4ed;color:#465772;border-color:#e8e8e3}.player-map-zoom-slider{writing-mode:vertical-lr;direction:rtl;width:26px;height:138px;margin:0;padding:0;accent-color:#f3f3e9;cursor:pointer;background:transparent}.player-map-zoom-controls .player-map-zoom{font-size:10px;min-width:0;color:#fff;padding:0 1px}.player-map-controls{max-width:calc(100% - 90px);border-radius:14px}.player-map-controls .player-map-button:first-child,.player-map-controls .player-map-button:nth-child(2){font-size:12px;line-height:1.4;min-height:40px}.player-map-region-label.is-interactive{pointer-events:all;cursor:pointer;outline:none}.player-map-region-label.is-interactive .player-map-region-hit{fill:transparent;stroke:transparent;stroke-width:1.5px;pointer-events:all}.player-map-region-label.is-interactive:hover .player-map-region-hit,.player-map-region-label.is-interactive:focus-visible .player-map-region-hit{fill:#233e4933;stroke:#fff2ba}.player-map-popup{--map-paper:#f3f5ef;--map-ink:#344247;--map-muted:#63726c;--map-line:#c1ccc4;--map-accent:#3d754f;width:min(360px,calc(100% - 28px));border-color:#b4c2b8;border-radius:22px;background:#f3f5eff5;color:var(--map-ink);box-shadow:0 12px 38px #1f30334d}.player-map-popup-heading h3,.player-map-popup h4{color:var(--map-ink)}.player-map-distribution{list-style:none;padding:0;margin:10px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;clear:both}.player-map-distribution li{min-width:0;margin:0}.player-map-distribution-card{display:grid;justify-items:center;align-content:center;gap:4px;min-width:0;min-height:88px;height:100%;padding:6px 3px;border:1px solid #cad6c9;border-radius:14px;background:#ffffff9c;color:var(--map-ink);text-align:center;text-decoration:none;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.player-map-distribution a:hover{border-color:var(--map-accent);background:#fff}.player-map-distribution-image{display:block;width:54px!important;height:54px!important;max-width:100%;object-fit:contain;margin:0;border-radius:0}.player-map-region-detail-level{display:inline-block;background:#dce8d8;color:#486546;border-radius:20px;padding:3px 10px;font-weight:650}
@media(max-width:760px){.player-map-zoom-controls{left:9px;padding:7px 4px;gap:6px}.player-map-zoom-controls .player-map-button{width:30px;min-width:30px;height:30px;min-height:30px;font-size:22px}.player-map-zoom-slider{height:112px}.player-map-popup{width:auto;margin:0 10px 12px;border:1px solid var(--map-line);border-radius:18px;padding:15px}.player-map-distribution{gap:6px}.player-map-distribution-card{font-size:10px}.player-map-controls{max-width:calc(100% - 76px)}}

.preview-map-directory{margin:26px 0;padding:22px;border:1px solid #becdc0;border-radius:20px;background:#e9efdf;color:#344439}.preview-map-directory h2{margin:0 0 8px;color:#344439;font-size:22px;line-height:1.4}.preview-map-directory h3{color:#344439;font-size:17px;line-height:1.4}.preview-map-directory p,.preview-map-directory .preview-muted{color:#61735f;line-height:1.65}.preview-map-directory details{margin:10px 0 0;border:1px solid #c5d1bf;border-radius:12px;background:#f9fbf3;overflow:hidden}.preview-map-directory summary{cursor:pointer;padding:14px 17px;color:#405b3c;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.preview-map-directory summary::marker{color:#738d5f}.preview-map-directory summary h3{display:inline;margin:0;font:inherit;color:inherit}.preview-map-directory summary:focus-visible,.preview-map-directory a:focus-visible{outline:3px solid #608349;outline-offset:-3px}.preview-map-species-grid{list-style:none;margin:0;padding:0 15px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(106px,1fr));gap:10px}.preview-map-species-grid>li{min-width:0;margin:0}.preview-map-species-grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:112px;height:100%;padding:10px 7px;border:1px solid #d6dfcb;border-radius:14px;background:#eef4e4;color:#3f5539;text-align:center;text-decoration:none;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.preview-map-species-grid a:hover{background:#e3efcf;border-color:#92aa76}.preview-map-species-grid img{display:block;width:64px;height:64px;max-width:100%;object-fit:contain;border-radius:0;margin:0}.preview-map-directory details>p{padding:0 17px 12px;margin:0}
@media(max-width:760px){.preview-map-directory{padding:16px 12px;border-radius:16px}.preview-map-directory summary{padding:13px}.preview-map-species-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:7px;padding:0 10px 12px}.preview-map-species-grid a{padding:8px 4px;font-size:12px}.preview-map-species-grid img{width:58px;height:58px}}

.preview-map-directory{margin:2rem 0}.preview-map-directory details{border:1px solid var(--line,#394052);border-radius:12px;margin:12px 0;padding:16px}.preview-map-directory summary{cursor:pointer;font-weight:700}.preview-map-species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;list-style:none;padding:16px 0}.preview-map-species-grid a{display:flex;align-items:center;gap:8px;color:inherit}.preview-map-species-grid img{width:48px;height:48px;object-fit:contain}.entity-portrait{max-width:640px;margin:auto}.entity-portrait img{max-height:520px;object-fit:contain}.game-section-nav>div{overflow-x:auto;white-space:nowrap}

:root{color-scheme:dark;--brand-accent:#F4693E;--brand-accent-text:#191A22}body{background:#191A22;color:#FFFEFA}.site-header{border-bottom:1px solid #363640}.juye-logo{display:block;width:129px;height:48px;object-fit:contain}.homepage-head{position:relative;overflow:hidden;min-height:380px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 100% 5%,#653329 0,transparent 55%);padding:72px 8%;border-bottom:1px solid #363640}.homepage-head h1{font-size:clamp(48px,7vw,88px);letter-spacing:-.05em;line-height:1.1}.homepage-head>p:last-child{font-size:clamp(20px,3vw,30px);color:#e0d8d2}.public-eyebrow{color:#F4693E}.juye-empty{max-width:1060px;margin:48px auto 80px;padding:36px;display:flex;align-items:center;gap:26px;border:1px solid #3e3c44;border-radius:18px;background:#242530}.juye-empty-mark{display:grid;place-items:center;flex:none;width:64px;height:64px;border-radius:16px;background:#F4693E;color:#191A22;font-size:42px;font-weight:900}.juye-empty h2{margin:0 0 10px;font-size:24px}.juye-empty p{margin:0;color:#bcb7b6}.site-footer{border-top:1px solid #363640}.accent-button{color:#191A22}@media(max-width:640px){.homepage-head{min-height:330px;padding:48px 24px}.juye-empty{margin:28px 18px 48px;padding:24px 20px;gap:18px}.juye-logo{width:107.5px;height:40px}.juye-empty h2{font-size:20px}}
.site-info-page .directory-head,.site-info-page .detail-grid{max-width:900px;margin-left:auto;margin-right:auto}.site-info-page .detail-grid{display:block}.site-info-page .article-panel{line-height:1.85}.site-info-page .article-panel h2{margin-top:2em}.site-info-page .article-panel p{overflow-wrap:anywhere}

/* Four peer controls: brand, page context, game directory, language. */
.research-header:has(> .all-games-link) {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 18px;
}
.all-games-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.all-games-link:hover { border-color: currentColor; }
@media (max-width: 760px) {
  .research-header:has(> .all-games-link) { gap: 8px; }
  .all-games-link {
    display: block;
    max-inline-size: 26vw;
    min-height: 40px;
    padding: 10px 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px;
  }
}

.site-header{--shared-layout-revision:2}

:root{--green:#F4693E;--canvas:#191A22;--panel:#242530;--text:#FFFEFA}.game-section-nav:has(a[href*="/games/phantom-blade-zero/entities/boss/"])>div{flex-wrap:wrap;overflow:visible}.game-section-nav:has(a[href*="/games/phantom-blade-zero/entities/boss/"]) .game-nav-group{min-width:0;max-width:100%}.game-section-nav:has(a[href*="/games/phantom-blade-zero/entities/boss/"]) .game-nav-group[open]{flex-basis:100%;order:9}.game-section-nav:has(a[href*="/games/phantom-blade-zero/entities/boss/"]) .game-nav-group>div{display:flex;flex-wrap:wrap;gap:4px}.pbz-gear{max-width:900px;margin:1.5rem auto;padding:0 clamp(12px,3vw,28px);overflow-wrap:anywhere}.pbz-gear section,.pbz-gear .gear-lore{padding:clamp(15px,2.5vw,25px);margin:15px 0;background:var(--surface,#212530);border:1px solid #62646b55;border-radius:8px}.gear-hero{display:flex;gap:18px;align-items:center}.gear-hero img{object-fit:contain}.gear-hero h1{margin:0}.pbz-gear h2{font-size:1.17rem;margin:0 0 12px}.gear-kind{opacity:.8}.gear-lead{font-size:1.08rem;line-height:1.7}.pbz-gear dt{font-weight:700}.pbz-gear dd{margin:2px 0 12px}.gear-link{display:inline-block;margin:3px 16px 3px 0}.gear-totals{display:flex;gap:12px 25px;flex-wrap:wrap}.gear-totals div{max-width:100%}.pbz-gear select{font:inherit;padding:2px 8px}.pbz-gear label{display:inline-block;margin:3px 12px 5px 0}.gear-scroll{max-width:100%;overflow-x:auto}.pbz-gear table{border-collapse:collapse;min-width:100%;font-size:.92rem}.pbz-gear td,.pbz-gear th{text-align:start;padding:6px 10px;border-bottom:1px solid #75757555}.pbz-gear summary{cursor:pointer}.pbz-gear [hidden]{display:none}
.upgrade-pilot{min-width:0}.upgrade-pilot [hidden]{display:none!important}.up-controls,.up-comparison,.up-costs{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.up-controls{margin:1rem 0}.up-controls label{display:grid;gap:.3rem}.up-controls select{min-width:5rem;min-height:2.75rem;font:inherit;color:inherit;background:var(--surface,#262932);border:1px solid #8888;border-radius:.35rem;padding:.25rem .5rem}.up-comparison>div,.up-costs>div{min-width:0;flex:1 1 12rem}.up-comparison{align-items:stretch}.up-comparison>div{padding:.75rem 1rem;background:#899ca61a;border-radius:.4rem}.up-comparison>div:last-child{border-inline-start:3px solid #d78452}.up-comparison p{margin:.35rem 0 0}.up-delta{font-weight:600}.up-costs{align-items:flex-start}.up-costs h3{margin:.6rem 0}.up-costs ul{list-style:none;padding:0;margin:0}.up-costs li{display:flex;align-items:center;gap:.5rem;margin:.35rem 0}.up-costs img{object-fit:contain}.upgrade-pilot details{margin-top:1rem}.upgrade-pilot summary{cursor:pointer;padding:.7rem 0;font-weight:bold}.upgrade-pilot summary span{font-weight:normal;margin-inline-start:.5rem}.upgrade-pilot table{width:100%;border-collapse:collapse}.upgrade-pilot th,.upgrade-pilot td{padding:.5rem;text-align:start;vertical-align:top;border-bottom:1px solid #8884}.upgrade-pilot [data-up-mat],.up-rule{display:block}.up-mobile{display:none}
@media(max-width:640px){.up-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.up-controls select{width:100%;min-width:0}.up-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.up-comparison>div{padding:.6rem}.up-costs{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.upgrade-pilot{overflow-wrap:anywhere}.upgrade-pilot table,.upgrade-pilot tbody{display:block}.upgrade-pilot thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.upgrade-pilot tbody tr{display:grid;grid-template-columns:auto 1fr auto;gap:.35rem .6rem;border-top:1px solid #8884;padding:.65rem 0}.upgrade-pilot tbody td,.upgrade-pilot tbody th{padding:0;border:0}.upgrade-pilot tbody th{grid-area:1/1}.upgrade-pilot tbody td:last-child{grid-area:1/2/2/4}.upgrade-pilot tbody td:nth-child(2){grid-area:2/1/3/3}.upgrade-pilot tbody td:nth-child(3){grid-area:2/3}.up-mobile{display:block;opacity:.8}}

#gear-material-route{scroll-margin-top:6rem}#gear-material-route:target{outline:2px solid currentColor;outline-offset:3px}.upgrade-pilot a[href="#gear-material-route"]{text-decoration:underline;text-underline-offset:.15em}

[id^="gear-normal-material-"]{scroll-margin-top:6rem}dt:has([id^="gear-normal-material-"]:target){outline:2px solid currentColor;outline-offset:3px}#gear-upgrade a{text-decoration:underline;text-underline-offset:.15em}#gear-upgrade li a{display:flex;align-items:center;gap:.5rem}#gear-upgrade a[data-up-mat]{padding-block:.25rem}

.gear-hideout{scroll-margin-top:6rem}.gear-hideout img{display:block;width:100%;height:auto}.gear-route-jump{display:inline-block;padding:.3em 0;text-decoration:underline}
