:root{--night:#211b32;--ink:#eee7dc;--muted:#b3abc6;--line:#6a5e86;--active:#f0b78c;--body:Barlow,Arial,sans-serif;--pixel:VT323,monospace;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{color:var(--ink);background:var(--night);font:16px/1.5 var(--body)}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{border:0;background:none;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,a{transition:color .16s,background .16s,border-color .16s}button:focus-visible,a:focus-visible,#stage:focus-visible{outline:2px solid var(--active);outline-offset:4px}button:focus:not(:focus-visible){outline:none}kbd{font:16px/1 var(--pixel);padding:2px 5px;border:1px solid #75688c;color:#d9cce6;box-shadow:0 2px 0 #33263e;white-space:nowrap}
.skip-link{position:fixed;top:-90px;left:20px;z-index:100;padding:12px 18px;background:var(--active);color:var(--night)}.skip-link:focus{top:8px}
.site-header{position:fixed;inset:0 0 auto;z-index:10;min-height:64px;padding:10px 3vw;display:flex;align-items:center;gap:42px;background:#211b32eb;border-bottom:1px solid #75688c4d;backdrop-filter:blur(12px)}.wordmark{font:29px/1 var(--pixel);padding:7px 0;white-space:nowrap}.wordmark span{color:var(--active)}.main-nav{display:flex;gap:28px;align-items:center}.nav-link{font:20px/1.15 var(--pixel);padding:10px 0 8px;color:#b3aac4;border-bottom:2px solid transparent}.nav-link.is-active{color:var(--ink);border-color:var(--active)}.nav-link:hover{color:#fff}.header-controls{margin-left:auto;display:flex;align-items:center;gap:14px}.language-control{font-size:13px;color:var(--active);font-weight:600;padding:9px 3px}.language-control span{color:#90839f;font-weight:400}.icon-control{display:grid;place-items:center;width:34px;height:34px;border:1px solid #77678c;color:#bbb0ce;font:24px/1 var(--pixel)}.icon-control:hover,.icon-control[aria-pressed=true]{color:var(--active);border-color:var(--active);background:#382b42}
.game-shell,.playfield{position:fixed;inset:0;overflow:hidden}.scene-region{position:absolute;inset:0}.scene-region::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#171322fa,transparent 33%)}#stage{position:absolute;inset:0;touch-action:none;outline-offset:-4px}#stage canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.scanlines{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.1;background:repeating-linear-gradient(0deg,#08070f 0,#08070f 1px,transparent 1px,transparent 4px)}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 180px #130d285c}
.scene-top{position:absolute;left:3vw;top:87px;z-index:3;display:flex;align-items:center;gap:20px;width:400px;pointer-events:none;font:29px/1 var(--pixel)}.scene-top-line{height:2px;flex:1;background:#7b6a98}.scene-top>span:last-child{font-size:20px;color:#c0b4d4}.camera-control{position:absolute;right:3vw;top:82px;z-index:3;border:1px solid #89739d66;padding:7px 10px;background:#211b32d9;font:18px var(--pixel);color:#c9bad7}.camera-control kbd{margin-left:8px;font-size:14px}.camera-control:hover,.camera-control[aria-pressed=true]{border-color:var(--active);color:var(--active)}.scene-hint{position:absolute;right:3vw;bottom:229px;z-index:3;display:flex;align-items:center;gap:8px;color:#b5a7c3;font-size:12px;pointer-events:none}.small-diamond{width:5px;height:5px;transform:rotate(45deg);background:var(--active)}.hover-tip{position:absolute;z-index:6;pointer-events:none;max-width:240px;padding:6px 10px;font:18px/1.1 var(--pixel);color:#231c35;background:#eee7dc;box-shadow:3px 3px #6e5b83}.scene-loading{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;color:#e0d0e6;font:22px var(--pixel);white-space:nowrap}.loading-icon{width:9px;height:9px;background:var(--active);box-shadow:13px 0 #9b84a8,26px 0 #5d4d7a;margin-right:26px}.no-webgl{position:absolute;left:40%;right:10%;top:34%;z-index:3;text-align:center;color:var(--muted);pointer-events:none}.no-webgl p{font:38px var(--pixel);color:var(--active);margin:0 0 15px}.no-webgl>span{font-size:15px;max-width:400px;display:inline-block}body[data-ready=fallback] .scene-region{background:linear-gradient(#211b32cf,#211b32f7),url('./assets/portraits-expressions.png') center/cover}
.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;background:var(--active);color:#261c34;padding:11px 15px;min-height:43px;font-size:15px;font-weight:600;box-shadow:3px 3px #140e22;clip-path:polygon(0 3px,3px 3px,3px 0,calc(100% - 3px) 0,calc(100% - 3px) 3px,100% 3px,100% calc(100% - 3px),calc(100% - 3px) calc(100% - 3px),calc(100% - 3px) 100%,3px 100%,3px calc(100% - 3px),0 calc(100% - 3px))}.primary-button:hover{background:#fff0dc}.primary-button>span{font-size:22px}.external-link{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #89769b73;min-height:32px;padding:3px 0;font:18px var(--pixel);color:#c4b5d2;text-align:left}.external-link:hover{color:var(--active)}
.role-roster{position:absolute;left:var(--role-roster-left,3vw);right:3vw;bottom:135px;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.role-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:14px;align-items:center;min-height:72px;padding:12px 17px;background:#241d35ed;border:1px solid #75628880;text-align:left;position:relative;backdrop-filter:blur(6px)}.role-card::before{content:"";position:absolute;inset:3px;border:1px solid transparent;pointer-events:none}.role-card:hover{border-color:#bcacd3;background:#33273feb}.role-card.is-selected{border-color:var(--active);background:#33273fed;box-shadow:0 0 0 1px var(--active)}.role-card.is-selected::before{border-color:#d1ac8c33}.role-card-number{font:34px/1 var(--pixel);color:#7f6d91;grid-row:1/3}.role-card-title{font:24px/1 var(--pixel);grid-column:2}.role-card-company{font-size:12px;color:#ab9aba;grid-column:2;margin-top:5px}.role-card-arrow{grid-column:3;grid-row:1/3;color:#9a7b9d;visibility:hidden}.is-selected .role-card-number,.is-selected .role-card-title{color:var(--active)}.is-selected .role-card-arrow{visibility:visible;color:var(--active)}
.journey-strip{position:fixed;left:3vw;right:3vw;bottom:44px;height:70px;z-index:5;display:flex;gap:35px}.journey-intro{flex:0 0 175px;text-align:left;position:relative;align-self:stretch;padding:4px 0}.journey-intro>span:first-child{display:block;font:26px/1 var(--pixel);margin-bottom:8px}.journey-intro>span:nth-child(2){font-size:10px;color:#9a89ab;line-height:1.2;display:block}.journey-arrow{position:absolute;right:0;top:1px;font-size:23px;color:var(--active)}.journey-intro:hover{color:var(--active)}.journey-strip ol{display:flex;list-style:none;padding:0;margin:0;flex:1;min-width:0}.journey-strip li{flex:1;position:relative}.journey-strip li::before{content:"";height:1px;background:#6f5b7d66;position:absolute;left:0;right:0;top:31px}.journey-strip li:first-child::before{left:50%}.journey-strip li:last-child::before{right:50%}.milestone-button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:1px 7px;width:100%;height:70px;position:relative;color:#a998b9}.milestone-year{font:23px/1 var(--pixel)}.milestone-dot{width:6px;height:6px;background:#665374;border:1px solid #ad8db9;margin:4px 0 3px;box-shadow:0 0 0 4px #211b32;z-index:1}.milestone-title{font-size:11px;line-height:1.25;max-width:138px}.milestone-button:hover,.milestone-button.is-current{color:var(--active)}.milestone-button.is-current .milestone-dot{background:var(--active);border-color:#ffdec1;box-shadow:0 0 0 4px #211b32,0 0 12px #f0b78c66}.milestone-button.is-seen .milestone-dot{border-color:var(--active)}
.playfield-footer{position:fixed;left:3vw;right:3vw;bottom:calc(8px + var(--safe-bottom));z-index:6;display:flex;align-items:center;justify-content:space-between;gap:25px;height:26px}.key-hints{display:flex;align-items:center;gap:23px;font-size:11px;color:#ac9abb}.key-hints>span{display:flex;align-items:center;gap:5px}.scene-status{margin-left:auto;display:flex;align-items:center;gap:8px;color:#9d8aa9;font:15px var(--pixel)}.scene-status>span:first-child{width:4px;height:4px;background:#98c8ae}.help-shortcut{font:16px var(--pixel);color:#a995ba}.help-shortcut kbd{margin-left:8px;font-size:13px}.back-to-roles{font:19px var(--pixel);color:var(--active)}
.chapter-readout{margin:17px 0 0;padding-top:14px;border-top:1px solid #8a749b66}.chapter-year{font:36px/1 var(--pixel);color:var(--active)}.chapter-readout h1{font:27px/1.1 var(--pixel);margin:7px 0 10px}.chapter-readout p{font-size:14px;line-height:1.5;color:#d0c2da;margin:0}.chapter-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 10px}.chapter-controls button{width:34px;height:29px;font-size:21px;border:1px solid #7d678e;color:var(--active)}.chapter-controls button:hover{background:#4d3854}.chapter-controls>span{font:16px var(--pixel);color:#a48eb1}.chapter-readout>.external-link{font-size:16px;width:100%}body[data-mode=journey] .role-roster{visibility:hidden}body[data-mode=journey] .scene-hint{bottom:125px}
/* All reading happens in a game dossier, with a persistent character portrait. */
dialog{width:min(940px,calc(100vw - 40px));padding:0;max-height:calc(100svh - 55px);position:fixed;overflow:auto;overscroll-behavior:contain;border:1px solid #a18cb4;color:var(--ink);background:#292037;box-shadow:7px 7px 0 #100b1b,0 0 0 3px #46324d}dialog::backdrop{background:#0d0717b8;backdrop-filter:blur(7px)}.dialog-chrome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 21px;border-bottom:1px solid #75608b;position:sticky;top:0;background:#292037;z-index:4;color:#c2aed3;font:21px/1 var(--pixel)}.dialog-close{font:30px/1 var(--pixel);padding:1px 5px;color:var(--active)}.dialog-close:hover{color:white}.dialog-content{padding:32px 38px}.dialog-content h2{font:46px/.98 var(--pixel);font-weight:400;margin:0 0 22px}.dialog-content h3{font:28px/1.1 var(--pixel);font-weight:400;color:#e5d1d7;margin:0 0 18px}.dialog-content p{font-size:16px;line-height:1.65;color:#cdbedb;margin:0 0 20px}.dialog-content .dialog-kicker{font:19px var(--pixel);color:var(--active);margin:0 0 13px}.dialog-details{list-style:none;margin:20px 0;padding:0}.dialog-details li{font-size:14px;line-height:1.5;padding:12px 0 12px 20px;border-top:1px solid #77628655;position:relative;color:#cbbcd8}.dialog-details li::before{content:'◇';position:absolute;left:0;color:var(--active)}.dialog-bottom{position:sticky;bottom:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#251b31;padding:13px 21px;border-top:1px solid #77608c;color:#a790b4;font-size:12px}.dialog-bottom>span{display:flex;align-items:center;gap:8px}.bottom-close{font-size:20px}.dossier-layout{display:grid;grid-template-columns:230px 1fr;min-height:470px}.dialog-content:has(.dossier-layout){padding:0}.dossier-portrait{padding:18px;background:#1f182c;border-right:1px solid #77628755}.portrait-art{height:310px;width:100%;background-image:url('./assets/portraits-expressions.png');background-size:400% auto;background-position:var(--portrait) 0;background-repeat:no-repeat;image-rendering:pixelated;border:1px solid #967baa}.dossier-role{font:17px var(--pixel);color:var(--active);display:block;margin:20px 0 8px}.dossier-portrait h2{font-size:32px;margin-bottom:14px}.dossier-link{font-size:13px;color:#bca8cd;border-bottom:1px solid #756088;padding-bottom:4px}.dossier-reading{padding:26px 30px 32px;min-width:0}.dossier-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:28px}.dossier-tabs button{border:1px solid #77608b;font:20px var(--pixel);color:#b19ac0;min-height:38px;padding:7px 8px;white-space:nowrap}.dossier-tabs button.active{color:#281d33;background:var(--active);border-color:var(--active)}.dossier-tabs button:hover:not(.active){color:#eee0f0;background:#43304e}.inventory-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:26px}.inventory-slots button{display:flex;flex-direction:column;align-items:center;gap:9px;justify-content:center;text-align:center;min-height:102px;padding:12px 9px;border:1px solid #77608b;background:#22182e;font-size:12px;line-height:1.25;color:#bba6cb}.inventory-slots button.active{border-color:var(--active);color:var(--ink);box-shadow:inset 0 0 0 2px #77608b44}.inventory-icon{font:35px var(--pixel);color:var(--active)}.item-note{border-top:2px solid var(--active);padding-top:20px}.item-type{font:17px var(--pixel);color:#9e85b0;display:block;margin-bottom:12px}.item-note h3{font-size:31px;color:var(--active)}.item-note p{font-size:16px}.method-flow{list-style:none;margin:24px 0;padding:0;display:grid;gap:8px}.method-flow li{padding:9px 12px;border:1px solid #6b557c;display:flex;align-items:center;gap:17px;font-size:14px;background:#22192c}.method-flow li>span{font:23px var(--pixel);color:var(--active)}.build-facts{margin:22px 0}.build-facts>div{display:grid;grid-template-columns:90px 1fr;padding:10px 0;gap:15px;border-top:1px solid #74608066;font-size:13px}.build-facts dt{color:#a68ab6}.build-facts dd{margin:0;color:#d1bcdf}.dialog-content .primary-button{font-size:14px;margin-top:4px}.chapter-dossier{position:relative;padding-right:110px;min-height:280px}.chapter-emblem{position:absolute;right:0;top:32px;font:76px/1 var(--pixel);color:#7f668e}.chapter-thread{padding-top:15px;border-top:1px solid #6d547d66}.contact-email{font:clamp(25px,4vw,40px) var(--pixel);color:var(--active);border-bottom:1px solid #9b7aa3;display:inline-block;margin:4px 0 16px}.dialog-content .small-copy{font-size:13px;color:#a98cb8;line-height:1.5}.contact-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid #765b8666;font:22px var(--pixel);color:#c2a4d0}.help-grid{display:grid;grid-template-columns:auto 1fr;gap:15px 25px;margin:27px 0}.help-grid dt{align-self:start}.help-grid dd{margin:0;font-size:14px;color:#c7b0d5;align-self:center}.help-grid kbd{font-size:19px;padding:3px 7px}.help-sound{margin:6px 0 20px;border:1px solid #7c628d;padding:10px 14px;color:var(--active);font:20px var(--pixel)}.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.noscript{position:fixed;z-index:30;inset:80px 8% 30px;background:#211b32;overflow:auto;padding:35px;border:1px solid #967baa}.noscript h1{font-size:42px}.noscript p{max-width:700px}.noscript a{display:inline-block;padding:12px;color:var(--active)}
@media(min-width:1800px){.role-card-title{font-size:27px}.role-card{min-height:79px}.scene-top{top:95px}}
@media(max-width:1100px) and (min-width:651px){.site-header{gap:25px}.main-nav{gap:22px}.role-card{padding:11px;gap:10px;min-height:65px}.role-card-title{font-size:20px}.role-card-number{font-size:29px}.role-card-company{font-size:11px}.role-card-arrow{display:none}.journey-intro{flex-basis:135px}.journey-strip{gap:24px}.milestone-title{font-size:10px}.scene-top{width:340px}.key-hints{gap:13px;font-size:10px}}
@media(max-height:730px) and (min-width:651px){.site-header{min-height:54px;padding-top:5px;padding-bottom:5px}.scene-top{top:72px}.camera-control{top:67px}.primary-button{min-height:36px;padding:8px 12px;font-size:13px}.role-roster{bottom:120px}.role-card{min-height:55px;padding:8px 13px}.role-card-title{font-size:21px}.role-card-number{font-size:28px}.journey-strip{height:64px;bottom:40px}.journey-intro>span:first-child{font-size:23px}.scene-hint{bottom:193px}.chapter-readout{border:0;margin:0;padding:0}.chapter-readout p{font-size:12px}.chapter-controls{margin-top:10px}}
@media(max-width:650px){.site-header{min-height:58px;padding:6px 4vw;gap:12px}.wordmark{font-size:24px}.main-nav{margin-left:auto;gap:13px}.nav-link{font-size:18px;max-width:66px;text-align:center;padding:7px 0}.header-controls{gap:8px;margin-left:0}.language-control{font-size:11px;line-height:1.2}.language-control span{display:block;margin-top:2px}.icon-control{width:30px;height:30px;font-size:22px}#sound{display:none}#contact-nav{display:none}.scene-top{left:4vw;top:76px;width:calc(100% - 140px);gap:13px;font-size:25px}.scene-top>span:last-child{font-size:17px}.camera-control{right:4vw;top:70px;padding:5px 8px;font-size:16px}.camera-control kbd{display:none}.scene-hint{bottom:340px;right:4vw;font-size:10px;max-width:240px;text-align:right}.role-roster{left:4vw;right:4vw;grid-template-columns:repeat(2,1fr);gap:7px;bottom:126px}.role-card{min-height:43px;height:43px;padding:6px 10px;grid-template-columns:20px 1fr auto;grid-template-rows:auto;gap:7px}.role-card-number{font-size:22px;grid-row:1}.role-card-title{font-size:19px;grid-column:2;line-height:.9}.role-card-company{font-size:10px;grid-column:3;margin:0;text-align:right}.role-card-arrow{display:none}.journey-strip{left:4vw;right:4vw;bottom:42px;height:70px;gap:0}.journey-intro{display:none}.milestone-button{padding:0 3px;gap:4px}.milestone-year{font-size:19px}.milestone-title{font-size:9px;line-height:1.2}.milestone-dot{width:5px;height:5px;margin:4px 0}.journey-strip li::before{top:28px}.playfield-footer{left:4vw;right:4vw;bottom:calc(5px + var(--safe-bottom));gap:10px}.key-hints{gap:14px;font-size:9px}.key-hints>span:nth-child(3){display:none}.key-hints>span:nth-child(4){display:none}.key-hints kbd{font-size:14px;padding:1px 4px}.scene-status{display:none}.help-shortcut{font-size:16px}.help-shortcut kbd{font-size:12px;margin-left:4px}.back-to-roles{font-size:17px}.chapter-readout{margin:0;padding:0;border:0;display:grid;grid-template-columns:50px 1fr;gap:0 10px}.chapter-year{font-size:29px;grid-column:1;grid-row:1/3}.chapter-readout h1{font-size:24px;grid-column:2;margin:0 0 6px}.chapter-readout p{font-size:13px;grid-column:2;line-height:1.4}.chapter-controls{grid-column:1/3;grid-row:3;margin:12px 0 0}.chapter-controls>span{font-size:16px}.chapter-controls button{width:35px;height:27px}#chapter-inspect{display:none}body[data-mode=journey] .scene-hint{bottom:342px;font-size:10px}.no-webgl{left:8%;right:8%;top:24%}.no-webgl p{font-size:30px}.no-webgl>span{font-size:13px}.scene-loading{font-size:18px}.dossier-layout{display:block}.dossier-portrait{position:relative;border-right:0;border-bottom:1px solid #7a628b;padding:17px 20px 17px 105px;min-height:130px}.portrait-art{position:absolute;left:17px;top:16px;width:70px;height:99px;background-size:400% auto}.dossier-role{font-size:15px;margin:8px 0 8px}.dossier-portrait h2{font-size:30px;margin-bottom:9px}.dossier-link{font-size:12px}.dossier-reading{padding:20px}.dossier-tabs{gap:5px;margin-bottom:23px}.dossier-tabs button{font-size:20px;min-height:37px;padding:6px 4px}.dialog-content{padding:25px}.dialog-content p{font-size:15px}.dialog-content h2{font-size:39px}.dialog-content h3{font-size:26px}.inventory-slots{gap:6px}.inventory-slots button{font-size:11px;min-height:97px;padding:9px 6px}.inventory-icon{font-size:29px}.item-note p{font-size:15px}.dialog-chrome{padding:12px 17px;font-size:20px}.dialog-bottom{padding:11px 16px}.dialog-bottom>span{font-size:10px}dialog{width:calc(100vw - 28px);max-height:calc(100svh - 38px)}.help-grid{gap:12px 17px}.help-grid kbd{font-size:16px}.help-grid dd{font-size:13px}.chapter-dossier{padding-right:0}.chapter-emblem{display:none}.build-facts>div{grid-template-columns:75px 1fr;gap:10px;font-size:12px}.contact-links{gap:17px;font-size:21px}}
@media(max-width:375px){.site-header{gap:8px}.wordmark{font-size:22px}.nav-link{font-size:16px;max-width:58px}.main-nav{gap:10px}.header-controls{gap:6px}.icon-control{width:27px;height:29px}.scene-top{font-size:23px}.role-card-title{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.mobile-contact{display:none}@media(max-width:650px){.mobile-contact{display:block;font:17px var(--pixel);color:var(--active);margin-left:auto}.help-shortcut{display:none}}

.milestone-title{overflow-wrap:anywhere}@media(max-width:650px){.milestone-year{font-size:18px}.milestone-title{font-size:9px;max-width:48px}.journey-strip li::before{top:27px}}

/* Clear the view while the camera travels between the two game rooms. */
.intro,.role-roster,.camera-control,.scene-hint{transition:opacity .22s ease}
body[data-travel=true] .intro,body[data-travel=true] .role-roster,body[data-travel=true] .camera-control,body[data-travel=true] .scene-hint{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.intro,.role-roster,.camera-control,.scene-hint{transition:none}}

.mobile-sound{display:none}.music-credit a{text-decoration:underline;text-underline-offset:3px}.music-credit #music-status{display:inline-block;margin-top:7px;color:var(--active)}@media(max-width:650px){.mobile-sound{display:grid;flex-shrink:0;margin-left:auto}.mobile-sound+.mobile-contact{margin-left:0}}

/* A shared introduction above the selected character's changing profile. */
.intro{position:absolute;left:3vw;top:142px;width:330px;max-width:29vw;max-height:calc(100svh - 365px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#756185 transparent;z-index:4;padding:19px;background:#241d35f2;border:1px solid #80708f66;backdrop-filter:blur(8px);box-shadow:5px 5px 0 #1710224d}
.intro::before{content:"";position:absolute;top:0;left:0;width:38px;height:2px;background:var(--active)}
.profile-kicker{display:flex;align-items:center;gap:7px;color:#ad9bbd;font:16px/1 var(--pixel);margin-bottom:10px}.live-dot{width:4px;height:4px;background:var(--active)}.edition{margin-left:auto;font-size:12px;color:#9c89ad}
.profile-welcome h1{font:35px/1 var(--pixel);letter-spacing:-.5px;margin:0 0 10px;font-weight:400;color:var(--ink)}
.profile-desktop-copy{margin:0;font-size:13px;line-height:1.5;color:#c9bed6}.profile-mobile-copy{display:none;margin:0;font-size:13px;line-height:1.4;color:#c9bed6}
.selected-profile{border-top:1px solid #8a749b66;margin-top:15px;padding-top:13px}.intro-top{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.selected-label{font-size:10px;color:#9e87b1}.intro-top p{margin:0;color:var(--active);font:18px/1.1 var(--pixel)}
.selected-profile h2{font:30px/1.05 var(--pixel);font-weight:400;margin:0 0 8px}.intro-copy{min-height:4.5em;font-size:13px;line-height:1.5;color:#d4c9e0;margin:0 0 12px}.intro-compact-copy{display:none}
.role-skills{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:0 0 14px;padding:0}.role-skills li{padding:3px 6px;border:1px solid #75618573;background:#33273f80;color:#cbbbd9;font-size:11px;line-height:1.3}
.role-cta{width:100%;min-height:41px;font-size:14px;padding:9px 13px}.intro-actions{display:flex;align-items:center;gap:18px;margin-top:10px}.intro-actions .external-link{font-size:17px;min-height:27px}.role-inspect{color:var(--ink)}
.role-loadout{font:16px/1 var(--pixel);color:#b8a2cb;border:1px solid #77608b;padding:6px 7px;white-space:nowrap}.role-loadout kbd{font-size:12px;margin-left:5px;padding:0;border:0;box-shadow:none;color:var(--active)}.role-loadout:hover{color:var(--active);border-color:var(--active)}
.profile-guidance{margin-top:12px}.profile-guidance button{padding:0;color:#aa98b9;text-align:left;font:15px/1.2 var(--pixel)}.profile-guidance button:hover{color:var(--active)}
body[data-mode=journey] .profile-welcome,body[data-mode=journey] .selected-profile{display:none}
body[data-mode=journey] .intro{top:auto;bottom:160px;max-height:calc(100svh - 290px)}.chapter-readout{margin:0;padding:0;border:0}
@media(min-width:1800px){.intro{width:350px;top:160px;max-height:calc(100svh - 400px);padding:22px}.profile-welcome h1{font-size:38px}}
@media(max-width:1100px) and (min-width:651px){.intro{width:290px;padding:16px}.profile-welcome h1{font-size:33px}.intro-top{flex-wrap:wrap;gap:5px 8px}.selected-profile h2{font-size:28px}.role-skills li{font-size:10px}}
@media(max-height:810px) and (min-width:651px){.intro{top:132px;max-height:calc(100svh - 355px)}.profile-kicker,.profile-desktop-copy,.profile-guidance{display:none}.profile-mobile-copy{display:block}.profile-welcome h1{font-size:32px;margin-bottom:7px}.selected-profile{margin-top:11px;padding-top:11px}.intro-copy{margin-bottom:9px}.role-skills{margin-bottom:11px}}
@media(max-height:730px) and (min-width:651px){.intro{top:116px;max-height:calc(100svh - 318px)}body[data-mode=journey] .intro{top:auto;bottom:126px;max-height:calc(100svh - 230px)}}
@media(max-height:680px) and (min-width:651px){.intro{padding:14px}.profile-welcome h1{font-size:29px}.selected-profile h2{font-size:26px}.intro-copy{font-size:12px}.role-skills{margin-bottom:9px}.role-cta{min-height:36px;padding:6px 11px}}
/* Mobile is a character screen; the full profile opens in the dossier. */
@media(max-width:650px){
 body[data-mode=roles] .intro{left:4vw;right:4vw;top:112px;bottom:150px;width:auto;max-width:none;max-height:none;padding:0;overflow:visible;background:none;border:0;backdrop-filter:none;box-shadow:none;pointer-events:none}
 body[data-mode=roles] .intro::before{display:none}
 .profile-kicker,.profile-desktop-copy,.profile-guidance{display:none}.profile-welcome{display:table;padding:6px 10px;background:#211b32d9;border-left:2px solid #80708f80}.profile-mobile-copy{display:block;font-size:12px;line-height:1.35}.profile-welcome h1{font-size:29px;letter-spacing:-.4px;margin-bottom:3px}
 .selected-profile{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:center;margin:0;padding:13px 14px;background:#241d35f2;border:1px solid #80708f80;backdrop-filter:blur(8px);box-shadow:4px 4px 0 #1710224d;pointer-events:auto}
 .intro-top{grid-column:1;grid-row:1;margin:0 0 5px}.selected-label,.selected-profile h2,.selected-profile #intro-copy,.role-skills,.role-cta{display:none}.intro-top p{font-size:22px;line-height:1}
 .intro-compact-copy{display:block;grid-column:1;grid-row:2;font-size:12px;line-height:1.4;min-height:2.8em;margin:0;color:#c9bed6}
 .intro-actions{grid-column:2;grid-row:1/3;margin:0;display:block}.role-loadout{display:none}.intro-actions .role-inspect{min-height:42px;padding:8px 10px;border:1px solid var(--active);color:var(--active);background:#33273f;font:18px/1 var(--pixel);white-space:nowrap}.role-inspect>span{display:none}.intro-actions .role-inspect:hover{background:#46334e}
 body[data-mode=roles] .journey-strip,body[data-mode=roles] .key-hints{display:none}
 body[data-mode=roles] .role-roster{bottom:48px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 body[data-mode=roles] .role-card{height:66px;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;gap:4px;padding:7px 5px;text-align:center}
 body[data-mode=roles] .role-card-number{display:none}body[data-mode=roles] .role-card-title{grid-column:1;grid-row:1;align-self:center;font-size:18px;line-height:.95}body[data-mode=roles] .role-card-company{grid-column:1;grid-row:2;text-align:center;font-size:10px}
 body[data-mode=roles] .scene-hint{top:auto;bottom:123px;right:4vw;max-width:none;padding:0;background:none;border:0;color:#c7b9d3;font-size:10px}
 body[data-travel=true] .selected-profile{pointer-events:none}
 body[data-mode=journey] .intro{left:4vw;right:4vw;top:auto;bottom:130px;width:auto;max-width:none;max-height:calc(100svh - 280px);padding:14px 17px}
}
@media(max-width:375px){.selected-profile{padding:11px 12px;column-gap:10px}.intro-actions .role-inspect{font-size:17px;padding:8px}.intro-top p{font-size:20px}}

.dossier-skills{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0}.dossier-skills li{padding:4px 8px;border:1px solid #75618580;background:#33273f;color:#cbbbd9;font-size:12px;line-height:1.4}

@media(min-width:651px) and (max-width:1300px){.role-card{grid-template-columns:minmax(0,1fr);padding:10px;min-height:68px}.role-card-number,.role-card-arrow{display:none}.role-card-title{grid-column:1;font-size:clamp(17px,2vw,21px)}.role-card-company{grid-column:1;font-size:11px}}
