:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#030303;color:#eee;--red:#9d2631;--paper:#e7e0d3;--mobile-scale:1}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#030303;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.34}#gameCanvas{position:fixed;inset:0;width:100%;height:100%;background:#020203;display:block}.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));z-index:10;background:radial-gradient(circle at 50% 40%,rgba(35,19,20,.22),rgba(0,0,0,.96) 58%);transition:opacity .5s}.hidden{display:none!important}.logo{max-width:760px;text-align:center;text-transform:uppercase;letter-spacing:.12em;text-shadow:0 0 35px rgba(137,26,36,.5)}.logo small{display:block;color:#998f86;font-size:.75rem;letter-spacing:.55em;margin-bottom:12px}.logo h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(2.4rem,8vw,6.8rem);line-height:.86;margin:0;color:var(--paper)}.logo h1 span{display:block;color:#a52c35}.warning{max-width:620px;color:#b8afa5;text-align:center;line-height:1.65;font-size:.95rem;margin:32px 0}.primary,.menu-button,.ghost{border:1px solid rgba(231,224,211,.3);background:rgba(14,13,13,.76);color:#eee;padding:14px 22px;min-width:250px;text-transform:uppercase;letter-spacing:.14em;border-radius:3px;transition:.2s}.primary:hover,.menu-button:hover,.ghost:hover{background:#8f222b;border-color:#b63c45;transform:translateY(-1px)}.primary:focus-visible,.menu-button:focus-visible,.ghost:focus-visible,.touch-button:focus-visible{outline:2px solid #eee;outline-offset:3px}.ghost.danger:hover{background:#5e171e}.hint{color:#817a74;font-size:.78rem;margin-top:16px}.loader{width:min(560px,86vw);margin-top:42px}.loader-track{height:3px;background:#242020;overflow:hidden}.loader-fill{height:100%;width:0;background:#a52c35;box-shadow:0 0 14px #a52c35;transition:width .2s}.loader-row{display:flex;justify-content:space-between;color:#aaa09a;font-size:.8rem;margin-top:12px}.boot-message{font-family:Georgia,serif;font-style:italic;color:#cfc5b9;min-height:24px;margin-top:18px;text-align:center}.menu{align-items:flex-start;padding-left:clamp(28px,9vw,150px);background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.78) 43%,rgba(0,0,0,.12) 100%)}.menu::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(126,21,29,.09));pointer-events:none}.menu .logo,.menu-story,.menu-actions{z-index:1}.menu .logo{text-align:left;max-width:560px}.menu .logo h1{font-size:clamp(2.6rem,6vw,5.2rem)}.menu-story{max-width:590px;color:#9d938c;line-height:1.55;margin:24px 0 0;font-family:Georgia,serif;font-size:1rem}.menu-actions{display:flex;flex-direction:column;gap:9px;margin-top:27px}.menu-button{border:0;border-left:2px solid #4d4642;text-align:left;background:linear-gradient(90deg,rgba(22,20,20,.84),transparent);min-width:min(380px,78vw)}.menu-button:hover{border-left-color:#b12f39;padding-left:29px}.menu-button strong,.menu-button small{display:block}.menu-button small{font-size:.65rem;color:#8e8580;letter-spacing:.09em;margin-top:5px}.version{position:fixed;right:18px;bottom:14px;color:#5d5753;font-size:.72rem}.panel{width:min(680px,92vw);max-height:88vh;overflow:auto;background:rgba(10,10,11,.95);border:1px solid #302b2a;padding:clamp(22px,5vw,44px);box-shadow:0 30px 80px #000}.panel h2{font-family:Georgia,serif;font-size:2.2rem;font-weight:400;margin:0 0 26px}.setting{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #242020}.setting input[type=range]{width:min(260px,42vw);accent-color:#9f2731}.setting input[type=checkbox]{width:20px;height:20px;accent-color:#9f2731}.setting select{background:#151313;border:1px solid #443c39;color:#eee;padding:8px}.panel-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.panel .ghost{min-width:0}.credits{line-height:1.7;color:#bbb1a8}.credits strong{color:#eee}.credit-lead{display:flex;flex-direction:column;padding:18px;border-left:2px solid var(--red);background:linear-gradient(90deg,rgba(121,31,39,.2),transparent)}.credit-lead strong{font-family:Georgia,serif;font-size:2rem;font-weight:400}.credit-lead span{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:#a79b93}.controls-summary{color:#aaa09a;line-height:1.6;font-size:.9rem}.hud{position:fixed;inset:0;z-index:5;pointer-events:none}.objective{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));max-width:min(470px,72vw);padding:12px 16px;border-left:2px solid #9f2731;background:linear-gradient(90deg,rgba(0,0,0,.82),transparent);text-shadow:0 2px 4px #000}.objective small{display:block;color:#9a8f88;text-transform:uppercase;letter-spacing:.2em;font-size:.66rem;margin-bottom:4px}.objective span{font-size:.92rem}.objective-progress{margin-top:6px;color:#7e7470;font-size:.66rem;letter-spacing:.12em}.status{position:absolute;top:max(22px,env(safe-area-inset-top));right:max(22px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:#837a75;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;text-shadow:0 1px 4px #000}.status .saving{color:#c4b8ac}.crosshair{position:absolute;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%)}.crosshair::before,.crosshair::after{content:"";position:absolute;background:rgba(255,255,255,.72)}.crosshair::before{width:8px;height:1px;top:3px}.crosshair::after{height:8px;width:1px;left:3px}.interaction{position:absolute;left:50%;bottom:18%;transform:translateX(-50%);padding:9px 14px;background:rgba(0,0,0,.84);border:1px solid #514946;font-size:.85rem;white-space:nowrap}.interaction b{color:#d8c9bd;margin-right:8px;border:1px solid #635a55;padding:2px 6px}.subtitle{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);width:min(780px,88vw);text-align:center;font-family:Georgia,serif;font-size:clamp(1rem,2.2vw,1.3rem);text-shadow:0 2px 6px #000;background:rgba(0,0,0,.5);padding:9px 16px;border-radius:2px}.phone{position:fixed;right:max(20px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);z-index:18;width:min(360px,88vw);height:min(690px,84vh);border:10px solid #101010;border-radius:31px;background:#d7d3ca;color:#151515;padding:14px 13px 58px;box-shadow:0 20px 90px #000;pointer-events:auto;display:flex;flex-direction:column}.phone-notch{width:92px;height:17px;border-radius:12px;background:#111;margin:-10px auto 7px;flex:0 0 auto}.phone-top{display:flex;justify-content:space-between;align-items:center;padding:5px 8px 10px;font-size:.65rem;color:#514d48}.phone-top strong{text-transform:uppercase;letter-spacing:.18em}.phone-contacts{display:flex;gap:6px;overflow-x:auto;padding:2px 4px 9px;border-bottom:1px solid #b9b3aa;flex:0 0 auto}.contact{position:relative;border:0;background:transparent;color:#3e3935;min-width:62px;padding:4px 3px;font-size:.67rem}.contact span{display:flex;width:34px;height:34px;border-radius:50%;background:#242424;color:#eee;align-items:center;justify-content:center;margin:0 auto 4px}.contact b{font-weight:600}.contact.active span{background:#7b2028}.contact i{position:absolute;right:9px;top:2px;width:9px;height:9px;border-radius:50%;background:#c4303d;box-shadow:0 0 0 2px #d7d3ca}.phone-thread{flex:1;overflow:auto;padding:8px 5px}.phone-thread h3{margin:4px 0 12px;font-size:.85rem;text-transform:uppercase;letter-spacing:.16em;color:#49433e}.message{position:relative;max-width:84%;background:#ece8df;border-radius:12px 12px 12px 2px;padding:10px 12px;margin:8px 0;font-size:.86rem;line-height:1.42;box-shadow:0 1px 1px rgba(0,0,0,.08)}.message.mine{margin-left:auto;background:#68212a;color:#f7efea;border-radius:12px 12px 2px 12px}.message small{display:block;font-size:.57rem;opacity:.56;margin-bottom:3px}.empty-thread{color:#76706a;text-align:center;margin-top:50px}.phone-actions{flex:0 0 auto}.phone-action{width:100%;border:0;border-radius:13px;background:#771f28;color:#fff;padding:11px;font-size:.78rem}.phone-close{position:absolute;right:14px;bottom:12px;border:0;background:#111;color:#fff;border-radius:999px;width:38px;height:38px}.modal{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.9);padding:22px}.paper{width:min(590px,92vw);max-height:88vh;overflow:auto;background:#d5c9b2;color:#2b2520;padding:38px;transform:rotate(-.5deg);font-family:Georgia,serif;line-height:1.75;box-shadow:0 20px 70px #000}.paper small{letter-spacing:.14em;text-transform:uppercase;color:#6d5c50}.paper button{display:block;margin:24px auto 0;background:transparent;border:1px solid #5b4c40;padding:9px 20px;color:#2b2520}.diary{background:#c6b99f}.camera-panel{width:min(880px,95vw);max-height:92vh;overflow:auto;background:#0b0f11;border:1px solid #394148;padding:20px;color:#bdc7c7;box-shadow:0 25px 100px #000}.camera-title{display:flex;justify-content:space-between;font-family:monospace;font-size:.78rem;letter-spacing:.1em;margin-bottom:14px}.camera-title b{color:#b63b43}.camera-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.camera-grid>div{position:relative;aspect-ratio:16/9;background:repeating-linear-gradient(0deg,#182023 0,#182023 2px,#111719 3px,#111719 5px);border:1px solid #30393d;overflow:hidden}.camera-grid span{position:absolute;top:7px;left:8px;font:10px monospace;color:#9caaaa}.camera-grid>div::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.18) 50%);background-size:100% 4px}.camera-figure{position:absolute;left:54%;bottom:0;width:7%;height:58%;background:#030303;box-shadow:0 0 13px #000}.camera-car{position:absolute;left:22%;bottom:12%;width:48%;height:27%;background:#070a0c;box-shadow:8px 10px 18px #000}.signal-lost{display:flex;align-items:center;justify-content:center}.signal-lost b{font:700 1.2rem monospace;color:#8b252d}.camera-panel p{font-family:monospace;line-height:1.6;color:#96a0a1}.camera-panel .primary{display:block;margin:18px auto 0}.pause{background:rgba(0,0,0,.88)}.chapter-card{text-align:center;width:min(740px,92vw)}.chapter-card h2{font-family:Georgia,serif;font-size:clamp(2.5rem,8vw,5rem);font-weight:400;margin:0}.chapter-card p{font-family:Georgia,serif;color:#cabfb3;font-size:1.1rem;line-height:1.7}.ending{font-size:.9rem!important;text-transform:uppercase;letter-spacing:.12em}.controls-hint{position:fixed;z-index:16;left:50%;bottom:8%;transform:translateX(-50%);display:flex;flex-direction:column;text-align:center;background:rgba(5,5,6,.9);border:1px solid #433d3a;padding:13px 20px;max-width:88vw;box-shadow:0 12px 40px #000}.controls-hint strong{text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;color:#a62d37;margin-bottom:5px}.controls-hint span{font-size:.82rem;color:#c1b7af}.mobile-controls{position:fixed;inset:0;z-index:12;pointer-events:none;display:none;transform:scale(var(--mobile-scale));transform-origin:center bottom}.touch-device .mobile-controls{display:block}.joystick{pointer-events:auto;touch-action:none;position:absolute;left:max(25px,env(safe-area-inset-left));bottom:max(28px,env(safe-area-inset-bottom));width:128px;height:128px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:radial-gradient(circle,rgba(255,255,255,.06),rgba(0,0,0,.3));box-shadow:0 8px 30px rgba(0,0,0,.35)}.stick{position:absolute;left:39px;top:39px;width:50px;height:50px;border-radius:50%;background:rgba(220,214,204,.28);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 16px rgba(0,0,0,.4);transform:translate(0,0)}.mobile-buttons{pointer-events:auto;position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,62px);gap:9px}.touch-button{touch-action:none;width:62px;height:62px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.48);color:#eee;font-size:.62rem;text-transform:uppercase;text-shadow:0 1px 3px #000;backdrop-filter:blur(5px)}.touch-button:active,.touch-button.active{background:rgba(112,28,35,.65)}.touch-button.interact{grid-column:2/4;width:133px;border-radius:32px;background:rgba(126,29,38,.65)}.touch-button.attention{animation:phonePulse 1.2s infinite}.look-zone{position:fixed;right:0;top:0;width:62%;height:76%;z-index:10;pointer-events:auto;touch-action:none;display:none}.touch-device .look-zone{display:block}.rotate-hint{display:none;position:fixed;inset:0;z-index:60;background:#050506;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px}.rotate-hint span{font-size:3rem;color:#9d2631}.rotate-hint strong{text-transform:uppercase;letter-spacing:.18em}.rotate-hint small{color:#918782}.unsupported{position:fixed;inset:0;z-index:99;background:#050505;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px}.toast{position:fixed;top:max(18px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:70;background:#181515;border:1px solid #493f3b;padding:10px 16px;font-size:.82rem;box-shadow:0 8px 30px #000}@keyframes phonePulse{0%,100%{box-shadow:0 0 0 0 rgba(172,45,56,.45)}50%{box-shadow:0 0 0 9px rgba(172,45,56,0)}}
@media(max-width:760px){.objective{max-width:80vw;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));padding:9px 12px}.status{display:none}.menu{padding-left:25px;justify-content:center}.menu .logo h1{font-size:2.65rem}.menu-story{max-width:86vw;font-size:.9rem;margin-top:18px}.menu-actions{margin-top:20px}.subtitle{bottom:26%;font-size:.96rem}.interaction{bottom:31%;font-size:.74rem}.panel{max-height:92vh}.phone{right:50%;transform:translate(50%,-50%);height:min(660px,88vh)}.setting{grid-template-columns:1fr}.setting input[type=range]{width:100%}.camera-grid{grid-template-columns:1fr 1fr}.controls-hint{bottom:25%}}
@media(orientation:portrait) and (max-width:820px) and (pointer:coarse){.rotate-hint{display:flex}.phone,.modal,.screen{z-index:61}.phone:not(.hidden),.modal:not(.hidden),.screen:not(.hidden){display:flex}.phone:not(.hidden)~.rotate-hint,.modal:not(.hidden)~.rotate-hint{display:none}}
@media(max-height:520px) and (pointer:coarse){.objective{max-width:48vw}.mobile-controls{transform:scale(calc(var(--mobile-scale)*.86));transform-origin:center bottom}.joystick{bottom:12px}.mobile-buttons{bottom:10px}.subtitle{bottom:22%}.interaction{bottom:28%}.phone{height:94vh;width:min(600px,78vw);right:12px;transform:translateY(-50%)}.phone-contacts{max-width:100%}}

