:root{color:#f8f2e6;font-synthesis:none;text-rendering:optimizelegibility;--ink:#f8f2e6;--muted:#b9b5bd;--silver:#d8ddea;--gold:#d4b76d;--panel:#080a14c2;--line:#dde1ee3d;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--dialogue-height:clamp(8.75rem, 20dvh, 11.25rem);--controls-height:3.6rem;background:#090b15;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 50% -20%,#464e7e59,#0000 45%),#090b15;min-width:320px;min-height:100svh}button{font:inherit}.app-shell{width:100%;height:100dvh;padding:max(.75rem, var(--safe-top)) max(.75rem, var(--safe-right)) max(.75rem, var(--safe-bottom)) max(.75rem, var(--safe-left));place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.game-stage{isolation:isolate;aspect-ratio:16/9;touch-action:manipulation;background:#10162b;border:1px solid #dee2ef2e;border-radius:1.25rem;width:min(100%,90rem,177.778dvh - 2.66667rem);max-height:calc(100dvh - 1.5rem);position:relative;overflow:hidden;box-shadow:0 1.5rem 5rem #00000073;container-type:size}.stage-background-layer,.portrait-layer,.stage-interface-layer,.stage-dialogue-layer{position:absolute}.stage-background-layer{z-index:0;background:#10162b;inset:0;overflow:hidden}.stage-background-image{object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.stage-background-image:not([src]){visibility:hidden}.stage-background-shade{pointer-events:none;background:linear-gradient(#0507103d 0%,#0507100d 46%,#05071075 100%),linear-gradient(90deg,#04060e24,#0000 24% 76%,#04060e24);position:absolute;inset:0}.stage-header{z-index:50;pointer-events:none;background:linear-gradient(#050710b8,#0000);justify-content:space-between;align-items:flex-start;gap:1rem;padding:clamp(.9rem,2.4cqw,1.5rem);display:flex;top:0;left:0;right:0}.eyebrow,.movement-label,.status-text{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:600}h1{text-shadow:0 .15rem .65rem #000000b3;margin:.15rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,3.2cqw,2.65rem);font-weight:600;line-height:1}.movement-label{max-width:min(18rem,38%);color:var(--silver);text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0709127a;border:1px solid #dadfee33;border-radius:999px;padding:.5rem .75rem;overflow:hidden}.state-panel{z-index:35;pointer-events:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid;top:clamp(4.2rem,12cqh,6.5rem);left:clamp(.8rem,2.4cqw,1.5rem);right:clamp(.8rem,2.4cqw,1.5rem)}.state-item{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07091294;border-radius:.75rem;min-width:0;padding:.62rem .72rem;box-shadow:0 .5rem 1.4rem #00000029}.state-item span,.state-item strong{display:block}.state-item span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;font-size:.62rem;font-weight:700}.state-item strong{color:var(--silver);text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:.88rem;font-weight:600;overflow:hidden}.state-item-attention strong{color:var(--gold)}.dialogue-wrap{z-index:45;right:clamp(.7rem,2.5cqw,1.75rem);bottom:calc(var(--controls-height) + .55rem);max-height:calc(100% - var(--controls-height) - 1rem);pointer-events:none;gap:.6rem;display:grid;left:clamp(.7rem,2.5cqw,1.75rem)}.dialogue-panel{width:100%;height:var(--dialogue-height);background:var(--panel);min-height:0;color:var(--ink);text-align:left;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(13px)saturate(.9);touch-action:manipulation;border:1px solid #dde1ee4d;border-radius:1rem;grid-template-rows:auto minmax(0,1fr) auto;gap:.55rem;padding:clamp(.9rem,2.2cqw,1.35rem);display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 1rem 2.5rem #00000052}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.dialogue-panel{background:#080a14e0}}.dialogue-panel:hover:not(:disabled){border-color:#d4b76d80}.dialogue-panel:focus-visible,.choice-button:focus-visible,.secondary-button:focus-visible{outline-offset:3px;outline:3px solid #d4b76dbf}.dialogue-panel:disabled{cursor:default}.speaker-label{color:var(--gold);text-shadow:0 .1rem .4rem #000000bf;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,2.1cqw,1.25rem);font-weight:700}.speaker-label[data-speaker=narration]{color:var(--silver);font-style:italic}.story-text{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;min-height:0;padding-right:.25rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,2.3cqw,1.55rem);line-height:1.42;display:block;overflow-y:auto}.continue-cue{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-self:end;font-size:.65rem}.choice-list{overscroll-behavior:contain;pointer-events:auto;scrollbar-gutter:stable;touch-action:pan-y;gap:.5rem;max-height:min(32dvh,17rem);padding:.1rem .15rem .15rem;display:grid;overflow:hidden auto}.choice-list:empty{display:none}.choice-button{width:100%;color:var(--ink);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d101eeb;border:1px solid #dee2ef38;border-radius:.8rem;grid-template-columns:auto 1fr;align-items:center;gap:.8rem;padding:.82rem .95rem;display:grid;box-shadow:0 .45rem 1.2rem #0003}.choice-button:hover{background:#1c1f30f2;border-color:#d4b76d8c}.choice-number{color:var(--gold);font-family:Georgia,Times New Roman,serif;font-weight:700}.game-controls{z-index:55;height:var(--controls-height);pointer-events:none;background:linear-gradient(#0000,#050710b8);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem clamp(.8rem,2.4cqw,1.5rem) .7rem;display:flex;bottom:0;left:0;right:0}.secondary-button{color:var(--silver);cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0709129e;border:1px solid #dee2ef33;border-radius:.65rem;padding:.48rem .75rem}.secondary-button:hover{color:var(--ink);border-color:#d4b76d73}@media (width<=680px) and (orientation:portrait){:root{--dialogue-height:clamp(10rem, 24dvh, 12.75rem);--controls-height:calc(3.2rem + var(--safe-bottom))}.app-shell{padding:0}.game-stage{aspect-ratio:auto;border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none}.stage-header{padding:calc(.75rem + var(--safe-top)) calc(.75rem + var(--safe-right)) .75rem calc(.75rem + var(--safe-left))}.eyebrow{font-size:.58rem}h1{font-size:clamp(1.35rem,6.6vw,1.8rem)}.movement-label{max-width:9.25rem;padding:.42rem .58rem;font-size:.58rem}.state-panel{top:calc(4.45rem + var(--safe-top));right:calc(.55rem + var(--safe-right));left:calc(.55rem + var(--safe-left));grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.state-item{border-radius:.62rem;padding:.42rem .52rem}.state-item span{font-size:.54rem}.state-item strong{font-size:.78rem}.dialogue-wrap{right:calc(.5rem + var(--safe-right));bottom:calc(var(--controls-height) + .35rem);left:calc(.5rem + var(--safe-left));gap:.45rem}.dialogue-panel{border-radius:.85rem;padding:.85rem .9rem}.story-text{font-size:clamp(1.02rem,4.5vw,1.18rem)}.continue-cue{font-size:.57rem}.choice-list{max-height:24dvh}.choice-button{padding:.72rem .8rem;font-size:.92rem}.game-controls{height:var(--controls-height);padding:.35rem calc(.65rem + var(--safe-right)) calc(.45rem + var(--safe-bottom)) calc(.65rem + var(--safe-left))}.status-text{text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-size:.56rem;overflow:hidden}}@media (orientation:landscape) and (height<=520px){:root{--dialogue-height:clamp(6.7rem, 32dvh, 8rem);--controls-height:calc(2.65rem + var(--safe-bottom))}.app-shell{padding:max(.25rem, var(--safe-top)) max(.25rem, var(--safe-right)) max(.25rem, var(--safe-bottom)) max(.25rem, var(--safe-left))}.game-stage{border-radius:.65rem;width:min(100%,177.778dvh - .888889rem);max-height:calc(100dvh - .5rem)}.stage-header{padding:.48rem .65rem}.eyebrow{display:none}h1{margin:0;font-size:1.12rem}.movement-label{padding:.3rem .48rem;font-size:.53rem}.state-panel{gap:.3rem;top:2.35rem;left:.55rem;right:.55rem}.state-item{padding:.28rem .4rem}.state-item span{font-size:.5rem}.state-item strong{font-size:.7rem}.dialogue-wrap{right:.55rem;bottom:calc(var(--controls-height) + .25rem);left:.55rem}.dialogue-panel{gap:.3rem;padding:.58rem .72rem}.speaker-label{font-size:.88rem}.story-text{font-size:.92rem;line-height:1.3}.continue-cue{font-size:.5rem}.choice-list{max-height:32dvh}.choice-button{padding:.48rem .65rem;font-size:.8rem}.game-controls{padding:.25rem .65rem calc(.3rem + var(--safe-bottom))}.status-text{font-size:.5rem}.secondary-button{padding:.34rem .55rem;font-size:.75rem}}@supports not (height:100dvh){.app-shell{height:100vh}.game-stage{width:min(100%,90rem,177.778vh - 2.66667rem);max-height:calc(100vh - 1.5rem)}@media (width<=680px) and (orientation:portrait){.game-stage{width:100%;height:100vh;max-height:none}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
