:root{--paper:#e8e4d3;--muted:#aab4a9;--rust:#c58653;--line:#52605a;--textscale:1}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#081315;color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:calc(17px * var(--textscale))}button,select,input{font:inherit}button,select{color:var(--paper);border:1px solid #76857a;background:#1c2a28;padding:.8em 1.1em;border-radius:3px;cursor:pointer}button:hover,button:focus-visible{background:#38483f;border-color:#e4d1aa;outline:2px solid #cfac79;outline-offset:2px}button:disabled{opacity:.45;cursor:default}button.primary{background:#d5c9a6;color:#152220;border-color:#d5c9a6;font-weight:bold}button.primary:hover{background:#f1e3bb}button span{float:right}button.danger{border-color:#b58c6c}a{color:#e9e1ca}canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#vignette{pointer-events:none;position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 25%,#020a0b77 100%)}#hurt{pointer-events:none;position:fixed;inset:0;box-shadow:inset 0 0 160px #8e251d;opacity:0;transition:opacity .3s}#fade{pointer-events:none;position:fixed;inset:0;background:#061013;opacity:0;transition:opacity .4s;z-index:10}.return{position:fixed;z-index:30;right:24px;bottom:20px;font-size:.8rem;text-shadow:0 2px 4px black;padding:9px 12px;border:1px solid #70807877;background:#10201ed9;border-radius:3px;text-decoration:none}.overlay{position:fixed;inset:0;background:linear-gradient(90deg,#091414f2 0%,#0a1717d9 38%,#09171745 100%);z-index:15;overflow:auto;padding:40px 7vw 70px}.title-layout{min-height:calc(100svh - 110px);display:flex;align-items:center;justify-content:space-between;gap:50px}.title-copy{max-width:580px}.eyebrow{font-size:.66rem;letter-spacing:.22em;color:#b4c1b3;font-weight:bold}.rule{width:65px;height:2px;background:var(--rust);margin:28px 0}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(64px,7vw,112px);line-height:.86;letter-spacing:-.045em;margin:0 0 24px;font-weight:normal}h1 em{font-style:normal;color:#ceac7c}.tagline{font:1.12rem/1.5 Georgia,serif;color:#d1d5c5;margin-bottom:28px}.menu-buttons{display:grid;gap:10px;max-width:345px}.menu-buttons button{text-align:left}.content-note{font-size:.71rem;line-height:1.6;color:#a7b2a5;margin:22px 0 0}.title-note{max-width:240px;margin:32vh 0 0 20px;padding:24px 0;border-top:1px solid #9cab9277;align-self:center;line-height:1.5;text-shadow:0 2px 6px #000}.title-note p{font:1.2rem/1.5 Georgia,serif}.stamp{color:#ccad7e;font-size:.65rem;letter-spacing:.12em}.panel-sheet{max-width:860px;margin:2vh auto;background:#152320f5;border:1px solid #7a8772;padding:25px 32px 35px;box-shadow:0 20px 80px #0008}#panel{background:#061111c9;backdrop-filter:blur(7px)}#panelHead{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px}#panelHead button{padding:.4em .7em}h2{font:2.2rem/1.15 Georgia,serif;font-weight:normal;color:#e6d1ac}h3{font-size:1.1rem;color:#dcc59e;margin-top:1.5em}p,li{line-height:1.65}.small{font-size:.84rem;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.actions button{min-height:48px}.note-text{white-space:pre-line;background:#23332b;padding:22px;border-left:3px solid #b69964;font-family:Georgia,serif;line-height:1.85}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}.setting{display:flex;flex-direction:column;gap:8px}.setting input[type=range]{width:100%}.check{display:flex;align-items:center;gap:10px;line-height:1.4}.check input{width:22px;height:22px;flex-shrink:0}.binding{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff18;padding:7px 0}.binding button{min-width:95px;padding:.35em .6em}.topline{position:fixed;left:28px;right:28px;top:25px;display:flex;justify-content:space-between;align-items:center;text-shadow:0 2px 5px #000}#room{font:1.45rem Georgia,serif;margin-top:7px}#pauseBtn{font-size:1.2rem;padding:.45em .75em;background:#162825cc}#objective{position:fixed;left:28px;top:105px;max-width:390px;font-size:.84rem;line-height:1.5;color:#e1d3ac;text-shadow:0 2px 6px #000}#status{position:fixed;left:28px;bottom:27px;display:flex;gap:24px;align-items:center;font-size:.75rem;letter-spacing:.09em;background:#081b1ac9;padding:13px;border:1px solid #5b746066}#health{color:#d4dcb1}#crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);font-size:38px;color:#ffefd1;text-shadow:0 0 4px #000;pointer-events:none}#prompt{position:fixed;top:55%;left:50%;transform:translateX(-50%);padding:10px 18px;max-width:85vw;border-radius:3px;background:#122624e8;border:1px solid #91a58a99;text-align:center;font-size:.87rem;pointer-events:none}#prompt:empty{display:none}#caption{position:fixed;bottom:15%;left:50%;transform:translateX(-50%);max-width:720px;width:max-content;max-width:min(85vw,720px);padding:10px 16px;background:#061313dd;border-radius:3px;text-align:center;line-height:1.55;font-size:1rem;text-shadow:0 1px black;pointer-events:none}#caption:empty{display:none}#toast{position:fixed;top:18%;left:50%;transform:translateX(-50%);background:#243e32ee;padding:12px 20px;max-width:80vw;text-align:center;pointer-events:none}#toast:empty{display:none}#desktop-help{position:fixed;bottom:80px;left:28px;font-size:.7rem;color:#bec9ba;text-shadow:0 2px 5px #000}#danger{position:fixed;top:26px;left:50%;transform:translateX(-50%);font-size:.7rem;letter-spacing:.16em;color:#eac9a2}#error{position:fixed;z-index:100;background:#47281f;padding:25px;left:10%;right:10%;top:40%;line-height:1.5}#touch{position:fixed;inset:0;pointer-events:none;z-index:4}#movePad{position:absolute;width:122px;height:122px;border-radius:50%;left:20px;bottom:95px;border:1px solid #cee0bb66;background:#172d2780;pointer-events:auto;touch-action:none}#movePad #stick{width:52px;height:52px;border-radius:50%;background:#b7c6a766;border:1px solid #d9e1c7aa;position:absolute;left:35px;top:35px}#movePad span{position:absolute;bottom:7px;left:40px;font-size:10px;letter-spacing:2px;color:#bbc9ad}#touchActions{position:absolute;right:15px;bottom:90px;display:grid;grid-template-columns:repeat(2,70px);gap:9px}#touchActions button,#journalTouch{pointer-events:auto;touch-action:none;font-size:11px;font-weight:bold;letter-spacing:.03em;padding:0;min-height:49px;background:#132923d9;border-color:#a4b597aa}#touchActions .use{grid-column:span 2;min-height:56px;background:#d0c5a0;color:#15251c}#journalTouch{position:absolute;left:20px;bottom:30px;padding:12px 15px}details{border-bottom:1px solid #6d7a6255;padding:15px 0}summary{cursor:pointer;font-weight:bold;color:#e1cfaa;line-height:1.5}kbd{font-size:.8rem;border:1px solid #6a7965;padding:2px 5px;border-radius:3px;white-space:nowrap}.map-grid{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.map-room{padding:12px;background:#22382e;border:1px solid #526756;font-size:.85rem}.map-room.current{background:#40543b;border-color:#d4c498}.meter{background:#15251f;height:9px}.meter span{display:block;height:100%;background:#bca66c}.valve-choice{display:flex;gap:8px;align-items:center;padding:14px 0}.valve-choice strong{flex:1}.valve-choice button{padding:.6em;min-width:44px}.valve-choice .selected{background:#d3bd91;color:#15251e}.ending{font-size:1.15rem}#panelContent ul{padding-left:25px}[hidden]{display:none!important}@media(max-width:700px){.overlay{padding:35px 22px 90px}.title-layout{display:block;min-height:0}.title-note{display:none}.title-copy{padding-top:2vh}h1{font-size:clamp(64px,16vw,100px)}.eyebrow{font-size:.57rem}.rule{margin:20px 0}.tagline{font-size:1rem;margin-bottom:20px}.menu-buttons{max-width:none}.content-note{font-size:.68rem}.panel-sheet{padding:17px;margin:0}.settings-grid{grid-template-columns:1fr}h2{font-size:1.75rem}.topline{left:16px;right:16px;top:17px}#room{font-size:1.12rem}#objective{left:16px;top:88px;max-width:75%;font-size:.75rem}#status{left:16px;right:16px;bottom:9px;padding:7px;gap:12px;font-size:.6rem}#desktop-help{display:none}.return{right:12px;bottom:45px;font-size:.65rem;padding:7px 9px}body.playing .return{right:12px;bottom:37px;font-size:.58rem}#caption{bottom:47%;font-size:.84rem}#toast{top:23%;font-size:.8rem}#prompt{top:52%;font-size:.75rem;padding:7px 10px}#danger{top:62px;font-size:.58rem;white-space:nowrap}.map-grid{grid-template-columns:1fr 1fr}.actions button{flex:1}}@media(max-height:650px) and (min-width:701px){.title-copy h1{font-size:72px}.rule{margin:15px 0}.tagline{margin:12px 0}.menu-buttons{gap:7px}.menu-buttons button{padding:.6em 1em}.content-note{margin:12px 0}.overlay{padding-top:25px}.title-note{margin-top:15vh}}body.contrast{--muted:#d8e2d3;--paper:#fff6df}body.contrast #hud{filter:contrast(1.3)}

/* Expanded tutorial: readable topics, spoiler protection and portrait tables. */
#panel[data-mode="tutorial"] #panelHead{position:sticky;top:0;z-index:2;background:#152320;padding:12px 0;box-shadow:0 8px 12px #152320}
#panel[data-mode="tutorial"] #closePanel{min-width:48px;min-height:48px}
.tutorial-intro{font-size:1.05rem}.tutorial-objective{padding:16px 18px;background:#2b3e32;border-left:3px solid #c9af7e}
.tutorial-search{display:grid;gap:9px;font-weight:bold;margin:24px 0 14px}.tutorial-search input{width:100%;min-height:48px;background:#0d1d19;border:1px solid #92a18d;color:#f0ead5;padding:12px;font:inherit;border-radius:3px}
.tutorial-search input:focus{outline:2px solid #cfac79;outline-offset:2px}.tutorial-tools button{font-size:.88rem}
.tutorial-contents{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0 30px}.tutorial-contents button{text-align:left;line-height:1.45;font-size:.86rem;min-height:48px;overflow-wrap:anywhere}
.tutorial-section{scroll-margin-top:90px;padding:18px 0}.tutorial-section>summary{font-size:1.04rem;padding:8px 3px;min-height:48px}.tutorial-section>summary:focus-visible{outline:2px solid #cfac79;outline-offset:3px}
.tutorial-body p,.tutorial-body li{line-height:1.8}.tutorial-body li{margin:10px 0}.tutorial-back{font-size:.84rem;margin:16px 0;min-height:48px}
.tutorial-table-wrap{overflow-x:auto;width:100%;margin:20px 0}.tutorial-table{border-collapse:collapse;width:100%;font-size:.88rem;line-height:1.65}.tutorial-table td,.tutorial-table th{padding:12px 10px;border-bottom:1px solid #61745f;text-align:left;vertical-align:top}.tutorial-table thead{background:#293b30}.tutorial-table th{color:#e4d3b1}.tutorial-table td kbd{display:inline-block;margin:2px 0}
.tutorial-warning{border-left:3px solid #cc9b68;padding:14px 18px;background:#3d3528}.tutorial-finish{padding-top:25px;border-top:1px solid #61745f}.tutorial-section[data-spoiler] summary{color:#ecc491}
@media(max-width:700px){.tutorial-contents{grid-template-columns:1fr}.tutorial-contents button{font-size:.92rem}.tutorial-table{font-size:.85rem}.tutorial-table td,.tutorial-table th{padding:10px 6px;overflow-wrap:anywhere}.tutorial-table kbd{white-space:normal}.tutorial-body ol,.tutorial-body ul{padding-left:23px}.tutorial-tools button{flex:1 1 100%}.tutorial-section{scroll-margin-top:85px}.tutorial-body p,.tutorial-body li{line-height:1.75}}