/* v1.2 — correções de interface, acessibilidade e interação */
:root{--ui-scale:1}
.hud{font-size:calc(1rem * var(--ui-scale))}
body.touch-device{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.status span{opacity:1;transform:translateY(0);transition:opacity .28s ease,transform .28s ease;padding:6px 9px;background:rgba(5,5,6,.72);border-left:2px solid #6f222a}
.status span.hidden{display:block!important;opacity:0;transform:translateY(-8px);pointer-events:none}
.status span[data-state="save"]{color:#d3c9c0}
.crosshair{transition:transform .16s ease,filter .16s ease}
.crosshair.active{transform:translate(-50%,-50%) scale(1.45);filter:drop-shadow(0 0 5px #b52c39)}
.crosshair.active::before,.crosshair.active::after{background:#e0c7c5}
.settings .panel,.panel{scrollbar-width:thin}
.setting output{float:right;color:#c9b9af;font-variant-numeric:tabular-nums}
.danger-zone{margin-top:22px;padding-top:18px;border-top:1px solid #3b2829;display:flex;justify-content:flex-end}
.portrait-inspection{width:min(720px,94vw);text-align:center;color:#d7ccc2;font-family:Georgia,serif}
.portrait-frame{width:min(460px,72vw);aspect-ratio:4/3;margin:0 auto 22px;border:18px ridge #5c4530;background:#130f0d;padding:15px;box-shadow:0 18px 80px #000,0 0 28px rgba(130,25,36,.25)}
.portrait-scene{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 48% 32%,#786c62 0,#363230 34%,#141313 75%);filter:sepia(.28) contrast(1.15)}
.portrait-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent),repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.08) 4px);mix-blend-mode:screen}
.portrait-scene i{position:absolute;bottom:14%;width:14%;height:47%;border-radius:46% 46% 14% 14%;background:#151315;box-shadow:0 -42px 0 -13px #b9a28e}
.portrait-scene i:nth-child(1){left:10%}.portrait-scene i:nth-child(2){left:29%;height:54%}.portrait-scene i:nth-child(3){left:48%;height:50%}.portrait-scene i:nth-child(4){left:67%}.portrait-scene .portrait-copy{left:43%;bottom:-4%;height:70%;background:#050506;opacity:.88;box-shadow:0 -52px 0 -16px #d4b8a3,0 0 20px #7b111d;animation:portraitBreathe 2.8s ease-in-out infinite}
.portrait-inspection small{display:block;text-transform:uppercase;letter-spacing:.14em;color:#a22b35}.portrait-inspection p{line-height:1.65}.portrait-inspection button{margin-top:12px}
.confirm-card{width:min(520px,92vw);background:#111011;border:1px solid #4a3737;padding:28px;box-shadow:0 24px 90px #000;text-align:center}.confirm-card h2{font-family:Georgia,serif;font-size:2rem;font-weight:400}.confirm-card p{color:#aaa09a;line-height:1.6}.confirm-card .danger{background:#7c2029;color:#fff;border:1px solid #aa3541;padding:10px 18px}
.pause:not(.hidden){backdrop-filter:blur(7px)}
.interaction{transition:opacity .15s ease,transform .15s ease}
.objective{transform:scale(var(--ui-scale));transform-origin:top left}
@keyframes portraitBreathe{0%,100%{transform:scale(1);filter:brightness(.72)}50%{transform:scale(1.025);filter:brightness(1.08)}}
@media(min-width:900px) and (min-height:700px){#settings .panel{max-height:none;overflow:visible;width:min(760px,88vw)}}
@media(max-width:760px){.status{display:flex;top:auto;bottom:calc(39% + env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right))}.status span{font-size:.58rem}.portrait-frame{border-width:12px;padding:9px}.confirm-card{padding:22px}.objective{max-width:76vw}}

/* v1.2.0 — céu, estados do salvamento e refinamentos mobile */
#gameCanvas{background:linear-gradient(180deg,#111827 0%,#080c14 38%,#020305 78%,#010102 100%)}
.status span[data-state="saving"]{color:#d4c2a9;border-left-color:#8f7654}
.status span[data-state="success"]{color:#b8d1bd;border-left-color:#477d52}
.status span[data-state="error"]{color:#efb4b8;border-left-color:#a52c35}
.modal:not(.hidden){animation:modalFade .24s ease-out}
.portrait-inspection{animation:portraitApproach .75s cubic-bezier(.18,.8,.24,1) both}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes portraitApproach{from{opacity:0;transform:scale(.86) translateY(18px);filter:blur(5px)}to{opacity:1;transform:scale(1);filter:blur(0)}}
@media(orientation:portrait) and (max-width:820px) and (pointer:coarse){
  .rotate-hint{display:flex;z-index:80}
  #boot:not(.hidden),#menu:not(.hidden),#settings:not(.hidden),#chapters:not(.hidden),#credits:not(.hidden),#pause:not(.hidden){z-index:81;background:#050506}
  .touch-device .hud:not(.hidden),.touch-device .mobile-controls:not(.hidden),.touch-device .look-zone:not(.hidden){visibility:hidden}
}

/* v1.3 — jogabilidade, orientação e narrativa expandida */
.stamina{position:fixed;left:max(24px,env(safe-area-inset-left));bottom:max(25px,env(safe-area-inset-bottom));z-index:15;width:180px;opacity:.86;transition:opacity .25s ease,transform .25s ease}
.stamina small{display:block;margin-bottom:6px;color:#b9aaa2;font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;text-shadow:0 1px 3px #000}
.stamina>div{height:5px;border:1px solid rgba(229,215,205,.23);background:rgba(3,3,4,.72);overflow:hidden;box-shadow:0 3px 12px #000}
.stamina i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#6f2630,#d3bdb1);box-shadow:0 0 8px rgba(190,70,83,.5);transition:width .12s linear,background .25s ease}
.stamina i.exhausted{background:linear-gradient(90deg,#64131c,#9b242e);animation:staminaPulse .65s ease-in-out infinite alternate}
.focus-hint{position:fixed;left:50%;top:18%;z-index:24;transform:translateX(-50%);width:min(560px,86vw);padding:12px 18px;text-align:center;background:linear-gradient(90deg,transparent,rgba(8,7,8,.91) 18%,rgba(8,7,8,.91) 82%,transparent);color:#d8cbc2;font-family:Georgia,serif;letter-spacing:.035em;text-shadow:0 2px 5px #000;animation:focusReveal .25s ease-out}
.focus-hint::before{content:"FOCO";display:block;color:#9c3039;font:700 .6rem/1.4 Inter,system-ui,sans-serif;letter-spacing:.22em;margin-bottom:4px}
.pointer-lock-hint{position:fixed;left:50%;bottom:12%;z-index:30;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 20px;border:1px solid rgba(232,221,210,.22);background:rgba(7,7,8,.9);box-shadow:0 15px 50px #000;cursor:pointer;text-align:center}
.pointer-lock-hint strong{font-size:.73rem;text-transform:uppercase;letter-spacing:.13em}.pointer-lock-hint span{font-size:.72rem;color:#a99c94}
.evidence-card,.choice-card{width:min(650px,92vw);max-height:88vh;overflow:auto;padding:clamp(24px,4vw,42px);border:1px solid #49363a;background:radial-gradient(circle at 50% 0,rgba(111,26,37,.2),rgba(12,11,12,.98) 48%);box-shadow:0 25px 100px #000;text-align:center}
.evidence-card small,.choice-card small{color:#a42c37;text-transform:uppercase;letter-spacing:.22em;font-size:.66rem}.evidence-card h2,.choice-card h2{font:400 clamp(2rem,6vw,3.6rem)/1.05 Georgia,serif;margin:12px 0 18px;color:#e4d9cf}.evidence-card #evidenceText{color:#c1b5ad;line-height:1.75;font-family:Georgia,serif}.evidence-card #evidenceText p{margin:10px 0}
.choice-card>p{color:#afa29a;line-height:1.6}.choice-button{display:grid;grid-template-columns:1fr;gap:5px;width:100%;margin:10px 0;padding:15px 17px;text-align:left;color:#e5d9d0;border:1px solid #403337;background:#151214;transition:transform .18s ease,border-color .18s ease,background .18s ease}.choice-button:hover,.choice-button:focus-visible{transform:translateX(5px);border-color:#9d303b;background:#211417;outline:none}.choice-button strong{font-family:Georgia,serif;font-size:1.08rem}.choice-button span{color:#9e928b;font-size:.8rem}
.transition{position:fixed;inset:0;z-index:90;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#020203;opacity:0;visibility:hidden;transition:opacity .38s ease,visibility .38s}.transition.active{opacity:1;visibility:visible}.transition span{font-family:Georgia,serif;font-style:italic;color:#cfc1b6;letter-spacing:.06em}
.mobile-buttons{grid-template-columns:repeat(3,62px);grid-template-areas:"run crouch focus" "flash phone pause" ". interact interact"}
#runBtn{grid-area:run}#crouchBtn{grid-area:crouch}#focusBtn{grid-area:focus}#flashlightBtn{grid-area:flash}#phoneBtn{grid-area:phone}#pauseBtn{grid-area:pause}.touch-button.interact{grid-area:interact;grid-column:auto}
.touch-button#focusBtn{border-color:rgba(162,57,67,.55);color:#f1d9dc}
@keyframes staminaPulse{from{filter:brightness(.8)}to{filter:brightness(1.4)}}
@keyframes focusReveal{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:760px){
  .stamina{left:max(14px,env(safe-area-inset-left));bottom:calc(162px + env(safe-area-inset-bottom));width:122px}.stamina small{font-size:.52rem}
  .focus-hint{top:max(76px,calc(env(safe-area-inset-top) + 58px));font-size:.8rem;padding:9px 13px}
  .pointer-lock-hint{display:none!important}.evidence-card,.choice-card{padding:22px}.choice-button{padding:13px}
  .mobile-buttons{grid-template-columns:repeat(3,58px);gap:7px}.touch-button{width:58px;height:58px}.touch-button.interact{width:123px}
}
@media(max-height:520px) and (pointer:coarse){.stamina{bottom:132px}.mobile-buttons{grid-template-columns:repeat(3,54px);gap:6px}.touch-button{width:54px;height:54px}.touch-button.interact{width:114px}.focus-hint{top:56px}}
