/* Imperial Dark Sector / Vader Immortal feature dossier. All rules scoped. */
body.ge-vader{--vi-red:#d54b60;--vi-ink:#080b11;--vi-panel:#111a27;--vi-line:#405269;--vi-muted:#bfcedd;background:#06090f;color:#f5f8fd}
body.ge-vader .ge-hero{min-height:540px;background:#090d14}
body.ge-vader .ge-hero>.ge-art>img{object-position:center 35%;filter:contrast(1.08) saturate(.98)}
body.ge-vader .ge-hero-content{position:relative;max-width:940px}
body.ge-vader .ge-hero h1{font-size:clamp(3.2rem,6vw,6.9rem)!important;line-height:.92;max-width:11ch;text-shadow:0 3px 23px #000c}
body.ge-vader .ge-hero .ge-intro{font-size:clamp(1rem,1.45vw,1.18rem);max-width:58ch;text-shadow:0 2px 14px #000e}
body.ge-vader .ge-hero-actions .ge-button{background:#b7374e;color:#fff;border-color:#e97483}
body.ge-vader .ge-summary-facts{max-width:1340px}
body.ge-vader .game-detail-shell{max-width:1370px!important;grid-template-columns:minmax(0,1fr) 270px!important;gap:25px!important;padding:25px 20px 80px!important}
body.ge-vader .game-detail-article{min-width:0!important;max-width:none!important;overflow:visible}
body.ge-vader .game-detail-article>section.game-detail-section{
 padding:clamp(23px,3.1vw,41px)!important;margin:0 0 23px!important;
 background:linear-gradient(135deg,#101926 0%,#0b121d 100%)!important;
 border:1px solid #344658!important;border-top:2px solid #a44658!important;
 border-radius:3px!important;overflow:hidden;scroll-margin-top:25px;
 box-shadow:0 12px 44px #0003;
}
body.ge-vader .game-detail-article>section.vi-first,
body.ge-vader .game-detail-article>section.vi-episodes,
body.ge-vader .game-detail-article>section.vi-gallery,
body.ge-vader .game-detail-article>section.vi-dojo{
 background:linear-gradient(140deg,#121b29 0%,#080d16 100%)!important;
}
body.ge-vader .game-detail-article h2{font:900 clamp(2.15rem,4.2vw,4.25rem)/.99 "Arial Narrow",Impact,sans-serif!important;letter-spacing:-.024em;text-transform:uppercase!important;color:#f7f9fc!important;max-width:100%;overflow-wrap:break-word;margin:6px 0 23px}
body.ge-vader .game-detail-article h2 em{font-style:normal;color:#fa8f9e}
body.ge-vader .game-detail-article h3{color:#fff}
body.ge-vader .game-detail-article p{color:#d9e4ef;line-height:1.72;font-size:clamp(.93rem,1.14vw,1.02rem)}
body.ge-vader .game-detail-article a{color:#ffd0d5}
body.ge-vader .vi-kicker{font:.88rem/1.3 system-ui,sans-serif!important;font-size:.69rem!important;font-weight:900!important;letter-spacing:.16em!important;color:#ee98a8!important;text-transform:uppercase!important;margin:0 0 14px!important}
body.ge-vader .vi-eyebrow{font-size:.71rem!important;font-weight:900;letter-spacing:.1em;color:#f8b5bb!important}
body.ge-vader .vi-top-intro{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:25px}
body.ge-vader .vi-top-intro p{max-width:72ch;margin-bottom:18px}
body.ge-vader .vi-stamp{padding:24px 8px;border:2px solid #e56470;display:grid;justify-items:center;text-align:center;gap:11px;transform:rotate(3deg);background:#b331422b}
body.ge-vader .vi-stamp span,body.ge-vader .vi-stamp small{font-size:.64rem;font-weight:850;color:#f3b9c1;letter-spacing:.07em}
body.ge-vader .vi-stamp strong{font:900 1.8rem/1 "Arial Narrow",Impact,sans-serif}
body.ge-vader .vi-quickstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #63718479;margin:23px 0;padding:22px 0;gap:15px}
body.ge-vader .vi-quickstats div{border-right:1px solid #63718479;padding-right:12px}
body.ge-vader .vi-quickstats div:last-child{border-right:0}
body.ge-vader .vi-quickstats span,body.ge-vader .vi-quickstats small{display:block;font-size:.64rem;letter-spacing:.08em;color:#bdcedb;font-weight:800}
body.ge-vader .vi-quickstats strong{display:block;color:#fff;font:900 clamp(1.15rem,2vw,1.65rem)/1.2 system-ui,sans-serif;margin:10px 0}
body.ge-vader .vi-quicklinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
body.ge-vader .vi-quicklinks a{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:48px;background:#1b2a3b;border-left:3px solid #d74e60;padding:12px 15px;font-weight:850;color:#fff;text-decoration:none;font-size:.89rem}
body.ge-vader .vi-quicklinks a:hover,body.ge-vader .vi-quicklinks a:focus-visible{background:#324458}
body.ge-vader .vi-quicklinks a span{color:#fb929f}
body.ge-vader .vi-split-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:22px;align-items:stretch}
body.ge-vader .vi-image-portrait{margin:0;position:relative;min-height:360px;overflow:hidden;background:#090f1a}
body.ge-vader .vi-image-portrait img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;filter:contrast(1.08)}
body.ge-vader .vi-image-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06101dd4,transparent 45%);pointer-events:none}
body.ge-vader .game-detail-article figcaption{color:#e5e8ee;font-size:.65rem;font-weight:900;letter-spacing:.1em}
body.ge-vader .vi-image-portrait figcaption{position:absolute;bottom:14px;left:15px;z-index:1}
body.ge-vader .vi-text-link{display:inline-flex;align-items:center;min-height:42px;color:#fff!important;text-decoration:none;border-bottom:2px solid #dc6171;font-weight:850;margin-top:10px}
body.ge-vader .vi-text-link:hover{color:#ffb6bf!important}
body.ge-vader .vi-heading-row{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:22px}
body.ge-vader .vi-heading-row>div{min-width:0;flex:1 1 58%}
body.ge-vader .vi-heading-row h2{margin-bottom:0}
body.ge-vader .vi-heading-row>p{flex:0 1 33%;font-size:.87rem;color:#c4d1df}
body.ge-vader .vi-episode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:5px;background:#080e17;border:1px solid #33495f;margin-bottom:0}
body.ge-vader .vi-episode-tabs button{border:1px solid transparent;background:#1c2b3b;color:#d7e2ed;padding:14px 11px;min-height:61px;line-height:1.35;text-align:left;font-weight:900;font-size:.86rem;cursor:pointer}
body.ge-vader .vi-episode-tabs button span{color:#f4a7b5;display:block;font-size:.71rem;letter-spacing:.08em;margin-bottom:2px}
body.ge-vader .vi-episode-tabs button[aria-selected=true]{background:#9b2c42;color:#fff;border-color:#ec8c9a}
body.ge-vader .vi-episode-tabs button[aria-selected=true] span{color:#fff}
body.ge-vader .vi-episode-tabs button:hover{border-color:#e8a7af}
body.ge-vader .vi-episode-panel{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:0;min-width:0;border:1px solid #45566a;background:#0b141f}
body.ge-vader .vi-episode-panel[hidden]{display:none!important}
body.ge-vader .vi-episode-art{min-height:440px;position:relative;background:#090e16}
body.ge-vader .vi-episode-art>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
body.ge-vader .vi-episode-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090d16ad,transparent 45%);pointer-events:none}
body.ge-vader .vi-episode-art>span{position:absolute;bottom:18px;left:18px;z-index:1;font-size:.7rem;font-weight:900;letter-spacing:.09em;color:#fff}
body.ge-vader .vi-episode-copy{padding:clamp(20px,3vw,34px);min-width:0}
body.ge-vader .vi-episode-copy h3{font:900 clamp(1.9rem,3.1vw,3rem)/1.04 "Arial Narrow",Impact,sans-serif!important;text-transform:uppercase;margin:0 0 15px}
body.ge-vader .vi-episode-copy h4{color:#f3a5b2;margin:22px 0 8px;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
body.ge-vader .vi-episode-copy .vi-episode-focus{border-left:3px solid #ec7e90;padding:12px 14px;background:#2230469c;font-size:.9rem}
body.ge-vader .vi-episode-focus strong{color:#fff;display:block;letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;margin-bottom:6px}
body.ge-vader .vi-progress{display:flex;align-items:center;gap:15px;flex-wrap:wrap;background:#152031;border:1px solid #43546a;padding:19px;margin-top:18px}
body.ge-vader .vi-progress>div:first-child{flex:1 1 180px}
body.ge-vader .vi-progress>div:first-child strong{display:block;color:#fff;font-weight:900}
body.ge-vader .vi-progress>div:first-child small{color:#bac9d7}
body.ge-vader .vi-progress .vi-check-items{display:flex;flex-wrap:wrap;gap:10px 16px}
body.ge-vader .vi-progress .vi-check-items label{font-size:.83rem;display:flex;align-items:center;gap:5px;font-weight:800;color:#fff;cursor:pointer}
body.ge-vader .vi-progress input{accent-color:#d6536c;width:19px;height:19px}
body.ge-vader .vi-reset{min-height:42px;padding:8px 12px;border:1px solid #8291a3;background:#121a27;color:#fff;font-weight:800;cursor:pointer}
body.ge-vader .vi-reset:hover{background:#2b3a4d}
body.ge-vader .vi-briefing-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:15px}
body.ge-vader .vi-briefing-list article{padding:15px 0;border-top:3px solid #c35469;background:none!important;min-width:0}
body.ge-vader .vi-briefing-list article span{color:#f6b3bd;font-size:.67rem;font-weight:900;letter-spacing:.09em}
body.ge-vader .vi-briefing-list article h3{font:900 1.45rem/1.1 "Arial Narrow",Impact,sans-serif;margin:11px 0}
body.ge-vader .vi-wide-photo{height:clamp(300px,40vw,520px);position:relative;overflow:hidden;margin:0 0 25px}
body.ge-vader .vi-wide-photo img{width:100%;height:100%;object-fit:cover}
body.ge-vader .vi-wide-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 18px 15px;background:linear-gradient(0deg,#030811e8,transparent)}
body.ge-vader .vi-mechanics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 26px}
body.ge-vader .vi-mechanics>div{padding:17px 0 12px;border-top:1px solid #62758b80}
body.ge-vader .vi-mechanics>div span{color:#f3a4b3;font-weight:900;letter-spacing:.1em;font-size:.72rem}
body.ge-vader .vi-mechanics h3{font:900 1.6rem "Arial Narrow",Impact,sans-serif!important;text-transform:uppercase;margin:7px 0}
body.ge-vader .vi-troubleshoot{display:block!important}
body.ge-vader .vi-troubleshoot details,body.ge-vader .vi-faq details{margin:0 0 8px;background:#142130;border:1px solid #42546b;overflow:hidden}
body.ge-vader .vi-troubleshoot summary,body.ge-vader .vi-faq summary{list-style:none;cursor:pointer;padding:17px 48px 17px 17px;font-weight:850;color:#fff;position:relative;line-height:1.45}
body.ge-vader .vi-troubleshoot summary::-webkit-details-marker,body.ge-vader .vi-faq summary::-webkit-details-marker{display:none}
body.ge-vader .vi-troubleshoot summary:after,body.ge-vader .vi-faq summary:after{content:"+";position:absolute;right:18px;top:14px;color:#ffadba;font:900 1.45rem system-ui}
body.ge-vader details[open] summary:after{content:"−"}
body.ge-vader .vi-troubleshoot details p,body.ge-vader .vi-faq details p{padding:0 17px 19px;margin:0;color:#d4e3f1}
body.ge-vader .vi-troubleshoot summary:hover,body.ge-vader .vi-faq summary:hover{background:#28394b}
body.ge-vader .vi-dojo-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:22px;align-items:center}
body.ge-vader .vi-dojo-head figure{margin:0;position:relative;min-height:280px}
body.ge-vader .vi-dojo-head figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body.ge-vader .vi-dojo-head figure figcaption{position:absolute;left:12px;bottom:10px;background:#0b1028d9;padding:7px}
body.ge-vader .vi-terminal{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);background:#080f19;border:1px solid #c4546d;margin-top:20px}
body.ge-vader .vi-terminal-controls{padding:25px;background:#1d2938;display:flex;flex-direction:column;gap:10px}
body.ge-vader .vi-terminal-controls label,body.ge-vader .vi-compat-input label{font-weight:900;font-size:.68rem;color:#f3acb6;letter-spacing:.12em}
body.ge-vader .vi-terminal select,body.ge-vader .vi-compat select{display:block;width:100%;min-width:0;background:#0b141f;border:1px solid #8496ab;color:#fff;border-radius:2px;font-size:.9rem;line-height:1.4;padding:11px;margin-bottom:15px;min-height:45px}
body.ge-vader .vi-terminal-result{padding:25px;min-height:218px}
body.ge-vader #vi-dojo-phase,body.ge-vader #vi-device-status{display:block;color:#f6a8b8;font-size:.68rem;letter-spacing:.11em;font-weight:900;margin-bottom:16px}
body.ge-vader .vi-terminal-result h3{font:900 clamp(1.65rem,3.2vw,2.55rem)/1.05 "Arial Narrow",Impact,sans-serif!important;text-transform:uppercase;margin:0 0 14px}
body.ge-vader .vi-drills{display:flex;flex-wrap:wrap;gap:8px}
body.ge-vader .vi-drills span{background:#28394d;padding:8px 12px;font-size:.73rem;font-weight:800;color:#fff}
body.ge-vader .vi-footnote{font-size:.79rem!important;color:#b7c7d8!important;margin-top:17px}
body.ge-vader .vi-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
body.ge-vader .vi-gallery-grid a{position:relative;display:block;min-height:220px;aspect-ratio:1.3;overflow:hidden;color:#fff;background:#0d1320}
body.ge-vader .vi-gallery-grid a img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
body.ge-vader .vi-gallery-grid a:hover img{transform:scale(1.04)}
body.ge-vader .vi-gallery-grid a span{position:absolute;inset:auto 0 0;padding:26px 15px 12px;background:linear-gradient(0deg,#040914ee,transparent);font-weight:900;font-size:.69rem;letter-spacing:.08em}
body.ge-vader .vi-compat{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);border:1px solid #5c7087}
body.ge-vader .vi-compat-input{padding:24px;background:#1a2a3e;display:flex;flex-direction:column;gap:11px;justify-content:center}
body.ge-vader .vi-compat-input small{color:#bacbdc;line-height:1.55}
body.ge-vader .vi-compat-answer{padding:25px;background:#0b1420}
body.ge-vader .vi-compat-answer h3{font:900 1.8rem/1.15 "Arial Narrow",Impact,sans-serif!important;margin:0 0 12px}
body.ge-vader .vi-compat-answer a{display:inline-flex;min-height:40px;align-items:center;border-bottom:2px solid #d75f74;text-decoration:none;font-weight:850}
body.ge-vader .vi-platform-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
body.ge-vader .vi-platform-notes div{border-top:2px solid #ba4a5e;padding-top:14px}
body.ge-vader .vi-platform-notes strong{color:#fff;font-size:.77rem;letter-spacing:.1em}
body.ge-vader .vi-storelinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.ge-vader .vi-storelinks a{display:flex;align-items:center;padding:13px;background:#1c2d40;color:#fff;text-decoration:none;font-weight:850;min-height:49px}
body.ge-vader .vi-storelinks a:hover{background:#344b61}
body.ge-vader .vi-characters-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.ge-vader .vi-characters-line>div{padding:19px 18px;border:1px solid #496078;border-left:3px solid #b64b65;background:#132131}
body.ge-vader .vi-characters-line span,body.ge-vader .vi-analysis span{color:#ffabb8;font-size:.68rem;letter-spacing:.11em;font-weight:900}
body.ge-vader .vi-characters-line h3{font:900 1.65rem "Arial Narrow",Impact,sans-serif!important;text-transform:uppercase;margin:10px 0}
body.ge-vader .vi-analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.ge-vader .vi-analysis>div{padding-top:18px;border-top:2px solid #d96d7d}
body.ge-vader .vi-analysis h3{font:900 1.5rem/1.1 "Arial Narrow",Impact,sans-serif!important;text-transform:uppercase;margin:12px 0}
body.ge-vader .vi-editorial-note{color:#b6c7da!important;border-left:2px solid #52657b;padding-left:14px;margin-top:20px}
body.ge-vader .vi-sources ul{margin:20px 0;padding-left:19px}
body.ge-vader .vi-sources li{padding:7px 0;line-height:1.6}
body.ge-vader .vi-sources li a{font-weight:770}
body.ge-vader .vi-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:25px}
body.ge-vader .vi-next-links{display:grid;gap:9px}
body.ge-vader .vi-next-links a{display:flex;align-items:center;min-height:48px;background:#213447;padding:12px;color:#fff;font-weight:850;text-decoration:none}
body.ge-vader .vi-next-links a:hover{background:#354c61}
/* Keep shopping genuinely near the start on narrow screens and in the rail on desktops. */
body.ge-vader .game-detail-rail{min-width:0}
body.ge-vader .game-detail-article>section.ids-amazon-shop--mobile{background:#152233!important}
@media(max-width:1050px){
body.ge-vader .game-detail-shell{grid-template-columns:minmax(0,1fr) 235px!important;gap:17px!important}
body.ge-vader .vi-episode-panel{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-episode-art{min-height:300px}
}
@media(max-width:850px){
body.ge-vader .game-detail-shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;padding:15px 14px 55px!important}
body.ge-vader .game-detail-article{width:100%!important;min-width:0}
body.ge-vader .game-detail-rail{width:100%!important;max-width:100%!important}
body.ge-vader .vi-briefing-list{grid-template-columns:minmax(0,1fr)!important}
body.ge-vader .vi-split-intro{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-image-portrait{min-height:360px}
body.ge-vader .vi-episode-panel{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-dojo-head{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-dojo-head figure{min-height:310px}
body.ge-vader .vi-analysis{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-platform-notes{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:620px){
body.ge-vader .ge-hero{padding-top:210px!important;min-height:0!important}
body.ge-vader .ge-hero h1{font-size:clamp(2.8rem,11vw,4.25rem)!important}
body.ge-vader .game-detail-article>section.game-detail-section{padding:21px 16px!important;margin-bottom:14px!important}
body.ge-vader .game-detail-article h2{font-size:clamp(2rem,9vw,3rem)!important}
body.ge-vader .vi-top-intro{grid-template-columns:minmax(0,1fr);gap:7px}
body.ge-vader .vi-stamp{transform:none;justify-self:start;display:flex;flex-direction:row;align-items:center;padding:9px 14px;gap:10px}
body.ge-vader .vi-stamp strong{font-size:1.2rem}
body.ge-vader .vi-quickstats{grid-template-columns:repeat(2,minmax(0,1fr))}
body.ge-vader .vi-quickstats div:nth-child(2){border-right:0}
body.ge-vader .vi-quicklinks{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-heading-row{display:block}
body.ge-vader .vi-heading-row>p{margin:12px 0 0}
body.ge-vader .vi-episode-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px}
body.ge-vader .vi-episode-tabs button{text-align:center;padding:12px 4px;min-height:78px;font-size:.68rem}
body.ge-vader .vi-episode-tabs button span{font-size:.8rem}
body.ge-vader .vi-episode-copy{padding:20px 17px}
body.ge-vader .vi-episode-art{min-height:235px}
body.ge-vader .vi-progress{align-items:start}
body.ge-vader .vi-progress .vi-check-items{width:100%}
body.ge-vader .vi-mechanics{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-gallery-grid{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-gallery-grid a{min-height:230px}
body.ge-vader .vi-terminal{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-terminal-controls{padding:19px}
body.ge-vader .vi-terminal-result{padding:20px}
body.ge-vader .vi-compat{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-storelinks{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-characters-line{grid-template-columns:minmax(0,1fr)}
body.ge-vader .vi-next{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){body.ge-vader .vi-gallery-grid a img{transition:none}}

/* Short cinematic heading preserves the complete title in metadata. */
body.ge-vader .ge-hero h1 span{color:#fff}
body.ge-vader .ge-vader-subtitle{font-size:clamp(.8rem,1.2vw,1rem)!important;color:#ffadb9!important;letter-spacing:.12em;font-weight:900;text-transform:uppercase;margin:4px 0 18px!important;line-height:1.5;max-width:65ch}
@media(max-width:620px){body.ge-vader .ge-hero h1{max-width:13ch;line-height:.94!important}body.ge-vader .ge-vader-subtitle{font-size:.75rem!important;letter-spacing:.075em;margin-bottom:12px!important}}
