@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');

:root{color-scheme:dark;--ink:#111d18;--panel:rgba(17,29,24,.91);--paper:#f2edda;--muted:#b9c2ae;--copper:#d4a470;--copper-light:#f0c993;--olive:#8f9d6c;--line:rgba(210,192,150,.24);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,sans-serif}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:var(--sans);background:var(--ink);color:var(--paper);font-size:14px}button,input,a,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--copper-light);outline-offset:5px}button{border:1px solid var(--line);border-radius:4px;background:rgba(30,44,34,.82);transition:background .15s,border-color .15s,transform .15s}button:hover:enabled{background:#354436;border-color:var(--copper)}button:active:enabled{transform:translateY(1px)}a{color:var(--copper-light);text-decoration:none}a:hover{text-decoration:underline}p,h1,h2{margin:0}[hidden]{display:none!important}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.overlay{position:fixed;inset:0;z-index:40}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:0 14px 48px #0003;backdrop-filter:blur(12px)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--copper)}
.menu-screen{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,5vw,80px);background:linear-gradient(90deg,rgba(11,23,18,.97),rgba(11,23,18,.82) 40%,rgba(11,23,18,.18) 78%);overflow:auto}.menu-content{max-width:570px;padding:20px 0 26px}.status-dot{width:6px;height:6px;display:inline-block;margin-right:8px;border-radius:50%;background:var(--olive);box-shadow:0 0 12px #aac38355}.series{font-size:11px;color:var(--muted);letter-spacing:.19em;text-transform:uppercase;margin:28px 0 16px}h1{font-family:var(--serif);font-size:clamp(60px,7.5vw,116px);font-weight:500;line-height:.84;letter-spacing:.055em;text-shadow:0 4px 32px #0005}h1 span{font-size:.81em;letter-spacing:.035em}.title-rule{width:72px;height:1px;background:var(--copper);margin:27px 0 19px}h2{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.1}.premise{color:var(--muted);font-size:14px;line-height:1.8;margin:16px 0 24px}.menu-actions{display:flex;flex-wrap:wrap;gap:10px}.primary,.secondary,.link-button{padding:14px 21px;min-height:48px;font-size:12px;font-weight:600}.primary{background:var(--copper);border-color:var(--copper);color:#1c271d}.primary:hover:enabled{background:var(--copper-light);color:#192117}.primary span{margin-left:24px}.secondary{background:#1d2a23b3}.quiet-button{border:0;background:none;padding:11px;color:var(--muted);font-size:12px}#menu-status{font-size:11px;color:var(--muted);min-height:16px;margin-top:13px;line-height:1.5}.controls-guide{margin-top:20px;max-width:490px;font-size:11px;color:var(--muted);line-height:1.8}.controls-guide summary{cursor:pointer;color:var(--copper-light)}.controls-guide p{margin-top:10px}kbd{display:inline-block;font:10px var(--sans);border:1px solid var(--line);border-radius:3px;padding:1px 4px;margin-right:3px;color:var(--paper)}.menu-footer{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-top:22px;font-size:10px;line-height:1.7;color:var(--muted);max-width:1100px}.menu-footer a{font-size:11px;white-space:nowrap}.menu-footer p{max-width:510px}
#hud{position:fixed;inset:0;pointer-events:none;z-index:10}.hud-story{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));width:min(350px,calc(100vw - 195px));padding:15px 19px;border-radius:5px}.hud-story .eyebrow{font-size:9px}#objective{font-size:13px;line-height:1.5;margin-top:8px}.health-row{display:flex;align-items:center;gap:13px;margin-top:13px}.health-row label{font-size:10px;color:var(--muted)}progress{appearance:none;-webkit-appearance:none;border:0;height:5px;border-radius:10px;overflow:hidden;background:#ffffff17}progress::-webkit-progress-bar{background:#ffffff17}progress::-webkit-progress-value{background:var(--olive);border-radius:10px}progress::-moz-progress-bar{background:var(--olive);border-radius:10px}#health{flex:1;width:80px}.hud-actions{position:absolute;top:max(22px,env(safe-area-inset-top));right:max(22px,env(safe-area-inset-right));display:flex;gap:7px;pointer-events:auto}.icon-button{font-size:10px;padding:11px 13px;min-height:39px;background:var(--panel)}.icon-button span{margin-left:8px}.boss-status{position:absolute;left:50%;top:26px;transform:translateX(-50%);width:min(330px,28vw);padding:13px 18px;border-radius:5px;text-align:center}.boss-status label{display:block;font:18px var(--serif);margin-bottom:8px}.boss-status progress{width:100%;height:4px}.boss-status progress::-webkit-progress-value{background:var(--copper)}.boss-status progress::-moz-progress-bar{background:var(--copper)}#boss-cue{min-height:13px;font-size:11px;line-height:1.4;margin-top:7px;color:var(--copper-light)}.hint{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);text-align:center;max-width:600px;width:calc(100% - 40px);font-size:12px;line-height:1.6;color:var(--paper);text-shadow:0 2px 8px #000;background:linear-gradient(90deg,transparent,#12221be6 20%,#12221be6 80%,transparent);padding:9px 22px}.hint:empty{display:none}
.dialogue{position:fixed;z-index:25;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(850px,calc(100vw - 48px));display:flex;align-items:center;gap:22px;padding:23px 27px;border-radius:5px;border-left:2px solid var(--copper)}.dialogue-mark{font-size:31px;color:var(--copper)}.dialogue-copy{flex:1}#speaker{font-size:10px;margin-bottom:9px}#line{font-family:var(--serif);font-size:25px;line-height:1.25}#next{align-self:end;background:none;border:0;font-size:11px;color:var(--copper-light);white-space:nowrap;padding:12px 0 5px 12px}#next span{margin-left:9px}.modal-screen{display:grid;place-items:center;background:rgba(6,15,12,.71);padding:24px;overflow:auto}.modal{width:min(460px,100%);padding:38px 38px 30px;text-align:center;border-radius:7px}.modal h2{font-size:37px;margin:17px 0}.modal-description{font-size:12px;color:var(--muted);line-height:1.7}.stack-actions{display:flex;flex-direction:column;gap:9px;margin-top:25px}.setting{border-top:1px solid var(--line);padding-top:22px;margin-top:24px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:11px;color:var(--muted);cursor:pointer}.setting input{accent-color:var(--copper);width:16px;height:16px}.small-copy{font-size:10px;line-height:1.8;color:var(--muted);margin-top:20px}.ending-card{width:min(580px,100%)}.ending-symbol{font-size:36px;color:var(--copper);margin-top:19px}.ending-text{font:22px/1.45 var(--serif);margin:18px 0}.ending-detail{font-size:12px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.ending-card .stack-actions{max-width:320px;margin:24px auto 0}.toast{position:fixed;z-index:55;top:150px;left:50%;transform:translateX(-50%);padding:11px 20px;border-radius:4px;max-width:min(460px,90vw);text-align:center;font-size:12px;line-height:1.5;pointer-events:none}.toast:empty{display:none}.link-button{display:inline-block;margin-top:20px;border:1px solid var(--line);border-radius:4px}
#touch{position:fixed;inset:auto 0 max(18px,env(safe-area-inset-bottom));z-index:20;display:flex;justify-content:space-between;align-items:end;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));pointer-events:none;user-select:none;-webkit-user-select:none}#touch button{pointer-events:auto;touch-action:none;background:rgba(23,37,29,.83);border-color:rgba(218,209,176,.36);min-height:46px;font-size:10px;font-weight:600;box-shadow:0 2px 8px #0002}.touch-dpad{display:grid;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px;gap:4px}.touch-dpad button{font-size:22px!important;padding:0;min-height:44px!important}.touch-dpad [data-hold="up"]{grid-column:2;grid-row:1}.touch-dpad [data-hold="left"]{grid-column:1;grid-row:2}.touch-dpad [data-hold="down"]{grid-column:2;grid-row:2}.touch-dpad [data-hold="right"]{grid-column:3;grid-row:2}.touch-actions{display:flex;flex-direction:column;gap:6px}.touch-pact,.touch-defense{display:flex;gap:5px;justify-content:end}.touch-actions button{min-width:56px;padding:8px}.touch-pact button{color:var(--copper-light)}.touch-defense [data-action="interact"]{background:#916d45d9!important}.touch-defense [data-action="dodge"]{background:#596944d9!important}
@media(min-width:901px){body:has(#touch:not([hidden])) .hint{bottom:125px}body:has(#touch:not([hidden])) .dialogue{bottom:128px}}@media(max-width:1000px){.boss-status{top:146px;width:280px}.toast{top:232px}}@media(max-width:700px){.menu-screen{padding:28px 26px;background:linear-gradient(90deg,#0b1712ed,#0b1712b3 85%)}.menu-content{padding-top:5px}.series{font-size:9px;margin-top:22px}h1{font-size:77px}h2{font-size:27px}.premise{font-size:12px;margin:14px 0 20px}.menu-actions{flex-direction:column;max-width:310px}.menu-footer{display:block;margin-top:14px;font-size:9px}.menu-footer a{display:inline-block;margin-top:12px}.controls-guide{font-size:10px}.hud-story{left:12px;top:max(12px,env(safe-area-inset-top));padding:12px;width:calc(100vw - 130px)}#objective{font-size:11px}.hud-actions{right:12px;top:max(12px,env(safe-area-inset-top));gap:4px;flex-direction:column}.icon-button{font-size:9px;padding:7px 10px;min-height:32px}.boss-status{top:135px;width:240px;padding:8px 13px}.boss-status label{font-size:15px}.toast{top:218px;font-size:11px}.hint{font-size:10px;bottom:125px;width:95%;padding:7px 12px}.dialogue{bottom:128px;width:calc(100vw - 26px);padding:17px 18px;gap:0;flex-wrap:wrap}.dialogue-mark{display:none}.dialogue-copy{flex-basis:100%}#line{font-size:21px}#next{margin-left:auto}.modal{padding:27px 24px}.modal h2{font-size:32px}.ending-text{font-size:20px}.ending-detail{font-size:11px}#touch{padding-left:12px;padding-right:12px}.touch-dpad{grid-template-columns:39px 39px 39px;gap:3px}.touch-actions button{min-width:52px;font-size:9px!important;padding:7px}.touch-pact,.touch-defense{gap:4px}}
@media(max-height:620px) and (min-width:701px){.menu-screen{justify-content:start;padding:24px 40px}.menu-content{padding:0}.series{margin:16px 0 12px}h1{font-size:65px}.title-rule{margin:17px 0 12px}h2{font-size:27px}.premise{margin:12px 0 16px}.menu-footer{margin-top:10px}.controls-guide{margin-top:12px}.menu-actions button{padding:11px 17px;min-height:42px}.boss-status{top:22px;width:230px;left:59%}.hud-story{width:260px;padding:10px 14px}.dialogue{bottom:110px;padding:16px 22px;width:min(720px,calc(100vw - 240px))}#line{font-size:21px}.hint{bottom:22px;width:45%}.modal{padding:22px 32px}.modal h2{font-size:29px;margin:12px 0}.stack-actions{margin-top:17px}.setting{margin-top:16px;padding-top:16px}.small-copy{margin-top:12px}.toast{top:115px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.dialogue:has(#final-choice){flex-wrap:wrap}#final-choice{display:flex;flex-wrap:wrap;gap:10px;flex-basis:100%}#final-choice button{min-height:44px;padding:10px 16px}
