.expedition-screen{position:absolute;inset:0;z-index:35;display:flex;align-items:center;justify-content:center;background:#05111be8;backdrop-filter:blur(6px);color:#dce4dc}.expedition-panel{width:min(1080px,92vw);max-height:92dvh;overflow:auto;padding:30px 36px;background:linear-gradient(135deg,#25353be8,#101d28f5);border:1px solid #9e875e;box-shadow:0 0 0 4px #07111c,0 25px 90px #0009}.expedition-panel>header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #ad956555;padding-bottom:18px}.expedition-panel header p{font:9px Georgia,serif;letter-spacing:5px;color:#bba987;margin:0 0 9px}.expedition-panel h2{font-size:30px;letter-spacing:5px;font-weight:400;color:#f4dda6;margin:0}.expedition-panel footer{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:24px;padding-top:22px;border-top:1px solid #ad956533}.expedition-panel footer .game-button{font-size:18px;padding:13px 22px;min-width:200px}.expedition-panel footer .menu-link{font-size:13px;padding:10px}.route-summary{display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;color:#a6b9bb;margin:20px 0}.route-summary>span:last-child{color:#e6c684}.chapter-map{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;position:relative}.chapter-node{position:relative;min-height:160px;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:17px 18px;overflow:hidden;border:1px solid #6d858258;background:linear-gradient(transparent,#07121e 95%),var(--chapter-bg) center/cover;image-rendering:pixelated;box-shadow:0 3px 0 #060e18;color:#c5d6d9;transition:border-color .2s,filter .2s}.chapter-node:hover,.chapter-node.current{border-color:#e4c48a;filter:brightness(1.2)}.chapter-node.current{box-shadow:0 0 0 2px #d1ae6044,0 3px 0 #050c13}.chapter-node:disabled{cursor:default;opacity:.4;filter:saturate(.25)}.chapter-number{position:absolute;top:13px;left:16px;font:20px Georgia,serif;color:#eddaad;text-shadow:0 2px #000}.chapter-place{font-size:10px;letter-spacing:3px;color:#dcc597;margin-bottom:8px}.chapter-node strong{font-size:18px;font-weight:400;letter-spacing:2px}.chapter-node small{font-size:9px;margin-top:9px;color:#98bcb6}.chapter-node.cleared small{color:#dec28c}.chapter-detail{margin-top:20px;padding-left:17px;border-left:2px solid #b69a64}.chapter-detail p{font-size:17px;margin:0 0 8px;color:#e7d7b5}.chapter-detail>span{font-size:12px;color:#98afb8;line-height:1.8}.wand-rack{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.wand-choice{padding:6px 17px 17px;border:1px solid #61747477;background:#09182466;display:flex;flex-direction:column;align-items:center;text-align:center}.wand-choice.equipped{border-color:#e0c28a;background:linear-gradient(#ba9a3d15,#09182499)}.wand-choice svg{width:100%;max-width:230px;height:90px;filter:drop-shadow(0 0 8px #efd79244)}.wand-choice>span{font-size:22px;letter-spacing:5px;color:#efdab0}.wand-choice strong{font-size:13px;font-weight:400;color:#c6d4d2;margin:12px 0 6px}.wand-choice small{font-size:9px;color:#93a6af}.wand-choice p{font-size:11px;line-height:1.8;color:#9aacb2;min-height:42px}.wand-choice em{font-size:11px;font-style:normal;color:#ddb780;line-height:1.7}.wand-choice b{font-size:11px;font-weight:400;color:#e0c68a;border-top:1px solid #806f4f66;padding-top:13px;margin-top:13px;width:100%}.apothecary{margin-top:24px;border-top:1px solid #ad956533;padding-top:18px}.apothecary h3{font-size:18px;font-weight:400;color:#dfc794;margin:0 0 15px}.apothecary h3 small{font-size:10px;margin-left:12px;color:#8ca7ae}.potion-shop{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.potion-shop>div{display:grid;grid-template-columns:60px 1fr;grid-template-rows:repeat(4,auto);align-items:center;column-gap:10px}.potion-shop svg{width:58px;grid-row:1/5}.potion-shop strong{font-size:14px;font-weight:400}.potion-shop p{font-size:10px;margin:6px 0;color:#a5b6bb}.potion-shop small{font-size:9px;color:#dfc08c}.potion-shop button{font-size:10px;justify-self:start;color:#f0d8a5;margin-top:9px;border-bottom:1px solid #be986577;padding:3px 0}.adaptation-note{font-size:9px;color:#738a95;text-align:center;margin:23px 0 0}.story-stage{position:absolute;inset:0;background:linear-gradient(#03101c33 30%,#05101be5 100%),var(--story-bg) center/cover;image-rendering:pixelated;animation:story-reveal .7s ease-out}.story-chapter{position:absolute;left:8%;top:13%;text-shadow:2px 3px #06111c}.story-chapter>span{font-size:11px;letter-spacing:4px;color:#dec894}.story-chapter h2{font-size:clamp(32px,4vw,58px);letter-spacing:7px;font-weight:400;color:#f1dfb7;margin:15px 0}.story-chapter>p{font-size:12px;color:#a9bdc8;letter-spacing:3px}.dialogue-box{position:absolute;left:8%;right:8%;bottom:9%;background:#0b1b29ef;border:1px solid #a58e62;box-shadow:0 0 0 4px #06121e,0 10px 40px #020811aa;padding:22px 30px}.dialogue-box>span{display:block;font-size:16px;letter-spacing:3px;color:#e7c98c}.dialogue-box>p{font-size:20px;line-height:1.9;min-height:76px;color:#d9e1d9;margin:15px 0 21px;letter-spacing:1px}.dialogue-box>div{display:flex;justify-content:space-between;align-items:center}.dialogue-box small{font-size:9px;color:#79929e}.dialogue-box button{font-size:16px;color:#f1d69b;padding:8px 0 8px 25px}.story-back{position:absolute;right:5%;top:5%;font-size:11px;color:#b9c9d0;border-bottom:1px solid #8b9ea955;padding:6px}.chapter-result{text-align:center;padding:25px 8%}.chapter-result>span{font-size:70px;color:#e4c68c;display:block;text-shadow:0 0 35px #dbb57766}.chapter-result h3{font-size:27px;letter-spacing:4px;font-weight:400;color:#f0d8ab}.chapter-result p{font-size:16px;line-height:2;color:#b5c9d0}.chapter-result small{font-size:11px;color:#9ab6ad}#journey-hud{position:absolute;left:50%;top:96px;transform:translateX(-50%);text-align:center;pointer-events:none;z-index:5;width:min(560px,75%)}#journey-location{font-size:11px;letter-spacing:3px;color:#d7c298;text-shadow:2px 2px #06101b}#journey-goal{display:block;margin-top:9px;font-size:12px;line-height:1.8;color:#b9ced1;text-shadow:1px 2px #06101b}#potion-belt{position:absolute;left:25px;bottom:75px;z-index:9;display:flex;gap:3px}#potion-belt>button{width:46px;padding:0;position:relative}#potion-belt svg{width:33px;height:42px;filter:drop-shadow(0 2px 2px #000)}#potion-belt span{display:block;font-size:8px;color:#bccbc5;white-space:nowrap}#potion-belt b{position:absolute;right:2px;top:23px;color:#f5dc9e;font-size:9px;text-shadow:2px 2px #06101b}#potion-belt button:disabled{cursor:default;opacity:.35}.spell-dock{gap:9px;bottom:25px}.rune-slot{width:56px}.rune-frame{width:49px;height:49px;margin-bottom:7px}.rune-slot strong{font-size:10px;letter-spacing:1px}.rune-slot small{display:none}.dock-caption{font-size:9px;bottom:calc(100% + 10px)}.book-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.book-tab{padding:10px 4px;gap:5px}.book-tab>span{font-size:10px;letter-spacing:0}.book-tab svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:5;stroke-linejoin:round;stroke-linecap:round}.book-panel{width:min(760px,92vw)}.book-lesson{grid-template-columns:1fr 1.4fr}.book-details h3{font-size:26px}.book-tolerance{font-size:9px}#stage[data-panel] #title-screen,#stage[data-panel] #hud,#stage[data-panel] #spell-dock,#stage[data-panel] #potion-belt,#stage[data-panel] #journey-hud{visibility:hidden}@keyframes story-reveal{from{opacity:0;filter:brightness(.3)}to{opacity:1;filter:brightness(1)}}#stage[data-motion=reduced] .story-stage{animation:none}
@media(max-width:760px){.expedition-panel{padding:24px 22px}.expedition-panel h2{font-size:26px}.chapter-map{gap:10px}.chapter-node{min-height:140px;padding:13px 12px}.chapter-node strong{font-size:14px;letter-spacing:1px}.chapter-place{font-size:9px;letter-spacing:1px}.chapter-detail p{font-size:14px}.chapter-detail>span{font-size:11px}.wand-rack{gap:9px}.wand-choice{padding:3px 9px 12px}.wand-choice strong{font-size:11px;line-height:1.7}.wand-choice p{font-size:10px}.wand-choice em{font-size:9px}.potion-shop{gap:10px}.potion-shop>div{grid-template-columns:40px 1fr}.potion-shop svg{width:38px}.potion-shop strong{font-size:12px}.potion-shop p{line-height:1.7}.dialogue-box{left:6%;right:6%;padding:20px}.dialogue-box>p{font-size:17px}.spell-dock{gap:6px;bottom:70px}.rune-slot{width:49px}.rune-frame{width:43px;height:43px}.rune-slot strong{font-size:9px}.rune-frame svg{padding:4px}.battle-hint{font-size:10px}#potion-belt{left:15px;bottom:160px}#journey-hud{top:163px;width:83%}#journey-location{font-size:9px}#journey-goal{font-size:10px}.practice-indicator{top:166px}}
@media(max-width:500px){.expedition-panel{padding:20px 15px;max-height:94dvh;width:94vw}.expedition-panel h2{font-size:23px}.expedition-panel header p{font-size:7px;letter-spacing:2px}.route-summary{font-size:9px;letter-spacing:1px;margin:15px 0}.chapter-map{grid-template-columns:repeat(2,1fr);gap:9px}.chapter-node{min-height:127px}.chapter-detail{margin-top:15px}.chapter-detail p{font-size:12px}.chapter-detail>span{font-size:10px}.expedition-panel footer{gap:5px;margin-top:16px;padding-top:16px;flex-wrap:wrap}.expedition-panel footer .game-button{font-size:16px;min-width:185px}.expedition-panel footer .menu-link{font-size:11px}.wand-rack{grid-template-columns:1fr}.wand-choice{display:grid;grid-template-columns:95px 1fr;text-align:left;align-items:center;padding:12px;column-gap:12px}.wand-choice svg{grid-column:1;grid-row:1/6;height:95px;transform:rotate(-25deg)}.wand-choice>span,.wand-choice strong,.wand-choice small,.wand-choice em,.wand-choice b{grid-column:2}.wand-choice>span{font-size:20px}.wand-choice strong{margin:6px 0}.wand-choice p{display:none}.wand-choice b{padding-top:7px;margin-top:7px}.potion-shop{gap:7px}.potion-shop>div{display:flex;flex-direction:column;text-align:center}.potion-shop svg{height:58px;width:48px}.potion-shop p{min-height:30px;font-size:9px}.potion-shop button{font-size:9px}.apothecary h3 small{display:block;margin:8px 0 0;font-size:9px}.story-chapter{top:17%;left:8%}.story-chapter h2{font-size:32px;letter-spacing:3px}.story-chapter>span{font-size:9px;letter-spacing:1px}.dialogue-box{bottom:10%;padding:17px}.dialogue-box>p{font-size:16px;min-height:110px}.dialogue-box small{font-size:7px}.dialogue-box button{font-size:12px}.chapter-result{padding:17px 0}.chapter-result p{font-size:13px}.chapter-result small{font-size:9px}.spell-dock{gap:3px;bottom:65px}.rune-slot{width:41px}.rune-frame{width:36px;height:36px}.rune-slot strong{font-size:8px;letter-spacing:0}.dock-caption{font-size:8px;letter-spacing:1px}.rune-guide{max-width:88vw}.book-tab>span{font-size:9px}.book-tab svg{width:19px;height:19px}.book-panel{padding:20px}.book-lesson{grid-template-columns:1fr;gap:8px}.book-rune svg{width:125px;height:125px}.book-rune>span{margin-top:2px}.book-details{text-align:center}.book-details h3{font-size:23px}.book-details>p:not(.book-effect){font-size:11px;margin:10px 0}.book-effect{font-size:11px}.book-tolerance{font-size:8px}.book-lesson{margin:16px 0}.book-panel .panel-header{margin-bottom:13px}.book-panel .panel-actions{padding-top:14px}.book-panel .panel-actions .game-button{font-size:14px;min-width:140px}.book-panel .panel-header h2{font-size:24px}.book-panel .menu-eyebrow{font-size:7px}}
@media(max-height:580px) and (min-aspect-ratio:1/1){.spell-dock{bottom:14px}.rune-frame{height:34px;width:34px}.rune-slot{width:45px}.rune-slot strong{font-size:8px}.dock-caption{bottom:calc(100% + 5px);font-size:8px}#journey-hud{top:74px}#potion-belt{bottom:60px}.dialogue-box{bottom:5%;padding:14px 22px}.dialogue-box>p{font-size:16px;min-height:40px;margin:8px 0}.story-chapter{top:8%}.story-chapter h2{font-size:34px;margin:10px 0}.chapter-node{min-height:120px}.expedition-panel{padding:18px 24px}.chapter-map{gap:9px}.route-summary{margin:10px 0}.expedition-panel footer{margin-top:12px;padding-top:12px}}

#stage[data-panel] .game-tools{visibility:hidden;pointer-events:none}

/* Keep the learning stroke legible over detailed scene artwork. */
.rune-guide[data-lesson=true] svg{background:radial-gradient(ellipse,#06111bc9 15%,#06111b88 52%,transparent 73%);filter:drop-shadow(0 2px 2px #000)}
#guide-path{stroke:#f6dda5;stroke-width:3;stroke-dasharray:6 4}#guide-start{stroke:#081322;stroke-width:2}

/* The illustration is the frame; type and controls keep their own readable scale. */
.expedition-panel{box-sizing:border-box;padding:28px 32px}
.expedition-panel h2:focus{outline:none}
.expedition-screen button:focus-visible{outline:2px solid #f0d598;outline-offset:4px}
.expedition-panel footer{flex-wrap:wrap;gap:14px}
.expedition-panel footer button,.expedition-close,.story-back,.dialogue-box button{min-height:44px}
.route-summary{font-size:14px;line-height:1.8;gap:16px;flex-wrap:wrap;letter-spacing:1px}
.apothecary h3{font-size:21px;line-height:1.7}.apothecary h3 small{font-size:13px;color:#b0c1c5}
.potion-shop{gap:24px}.potion-shop>div{grid-template-columns:72px 1fr;gap:8px 12px;align-content:start;min-width:0}
.potion-shop .potion-art{width:68px;height:100px;object-fit:contain;grid-row:1/5}
.potion-shop strong{font-size:17px;line-height:1.6}.potion-shop p{font-size:14px;line-height:1.9;margin:0;color:#c2d0cf}.potion-shop small{font-size:12px;line-height:1.8;color:#dac79c}
.potion-shop button{font-size:14px;min-height:44px;padding:8px 12px;margin-top:3px;border:1px solid #be986577;background:#081725}
.potion-shop button:disabled{color:#b7beb9;opacity:.65;cursor:default}
.shop-notice{font-size:14px;line-height:1.9;color:#e5d0a1;min-height:28px;margin:24px 0 0}.adaptation-note{font-size:12px;color:#9cb3bd;line-height:1.7;margin-top:10px}
.dialogue-box{padding:24px 30px}.dialogue-box small{font-size:12px;color:#a5bbc4;line-height:1.8}.dialogue-box>div{gap:18px}.dialogue-box button{flex-shrink:0}.story-back{font-size:14px;padding:8px 12px;background:#06111bd9}
.chapter-result small{font-size:14px;line-height:1.9;display:block}
@media(max-width:850px){.potion-shop{grid-template-columns:1fr;gap:20px}.potion-shop>div{grid-template-columns:76px 1fr;display:grid;text-align:left;padding-bottom:18px;border-bottom:1px solid #b49c6844}.potion-shop .potion-art{width:72px;height:108px}.potion-shop p{min-height:0}.potion-shop button{justify-self:start}.apothecary h3 small{display:block;margin:6px 0 0}.expedition-panel{padding:24px}.expedition-panel footer .menu-link{font-size:14px}}
@media(max-width:500px){.expedition-panel{padding:18px 16px}.expedition-panel h2{font-size:23px;letter-spacing:2px;line-height:1.5}.route-summary{font-size:13px;gap:8px}.potion-shop strong{font-size:16px}.potion-shop p{font-size:14px}.potion-shop small{font-size:12px}.potion-shop button{font-size:14px}.apothecary h3 small{font-size:12px}.dialogue-box{left:4%;right:4%;bottom:6%;padding:18px}.dialogue-box>p{font-size:17px;line-height:1.85;margin:12px 0;min-height:0}.dialogue-box>div{align-items:flex-end;gap:10px}.dialogue-box small{font-size:11px}.dialogue-box button{font-size:14px;padding:8px}.story-chapter{top:12%;left:7%}.story-chapter>span,.story-chapter>p{font-size:12px;line-height:1.7}.chapter-result p{font-size:15px}.chapter-result small{font-size:13px}}

/* Story choices live on the same quiet, illustrated stage as chapter dialogue. */
.story-reading{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:9dvh 8% 7dvh;box-sizing:border-box;overflow:auto}
.story-skip{position:absolute;right:5%;top:calc(5% + 56px);min-height:44px;font-size:13px;padding:8px 12px;color:#c1cfce;background:#06111bd9;border-bottom:1px solid #8b9ea955}
.story-options>button .ending-tradeoff{color:#e3c694;border-left:2px solid #aa8a52;padding-left:10px}
.chapter-result .chapter-stardust{font-size:15px;color:#edd39c;margin:16px 0 0}
.story-reading .story-chapter{position:static;flex-shrink:0;padding-right:90px}
.story-reading .story-chapter h2{font-size:clamp(28px,3.5vw,46px);line-height:1.5;letter-spacing:3px;margin:10px 0}
.story-reading .story-chapter>p{line-height:1.8;letter-spacing:1px;max-width:70ch}
.story-reading .dialogue-box{position:static;max-height:58dvh;overflow:auto;flex-shrink:0}
.story-reading .dialogue-box>p{min-height:0;overflow-wrap:anywhere}
.story-reading .dialogue-box>div{position:sticky;bottom:-24px;background:#0b1b29;padding-top:10px}
.story-decision{padding:22px 2% 4px}.story-decision-prompt{font-size:22px;line-height:1.9;color:#eddbb5;margin:0 0 14px}
.story-choice-note{font-size:14px;line-height:1.9;color:#abc0c6}.story-choice-saved{font-size:20px;line-height:1.8;color:#ebd29c;border-left:2px solid #ae8e53;padding:10px 20px}
.story-options{display:flex;flex-direction:column;margin:18px 0 0;border-top:1px solid #a9915d55}
.story-options>button{display:grid;grid-template-columns:26px 1fr;gap:6px 12px;text-align:left;align-items:start;padding:15px 12px;border-bottom:1px solid #a9915d55;color:#dfd9c7;font-size:17px;line-height:1.9;transition:background .15s}
.story-options>button:hover{background:#d0ad5020;color:#ffe9b7}.story-options>button>span{color:#bd9c5f}.story-options>button strong{font-size:19px;font-weight:400;color:#eddaad}.story-options>button small{grid-column:2;font-size:14px;line-height:1.8;color:#b9c9cb}
.story-journal{display:grid;grid-template-columns:220px 1fr;gap:26px;padding-top:23px;min-height:300px}.story-journal nav{border-right:1px solid #b3975d66;padding-right:18px;display:flex;flex-direction:column;gap:4px}
.story-journal nav button{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:12px 8px;text-align:left;font-size:14px;line-height:1.7;color:#9fb7bd;min-height:44px}.story-journal nav button span{font-family:Georgia,serif;color:#c4a675}.story-journal nav button[aria-current=page]{color:#f1dca5;background:#bfa05b20}
.journal-page{min-width:0}.journal-page h3{font-size:25px;line-height:1.7;color:#f0d9a5;font-weight:400;margin:5px 0 14px}.journal-page>p,.journal-page blockquote,.journal-answer p,.journal-ending p{font-size:16px;line-height:1.95;color:#c1d0cf;overflow-wrap:anywhere}.journal-page .journal-page-number{font-size:12px;letter-spacing:1px;color:#acbba9;margin:0}.journal-page blockquote{border-left:2px solid #a58a54;margin:20px 0;padding:8px 18px;color:#dbc898}
.journal-answer,.journal-ending{border-top:1px solid #ad956544;margin-top:22px;padding-top:15px}.journal-answer h4,.journal-ending h4{font-size:17px;font-weight:400;color:#dfc997;margin:8px 0}.journal-answer p{font-size:15px;margin:10px 0}.journal-answer strong{font-size:13px;color:#dfbd7c;font-weight:400}.journal-page button{font-size:15px;line-height:1.8;min-height:44px;color:#efd39e}.journal-ending small{display:block;color:#9eb2b8;font-size:13px;line-height:1.8}.journal-ending .game-button{margin-top:12px;padding:12px 18px}.journal-ending .menu-link{display:block;margin-top:10px}.chapter-memento{margin-top:20px;border-top:1px solid #ad956555;padding-top:20px}.chapter-memento strong{color:#e4c58e;font-size:20px;font-weight:400}
.journal-companions{margin:20px 0;border-top:1px solid #ad956544;padding-top:12px}.journal-companions>div{margin:12px 0}.journal-companions dt{font-size:15px;color:#dfc997;line-height:1.8}.journal-companions dd{margin:4px 0 0;font-size:14px;line-height:1.85;color:#b5c6c9}.story-journal nav [data-journal-prologue]{border-bottom:1px solid #ad956544;padding-bottom:15px;margin-bottom:5px}
@media(max-width:700px){.story-journal{grid-template-columns:1fr;gap:20px}.story-journal nav{border-right:0;border-bottom:1px solid #b3975d66;padding:0 0 12px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.story-journal nav button{font-size:12px;padding:8px 5px;grid-template-columns:20px 1fr}.story-reading{padding:10dvh 5% 5dvh}.story-reading .story-chapter{padding-right:0}.story-reading .story-chapter h2{font-size:28px}.story-reading .story-chapter>p{font-size:12px}.story-reading .dialogue-box{max-height:57dvh}.story-reading .story-back{top:2%;right:5%;font-size:12px}.story-decision-prompt{font-size:18px}.story-options>button{font-size:16px;padding:12px 4px}.story-options>button strong{font-size:17px}.story-options>button small{font-size:13px}.journal-page h3{font-size:23px}.journal-page>p,.journal-page blockquote{font-size:15px}.story-choice-saved{font-size:17px}}
@media(max-height:580px) and (min-aspect-ratio:1/1){.story-reading{padding:5dvh 7%;gap:12px}.story-reading .story-chapter h2{font-size:27px;line-height:1.3;margin:5px 0}.story-reading .story-chapter>p{margin:4px 0}.story-reading .dialogue-box{max-height:55dvh;padding:13px 20px}.story-reading .dialogue-box>div{bottom:-13px}.story-journal{padding-top:15px}.story-decision{padding-top:15px}.story-options>button{padding:10px 8px}.story-options>button small{line-height:1.6}}
