@font-face{font-family:PixelUI;src:local('Courier New');font-display:swap}
.characters{max-width:840px;flex-wrap:wrap;justify-content:center}@media(max-width:700px){.characters{display:grid!important;grid-template-columns:repeat(2,190px);transform:scale(.72)!important;margin:-50px 0!important}h1{margin-top:35px!important}.character{height:218px!important}.portrait{height:132px!important}#inventory-grid{grid-template-columns:repeat(3,70px)!important;width:226px!important}.inventory-slot{height:70px!important}#inventory-info{margin-left:245px!important}.inventory-panel{min-height:430px!important}}
h1{font-size:clamp(38px,7.5vw,92px)!important}h1 small{display:block;font:500 .19em 'DM Mono';letter-spacing:13px;margin-top:18px;color:#b59158}canvas{image-rendering:pixelated}#canvas{display:block}#map-button,#sound-button{position:absolute;right:30px;bottom:28px;padding:9px 12px;color:#d9d3c2;background:#101513cc;border:1px solid #8d7955;font-size:10px;cursor:pointer}#sound-button{right:120px;font-size:16px;padding:5px 11px}
.portrait{background-image:url('assets/hero-select-atlas.png?v=1')!important;background-size:400% 100%!important;background-position:0 0!important;background-repeat:no-repeat;background-color:#0b0e0d}.portrait.mara{background-position:0 0!important}.portrait.eli{background-position:33.333333% 0!important}
.portrait.jill{background-position:66.666667% 0!important}.portrait.chris{background-position:100% 0!important}
#mission{position:absolute;left:30px;top:78px;width:280px;padding:8px 11px;border-left:2px solid #8f2425;background:#080c0bd9;text-shadow:0 2px 3px #000}#mission small{display:block;color:#a58b5e;font-size:8px;letter-spacing:2px;margin-bottom:5px}#mission b{font-size:9px;font-weight:400;color:#d1d0c5}#inventory-button{position:absolute;right:226px;bottom:28px;padding:9px 12px;color:#d9d3c2;background:#101513cc;border:1px solid #8d7955;font-size:10px;cursor:pointer}
#boss-hud{position:absolute;top:28px;left:50%;transform:translateX(-50%);width:min(420px,46vw);text-align:center}#boss-hud small{font-size:9px;letter-spacing:4px;color:#d8c9ac;text-shadow:0 2px 4px #000}#boss-hud span{display:block;height:7px;margin-top:7px;border:1px solid #685d4d;background:#100b0b}#boss-health{display:block;width:100%;height:100%;background:linear-gradient(90deg,#6e1015,#bc3d35);transition:width .2s}#action-prompt{position:absolute;left:50%;bottom:100px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:7px 11px;background:#080b0ae8;border:1px solid #6f634e;color:#d9d4c5;font-size:8px;letter-spacing:1px}#action-prompt b{display:grid;place-items:center;width:24px;height:24px;border:1px solid #af925f;color:#dbc18e;font-size:12px}
#dialogue,#inventory{position:absolute;inset:0;z-index:15;background:#020403d9;display:flex;align-items:flex-end;justify-content:center}.dialogue-box{width:min(850px,92vw);margin-bottom:7vh;padding:25px 29px;background:#0b0e0deF;border:1px solid #665942;box-shadow:0 15px 70px #000}.dialogue-box small{color:#9d855c;letter-spacing:3px}.dialogue-box b{display:block;margin:9px 0;color:#e2dccb;font:700 20px 'Playfair Display'}.dialogue-box p{color:#b7b9af;line-height:1.7;font-size:12px;min-height:42px}.dialogue-box button,#use-item{float:right;padding:11px 15px;border:0;background:#ad905f;color:#10110f;font-size:10px;cursor:pointer}
#inventory{align-items:center}.inventory-panel{width:min(900px,94vw);min-height:530px;padding:25px;background:#080c0bf5;border:1px solid #556059;position:relative}.inventory-panel .eyebrow{margin-top:0}#inventory-grid{display:grid;grid-template-columns:repeat(6,94px);gap:8px;float:left;width:610px}.inventory-slot{height:94px;border:1px solid #34403a;background:#111715;cursor:pointer;position:relative}.inventory-slot:hover,.inventory-slot.active{border-color:#b59560;background:#1a211e}.inventory-icon{width:100%;height:100%;background-image:url('assets/items-atlas.png');background-size:600% 400%;background-repeat:no-repeat;image-rendering:pixelated}.inventory-count{position:absolute;right:5px;bottom:3px;color:#e5d5b3;font-size:10px;text-shadow:0 2px 3px #000}#inventory-info{margin-left:635px;padding:18px;border-left:1px solid #37413c;min-height:355px}#inventory-info b{font:700 18px 'Playfair Display'}#inventory-info p{font-size:10px;line-height:1.7;color:#9fa59d}#use-item{float:none;margin-top:20px}#use-item:disabled{opacity:.35;cursor:default}.inventory-panel>.map-close{clear:both;padding-top:30px}
*{box-sizing:border-box}body{margin:0;background:#070a0b;color:#e5e2d7;font-family:'DM Mono',monospace;overflow:hidden}button{font-family:inherit}#app,.screen,#game,canvas{width:100vw;height:100vh}.hidden{display:none!important}
.screen{display:flex;align-items:center;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 50% 38%,#26332d 0,#101615 34%,#050606 78%);position:relative;isolation:isolate}.screen:before{content:'';position:absolute;inset:0;opacity:.27;background:repeating-linear-gradient(90deg,transparent 0 3px,#b3c1b42a 3px 4px),linear-gradient(#0000 70%,#000 100%);z-index:-1}.eyebrow{letter-spacing:3px;color:#b59158;font-size:11px}h1{font:900 clamp(44px,9vw,110px)/.8 'Playfair Display';letter-spacing:-5px;margin:9px 0 25px;text-shadow:0 5px 0 #000}h1 span{color:#ae2f2e}.intro{max-width:440px;text-align:center;line-height:1.6;color:#abb3aa;font-size:12px}
.characters{display:flex;gap:16px;margin:30px 0 22px}.character{cursor:pointer;width:190px;height:232px;color:#e5e2d7;text-align:left;padding:13px;background:#101514;border:1px solid #313a35;transition:.25s}.character:hover,.character.active{border-color:#b59158;background:#1c2320;transform:translateY(-4px)}.character b,.character small{display:block;margin-top:8px}.character small{color:#9a9f95;font-size:9px;line-height:1.5}.portrait{height:145px;display:block;background-image:url('assets/heroes.png');background-size:800px auto;background-position:-21px -32px}.portrait.eli{background-position:-220px -32px}.save-summary{margin:-8px 0 12px;color:#a68f68;font-size:8px;letter-spacing:1px}.title-actions{display:flex;align-items:stretch;justify-content:center;gap:9px}.start{cursor:pointer;background:#b59158;border:0;color:#10100d;padding:15px 19px;font:500 12px 'DM Mono';letter-spacing:1.5px}.start i{font-size:20px;margin-left:15px}.new-game{min-width:128px;padding:10px 14px;border:1px solid #746448;background:#111714 url('assets/control-button-pixel.svg') center/100% 100% no-repeat;color:#c9c2b2;font:700 8px PixelUI,'Courier New',monospace;letter-spacing:1px;cursor:pointer}.new-game[data-confirm="true"]{border-color:#9b3232;color:#efc8bf;filter:brightness(1.18)}.controls{font-size:9px;color:#818a80;margin-top:20px}
#game{position:relative;background:#0c1110}.hud{position:absolute;top:25px;left:30px;right:30px;display:flex;justify-content:space-between;text-shadow:0 2px 4px #000;font-size:12px;pointer-events:none}.hud span,.ammo small{display:block;color:#b2b9ac;font-size:9px;margin-top:5px}.ammo{text-align:right}.ammo b{font-size:21px;color:#d7c6a5}.ammo small{letter-spacing:3px;color:#b59158}#place{position:absolute;left:30px;bottom:28px;line-height:1.4;font:700 20px 'Playfair Display';text-shadow:0 2px 5px #000}#place small{font:10px 'DM Mono';letter-spacing:2px;color:#a88c5f}#hint{position:absolute;top:70px;left:50%;transform:translateX(-50%);padding:9px 14px;background:#101513cc;border-left:2px solid #b59158;color:#c4c8bb;font-size:10px;max-width:380px;text-align:center}#map-button{position:absolute;right:30px;bottom:28px;padding:9px 12px;color:#d9d3c2;background:#101513cc;border:1px solid #8d7955;font-size:10px;cursor:pointer}
#room-transition{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:#010202;opacity:0;visibility:hidden;transition:opacity .18s linear,visibility 0s linear .4s}#room-transition.active{opacity:1;visibility:visible;transition:opacity .18s linear}#room-transition small{color:#706c61;font-size:8px;letter-spacing:4px}#room-transition b{margin-top:13px;color:#d4cbb7;font:700 22px PixelUI,'Courier New',monospace;letter-spacing:3px}
#hub{position:absolute;inset:0;background:#030606e8;z-index:10;display:flex;align-items:center;justify-content:center}.hub-panel{width:min(1120px,94vw);position:relative}.hub-panel>img{width:100%;max-height:72vh;object-fit:cover;border:1px solid #4e5d56;box-shadow:0 20px 80px #000}.hub-nodes{position:absolute;left:3%;right:3%;bottom:8%;display:flex;justify-content:space-around}.hub-nodes button{padding:8px 12px;background:#0b1110d9;color:#a7aca2;border:1px solid #48534d;font-size:9px}.hub-nodes button.active{border-color:#b59158;color:#f1e4c6;box-shadow:0 0 20px #b5915844}.hub-nodes small{font-size:7px;color:#8c7855}.map-close{text-align:center;color:#9da39b;font-size:9px;margin:8px}.hub-panel>.eyebrow{margin:0 0 8px}
.campaign-status{position:absolute;z-index:2;left:18px;top:40px;width:310px;padding:12px;background:#070c0be8;border:2px solid #4d594f;box-shadow:4px 4px #020303}.campaign-status small{color:#a68d62;font-size:8px;letter-spacing:2px}.campaign-status b{display:block;margin:7px 0 11px;color:#d6d4c5;font-size:10px}.campaign-status>span{display:block;height:8px;border:1px solid #59645c;background:#111712}.campaign-status>span i{display:block;width:8.33%;height:100%;background:#9f3030;transition:width .4s}.campaign-status>div{display:flex;justify-content:space-between;margin-top:5px}.campaign-status em{font-style:normal;color:#788179;font-size:7px}
#dead{position:absolute;inset:0;background:#120606ed;display:flex;flex-direction:column;align-items:center;justify-content:center;font:900 50px 'Playfair Display';letter-spacing:4px;z-index:40}#dead>small{font:8px PixelUI,'Courier New',monospace;color:#9b8170;letter-spacing:3px}#dead p{margin:18px 0 26px}.dead-actions{display:grid;gap:9px;width:min(430px,84vw)}#dead button{min-height:46px;padding:12px 16px;background:#171713;color:#d8ceba;border:1px solid #665647;font:700 9px PixelUI,'Courier New',monospace;letter-spacing:1px;cursor:pointer}#dead button:first-child{background:#bd9b61;color:#17130d;border-color:#dbc18d}#dead button:hover{filter:brightness(1.14)}#mobile{display:none}
#loading-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#030505eF}.loading-panel{width:min(520px,86vw);padding:27px 30px;background:#090d0c;border:1px solid #665942;box-shadow:0 18px 80px #000;text-align:center}.loading-panel small{color:#877354;font:7px PixelUI,'Courier New',monospace;letter-spacing:3px}.loading-panel b{display:block;margin:18px 0;color:#ddd4c1;font:700 17px PixelUI,'Courier New',monospace;letter-spacing:2px}.loading-panel>span{display:block;height:12px;padding:2px;border:1px solid #4d5b53;background:#020403}.loading-panel>span i{display:block;width:0;height:100%;background:linear-gradient(90deg,#6f181b,#b59560);transition:width .14s linear}.loading-panel em{display:block;margin-top:11px;color:#92998f;font:8px PixelUI,'Courier New',monospace;font-style:normal}.loading-panel button{margin-top:18px;padding:11px 15px;border:1px solid #8c7350;background:#151a17;color:#d9d0bd;font:8px PixelUI,'Courier New',monospace;cursor:pointer}#mobile{display:none}
@media(max-width:900px),(pointer:coarse){body{touch-action:none;overscroll-behavior:none}.characters{transform:scale(.78);margin:-16px 0}.controls{padding:0 20px;text-align:center}.hud{top:12px;left:12px;right:12px}.hud b{font-size:9px}.ammo b{font-size:15px}.ammo small{font-size:6px;letter-spacing:1px}#mission{left:12px;top:58px;width:220px}#place{left:12px;bottom:122px;font-size:13px}#hint{top:52px;max-width:46vw;font-size:7px}#action-prompt{bottom:126px}#map-button,#inventory-button,#sound-button{z-index:21;right:10px;bottom:auto;padding:6px 8px;font-size:7px}#map-button{top:96px}#inventory-button{top:126px}#sound-button{top:156px;font-size:12px}#mobile{display:block;position:absolute;inset:0;z-index:8;pointer-events:none;user-select:none;-webkit-user-select:none}#mobile button{pointer-events:auto;touch-action:none;display:grid;place-items:center;width:46px;height:46px;padding:0;border:2px solid #8d7955;border-radius:0;background:#0b1512d9;color:#d7d3c5;box-shadow:inset 0 0 0 2px #18251f,3px 3px 0 #020403;font:700 8px PixelUI,'Courier New',monospace;text-shadow:1px 1px #000}#mobile button.pressed{transform:translate(2px,2px);border-color:#d0ad72;background:#26372f;box-shadow:inset 0 0 0 2px #101713}.mobile-pad{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,46px);gap:4px}.mobile-move{left:max(14px,env(safe-area-inset-left))}.mobile-move .move-up{grid-column:2;grid-row:1}.mobile-move .move-left{grid-column:1;grid-row:2}.mobile-move .move-down{grid-column:2;grid-row:2}.mobile-move .move-right{grid-column:3;grid-row:2}.mobile-actions{right:max(14px,env(safe-area-inset-right))}.mobile-actions .mobile-aim{grid-column:1;grid-row:1}.mobile-actions .mobile-fire{grid-column:2/4;grid-row:1;width:96px;border-color:#8f3434;color:#f0d0c0}.mobile-actions button:nth-child(3){grid-column:1;grid-row:2}.mobile-actions button:nth-child(4){grid-column:2;grid-row:2}.mobile-actions button:nth-child(5){grid-column:3;grid-row:2}.mobile-quick{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:5px}.mobile-quick button{width:42px!important;height:34px!important;font-size:7px!important}.hub-nodes{gap:3px}.hub-nodes button{font-size:6px;padding:5px}}
@media(max-width:520px) and (orientation:portrait){.screen{justify-content:flex-start;padding-top:72px}.title-status{left:20px;right:20px}.eyebrow{font-size:8px}.intro{max-width:86vw;font-size:9px}.characters{margin:-40px 0 -34px!important}#mission{width:180px}#hint{display:none}#place{bottom:112px}.mobile-pad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:3px}.mobile-pad button{width:42px!important;height:42px!important}.mobile-actions .mobile-fire{width:87px!important}.mobile-quick{bottom:112px}.mobile-quick button{width:38px!important;height:30px!important}}

/* Pixel survival-horror presentation */
body,button{font-family:PixelUI,'Courier New',monospace}.screen{background:linear-gradient(#030706b8,#030505ed),url('assets/mansion-pixel.png') center/cover;image-rendering:pixelated}.screen:before{opacity:.48;background:repeating-linear-gradient(0deg,transparent 0 3px,#0008 3px 4px),radial-gradient(ellipse at 50% 42%,#31423955 0,#020303cc 76%)}.screen:after{content:'';position:absolute;inset:18px;border:2px solid #53594e66;box-shadow:inset 0 0 0 4px #050706,inset 0 0 0 6px #272d28;pointer-events:none}.title-status{position:absolute;left:32px;right:32px;top:28px;border-bottom:2px solid #69706555;padding:0 4px 10px;display:flex;align-items:center;gap:10px;color:#777f74;font-size:9px;letter-spacing:2px}.title-status span{flex:1}.title-status i{width:8px;height:8px;background:#852326;box-shadow:0 0 0 2px #27090a}.title-status b{margin-left:auto;color:#9b8a67}.intro{background:#050807bb;border-left:3px solid #692126;padding:8px 15px}h1{filter:contrast(1.3);text-shadow:4px 5px 0 #000,-2px -2px 0 #1b201d}h1 small{font-family:PixelUI,'Courier New',monospace!important}.character,.start,#map-button,#sound-button,#inventory-button{border-radius:0;box-shadow:3px 3px 0 #030403}

#inventory{align-items:center;background:#010302ef}.inventory-panel{width:min(920px,94vw);min-height:560px;padding:0;background:#07100df7;border:3px solid #687066;box-shadow:0 0 0 5px #111713,0 0 0 7px #313a33,0 24px 80px #000;position:relative;image-rendering:pixelated}.inventory-header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:3px double #586159;background:#0d1713}.inventory-header small,.health-label small,#inventory-info>small{display:block;color:#738079;font-size:8px;letter-spacing:2px}.inventory-header b{display:block;margin-top:5px;color:#d3d3c6;font-size:14px;letter-spacing:2px}.inventory-header>span{font-size:10px;color:#a3916c}.health-panel{height:112px;display:flex;align-items:center;border-bottom:2px solid #3e4942;background:#09110e;padding:13px 18px}.health-label{width:190px;border-right:2px solid #38443c}.health-label b{display:block;color:#54c877;font-size:18px;letter-spacing:3px;margin:8px 0 4px;text-shadow:2px 2px #08270f}.health-label span{font-size:9px;color:#77847b}#health-monitor{width:360px;height:72px;margin-left:22px;background:#020604;border:2px inset #2e3d34;image-rendering:pixelated}.inventory-body{display:grid;grid-template-columns:minmax(430px,2fr) minmax(230px,1fr);gap:18px;padding:20px}#inventory-grid{display:grid;grid-template-columns:repeat(6,minmax(60px,94px));gap:7px;width:auto;float:none}.inventory-slot{height:94px;border:2px solid #34403a;background:#0e1612;box-shadow:inset 0 0 0 2px #050806}.inventory-icon{display:block}.inventory-slot:hover,.inventory-slot.active{border-color:#b59560;background:#1a211e}#inventory-info{margin:0;padding:12px 17px;border-left:2px solid #37413c;min-height:295px;background:#0a110e}#inventory-info b{display:block;margin-top:14px;font:700 16px PixelUI,'Courier New',monospace;color:#dad8c8}#use-item{border:2px solid #b09665;background:#a58a5c;box-shadow:3px 3px #322819}.inventory-panel>.map-close{position:absolute;right:18px;bottom:7px;color:#78837b}
#item-box{position:absolute;inset:0;z-index:17;display:flex;align-items:center;justify-content:center;background:#010302ef}.item-box-panel{width:min(940px,94vw);padding:0 0 18px;border:3px solid #687066;background:#07100df7;box-shadow:0 0 0 5px #111713,0 0 0 7px #313a33,0 24px 80px #000}.item-box-panel>header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:3px double #586159;background:#0d1713}.item-box-panel header small,.item-box-body>section>small{display:block;color:#887a5e;font-size:8px;letter-spacing:2px}.item-box-panel header b{display:block;margin-top:6px;color:#d3d3c6;font-size:14px;letter-spacing:2px}#item-box-close{border:1px solid #88785b;background:#171c18;color:#cdbb93;padding:9px 12px;font:700 8px PixelUI,'Courier New',monospace;cursor:pointer}.item-box-body{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px}.item-box-body>section{padding:12px;border:2px solid #34403a;background:#080e0b}.item-box-grid{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:7px;margin-top:12px}.item-box-slot{height:92px;min-width:0;position:relative;border:2px solid #34403a;background:#0e1612;color:#c8c6b8;cursor:pointer;overflow:hidden}.item-box-slot:hover{border-color:#b59560}.item-box-slot.empty{display:block;opacity:.45;cursor:default}.item-box-slot .inventory-icon{position:absolute;inset:0;width:100%;height:100%;background-image:url('assets/items-atlas.png');background-size:600% 400%;background-repeat:no-repeat;image-rendering:pixelated}.item-box-slot b{position:absolute;left:4px;right:20px;bottom:4px;z-index:1;overflow:hidden;color:#c8c6b8;font-size:6px;text-align:left;white-space:nowrap;text-shadow:1px 1px #000}.item-box-slot em{position:absolute;right:5px;bottom:4px;z-index:1;color:#e2cc9f;font-size:9px;font-style:normal;text-shadow:1px 1px #000}.item-box-panel>p{margin:0 22px;color:#78837b;font-size:8px;text-align:right}
@media(max-width:700px){.inventory-panel{min-height:0!important}.health-panel{height:96px}.health-label{width:130px}#health-monitor{width:calc(100% - 145px);margin-left:12px}.inventory-body{grid-template-columns:1fr;padding:12px}#inventory-grid{grid-template-columns:repeat(3,70px)!important;width:226px!important}#inventory-info{margin:0!important;border-left:0;border-top:2px solid #37413c;min-height:100px}.inventory-header{height:54px}#item-box{align-items:flex-start;overflow-y:auto}.item-box-panel{width:100vw;min-height:100vh}.item-box-body{grid-template-columns:1fr;padding:12px}.item-box-grid{grid-template-columns:repeat(3,1fr)}.item-box-slot{height:82px}}

/* Multi-stage campaign journal */
.health-label{width:170px}.health-panel #health-monitor{width:300px;margin-left:18px}#mission-tracker{flex:1;min-width:210px;margin-left:18px;padding-left:18px;border-left:2px solid #38443c}#mission-tracker small{display:block;color:#957d59;font-size:7px;letter-spacing:1px}#mission-tracker b{display:block;min-height:28px;margin:7px 0 5px;color:#c9c9bb;font-size:8px;line-height:1.35}#mission-tracker div{display:inline-block;width:calc(100% - 46px);height:6px;border:1px solid #465149;background:#030704}#mission-tracker i{display:block;height:100%;width:0;background:#92272a;transition:width .3s}#mission-tracker span{margin-left:7px;color:#818c84;font-size:7px}
@media(max-width:700px){.health-panel{height:112px}.health-label{width:112px}.health-panel #health-monitor{width:150px;margin-left:10px}#mission-tracker{min-width:120px;margin-left:10px;padding-left:10px}}
@media(max-width:700px){#inventory{align-items:flex-start;overflow-y:auto;overflow-x:hidden}.inventory-panel{width:100vw;min-height:100vh!important;margin:0}.inventory-panel>.map-close{position:static;text-align:right;padding:8px 18px 20px}.inventory-body{padding-bottom:18px}}
#archive-button{border:1px solid #6c674f;background:#111914;color:#b8a477;padding:8px 12px;font:700 9px PixelUI,'Courier New',monospace;letter-spacing:1px;cursor:pointer}#archive-button span{display:block;margin-top:4px;color:#77847b;font-size:7px}#archive-panel{position:absolute;inset:68px 0 0;z-index:4;padding:18px 22px 28px;background:#050a08f7}#archive-panel>header{height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #475249}#archive-panel>header small{display:block;color:#957d59;font-size:7px;letter-spacing:2px}#archive-panel>header b{display:block;margin-top:6px;color:#d3d3c6;font-size:13px;letter-spacing:2px}#archive-close{border:1px solid #71664e;background:#171c18;color:#c1b18c;padding:9px 12px;font:700 8px PixelUI,'Courier New',monospace;cursor:pointer}#archive-list{height:430px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 4px 4px}#archive-list article{padding:13px 15px;border:1px solid #34403a;background:#0b120f;box-shadow:inset 3px 0 #84292d}#archive-list small{display:block;color:#8c795c;font-size:7px;letter-spacing:1px}#archive-list b{display:block;margin:7px 0;color:#d3d2c2;font-size:10px}#archive-list p{margin:0;color:#919a92;font-size:8px;line-height:1.55}@media(max-width:700px){#archive-button{padding:6px 8px}#archive-panel{inset:56px 0 0;padding:10px}#archive-list{height:calc(100vh - 155px);grid-template-columns:1fr}}
#weapon-rack{margin-top:22px;padding-top:12px;border-top:1px solid #38443c}#weapon-rack>small{display:block;margin-bottom:7px;color:#78857d;font-size:7px;letter-spacing:1px}#weapon-rack>button{width:100%;height:47px;display:flex;align-items:center;margin:5px 0;padding:3px 7px;border:1px solid #34403a;background:#080d0b;color:#aeb5ad;cursor:pointer;text-align:left}#weapon-rack>button.active{border-color:#b59560;box-shadow:inset 3px 0 #9a2f32;background:#121a15}#weapon-rack>button.locked{opacity:.25;filter:grayscale(1);cursor:not-allowed}#weapon-rack i{width:64px;height:39px;flex:0 0 64px;background-repeat:no-repeat;background-position:0 0;image-rendering:pixelated}#weapon-rack [data-weapon="pistol"] i{background-image:url('assets/shoot-sprites-atlas.png');background-size:600% 400%}#weapon-rack [data-weapon="shotgun"] i{background-image:url('assets/shotgun-shoot-atlas.png');background-size:600% 400%}#weapon-rack [data-weapon="grenade"] i{background-image:url('assets/grenade-shoot-atlas.png');background-size:600% 400%}#weapon-rack [data-weapon="knife"] i{background-image:url('assets/knife-attack-atlas.png');background-size:600% 400%}#weapon-rack button>span{min-width:0;margin-left:7px}#weapon-rack button b{margin:0!important;font-size:8px!important;white-space:nowrap}#weapon-rack em{display:block;margin-top:4px;color:#87938a;font-size:7px;font-style:normal}
.dialogue-box{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;align-items:end;overflow:hidden}.dialogue-copy{min-width:0}.dialogue-portrait,.archive-portrait{background-image:url('assets/dialogue-portraits-atlas.png');background-size:400% 400%;background-repeat:no-repeat;background-color:#050908;image-rendering:pixelated}.dialogue-portrait{width:170px;height:180px;border:2px solid #4b564f;box-shadow:inset 0 0 0 3px #080b09,4px 4px #020302}.dialogue-copy p{min-height:64px}#archive-list article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:11px;align-items:start}.archive-portrait{display:block;width:72px;height:72px;border:1px solid #465149;box-shadow:inset 0 0 0 2px #050806}#archive-list article>div{min-width:0}
.dialogue-portrait,.archive-portrait{background-image:url('assets/dialogue-portraits-atlas.png?v=3')}
@media(max-width:700px){.dialogue-box{grid-template-columns:104px minmax(0,1fr);gap:12px;padding:14px 16px;margin-bottom:3vh}.dialogue-portrait{width:104px;height:126px}.dialogue-box b{font-size:14px}.dialogue-box p{min-height:45px;font-size:9px;line-height:1.45}.dialogue-box button{padding:8px 10px}#archive-list article{grid-template-columns:62px minmax(0,1fr)}.archive-portrait{width:62px;height:62px}}

/* Browser-game gamepad and user display controls */
#pixel-button,#controls-toggle{position:absolute;right:30px;z-index:21;min-width:72px;padding:7px 9px;border:1px solid #8d7955;background:#101513e8 url('assets/control-button-pixel.svg') center/100% 100% no-repeat;color:#d9d3c2;font:700 8px PixelUI,'Courier New',monospace;letter-spacing:1px;cursor:pointer;text-shadow:1px 1px #000;image-rendering:pixelated}
#pixel-button{top:96px}#controls-toggle{top:130px}
#pixel-button[aria-pressed="false"],#controls-toggle[aria-pressed="false"]{filter:grayscale(1);color:#817f76}
#mobile{display:block;position:absolute;inset:0;z-index:8;pointer-events:none;user-select:none;-webkit-user-select:none;opacity:.76;transition:opacity .18s}
#mobile:hover{opacity:.96}.controls-hidden #mobile{display:none!important}
#mobile button{pointer-events:auto;touch-action:none;display:grid;place-items:center;width:50px;height:50px;padding:0;border:0!important;border-radius:0;background:transparent url('assets/control-button-pixel.svg') center/100% 100% no-repeat!important;color:#e0d8c8;box-shadow:none!important;font:700 8px PixelUI,'Courier New',monospace;text-shadow:2px 2px #000;image-rendering:pixelated}
#mobile button.pressed{transform:translate(2px,2px) scale(.96);filter:brightness(1.55) sepia(.2);color:#fff3d2}
.mobile-pad{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,50px);grid-template-rows:repeat(2,50px);gap:3px}
.mobile-move{left:max(18px,env(safe-area-inset-left))}.mobile-move .move-up{grid-column:2;grid-row:1}.mobile-move .move-left{grid-column:1;grid-row:2}.mobile-move .move-down{grid-column:2;grid-row:2}.mobile-move .move-right{grid-column:3;grid-row:2}
.mobile-actions{right:max(18px,env(safe-area-inset-right))}.mobile-actions .mobile-aim{grid-column:1;grid-row:1}.mobile-actions .mobile-fire{grid-column:2/4;grid-row:1;width:103px!important;color:#f1bcb5!important;filter:hue-rotate(315deg) saturate(1.35)}.mobile-actions button:nth-child(3){grid-column:1;grid-row:2}.mobile-actions button:nth-child(4){grid-column:2;grid-row:2}.mobile-actions button:nth-child(5){grid-column:3;grid-row:2}
.mobile-quick{position:absolute;left:50%;bottom:max(21px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:4px}.mobile-quick button{width:48px!important;height:38px!important;font-size:7px!important}
body:not(.controls-hidden) #place{bottom:142px}body:not(.controls-hidden) #action-prompt{bottom:146px}
body:not(.controls-hidden) #map-button,body:not(.controls-hidden) #inventory-button,body:not(.controls-hidden) #sound-button{right:30px;bottom:auto;z-index:21}
body:not(.controls-hidden) #map-button{top:164px}body:not(.controls-hidden) #inventory-button{top:198px}body:not(.controls-hidden) #sound-button{top:232px}
@media(max-width:900px),(pointer:coarse){
  #mobile{opacity:.9}
  #pixel-button,#controls-toggle{right:10px;min-width:62px;padding:6px 7px;font-size:7px}
  #pixel-button{top:186px}#controls-toggle{top:216px}
  body:not(.controls-hidden) #map-button{top:96px}body:not(.controls-hidden) #inventory-button{top:126px}body:not(.controls-hidden) #sound-button{top:156px}
}
@media(max-width:520px) and (orientation:portrait){
  .mobile-pad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:2px}.mobile-pad button{width:42px!important;height:42px!important}.mobile-actions .mobile-fire{width:86px!important}.mobile-quick{bottom:108px}.mobile-quick button{width:42px!important;height:32px!important}
  #pixel-button{top:174px}#controls-toggle{top:204px}
}

/* Campaign epilogue */
#ending{position:absolute;inset:0;z-index:45;display:grid;place-items:center;padding:24px;background:linear-gradient(#0203049c,#030505ed),url('assets/evacuation-rooftop-pixel.png') center/cover no-repeat;image-rendering:pixelated}
#ending:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0007 3px 4px),radial-gradient(circle at 50% 30%,#8b6a3e28,transparent 52%)}
.ending-panel{position:relative;width:min(880px,94vw);padding:30px 34px;border:3px solid #73766a;background:#050807eF;box-shadow:0 0 0 5px #111713,0 0 0 7px #333a34,0 25px 100px #000;text-align:center}
.ending-panel>small{color:#a58b60;font-size:8px;letter-spacing:4px}.ending-panel h2{margin:16px 0 12px;color:#e0d7c6;font:700 clamp(27px,5vw,53px) PixelUI,'Courier New',monospace;letter-spacing:2px;text-shadow:4px 4px #240708}.ending-panel>p{max-width:690px;margin:0 auto;color:#aeb3aa;font-size:10px;line-height:1.75}
.ending-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.ending-acts article{min-height:122px;padding:14px;border:2px solid #39443d;background:#0a110e;text-align:left;box-shadow:inset 4px 0 #762327}.ending-acts b{display:block;color:#b73737;font-size:20px}.ending-acts span{display:block;margin:8px 0;color:#d5c6a9;font-size:9px;letter-spacing:1px}.ending-acts small{color:#818c84;font-size:7px;line-height:1.6}
.ending-actions{display:flex;justify-content:center;gap:12px}.ending-actions button{min-width:170px;padding:12px 15px;border:2px solid #8b7652;background:#161d19 url('assets/control-button-pixel.svg') center/100% 100% no-repeat;color:#ddd5c4;font:700 9px PixelUI,'Courier New',monospace;cursor:pointer;image-rendering:pixelated}.ending-actions button:hover{filter:brightness(1.35)}
.ending-panel>em{display:block;margin-top:18px;color:#807761;font-size:7px;font-style:normal;letter-spacing:2px}
@media(max-width:700px){#ending{padding:10px}.ending-panel{padding:18px 16px}.ending-acts{gap:5px;margin:15px 0}.ending-acts article{min-height:104px;padding:9px}.ending-acts b{font-size:14px}.ending-actions button{min-width:130px;padding:9px;font-size:7px}}

/* Compact title composition for phones and small tablets in landscape. */
@media(max-height:500px) and (orientation:landscape){
  .screen{justify-content:flex-start;padding-top:48px;overflow:hidden}
  .screen:after{inset:10px}
  .title-status{top:14px;left:20px;right:20px;padding-bottom:6px;font-size:7px}
  .eyebrow{margin:0;font-size:7px;letter-spacing:2px}
  h1{font-size:44px!important;line-height:.78;margin:5px 0 9px!important;letter-spacing:-3px}
  h1 small{margin-top:9px;font-size:.16em;letter-spacing:8px}
  .intro{max-width:420px;margin:0;padding:5px 10px;font-size:7px;line-height:1.35}
  .characters{display:flex!important;flex-wrap:nowrap;gap:8px;max-width:none;margin:8px 0!important;transform:none!important}
  .character{width:148px;height:162px!important;padding:7px}
  .character:hover,.character.active{transform:translateY(-2px)}
  .portrait{height:100px!important}
  .character b{margin-top:5px;font-size:8px}
  .character small{margin-top:4px;font-size:6px;line-height:1.3}
  .save-summary{position:absolute;left:20px;bottom:14px;margin:0;font-size:6px}
  .title-actions{gap:6px}
  .start{padding:9px 15px;font-size:8px}
  .start i{font-size:14px;margin-left:10px}
  .new-game{min-width:104px;padding:7px 10px;font-size:7px}
  .controls{display:none}
}

/* Raster title mark and survival-horror menu controls */
#title-screen h1{width:min(980px,88vw);margin:4px 0 10px!important;filter:none;text-shadow:none;line-height:0}
#title-screen h1 img{display:block;width:100%;height:auto;image-rendering:pixelated;filter:drop-shadow(6px 8px 0 #020303)}
.title-actions{gap:10px}
.title-actions .start,.title-actions .new-game{height:58px;border:0;background-color:transparent;background-image:url('assets/menu-buttons-atlas.png?v=1');background-repeat:no-repeat;background-size:100% 300%;background-position:center top;box-shadow:none;color:#d9d0bf;text-shadow:2px 2px #020202;image-rendering:pixelated;transition:filter .12s,transform .12s}
.title-actions .start{min-width:310px;padding:0 58px 0 24px;position:relative;font:700 10px PixelUI,'Courier New',monospace;letter-spacing:1px}
.title-actions .start i{position:absolute;right:22px;top:17px;margin:0;color:#b89559;font-size:18px}
.title-actions .new-game{min-width:170px;padding:0 38px 0 16px;font:700 8px PixelUI,'Courier New',monospace;letter-spacing:1px}
.title-actions .start:hover,.title-actions .start:focus-visible,.title-actions .new-game:hover,.title-actions .new-game:focus-visible{background-position:center 50%;color:#17120c;text-shadow:none;filter:brightness(1.04)}
.title-actions .start:hover i,.title-actions .start:focus-visible i{color:#6d1d1d}
.title-actions .new-game[data-confirm="true"]{background-position:center bottom;color:#f1d7c8;text-shadow:2px 2px #210505;filter:none}
.title-actions .start:active,.title-actions .new-game:active{transform:translate(2px,2px);filter:brightness(.86)}
@media(max-width:700px){
  #title-screen h1{width:min(620px,94vw);margin-top:28px!important}
  .title-actions .start{min-width:250px;height:50px;padding-left:16px;font-size:8px}
  .title-actions .new-game{min-width:135px;height:50px;font-size:7px}
}
@media(max-width:420px){
  .title-actions{width:calc(100vw - 24px);gap:6px}
  .title-actions .start{flex:1 1 63%;min-width:0;padding:0 36px 0 10px;font-size:7px}
  .title-actions .start i{right:12px}
  .title-actions .new-game{flex:1 1 37%;min-width:0;padding:0 8px;font-size:6px}
}
@media(max-height:500px) and (orientation:landscape){
  #title-screen h1{width:470px;margin:0 0 3px!important}
  .title-actions .start{min-width:230px;height:38px;padding:0 42px 0 14px;font-size:7px}
  .title-actions .start i{right:15px;top:9px;font-size:13px}
  .title-actions .new-game{min-width:120px;height:38px;padding:0 12px;font-size:6px}
}
