/* The corn is a separate, bounded play surface. It sleeps outside this enclosure. */
.maze-chapter h2{font-size:clamp(2.1rem,4vw,3rem);margin-top:22px}.maze-chapter>.chapter-lead{font-size:1.2rem;margin-bottom:22px}
.chapter-paper:has(.maze-chapter:not([hidden])){padding:36px 42px 44px}.correspondence-desk:has(.maze-chapter:not([hidden])){max-width:1100px}
.maze-game{position:relative;margin:24px -26px 0;background:#071318;color:#e8ddc5;border:1px solid #b29a644a;box-shadow:0 12px 26px #17111530;text-align:left;scroll-margin-top:78px;isolation:isolate}
.maze-game button{touch-action:manipulation;cursor:pointer}.maze-game button:focus-visible,.maze-game canvas:focus-visible{outline:2px solid #f1d38e;outline-offset:-3px}.maze-game button:disabled{opacity:.45;cursor:default}
.maze-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;background:#0c1b21;border-bottom:1px solid #a68b6035;min-height:64px}
.maze-lanterns{display:flex;gap:7px}.maze-lanterns span{display:grid;place-items:center;width:29px;height:34px;border:1px solid #b3a07538;color:#778684;font:400 .95rem var(--print)}.maze-lanterns .is-found{border-color:#e3b763;background:#5846295e;color:#ffe0a2}
.maze-hud>p{font:400 1rem/1.25 var(--serif);margin:0;color:#c9bc9e;flex:1}.maze-hud-actions{display:flex;align-items:center;gap:5px}.maze-hud-actions button{min-height:40px;min-width:40px;padding:7px;color:#d2c3a5;font:400 1rem var(--serif)}.maze-hud-actions button[aria-pressed=true]{background:#30413e}
.maze-viewport{position:relative;height:clamp(360px,53svh,550px);min-height:320px;overflow:hidden;background:#051016 url('assets/maze-night.webp') center 65%/cover}
#maze-canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}
.maze-minimap{position:absolute;right:14px;top:14px;width:126px;height:126px;border:1px solid #d4b77b77;box-shadow:0 3px 12px #0007;pointer-events:none;image-rendering:pixelated;z-index:2}
.maze-overlay{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,#0713180a,#03101708 18%,#041116a6 49%,#041015f5 90%),url('assets/maze-night.webp') center 46%/cover;display:flex;align-items:end;justify-content:center;text-align:center;padding:25px 24px 23px}
.maze-overlay-copy{max-width:520px;width:100%}.maze-overlay-copy>p:first-child{font:400 .75rem/1.5 var(--print);letter-spacing:.18em;color:#d4bf8a;margin:0 0 10px}.maze-overlay-copy h3{font:400 clamp(2rem,4.2vw,3.2rem)/1.08 var(--serif);color:#fbedd4;margin:0 auto 14px;max-width:15ch;text-shadow:0 2px 10px #0009}.maze-overlay-copy>p:not(:first-child){font:400 1.12rem/1.45 var(--serif);color:#d9cdb4;max-width:370px;margin:0 auto 18px;white-space:pre-line}
.maze-primary{display:inline-flex;justify-content:center;align-items:center;padding:12px 28px;min-height:50px;background:#7b3543;border:1px solid #cb936c;color:#ffecd1;font:400 1.15rem var(--serif);min-width:210px;box-shadow:0 3px 15px #0004}.maze-primary:hover{background:#914455}.maze-calm{display:flex;align-items:center;justify-content:center;gap:9px;font:400 .95rem/1.3 var(--serif);color:#c4b89e;margin:14px auto 0;max-width:350px;min-height:36px}.maze-calm input{width:17px;height:17px;accent-color:#a98750;flex-shrink:0}
.maze-controls{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:20px;background:linear-gradient(110deg,#101c23,#0b151b);padding:16px 23px;border-top:1px solid #b29a6429}
.maze-dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,37px);gap:2px;touch-action:none;user-select:none}.maze-dpad button{display:grid;place-items:center;background:#22333a;border:1px solid #a0a19048;color:#e4d5b8;font:400 1.5rem var(--serif);padding:0;min-height:37px;border-radius:3px;touch-action:none}.maze-dpad button:active{background:#546459}.maze-dpad [data-maze-direction=up]{grid-column:2;grid-row:1}.maze-dpad [data-maze-direction=left]{grid-column:1;grid-row:2}.maze-dpad [data-maze-direction=right]{grid-column:3;grid-row:2}.maze-dpad [data-maze-direction=down]{grid-column:2;grid-row:3}.maze-dpad>span{grid-column:2;grid-row:2;display:grid;place-items:center;font:400 1.2rem var(--serif);color:#877e6b}
.maze-ability{display:flex;flex-direction:column;align-items:stretch;gap:5px;max-width:250px}.maze-ability>#maze-flare{background:#65512e45;border:1px solid #c29d5970;color:#f1d299;min-height:58px;padding:9px 18px;text-align:center}.maze-ability>#maze-flare:not(:disabled):hover{background:#82652c66}#maze-flare span{font:400 1.17rem var(--serif);display:block}#maze-flare small{display:block;color:#b9a787;font:400 .8rem/1.4 var(--serif);margin-top:3px}.maze-ability>#maze-hint{font:400 1rem var(--serif);color:#b6c9b9;min-height:38px;padding:6px 0;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#aeb3834a}
.maze-courage{align-self:start;margin-top:9px;text-align:right}.maze-courage>span{display:block;font:400 .9rem var(--serif);color:#a4b6b7;margin-bottom:7px}.maze-courage b{font:400 1.1rem var(--serif);letter-spacing:.1em;color:#e7bf80;white-space:nowrap}.maze-feedback{padding:0 24px 15px;margin:0;background:#0b151b;color:#c9b896;font:italic 1.05rem/1.45 var(--serif);min-height:3em;text-align:center}.maze-guide{font:400 1rem/1.5 var(--serif);padding:12px 23px 17px;border-top:1px solid #a8a08025;color:#a6b8b8;background:#09151a}.maze-guide summary{cursor:pointer;min-height:30px;padding:5px 0;color:#c1c9b6}.maze-guide p{margin:10px 0 0;max-width:700px}.maze-burst{display:none}.maze-game [hidden]{display:none!important}
.maze-fullscreen{overflow:hidden}.maze-game.is-expanded{position:fixed;z-index:100;inset:0;margin:0;max-width:none;border:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);height:100dvh;overflow:auto}.is-expanded .maze-hud{padding-right:70px}.is-expanded .maze-viewport{flex:1;min-height:200px;height:auto}.is-expanded .maze-controls{padding-block:10px}.is-expanded .maze-guide{display:none}.is-expanded .maze-feedback{min-height:0;padding-bottom:10px}
@media(max-width:700px){.chapter-paper:has(.maze-chapter:not([hidden])){padding:48px 23px 40px}.maze-game{margin-inline:-25px}.maze-chapter h2{font-size:2.25rem}.maze-chapter>.chapter-lead{font-size:1.15rem}.maze-hud{padding:10px 10px;gap:8px;flex-wrap:wrap;min-height:75px}.maze-hud>p{order:3;flex-basis:100%;font-size:.95rem;text-align:center}.maze-hud-actions{margin-left:auto}.maze-lanterns span{width:25px;height:29px}.maze-hud-actions button{min-height:36px;min-width:38px;padding:5px 8px}.maze-viewport{height:clamp(360px,50svh,460px)}.maze-overlay{padding:20px 18px}.maze-overlay-copy h3{font-size:2.35rem}.maze-overlay-copy>p:not(:first-child){font-size:1.08rem}.maze-overlay-copy>p:first-child{font-size:.75rem;letter-spacing:.1em}.maze-calm{font-size:.9rem}.maze-controls{grid-template-columns:140px minmax(0,1fr);gap:12px;padding:14px 12px;position:relative}.maze-dpad{grid-template-rows:repeat(3,44px)}.maze-dpad button{min-height:44px}.maze-ability{padding-top:29px}.maze-ability>#maze-flare{min-height:57px;padding:7px}#maze-flare span{font-size:1.08rem}#maze-flare small{font-size:.8rem}.maze-ability>#maze-hint{font-size:.95rem;line-height:1.25;min-height:42px}.maze-courage{position:absolute;right:18px;top:9px;display:flex;align-items:center;gap:9px;margin:0}.maze-courage>span{display:inline;font-size:.875rem;margin:0}.maze-courage b{font-size:.95rem}.maze-feedback{font-size:1rem;padding:0 16px 14px}.maze-minimap{width:100px;height:100px;top:10px;right:10px}.maze-guide{padding-inline:16px}.maze-chapter>.chapter-next{font-size:1rem;line-height:1.4}.is-expanded .maze-hud{padding-right:67px}.is-expanded .maze-viewport{min-height:210px}}
@media(max-height:600px) and (min-width:701px){.is-expanded .maze-controls{grid-template-columns:140px 1fr auto;padding:4px 20px}.is-expanded .maze-dpad{grid-template-rows:repeat(3,28px)}.is-expanded .maze-dpad button{min-height:28px}.is-expanded .maze-feedback{display:none}}
@media(prefers-reduced-motion:reduce){.maze-game *{transition:none!important;animation:none!important}}

/* Mara’s keepsakes and the field’s warnings share the existing game surface. */
.maze-lanterns span{width:37px;height:43px;border-radius:4px;background-image:url('assets/maze-keepsakes-v2.png');background-size:300% 100%;background-repeat:no-repeat;opacity:.42;transition:opacity .4s,border-color .4s,background-color .4s}
.maze-lanterns [data-maze-light="0"]{background-position:0 0}.maze-lanterns [data-maze-light="1"]{background-position:50% 0}.maze-lanterns [data-maze-light="2"]{background-position:100% 0}
.maze-lanterns .is-found{opacity:1;background-color:#6c4c2f55;background-image:url('assets/maze-keepsakes-v2.png');background-size:300% 100%;border-color:#e3b763}
.maze-situation{position:absolute;left:15px;top:14px;margin:0;padding:7px 11px;border:1px solid #aba78a40;background:#061419b3;color:#bac5b8;font:400 .875rem/1.2 var(--serif);pointer-events:none;transition:color .25s,border-color .25s}
.maze-situation.is-danger{color:#f0c095;border-color:#ce8c6655;background:#241c18d9}.maze-game:not(.maze-playing) .maze-situation{visibility:hidden}
.maze-memory{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);width:min(390px,calc(100% - 32px));padding:13px 18px;background:#112126eb;border:1px solid #bda77670;box-shadow:0 5px 25px #0005;text-align:center;pointer-events:none;animation:maze-memory-in .4s ease-out}
.maze-memory strong{display:block;color:#f2d8a9;font:400 1.15rem/1.2 var(--serif);margin-bottom:5px}.maze-memory span{display:block;color:#d0c8b7;font:400 .94rem/1.4 var(--serif)}
.maze-game button{transition:background-color .2s,color .2s,border-color .2s,transform .15s}.maze-game button:not(:disabled):hover{border-color:#d8bd89}.maze-dpad button:not(:disabled):hover{background:#3c4e4c}.maze-game button:not(:disabled):active{transform:translateY(1px)}
@keyframes maze-memory-in{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:700px){.maze-lanterns span{width:34px;height:39px}.maze-situation{font-size:.875rem;left:10px;top:10px;padding:7px 9px}.maze-memory{bottom:12px}.maze-viewport{height:clamp(380px,53svh,500px)}.maze-dpad button{font-size:1.5rem}}

/* Each run has three flares and three brief map looks. */
.maze-hud{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:16px}.maze-run-clock{display:flex;flex-direction:column;gap:1px;min-width:57px;text-align:right}.maze-run-clock>span{font:400 .75rem/1.1 var(--print);letter-spacing:.1em;text-transform:uppercase;color:#a8b5ad}.maze-run-clock time{font:400 1.2rem/1.2 var(--serif);font-variant-numeric:tabular-nums;color:#f0dfbb;white-space:nowrap}
.maze-hud-actions .maze-map-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:87px;padding:5px 9px;border:1px solid #a9976855;background:#172729;border-radius:4px}.maze-map-button>small{font:400 .875rem/1.1 var(--serif);color:#bcba9f;white-space:nowrap}.maze-map-button[aria-pressed=true]{opacity:1!important;background:#4e432ccc!important;border-color:#dfc78c!important}.maze-map-button[aria-pressed=true]>small{color:#f4dba3}
.maze-ability{max-width:320px}.maze-ability>#maze-flare{position:relative;isolation:isolate;display:grid;grid-template-columns:57px 1fr;column-gap:4px;align-items:center;overflow:hidden;min-height:102px;padding:10px 13px 13px 6px;text-align:left;border:1px solid #d8a653;border-radius:8px;background:radial-gradient(ellipse at 14% 50%,#c4862945,transparent 63%),linear-gradient(135deg,#473322,#231d1c);box-shadow:inset 0 0 0 3px #160e0b80,0 3px 13px #0004;color:#ffdfa4;transition:background .25s,border-color .25s,box-shadow .25s,transform .15s}
.maze-ability>#maze-flare:not(:disabled):hover{background:radial-gradient(ellipse at 14% 50%,#d8983855,transparent 67%),linear-gradient(135deg,#60432a,#312421);border-color:#ffe0a0;box-shadow:inset 0 0 0 3px #21141080,0 0 22px #d6932a29}.maze-ability>#maze-flare:focus-visible{outline:2px solid #ffe4af;outline-offset:3px}.maze-ability>#maze-flare:not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 2px 8px #0008}
#maze-flare .maze-flare-art{display:block;width:62px;height:62px;background:url('assets/maze-sprites.webp') right top/300% 200% no-repeat;align-self:center;filter:drop-shadow(0 0 7px #e2a84277);transition:opacity .3s,filter .3s}#maze-flare .maze-flare-copy{display:flex;flex-direction:column;min-width:0;gap:3px}#maze-flare .maze-flare-copy>b{font:400 1.32rem/1.15 var(--serif);white-space:nowrap}#maze-flare #maze-flare-status{font:400 .94rem/1.2 var(--serif);color:#dcc296;margin:0}#maze-flare .maze-flare-charges{display:flex;gap:6px;margin-top:4px}#maze-flare .maze-flare-charges i{width:23px;height:4px;border-radius:4px;background:#f8ce79;box-shadow:0 0 7px #efad4455;transition:background .25s,box-shadow .25s}#maze-flare .maze-flare-charges .is-spent{background:#71624f66;box-shadow:none}#maze-flare kbd{position:absolute;right:9px;bottom:6px;font:400 .65rem/1 var(--print);letter-spacing:.09em;color:#b8a483}
.maze-ability>#maze-flare:disabled{opacity:.74}.maze-ability>#maze-flare.is-empty{background:#142126;border-color:#78817655;box-shadow:inset 0 0 0 3px #06101455}.is-empty .maze-flare-art{opacity:.3;filter:grayscale(1)!important}.maze-ability>#maze-flare.is-firing{opacity:1;animation:maze-flare-pulse .65s ease-out}#maze-flare.is-firing .maze-flare-art{filter:drop-shadow(0 0 15px #ffcc67)}
@keyframes maze-flare-pulse{0%{box-shadow:inset 0 0 26px #ffd17c80,0 0 26px #ffc75c70}100%{box-shadow:inset 0 0 0 3px #160e0b80,0 3px 13px #0004}}
.motion-paused #maze-flare,.reduced-motion #maze-flare{animation:none!important}
@media(max-width:700px){.maze-hud{grid-template-columns:1fr auto;gap:10px 8px;padding:10px 12px}.maze-lanterns{grid-column:1;grid-row:1}.maze-hud>p{grid-column:2;grid-row:1;order:0;text-align:right;max-width:180px;font-size:1rem}.maze-run-clock{grid-column:1;grid-row:2;flex-direction:row;align-items:baseline;gap:9px;text-align:left}.maze-run-clock time{font-size:1.2rem}.maze-hud-actions{grid-column:2;grid-row:2;margin:0;gap:3px}.maze-hud-actions .maze-map-button{min-width:89px;min-height:43px}.maze-hud-actions button{min-width:34px}.maze-ability{padding-top:30px}.maze-ability>#maze-flare{grid-template-columns:43px 1fr;min-height:98px;padding:10px 9px 13px 2px;column-gap:1px}#maze-flare .maze-flare-art{width:48px;height:58px;background-size:300% 200%}#maze-flare .maze-flare-copy>b{font-size:1.13rem}#maze-flare #maze-flare-status{font-size:.875rem}#maze-flare .maze-flare-charges{gap:5px}#maze-flare .maze-flare-charges i{width:18px}#maze-flare kbd{display:none}.maze-courage{right:15px;top:10px}.maze-controls{gap:10px;grid-template-columns:134px minmax(0,1fr)}}
@media(max-width:360px){.maze-controls{grid-template-columns:120px minmax(0,1fr);padding-inline:9px}.maze-dpad{grid-template-columns:repeat(3,38px)}.maze-ability>#maze-flare{grid-template-columns:32px 1fr}#maze-flare .maze-flare-art{width:37px;height:51px}#maze-flare .maze-flare-copy>b{font-size:1.06rem}.maze-hud-actions .maze-map-button{min-width:82px}.maze-hud-actions button{padding-inline:6px;min-width:30px}.maze-hud>p{font-size:.94rem}}

/* A completed journey becomes the way into the next enclosure. */
.maze-complete .maze-hud,.maze-complete .maze-controls,.maze-complete .maze-feedback,.maze-complete .maze-guide,.maze-complete #maze-canvas,.maze-complete .maze-situation{display:none}.maze-complete .maze-viewport{height:clamp(560px,76svh,720px);min-height:560px}.maze-complete .maze-overlay{background:linear-gradient(180deg,#03121500 0%,#06131508 23%,#06141770 43%,#051316ed 68%,#041216 100%),url('assets/mara-homecoming-v2.png') center 28%/cover;padding:30px 25px 28px;align-items:flex-end}.maze-complete .maze-overlay-copy{max-width:540px;position:relative;z-index:2}.maze-complete .maze-overlay-copy>p:first-child{color:#f0c989;font-size:.875rem;letter-spacing:.16em}.maze-complete .maze-overlay-copy h3{max-width:18ch;font-size:clamp(2.4rem,4vw,3.55rem);color:#ffeaca;line-height:1.06;text-wrap:balance;margin-bottom:13px}.maze-complete .maze-overlay-copy>p:not(:first-child){font-size:1.12rem;line-height:1.4;max-width:350px;margin-bottom:15px;color:#ddd0b7}
.maze-victory-summary{display:flex;align-items:center;flex-direction:column;gap:17px}.maze-victory-time{display:flex;align-items:center;justify-content:center;gap:14px;border-top:1px solid #d4af7050;padding-top:13px;min-width:220px}.maze-victory-time>span{font:400 .875rem/1.3 var(--print);letter-spacing:.08em;text-transform:uppercase;color:#d6bc93}.maze-victory-time>strong{font:400 2.6rem/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#ffe6b7}.maze-primary.maze-continue{max-width:100%;width:350px;min-width:0;min-height:56px;padding:13px 17px;line-height:1.25;border-radius:4px;background:linear-gradient(100deg,#e9c58b,#f4dba9);border-color:#ffdfa3;color:#30251b;box-shadow:0 3px 24px #d9983229;font-size:1.18rem}.maze-primary.maze-continue:hover{background:#ffe8bb;box-shadow:0 3px 30px #d9983240}
.maze-celebrating .maze-overlay-copy{animation:maze-arrival 1.2s ease-out both}.maze-celebrating #maze-burst{display:block;position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.maze-celebrating #maze-burst span{position:absolute;left:var(--x);bottom:17%;width:3px;height:3px;border-radius:50%;background:#ffe0a1;box-shadow:0 0 9px 3px #ecb66155;opacity:0;animation:maze-home-light 4.5s var(--delay) ease-out both}.maze-still #maze-burst,.motion-paused #maze-burst,.reduced-motion #maze-burst{display:none!important}.maze-still .maze-overlay-copy{animation:none!important}
@keyframes maze-home-light{0%{opacity:0;transform:translate(0,20px) scale(.5)}15%{opacity:.9}75%{opacity:.5}100%{opacity:0;transform:translate(var(--drift),-380px) scale(.35)}}
@keyframes maze-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.maze-complete .maze-viewport{height:clamp(620px,82svh,750px);min-height:620px}.maze-complete .maze-overlay{padding:24px 20px;background-position:center 22%}.maze-complete .maze-overlay-copy h3{font-size:2.6rem}.maze-complete .maze-overlay-copy>p:not(:first-child){font-size:1.08rem;max-width:300px}.maze-victory-time>strong{font-size:2.4rem}.maze-primary.maze-continue{font-size:1.15rem}.maze-complete.is-expanded .maze-viewport{height:auto;flex:1}}
@media(max-width:700px){.maze-complete .maze-overlay{background-size:100% 100%,auto 75%;background-position:center,35% top;background-repeat:no-repeat;background-color:#041216}}

/* Graphic direction controls must never invoke iOS text selection or callouts. */
.maze-dpad,.maze-dpad *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.maze-dpad svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
