:root{--memory-ink:#10151f;--memory-gold:#d8bd82;--memory-line:#baa37b66}
.episode-panel{position:absolute;z-index:42;left:50%;bottom:5%;transform:translateX(-50%);width:min(820px,92%);padding:25px 30px;background:linear-gradient(120deg,#101822f5,#242036f5);border:1px solid var(--memory-line);box-shadow:0 12px 70px #03060b99;color:#f0e5ca}
.episode-panel h2{font-size:29px;margin:3px 0 12px;color:#ead39e}.episode-panel p{white-space:pre-line;line-height:1.65;margin:0 0 16px;font-size:18px;max-width:70ch}.episode-panel small{font-size:12px;letter-spacing:.16em;color:#bbac89}.episode-panel footer{display:flex;gap:12px;justify-content:flex-end;align-items:center}.episode-panel button,.memory-ui button,.episode-menu button,.memory-heading button{color:#f0dfb9;border:1px solid var(--memory-line);background:#283143;min-height:46px;padding:11px 19px;border-radius:2px}.episode-panel button:hover,.memory-ui button:hover,.episode-menu button:hover{background:#41475a}.episode-panel button:disabled,.memory-ui button:disabled{opacity:.4;cursor:default}.episode-counter{margin-right:auto;font-size:13px;color:#bfb89f}.episode-menu{position:absolute;z-index:45;inset:6% auto auto 50%;transform:translateX(-50%);width:min(720px,94%);max-height:88%;overflow:auto;padding:25px;background:#141c2bf5;border:1px solid var(--memory-line);box-shadow:0 0 0 100vmax #04091099}.episode-menu h2{font-size:34px;margin:0 0 20px}.episode-menu h3{font-size:17px;color:#dfc58e;margin:25px 0 14px}.episode-menu label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:15px 0;font-size:16px}.episode-menu input[type=range]{width:45%;accent-color:#d7bc82}.episode-menu select{font:inherit;color:#eee4cb;background:#263044;border:1px solid #8f7b55;padding:10px}.episode-menu footer{display:flex;gap:12px;margin-top:24px}.episode-binding{display:grid;grid-template-columns:1fr 1fr;gap:8px}.episode-binding button{text-align:left}.episode-note{font-size:14px;line-height:1.5;color:#c5bdaa}.episode-shortcuts{display:flex;flex-wrap:wrap;gap:10px}.episode-prompt{position:absolute;z-index:15;left:50%;top:65%;transform:translateX(-50%);background:#17232beb;border:1px solid #c9b17c88;color:#f0dfb4;padding:12px 21px;min-height:48px;font-size:16px}.episode-chapter{position:absolute;z-index:15;top:19%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 2px 14px #000}.episode-chapter h2{font-size:36px;color:#ecd9a8;margin:0}.episode-chapter p{font-size:14px;letter-spacing:.13em;color:#e0d8c5}.episode-ending{position:absolute;inset:0;z-index:32;background:linear-gradient(180deg,#221c3744,transparent 40%,#09151c99);pointer-events:none}.episode-ending>div{position:absolute;left:7%;bottom:14%;width:min(540px,85%);pointer-events:auto}.episode-ending h2{font-size:52px;margin:8px 0;color:#f5deac}.episode-ending p{font-size:18px;line-height:1.6}.episode-ending button{min-height:46px;padding:12px 20px;background:#17232b;border:1px solid #c8ad72;color:#f4dfae;margin:12px 12px 0 0;font:inherit}
#memory-battle{position:absolute;inset:0;z-index:40;background:#10141e;display:flex;flex-direction:column;overflow:hidden;color:#e9dcc0}#memory-scene{width:100%;flex:1;min-height:0;object-fit:contain;image-rendering:pixelated;background:#10141e}.memory-heading{position:absolute;z-index:1;top:max(17px,env(safe-area-inset-top));left:4%;right:4%;display:flex;justify-content:space-between;align-items:start;text-shadow:0 2px 12px #000}.memory-heading small{font-size:12px;letter-spacing:.22em;color:#bda67b}.memory-heading h2{font-size:clamp(20px,2.5vw,33px);margin:5px 0}.memory-heading button{min-width:48px}.memory-ui{background:linear-gradient(120deg,#171d2d,#282033);border-top:2px solid #a98e6088;padding:14px max(4%,env(safe-area-inset-right)) max(15px,env(safe-area-inset-bottom));min-height:205px}.memory-gauges{display:flex;gap:30px;justify-content:space-between}.memory-gauges label{display:flex;gap:10px;align-items:center;font-size:14px;flex:1}.memory-gauges meter{height:18px;flex:1;max-width:220px;accent-color:#b99b69}.memory-gauges b{font-size:13px;font-weight:400}#memory-log{font-size:17px;min-height:25px;margin:13px 0 6px;color:#f3e4c4}#memory-intent{font-size:14px;line-height:1.5;color:#bcb4c5;min-height:24px}#memory-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}#memory-options button{min-width:108px;font-size:15px}#memory-touch{height:100px;display:flex;align-items:center;justify-content:space-between;margin:5px 0}#memory-touch span{font-size:14px;color:#bcb7c6;line-height:1.5}#memory-pad{height:100px;width:100px;border:1px solid #d5bc8077;border-radius:50%;position:relative;background:#101a2c;touch-action:none}#memory-pad i{position:absolute;left:31px;top:31px;width:36px;height:36px;border-radius:50%;border:1px solid #d4bf8b;background:#a2916944}
.in-memory header,.in-memory #touch-controls,.in-memory #combat-hud,.in-memory #boss-phase,.in-memory #boss-introduction,.in-memory #interact,.in-memory #notice,.in-memory #journey,.in-memory #reticle,.in-memory .controls{display:none!important}.episode-dialogue #touch-controls,.episode-dialogue #interact,.episode-dialogue .episode-prompt{display:none!important}.episode-dialogue #combat-hud,.episode-dialogue #boss-introduction,.episode-dialogue #boss-phase{opacity:.15}.episode-menu-open #touch-controls{display:none!important}
#episode-settings-open{font-size:22px}#episode-load-note{font-size:13px;line-height:1.5;margin:12px 0;color:#e0d0a5}body.playing #intro{visibility:hidden}.controls{font-size:14px}#journey h2{font-size:25px}.panel .pause-help{font-size:14px}#story-copy{white-space:pre-line}#intro h1{font-size:clamp(44px,5vw,66px)}
@media(max-width:600px){.episode-panel{bottom:max(3%,env(safe-area-inset-bottom));padding:20px;width:94%;max-height:65%;overflow:auto}.episode-panel p{font-size:16px}.episode-panel h2{font-size:25px}.episode-menu{padding:20px}.memory-ui{min-height:235px;padding:12px 14px max(14px,env(safe-area-inset-bottom))}.memory-gauges{gap:12px;flex-direction:column}.memory-gauges meter{max-width:none}.memory-heading h2{max-width:270px;line-height:1.2}.memory-heading small{font-size:10px}.memory-heading{top:max(12px,env(safe-area-inset-top))}#memory-options button{flex:1;min-width:115px;font-size:14px;padding:9px}#memory-log{font-size:15px}#memory-intent{font-size:13px}.episode-ending h2{font-size:36px}.episode-ending p{font-size:16px}.episode-prompt{top:59%;width:max-content;max-width:90%;font-size:14px}.episode-chapter h2{font-size:27px}.episode-binding{grid-template-columns:1fr}}
@media(max-height:540px) and (min-width:600px){.memory-ui{min-height:150px;padding:9px 20px}.memory-heading h2{font-size:20px}.memory-heading{top:10px}#memory-log{font-size:14px;margin:7px 0 3px}#memory-options{margin-top:5px}#memory-options button{min-height:40px;font-size:13px;padding:7px 12px}#memory-touch{height:70px}#memory-pad{height:70px;width:70px}#memory-pad i{left:18px;top:18px}.episode-panel{bottom:3%;max-height:80%;padding:16px 22px}.episode-panel p{font-size:16px}}

@media(max-width:600px) and (orientation:portrait){.memory-heading{position:relative;left:auto;right:auto;top:auto;flex-shrink:0;padding:14px 16px 4px;min-height:72px}.memory-heading h2{font-size:20px}#memory-scene{width:100%;min-height:250px}.memory-ui{min-height:0;padding-top:12px}#memory-options{gap:7px}.memory-gauges meter{height:14px}#memory-log{margin-top:10px;min-height:20px}#memory-touch{height:96px}.memory-ui button{min-height:46px}.memory-heading button{min-height:44px}}
.episode-dialogue #combat-hud,.episode-dialogue #boss-introduction,.episode-dialogue #boss-phase{display:none!important}meter::-webkit-meter-bar{background:#343746;border:0}meter::-webkit-meter-optimum-value{background:#c3a86e}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #f1d693;outline-offset:3px}
@media(max-height:540px) and (min-width:600px){#memory-battle{--memory-side:clamp(260px,36vw,320px);display:grid;grid-template-columns:minmax(0,1fr) var(--memory-side);grid-template-rows:100%}#memory-scene{grid-column:1;height:100%;width:100%;min-width:0}.memory-ui{grid-column:2;grid-row:1;min-height:0;max-height:100%;overflow:auto;border-top:0;border-left:1px solid #a98e6088;padding:12px}.memory-heading{left:16px;right:calc(var(--memory-side) + 14px);top:12px}.memory-heading h2{font-size:18px;max-width:calc(100% - 52px)}.memory-heading small{font-size:9px}.memory-gauges{flex-direction:column;gap:6px}.memory-gauges label{font-size:12px}#memory-log{font-size:14px;line-height:1.35;margin-top:12px}#memory-intent{font-size:12px}#memory-options button{flex:1;min-width:100px;min-height:44px;padding:7px;font-size:13px}#memory-touch span{font-size:12px;max-width:130px}#memory-pad{flex-shrink:0}}

body:has(#episode-ending:not([hidden])) #journey,body:has(#episode-ending:not([hidden])) #controls,body:has(#episode-ending:not([hidden])) #episode-interact,body:has(#episode-ending:not([hidden])) #interact{visibility:hidden}

/* Completion screens use the same ink, gold and readable text as the journey. */
.episode-ending{pointer-events:auto}
.episode-menu footer{flex-wrap:wrap}.episode-menu a{color:#ead39e;text-underline-offset:3px}
.episode-menu p{line-height:1.6}.episode-menu small{letter-spacing:.14em;color:#cbb47e}
.episode-recap{width:min(670px,94%)}.episode-recap dl{display:grid;grid-template-columns:1fr 2fr;gap:12px 22px;margin:24px 0;padding:18px 0;border-block:1px solid var(--memory-line)}
.episode-recap dt{color:#e3c992}.episode-recap dd{margin:0;color:#dbd3c0;line-height:1.4}
#episode-confirm,#episode-credits{z-index:47}.episode-confirm{max-width:520px}
body:has(#episode-recap:not([hidden])) #journey,body:has(#episode-recap:not([hidden])) #controls{visibility:hidden}
@media(max-width:600px){.episode-menu footer button{flex:1;min-width:135px}.episode-recap dl{grid-template-columns:1fr;gap:5px}.episode-recap dd{margin-bottom:10px}}

/* Secrets belong to the journal and existing pause menu, outside the world pixel grid. */
#episode-secret-toast{position:absolute;z-index:41;top:26%;left:50%;transform:translateX(-50%);max-width:88%;width:max-content;padding:10px 16px;border:1px solid #c9b17c88;background:#17232bef;color:#f0dfb4;font-size:15px;pointer-events:none}
.episode-dialogue #episode-secret-toast,.episode-menu-open #episode-secret-toast{visibility:hidden}
.episode-secret-entry{padding:16px 0;border-bottom:1px solid var(--memory-line)}.episode-secret-entry h4{font-size:16px;font-weight:400;color:#e3c992;margin:0 0 10px}.episode-secret-entry p{margin:10px 0 0}.episode-secret-entry button{font-size:14px}

.episode-secret-entry .episode-secret-recall{white-space:pre-line;line-height:1.7;font-size:15px;color:#e5d6b9}.episode-secret-entry p+button{margin-top:12px}
