:root{color:var(--text);background:var(--surface);font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--surface: #fff9ed;--glyph-dim: #b3b5ba;--glyph-hit: #e0202a;--surface-raised: #ffffff;--text: #18342c;--text-muted: #5d7069;--emerald: #18775d;--emerald-text: var(--emerald);--coral: #b94c36;--coral-text: var(--coral);--radius-button: 14px;--radius-card: 18px;--focus-ring: var(--coral);--shadow: 0 8px 24px rgb(24 52 44 / 12%);--shadow-elevated: 0 14px 32px rgb(24 52 44 / 18%)}@media(prefers-color-scheme:dark){:root{--glyph-dim: #6f8a82;--glyph-hit: #ff6b6b;--surface: #123a31;--surface-raised: #1b4a3e;--text: #f7f0df;--text-muted: #c2d5ca;--emerald: #17664f;--emerald-text: #7fd7b6;--coral-text: #ff9b85;--focus-ring: var(--coral-text);--shadow: 0 8px 24px rgb(0 0 0 / 24%);--shadow-elevated: 0 14px 32px rgb(0 0 0 / 32%)}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{min-width:44px;min-height:44px;border:0;border-radius:var(--radius-button);background:var(--emerald);box-shadow:var(--shadow);color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:.75rem 1rem;white-space:nowrap;transition:transform .15s ease,opacity .15s ease}button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}button:active{box-shadow:var(--shadow-elevated);transform:translateY(1px)}.app-shell{display:grid;gap:1rem;max-width:42rem;min-height:100vh;align-content:center;margin:auto;padding:2rem}.app-shell h1,.app-shell p{margin:0}.app-shell p{color:var(--text-muted)}.home-actions{display:flex;flex-wrap:wrap;gap:.75rem}.home-actions button:last-child{background:var(--coral)}@media(max-width:767px){.home-actions{flex-direction:column}.home-actions button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto;animation:none!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-screen{display:grid;gap:1rem;width:min(72rem,100%);min-height:100vh;margin:auto;padding:1rem}.teaching-screen{position:relative}.game-status-bar,.question-card,.hero-guide,.root-keyboard-panel{border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow)}.game-status-bar{display:flex;align-items:center;gap:1rem;padding:.75rem}.game-status-bar dl,.game-status-bar dl div{display:flex;align-items:baseline;gap:.35rem;margin:0}.game-status-bar dl{flex-wrap:wrap;margin-left:auto;gap:1rem}.game-status-bar dt{color:var(--text-muted)}.game-status-bar dd{margin:0;font-size:1.25rem;font-weight:800}.timer-paused{margin:0;color:var(--coral-text);font-weight:800}.secondary-button{background:transparent;box-shadow:none;color:var(--emerald-text);outline:2px solid currentcolor;outline-offset:-2px}.game-layout{display:grid;grid-template-columns:minmax(10rem,15rem) minmax(18rem,1fr);gap:1rem;align-items:stretch}.hero-guide{display:grid;align-content:center;justify-items:center;padding:1rem;text-align:center}.hero-guide__sprite{display:block;width:13rem;height:auto;max-width:100%}.hero-guide__sprite--thinking{filter:drop-shadow(0 .35rem .5rem rgb(24 119 93 / 18%));transform:rotate(-2deg) scale(.98)}.hero-guide__sprite--hinting{filter:drop-shadow(0 .4rem .65rem rgb(230 106 80 / 24%));transform:rotate(-3deg) scale(1.02)}.hero-guide__sprite--surprised{filter:drop-shadow(0 .5rem .75rem rgb(24 119 93 / 26%));transform:translateY(-.2rem) rotate(3deg) scale(1.05)}.hero-guide__sprite--celebrating{filter:drop-shadow(0 .55rem .8rem rgb(230 106 80 / 30%));transform:translateY(-.3rem) rotate(-2deg) scale(1.06)}.hero-guide p{margin:.75rem 0 0;font-weight:700}.learning-world{background:linear-gradient(#faf6ead9,#f4ead2d9),url(/assets/map-wide-BRvwJl4E.webp) center / cover}.learning-world :is(.game-status-bar,.question-card,.hero-guide,.root-keyboard-panel,.root-card,.result-report__panel){outline:2px solid #8b6940;outline-offset:-2px}.learning-world .game-status-bar{gap:.5rem}.learning-world__hero{width:3.6rem;height:2.4rem;object-fit:contain;flex-shrink:0}.learning-world__keyboard{width:6rem;height:auto}.learning-world__location{margin:0;font-weight:800}.learning-world:has(.rescue-panel) .learning-world__location{display:none}.learning-world:has(.rescue-panel) .learning-world__hero{width:2.4rem;height:1.6rem}@media(prefers-color-scheme:dark){.learning-world{background:linear-gradient(#12392ed9,#12392ed9),url(/assets/map-wide-BRvwJl4E.webp) center / cover}}.question-card{display:grid;justify-items:center;align-content:center;gap:1rem;min-height:30rem;padding:clamp(1.25rem,4vw,3rem);text-align:center}.question-meaning,.shape-hint,.answer-status,.example-word{margin:0}.question-meaning{color:var(--text-muted);font-size:1.125rem}.stage-prompt{max-width:32ch;margin:0;font-size:1.25rem;font-weight:800;text-wrap:balance}.glyph-frame{position:relative;display:grid;place-items:center;width:9rem;height:9rem;margin-bottom:.5rem}.glyph-frame h1{position:relative;z-index:1;margin:0;font-size:clamp(5rem,14vw,8rem);line-height:1}.glyph-frame--parts h1{color:var(--glyph-dim)}.glyph-part{position:absolute;top:50%;left:50%;z-index:2;display:block;width:1em;height:1em;margin:-.5em 0 0 -.5em;text-align:center;font-size:clamp(5rem,14vw,8rem);font-weight:700;line-height:1;color:var(--glyph-hit);pointer-events:none;--part-mask: linear-gradient(#000, #000);-webkit-mask-image:var(--part-mask);mask-image:var(--part-mask)}.glyph-part--left{--part-mask: linear-gradient(to right, #000 var(--cut-x, 50%), transparent var(--cut-x, 50%))}.glyph-part--right{--part-mask: linear-gradient(to right, transparent var(--cut-x, 50%), #000 var(--cut-x, 50%))}.glyph-part--top{--part-mask: linear-gradient(to bottom, #000 var(--cut-y, 50%), transparent var(--cut-y, 50%))}.glyph-part--bottom{--part-mask: linear-gradient(to bottom, transparent var(--cut-y, 50%), #000 var(--cut-y, 50%))}.glyph-part--center{--part-mask: linear-gradient(to right, transparent var(--cut-x1, 36%), #000 var(--cut-x1, 36%), #000 var(--cut-x2, 64%), transparent var(--cut-x2, 64%))}.glyph-part--sides{--part-mask: linear-gradient(to right, #000 var(--cut-x1, 31%), transparent var(--cut-x1, 31%), transparent var(--cut-x2, 69%), #000 var(--cut-x2, 69%))}.glyph-region-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.glyph-region-svg rect{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center}.glyph-region-svg--idle rect{opacity:.45;animation:region-halo-pulse 1.6s ease-in-out infinite}.glyph-region-svg--active rect{animation:region-halo-pulse .4s ease-out}.glyph-region-svg--wrong rect{animation:region-halo-wrong .18s ease-out}.glyph-region-svg--rescue rect{animation:region-halo-pulse 1s ease-in-out}.root-guide-svg{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.root-guide-line{fill:none;stroke:var(--coral-text);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}.root-guide-svg marker path{fill:var(--coral-text)}.root-guide-svg circle{fill:var(--surface);stroke:var(--coral-text);stroke-width:2}.root-guide-svg text{fill:var(--coral-text);font-size:24px;font-weight:800}.root-guide-token{transform-box:view-box;transform-origin:0 0}.root-guide-svg--playing .root-guide-line{animation:root-guide-draw .3s ease-out}@keyframes root-guide-draw{0%{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}.glyph-frame--wrong-key{animation:answer-shake .18s ease-out}.glyph-frame--complete h1{animation:glyph-recombine .4s ease-out}.code-slots{display:flex;gap:.75rem;padding:0;margin:0;list-style:none}.code-slots:has([data-slot-label]){margin-bottom:1rem}.code-slot{position:relative;display:grid;width:4rem;height:4rem;place-items:center;border:3px solid var(--text-muted);border-radius:var(--radius-button);font-size:1.75rem;font-weight:900}.code-slot--filled{border-color:var(--emerald-text)}.code-slot__root{font-size:2rem;line-height:1}.code-slot__key{position:absolute;right:.3rem;bottom:.1rem;color:var(--text-muted);font-size:.7rem;font-weight:700;line-height:1}.code-slot--active{border-color:var(--emerald-text);box-shadow:0 0 0 .25rem color-mix(in srgb,var(--emerald) 22%,transparent)}.code-slot[data-slot-label]:after{content:attr(data-slot-label);position:absolute;top:calc(100% + .25rem);color:var(--text-muted);font-size:.8rem;font-weight:700;white-space:nowrap}.code-slot--active[data-slot-label]:after{color:var(--emerald-text)}.root-token{position:absolute;bottom:.2rem;left:50%;z-index:3;pointer-events:none;color:var(--coral-text);font-size:.8rem;line-height:1;transform:translate(-50%)}.root-guide-anchor{z-index:3;min-width:4.5rem;padding:.4rem .75rem;margin:0;border:2px solid var(--coral-text);border-radius:999px;background:var(--surface-raised);color:var(--coral-text);font-weight:900;pointer-events:none}.answer-status{min-height:1.5em;color:var(--coral-text);font-weight:800}.question-feedback{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem 1rem;min-height:2.75rem}.game-screen--correct-key .answer-status,.game-screen--advanced .answer-status,.game-screen--complete .answer-status,.game-screen--finished .answer-status{color:var(--emerald-text)}.shape-hint{border-radius:var(--radius-button);background:#e66a5024;color:var(--coral-text);padding:.65rem .85rem;font-weight:700}.teaching-task-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;padding:0;margin:0;list-style:none}.teaching-task-steps li{padding:.35rem .7rem;border:2px solid rgb(93 112 105 / 35%);border-radius:999px;color:var(--text-muted);font-size:.85rem;font-weight:800}.teaching-task-steps .is-active{border-color:var(--emerald-text);background:#18775d1f;color:var(--emerald-text)}.teaching-action{padding:.7rem 1rem;margin:0;border-radius:var(--radius-button);background:#e66a5024;color:var(--coral-text);font-weight:800}.teaching-next-action,.teaching-device-hint{margin:-.45rem 0 0;color:var(--text-muted);font-size:.9rem;font-weight:700}.teaching-device-hint{color:var(--emerald-text)}.wrong-key-marker{padding:.25rem .65rem;margin:-.45rem 0 0;border:2px solid var(--coral-text);border-radius:999px;color:var(--coral-text);font-weight:900}.example-word{font-size:1.25rem}.atlas-stamp{margin:0;border:2px solid var(--emerald-text);border-radius:999px;background:#18775d1f;color:var(--emerald-text);padding:.45rem .75rem;font-weight:900}.root-keyboard-panel{padding:1rem}.diagnostic-screen,.teaching-screen{grid-template-rows:auto minmax(0,1fr) auto;align-content:center}.diagnostic-screen .question-card,.teaching-screen .question-card{min-height:min(30rem,calc(100vh - 18rem))}.glyph-region-picker{position:absolute;z-index:2;inset:0}.glyph-region{position:absolute;min-width:44px;min-height:44px;border:2px dashed transparent;border-radius:var(--radius-button);background:transparent;box-shadow:none;padding:0;cursor:pointer}.glyph-region:hover,.glyph-region:focus-visible{border-color:var(--emerald-text);background:#18775d1f}.glyph-region--left{inset:0 50% 0 0}.glyph-region--right{inset:0 0 0 50%}.glyph-region--top{inset:0 0 50%}.glyph-region--bottom{inset:50% 0 0}.glyph-region--center{inset:0 36%}.glyph-region--sides{inset:0;clip-path:polygon(0 0,27% 0,27% 100%,0 100%,0 0,100% 0,100% 100%,73% 100%,73% 0)}.glyph-region--whole{inset:0}.glyph-region-picker--wrong .glyph-region:focus{border-color:var(--coral-text);background:#b94c3624}.glyph-frame--wrong-region{outline:2px solid var(--coral-text);outline-offset:.25rem;animation:answer-shake .18s ease-out}.teaching-energy{display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,30rem);gap:.35rem;padding:0;margin:0;list-style:none}.teaching-energy__label{margin:0;color:var(--text-muted);font-weight:800}.teaching-energy li{min-width:0;border:2px solid rgb(93 112 105 / 35%);border-radius:.5rem;padding:.35rem;color:var(--text-muted);font-size:.8rem;font-weight:800}.teaching-energy li.teaching-energy__step--filled{border-color:var(--emerald-text);background:#18775d29;color:var(--emerald-text)}.rescue-panel{display:grid;gap:.75rem}.rescue-panel>*{margin:0}.rescue-panel__info{display:grid;align-content:start;gap:.5rem}.rescue-panel__info>*{margin:0}.rescue-panel__info .root-token{position:static;transform:none;font-size:1rem;font-weight:800}.rescue-panel .root-keyboard-panel{padding:0;box-shadow:none}.game-screen:has(.rescue-panel) .question-card{gap:.75rem;min-height:22rem;padding-block:1.5rem}.game-screen:has(.rescue-panel){align-content:start}.game-screen:has(.rescue-panel) .glyph-frame{width:8rem;height:8rem}.root-keyboard-panel h2{margin:0 0 .75rem;font-size:1.125rem}.root-keyboard{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:.5rem;padding:0;margin:0;list-style:none}.root-keyboard li{grid-column:span 2;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.35rem;min-height:3rem;padding:.4rem;border:2px solid rgb(93 112 105 / 35%);border-radius:10px}.root-keyboard kbd{color:var(--emerald-text);font:800 .95rem/1 system-ui,sans-serif}.root-keyboard li span:not(.sr-only){font-size:1.4rem;font-weight:800}.root-keyboard li button{display:grid;grid-template-columns:auto 1fr;width:100%;min-width:0;height:100%;min-height:44px;gap:.35rem;align-items:center;border-radius:8px;background:transparent;box-shadow:none;color:var(--text);padding:.25rem}.root-keyboard li:has(button){padding:.15rem}.root-keyboard li button[aria-pressed=true]{background:#18775d29;outline:2px solid var(--emerald-text)}.teaching-screen .root-keyboard-panel{opacity:.72}.root-keyboard__key[data-highlighted=true]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.35rem;min-height:44px;padding:.25rem;border-radius:8px;background:#18775d29;box-shadow:0 0 0 .3rem #18775d2e}.root-keyboard li[data-wrong-key=true] .root-keyboard__key,.root-keyboard li[data-wrong-key=true] button{background:#b94c3624;box-shadow:0 0 0 .2rem #b94c3633;color:var(--coral-text)}.root-keyboard li[data-success-key=true] .root-keyboard__key,.root-keyboard li[data-success-key=true] button{background:#18775d33;outline:2px solid var(--emerald-text)}.success-key-marker{margin:.35rem auto;color:var(--emerald-text);font-weight:700}.teaching-screen[data-hint-strength=strong] .glyph-region-svg--idle rect{animation:region-halo-pulse .7s ease-in-out infinite}.teaching-screen[data-hint-strength=strong] .root-keyboard__key[data-highlighted=true]{animation:key-target-pulse .7s ease-in-out infinite}.game-screen:not(.teaching-screen) .root-keyboard li:has(>.root-keyboard__key[data-highlighted=true]){border-color:var(--emerald-text);background:color-mix(in srgb,var(--emerald) 16%,transparent);box-shadow:0 0 0 .25rem color-mix(in srgb,var(--emerald) 22%,transparent);outline:3px solid var(--emerald-text);outline-offset:-1px;animation:key-target-pulse .9s ease-in-out infinite}.game-screen:not(.teaching-screen) .root-keyboard li[data-success-key=true]{border-color:var(--emerald-text);background:color-mix(in srgb,var(--emerald) 20%,transparent)}.game-screen:not(.teaching-screen) .root-keyboard__key[data-highlighted=true],.game-screen:not(.teaching-screen) .root-keyboard li[data-success-key=true] .root-keyboard__key{background:none;box-shadow:none;outline:none}.root-keyboard .root-keyboard__spacer{grid-column:span 1;visibility:hidden}.feedback-pop--answer{animation:answer-pop .4s ease-out}.feedback-pop--lesson{animation:stage-celebration 1s ease-out}.question-card--success{animation:question-success .8s ease-in forwards}.question-card--arrive{animation:question-arrive .32s ease-out}[data-animation-tier=answer] .root-token,[data-animation-tier=answer] .code-slot--filled{animation:answer-pop .4s ease-out}[data-animation-tier=rescue]{animation:rescue-panel 1s ease-out}@keyframes answer-shake{0%,to{transform:translate(0)}35%{transform:translate(-.35rem)}70%{transform:translate(.35rem)}}@keyframes region-halo-pulse{50%{opacity:.55;transform:scale(1.05)}}@keyframes region-halo-wrong{50%{opacity:.2}}@keyframes key-target-pulse{50%{transform:scale(1.06);box-shadow:0 0 0 .45rem #18775d3d}}@keyframes glyph-recombine{0%{opacity:.6;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes answer-pop{50%{transform:translateY(-.2rem) scale(1.03)}}@keyframes rescue-highlight{50%{opacity:.55;transform:translateY(-.15rem) scale(1.04)}}@keyframes rescue-panel{0%{opacity:.75}to{opacity:1}}@keyframes stage-celebration{50%{opacity:.9;transform:translateY(-.45rem) rotate(-2deg)}}@keyframes question-success{0%{opacity:1;transform:translateY(0)}to{opacity:.18;transform:translateY(-.65rem)}}@keyframes question-arrive{0%{opacity:0;transform:translateY(.65rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.game-status-bar,.game-layout{grid-template-columns:1fr}.game-status-bar{display:flex;flex-wrap:wrap}.hero-guide{display:none}.question-card{gap:.75rem;min-height:22rem;padding:1rem}.glyph-frame{width:7rem;height:7rem}.root-keyboard{gap:.3rem}.root-keyboard li{display:flex;flex-direction:column;justify-content:center;min-height:2.7rem;padding:.3rem}.root-keyboard kbd{font-size:.75rem}.root-keyboard li span:not(.sr-only){font-size:1rem}.root-keyboard li button{display:flex;flex-direction:column;justify-content:center;gap:.15rem}.root-keyboard li:has(button){padding:0}.diagnostic-screen .question-card,.teaching-screen .question-card{min-height:20rem}.teaching-energy{gap:.2rem}.teaching-energy li{padding:.25rem;font-size:.7rem}.teaching-task-steps li{padding-inline:.5rem;font-size:.75rem}.game-screen:has(.rescue-panel) .question-card{gap:.4rem;min-height:0;padding-block:.75rem}.game-screen:has(.rescue-panel) .glyph-frame{width:6rem;height:6rem}.game-screen:has(.rescue-panel) .glyph-frame h1,.game-screen:has(.rescue-panel) .glyph-frame .glyph-part{font-size:4.5rem}.game-screen:has(.rescue-panel){gap:.5rem}.rescue-panel{gap:.4rem}.rescue-panel__info{gap:.25rem}}.eyebrow{color:var(--coral-text);font-size:.85rem;font-weight:900;letter-spacing:.12em}.home-screen,.result-screen,.atlas-screen{width:min(72rem,100%);min-height:100vh;margin:auto;padding:clamp(1.25rem,4vw,3rem)}.home-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,24rem);grid-template-areas:"intro achievement" "warning warning" "map map";gap:1rem 2rem;align-content:start}.home-screen__intro{display:grid;grid-area:intro;justify-items:start}.home-mode-picker{grid-area:map;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);align-self:center;width:min(100%,56rem);margin:auto}.home-mode-card{display:grid;justify-items:center;gap:0;padding:0;border:0;border-radius:2rem;background:transparent;box-shadow:none;color:#164622;text-align:center;white-space:normal}.home-mode-card--adventure{color:#702407}.home-mode-card .home-mode-card__scene{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #442b2570)}.home-mode-card__art{--entry-height: min(48dvh, 28rem);position:relative;display:grid;width:min(100%,calc(var(--entry-height) * 1.111));aspect-ratio:10 / 9;container-type:inline-size}.home-button-glow{position:absolute;left:21%;bottom:0;width:61%;aspect-ratio:600 / 240;pointer-events:none}.home-mode-card--adventure .home-button-glow{left:23%;bottom:.7cqw;width:57%}.home-button-sprite.sprite{width:100%;height:100%;background-size:400% 100%;background-position:0 0;animation-name:home-sprite-loop}.home-button-sprite.sprite--fallback{display:none}@keyframes home-sprite-loop{0%{background-position-x:0}to{background-position-x:133.333333%}}.home-mode-card{cursor:pointer;transition:transform .15s ease,filter .15s ease}.home-mode-card:is(:hover,:focus-visible){transform:translateY(-3px) scale(1.025);filter:brightness(1.08) drop-shadow(0 0 8px #ffcd43)}.home-mode-card:is(:hover,:focus-visible) .home-button-glow{filter:brightness(1.35)}.home-mode-card:active{transform:scale(.98);filter:brightness(1.16)}@media(prefers-reduced-motion:reduce){.home-button-sprite.sprite,.home-party-sprite.sprite{animation:none!important;background-position:0 0}.home-mode-card:is(:hover,:focus-visible,:active){transform:none}}.home-mode-card__copy{display:grid;justify-items:center;gap:.2rem;width:90%;margin-top:-1rem;position:relative;border:3px solid #c28a2d;border-radius:1.5rem;padding:.5rem .65rem;background:linear-gradient(#fff1c8,#f8df9a);box-shadow:0 3px #693d19,inset 0 0 0 2px #fff1b4;font-weight:800}.home-mode-card strong{font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.15}.home-mode-card__copy>span{font-size:clamp(.85rem,1.4vw,1.1rem)}.home-mode-card__copy .home-mode-card__cta{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;min-height:44px;border:2px solid #ffd35e;border-radius:1rem;background:linear-gradient(#29973a,#096126);box-shadow:0 2px #613914;color:#fff9dc;text-shadow:0 2px 1px #123a24;font-size:clamp(1.2rem,2vw,1.7rem)}.home-mode-card--adventure .home-mode-card__cta{background:linear-gradient(#d86106,#9a3500);text-shadow:0 2px 1px #6b2505}.home-mode-card__cta>span{color:#ffde68}.home-mode-card:hover .home-mode-card__cta{filter:brightness(1.12)}.home-screen__tools{display:flex;flex-wrap:wrap;gap:.5rem}.home-mode-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;flex-basis:100%}.reteach-menu{grid-column:1;align-self:start}.reteach-menu summary{color:var(--emerald-text);cursor:pointer;font-weight:800}.reteach-menu button{margin:.75rem .5rem 0 0}.home-screen__intro h1,.atlas-screen h1,.result-screen h1{margin:0;font-size:clamp(2.5rem,7vw,5rem);line-height:1}.home-screen__english{margin:.25rem 0 0;color:var(--text-muted);font-size:.85rem;font-weight:700;letter-spacing:.12em}.home-screen__intro p,.atlas-screen__header p,.result-screen>p{margin:.75rem 0 0}.sound-toggle{margin-top:1rem}.storage-warning{grid-area:warning;margin:0;border:2px solid var(--coral-text);border-radius:var(--radius-card);background:var(--surface-raised);padding:.85rem 1rem;font-weight:700}.achievement-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-area:achievement;gap:.35rem;align-items:center;align-self:center;border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow);padding:1rem}.achievement-card__copy{display:grid;gap:.35rem}.achievement-card strong{font-size:1.25rem}.achievement-card span,.home-screen__intro>p:last-child,.root-card p{color:var(--text-muted)}.island-map{position:relative;grid-area:map;justify-self:center;width:min(100%,calc((100dvh - 9rem)*1.6));min-width:min(100%,40rem);overflow:hidden;border:3px solid #5a3a1e;border-radius:var(--radius-card);background:linear-gradient(160deg,#f4ead2,#cfe3b8 55%,#8fc08a);box-shadow:var(--shadow-elevated)}.island-map__stage{position:relative;aspect-ratio:8 / 5}.island-map__art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lesson-route{position:absolute;inset:0;margin:0;padding:0;list-style:none}.lesson-route__node{position:absolute;left:var(--wx);top:var(--wy);display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:.1rem;width:11%;transform:translate(-50%,-50%);text-align:center}.lesson-route__node:nth-child(odd){top:calc(var(--wy) - 6%)}.lesson-route__node:nth-child(2n){top:calc(var(--wy) - 6%)}.lesson-route__button{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:.1rem;width:100%;min-width:44px;min-height:44px;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;padding:0;text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.lesson-route__button:disabled{cursor:not-allowed;opacity:1}.lesson-route__button:active{box-shadow:none;transform:none}.lesson-route__button:active:not(:disabled){transform:scale(.95)}.lesson-route__button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:12px}.landmark-art{width:100%;height:auto;aspect-ratio:1;filter:drop-shadow(0 4px 6px rgb(40 30 10 / 35%))}.landmark-art--fallback{display:grid;place-items:center;border:3px solid #5a3a1e;border-radius:50%;background:#f4ead2;color:#3a2c1a;font-weight:900}.lesson-route__node strong{border-radius:999px;background:#faf6eaeb;color:#3a2c1a;padding:.05rem .5rem;font-size:clamp(.7rem,1.1vw,.95rem);line-height:1.25;white-space:nowrap}.lesson-route__node span:not(.hero-party):not(.landmark-art){color:#fff;border-radius:999px;background:#3a2c1ac7;padding:0 .45rem;font-size:clamp(.6rem,.9vw,.8rem);line-height:1.25;white-space:nowrap}.lesson-route__node--locked img.landmark-art{filter:grayscale(.85) brightness(.9) blur(.6px)}.lesson-route__node--locked .landmark-art{filter:grayscale(.85) brightness(.9);opacity:.7}.lesson-route__node--completed:after{content:"★";position:absolute;top:-.2rem;right:8%;color:#f2b705;font-size:1.4rem;text-shadow:0 1px 3px rgb(0 0 0 / 55%)}.lesson-route__node--current .landmark-art{filter:drop-shadow(0 0 10px #ffd966) drop-shadow(0 4px 6px rgb(40 30 10 / 35%));animation:landmark-glow 1.6s ease-in-out infinite alternate}@keyframes landmark-glow{0%{transform:scale(1)}to{transform:scale(1.06)}}.hero-party{position:absolute;top:0;left:100%;width:120%;pointer-events:none}.lesson-route__node:nth-child(2n) .hero-party{right:100%;left:auto}.hero-party__art{width:100%;height:auto}.island-map__signs{display:contents}@media(min-width:768px)and (max-width:1023px){.lesson-route__node{width:9%}}.island-map .island-map__node{position:absolute;z-index:2;display:grid;gap:.1rem;width:min(15rem,22%);min-height:44px;border:3px solid #3a2c1a;border-radius:10px;background:#6b4a2a;color:#fff;text-align:left;box-shadow:0 4px #3a2c1a}.island-map .island-map__node:not(:focus-visible){outline:0}.island-map__node span{color:#fff;font-size:.8rem;font-weight:600}.island-map .island-map__node--lesson{top:3%;left:3%}.island-map .island-map__node--review{top:3%;left:27%}.island-map .island-map__node--challenge{top:3%;right:3%;background:#8a3b2a}.island-map .island-map__node--adventure{bottom:3%;left:3%;background:#2f6a4a}.island-map .island-map__node--atlas{right:27%;bottom:3%;background:#4a4570}.island-map .island-map__node--monster-atlas{right:3%;bottom:3%;background:#4a4570}.island-map .island-map__node:disabled{border-style:dashed;background:#5b5348;opacity:1;box-shadow:none}.hero-keyboard{width:7.5rem;height:auto;aspect-ratio:3 / 2}.hero-keyboard--fallback{display:block;border:3px solid #5a3a1e;border-radius:10px;background:repeating-linear-gradient(90deg,transparent 0 14%,rgb(90 58 30 / 35%) 14% 16%),linear-gradient(180deg,#c9a56a,#8a6a3a);opacity:.85}.hero-keyboard--legendary{border-color:#f2b705;background:repeating-linear-gradient(90deg,transparent 0 14%,rgb(255 255 255 / 45%) 14% 16%),linear-gradient(180deg,#ffe58a,#f2b705);box-shadow:0 0 18px #f2b705;opacity:1}button:disabled{cursor:not-allowed;opacity:.55}@media(prefers-color-scheme:dark){.island-map__art{filter:brightness(.66) saturate(.82)}}@media(min-width:1100px)and (min-height:650px){.game-screen{width:min(90rem,100%);min-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;gap:1.25rem;padding:1.25rem 2rem 1.5rem}.game-layout{grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:1.25rem;min-height:0}.question-card{min-height:0;gap:clamp(.5rem,1.6vh,1rem);padding:clamp(1rem,2.5vh,2rem) clamp(1.5rem,3vw,3rem)}.game-status-bar{padding:.5rem .75rem}.root-keyboard-panel{padding:.85rem 1.1rem 1rem}.rescue-panel{grid-template-columns:minmax(14rem,20rem) minmax(0,1fr);align-items:start;gap:.75rem 1.5rem}.game-screen:has(.rescue-panel) .question-card{min-height:0}.root-keyboard{gap:.4rem}.root-keyboard li{min-height:2.65rem}.glyph-region-svg--rescue rect{animation-name:region-halo-pulse-wide}.home-screen,.result-screen,.atlas-screen{width:min(90rem,100%);min-height:100dvh}.home-screen{gap:1.5rem 3rem}}@media(min-width:768px)and (orientation:landscape){.home-screen{height:100dvh;min-height:0;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:"intro achievement" "reteach achievement" "warning warning" "map map";gap:.5rem 1.5rem;padding:.75rem clamp(1rem,2vw,2rem)}.home-screen__intro{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem}.home-screen__intro h1{font-size:clamp(2rem,3.2vw,2.75rem)}.home-screen__intro p,.home-screen__english{margin:0}.home-screen__intro button{padding:.4rem .85rem}.sound-toggle{margin-top:0}.reteach-menu{grid-area:reteach}.reteach-menu button{margin-top:.4rem}.achievement-card{align-self:start;padding:.5rem .85rem}.achievement-card strong{font-size:1.05rem}.achievement-card .hero-keyboard{width:5.5rem}.island-map{--map-w: min(100cqw - 6px, (100cqh - 6px) * 1.6);container-type:size;display:grid;place-items:start center;width:100%;height:100%;min-width:0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none}.island-map__stage{box-sizing:content-box;width:var(--map-w);overflow:hidden;border:3px solid #5a3a1e;border-radius:var(--radius-card);background:linear-gradient(160deg,#f4ead2,#cfe3b8 55%,#8fc08a);box-shadow:var(--shadow-elevated)}.island-map__signs{position:absolute;top:3px;right:0;left:0;display:block;width:var(--map-w);height:calc(var(--map-w) / 1.6);margin:0 auto;pointer-events:none}.island-map__signs>*{pointer-events:auto}}@media(min-width:768px)and (max-height:820px){.lesson-route__node{width:8.5%}.game-screen{grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem;padding-block:.75rem}.game-layout{gap:.75rem}.question-card{gap:.35rem;min-height:0;padding-block:.75rem}.glyph-frame{width:7rem;height:7rem;margin-bottom:.25rem}.glyph-frame h1,.glyph-frame .glyph-part{font-size:6rem}.game-screen:has(.rescue-panel) .question-card{gap:.25rem;min-height:0;padding-block:.5rem}.game-screen:has(.rescue-panel) .glyph-frame{width:5.5rem;height:5.5rem}.game-screen:has(.rescue-panel) .glyph-frame h1,.game-screen:has(.rescue-panel) .glyph-frame .glyph-part{font-size:4.5rem}.code-slot{width:3.25rem;height:3.25rem;font-size:1.5rem}.hero-guide__sprite{width:6.5rem}.root-keyboard-panel{padding:.6rem .9rem .75rem}.root-keyboard-panel h2{margin-bottom:.4rem;font-size:1rem}.root-keyboard{gap:.3rem}.root-keyboard li{min-height:2.35rem}}@media(min-width:768px)and (max-height:700px){.game-layout{grid-template-columns:minmax(0,1fr)}.hero-guide{display:none}.glyph-frame{width:5.5rem;height:5.5rem}.glyph-frame h1,.glyph-frame .glyph-part{font-size:4.5rem}.game-screen:has(.rescue-panel) .glyph-frame{width:4.5rem;height:4.5rem}.game-screen:has(.rescue-panel) .glyph-frame h1,.game-screen:has(.rescue-panel) .glyph-frame .glyph-part{font-size:3.75rem}.root-keyboard li{min-height:2.2rem;padding-block:.2rem}.root-keyboard li span:not(.sr-only){font-size:1.2rem}.code-slots:has([data-slot-label]){margin-bottom:.6rem}}@keyframes region-halo-pulse-wide{50%{opacity:.55}}.result-screen{display:grid;max-width:42rem;align-content:center;justify-items:center;text-align:center}.result-screen__highlight{color:var(--coral-text);font-size:clamp(2.25rem,6vw,3.5rem);font-weight:900;line-height:1.1;text-wrap:balance}.result-report{gap:1rem}.result-report>p,.result-report>dl{margin:0}.result-report h1{font-size:clamp(1.75rem,4vw,2.5rem)}.result-report__score{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;width:100%;border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow)}.result-report__score>div{padding:1rem .5rem}.result-report__score>div+div{border-left:1px solid color-mix(in srgb,var(--text) 12%,transparent)}.result-report__score dt,.result-report__fact dt{color:var(--text-muted);font-size:.875rem}.result-report__score dd{margin:.25rem 0 0;font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:900}.result-report__panel{display:grid;width:100%;gap:.5rem;border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow);padding:1rem 1.25rem}.result-report__panel>p{margin:0;font-weight:700}.result-report__teaching{gap:.75rem}.result-report__teaching-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem}.result-report__concept{font-size:1.125rem;font-weight:800}.result-report__chip{justify-self:center;border-radius:999px;background:color-mix(in srgb,var(--emerald) 14%,transparent);color:var(--emerald-text);padding:.25rem .875rem;font-size:.875rem;font-weight:800}.result-report__chip[data-tone=retry]{background:color-mix(in srgb,var(--coral) 14%,transparent);color:var(--coral-text)}.result-report__fact{display:flex;align-items:baseline;justify-content:center;gap:.75rem;margin:0;border-top:1px solid color-mix(in srgb,var(--text) 12%,transparent);padding-top:.75rem}.result-report__fact dd{margin:0;font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:900}.result-report__next{max-width:36rem;border-radius:999px;background:color-mix(in srgb,var(--emerald) 12%,transparent);color:var(--emerald-text);padding:.5rem 1rem;font-weight:800;text-wrap:balance}.result-screen__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem}.atlas-screen__header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.atlas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.root-card{border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow);padding:1rem}.root-card h2,.root-card p{margin:0}.root-card h2{color:var(--emerald-text);font-size:1.5rem}.root-card ul{display:grid;gap:.35rem;padding:0;margin:.75rem 0 0;list-style:none}.root-card li{border-top:1px solid rgb(93 112 105 / 24%);padding-top:.35rem}@media(max-width:767px){.home-screen{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "warning" "achievement" "map"}.home-mode-picker{grid-template-columns:1fr}.home-mode-card img{max-height:18dvh}.reteach-menu{grid-column:1}.island-map{width:100%;min-width:0}.island-map__stage{aspect-ratio:2 / 3}.lesson-route__node{left:var(--tx);top:var(--ty);width:17%}.lesson-route__node:nth-child(odd){top:calc(var(--ty) - 3%)}.lesson-route__node:nth-child(2n){top:calc(var(--ty) - 3%)}.lesson-route__node strong{font-size:.75rem}.lesson-route__node span:not(.hero-party):not(.landmark-art){font-size:.7rem}.island-map__signs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.6rem;background:#f4ead2}.island-map .island-map__node{position:static;width:100%}.atlas-screen__header,.result-screen__actions{align-items:stretch;flex-direction:column}.atlas-grid{grid-template-columns:1fr}}.monster-hp{width:100%;height:.5rem;background:var(--surface);border-radius:.25rem;overflow:hidden}.monster-hp__fill{height:100%;background:var(--emerald);transition:width .2s ease-out}.monster-atlas__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:1rem;list-style:none;padding:0}.monster-atlas__entry{display:grid;justify-items:center;gap:.5rem;padding:1rem;background:var(--surface-raised);border-radius:var(--radius-card)}.monster-atlas__entry img{width:4rem;height:4rem;object-fit:contain}.monster-atlas__silhouette{width:4rem;height:4rem;display:grid;place-items:center;background:var(--surface);border-radius:50%;color:var(--text-muted);font-size:1.5rem}.region-map__path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.region-node{position:relative}.region-node:not(:last-child):after{content:"";position:absolute;top:50%;right:-14px;width:14px;border-top:3px dashed var(--text-muted)}.region-node:nth-child(4n):after{display:none}.region-node__button{width:100%;min-height:140px;display:grid;justify-items:center;align-content:center;gap:4px;padding:12px 8px;border-radius:var(--radius-card);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow)}.region-node__index{font-weight:700;color:var(--text-muted)}.region-node__boss{width:56px;height:56px;object-fit:contain}.region-node--open .region-node__button{background:var(--emerald);color:#fff}.region-node--open .region-node__index{color:#fff}.region-node--cleared .region-node__button span[aria-label]{color:var(--emerald-text)}.region-node--locked .region-node__button{cursor:not-allowed}.region-node--locked .region-node__index,.region-node--locked .region-node__button strong,.region-node--locked .region-node__button>span{opacity:.55}.region-node--locked .region-node__boss{filter:grayscale(1) brightness(.6)}.region-node small{color:var(--text-muted)}@media(prefers-reduced-motion:no-preference){.region-node--open .region-node__button{animation:region-pulse 1.8s ease-in-out infinite}}@keyframes region-pulse{0%,to{box-shadow:var(--shadow)}50%{box-shadow:var(--shadow-elevated)}}@media(max-width:767px){.region-map__path{grid-template-columns:1fr}.region-node:after{display:none}}.sprite{display:inline-block;width:calc(var(--sprite-w) * var(--sprite-scale, 1) * 1px);height:calc(var(--sprite-h) * var(--sprite-scale, 1) * 1px);background-repeat:no-repeat;background-size:calc(var(--sprite-w) * var(--sprite-frames, 1) * var(--sprite-scale, 1) * 1px) 100%;background-position-x:calc(var(--sprite-w) * (var(--sprite-frames, 1) - 1) * var(--sprite-scale, 1) * -1px);animation:sprite-play var(--sprite-duration, 1s) steps(var(--sprite-frames, 1)) var(--sprite-iterations, 1) backwards;animation-delay:var(--sprite-delay, 0ms)}.sprite--fallback{display:inline-grid;place-items:center;border:3px solid var(--text);border-radius:6px;background:var(--surface-raised);color:var(--text);font-weight:900;animation:none}@keyframes sprite-play{0%{background-position-x:0}to{background-position-x:calc(var(--sprite-w) * var(--sprite-frames, 1) * var(--sprite-scale, 1) * -1px)}}.battle-screen{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.75rem;width:min(90rem,100%);height:100dvh;min-height:0;padding:.75rem}.battle-arena{--sprite-scale: .8;position:relative;min-height:0;overflow:hidden;border:3px solid #2b2238;border-radius:var(--radius-card)}.battle-stage{position:absolute;inset:0;background:var(--battle-bg, none) center bottom / cover no-repeat,linear-gradient(#5b8bd6,#9cc6f0 62%,#6aa65a 62%,#4f8a44)}.battle-stage__scene{position:absolute;inset:0}.battle-party{position:absolute;left:4%;bottom:8%;display:flex;align-items:flex-end;gap:.25rem}.battle-hero[data-hero=archer]{margin-bottom:1.5rem}.battle-monster{position:absolute;right:5%;bottom:9%;display:grid;justify-items:center;gap:.35rem;min-width:9rem;transform:translate(calc(var(--proximity, 0) * -2rem));transition:transform .3s ease-out}.battle-monster__sprite,.battle-defeated>.sprite{margin-top:calc(var(--sprite-h) * var(--sprite-scale, 1) * -.1px)}.battle-monster__name,.battle-monster .monster-hp{position:relative;z-index:1}.battle-monster__name{margin:0;border-radius:999px;background:#141828d1;color:#fff;padding:.15rem .6rem;font-size:.85rem;font-weight:800}.battle-monster .monster-hp{height:.6rem;border:2px solid #2b2238;background:#2b2238}.battle-monster .monster-hp__fill{background:#e8483f}.battle-monster .sprite--fallback img,.battle-defeated .sprite--fallback img{width:70%;height:70%;object-fit:contain}.battle-hud{position:absolute;top:.5rem;left:.5rem;right:.5rem;z-index:2;padding:.35rem .75rem;border:2px solid #f4d27a;background:#141828d1;color:#fff;box-shadow:none}.battle-hud p{margin:0;font-weight:800}.battle-hud .secondary-button{color:#f4d27a}.spell-scroll{position:absolute;top:max(18%,4.75rem);left:50%;z-index:1;display:grid;justify-items:center;gap:.35rem;width:clamp(14rem,26vw,20rem);border:3px solid #3a2c1a;border-radius:8px;background:#f6ecd2;color:#3a2c1a;padding:.75rem 1rem;text-align:center;transform:translate(-50%)}.spell-scroll__echo{position:absolute;inset:0;z-index:3;display:grid;align-content:center;justify-items:center;gap:.5rem;border-radius:5px;background:#f6ecd2;pointer-events:none;animation:spell-echo-out .3s ease-in forwards}.spell-scroll__echo-glyph{color:#2b1d0e;font-size:4rem;font-weight:700;line-height:1}.spell-scroll__echo-slots{display:flex;gap:.75rem}.spell-scroll__echo-slot{position:relative;display:grid;width:3.25rem;height:3.25rem;place-items:center;border:3px solid var(--emerald-text);border-radius:var(--radius-button);font-size:1.5rem;font-weight:900}@keyframes spell-echo-out{0%,60%{opacity:1}to{opacity:0}}.spell-scroll .glyph-frame{width:6.5rem;height:6.5rem}.spell-scroll .glyph-frame h1,.spell-scroll .glyph-frame .glyph-part{font-size:5.5rem}.spell-scroll .glyph-frame h1{color:#2b1d0e}.spell-scroll .glyph-frame--parts h1{color:var(--glyph-dim)}.spell-scroll .answer-status{margin:0}.boss-charge{position:absolute;top:4.75rem;left:5%;z-index:2;width:min(16rem,40%);height:1.25rem;overflow:hidden;border:2px solid #2b2238;border-radius:4px;background:#141828b3}.boss-charge__fill{height:100%;background:#f4a23a;transition:width 1s linear}.boss-charge p{position:absolute;inset:0;margin:0;color:#fff;font-size:.75rem;font-weight:900;line-height:1.25rem;text-align:center}.boss-charge--urgent .boss-charge__fill{background:#e8483f;animation:boss-urgent .6s ease-in-out infinite}@keyframes boss-urgent{50%{opacity:.6}}.battle-result{position:absolute;top:50%;left:50%;z-index:3;min-height:auto;transform:translate(-50%,-50%)}.spell-scroll,.battle-screen .root-keyboard-panel{--surface: #fff9ed;--surface-raised: #ffffff;--text: #18342c;--text-muted: #5d7069;--emerald-text: #18775d;--coral-text: #b94c36;--focus-ring: #b94c36}.battle-screen .root-keyboard-panel{color:var(--text);border:3px solid #3a2c1a;background:#faf6eaf5}@media(max-height:820px){.battle-arena{--sprite-scale: .6}.spell-scroll{top:max(14%,4.75rem);padding-block:.5rem}.spell-scroll .glyph-frame{width:5rem;height:5rem}.spell-scroll .glyph-frame h1,.spell-scroll .glyph-frame .glyph-part{font-size:4.25rem}}@media(max-height:700px){.battle-arena{--sprite-scale: .5}.spell-scroll .glyph-frame{width:4.25rem;height:4.25rem}.spell-scroll .glyph-frame h1,.spell-scroll .glyph-frame .glyph-part{font-size:3.5rem}}@media(max-width:767px){.battle-arena{--sprite-scale: .5}.battle-monster{--sprite-scale: .45;top:4.5rem;right:3%;bottom:auto;min-width:6rem;transform:translate(calc(var(--proximity, 0) * -.75rem))}.battle-monster--large{--sprite-scale: .34}.battle-party{left:3%;bottom:calc(var(--scroll-h, 11rem) + .5rem)}.battle-hero:nth-child(n){margin-right:-3rem;margin-bottom:0}.boss-charge{top:4.5rem;left:3%;width:40%}.battle-hud{flex-wrap:nowrap;gap:.5rem;font-size:.85rem}.battle-hud .secondary-button{padding:.5rem .6rem}.spell-scroll{top:auto;bottom:.5rem;width:calc(100% - 1rem);height:var(--scroll-h, 11rem);gap:.2rem;padding-block:.5rem}.spell-scroll .glyph-frame{width:4.25rem;height:4.25rem}.spell-scroll .glyph-frame h1,.spell-scroll .glyph-frame .glyph-part{font-size:3.5rem}.spell-scroll .code-slot{width:3.25rem;height:3.25rem}.spell-scroll .answer-status{font-size:.85rem}}.battle-hero .sprite{transition:transform .2s ease-out}.battle-hero[data-pose=attack] .sprite{transform:translate(1.5rem)}.battle-hero[data-pose=hurt] .sprite{transform:translate(-.75rem);filter:brightness(1.6) saturate(.6)}.battle-party--fallen .battle-hero .sprite{transform:translateY(.5rem) rotate(-80deg);filter:grayscale(.7)}.battle-hero,.battle-monster__ground{position:relative}.battle-hero:before,.battle-monster__ground:before{content:"";position:absolute;left:var(--shadow-x, 50%);bottom:-4%;width:var(--shadow-w, 60%);height:10%;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgb(0 0 0 / 65%) 0%,rgb(0 0 0 / 42%) 55%,transparent 74%);pointer-events:none}.battle-monster__ground{display:inline-grid}.battle-hero[data-hero=archer]{--shadow-x: 47.8%;--shadow-w: 60%}.battle-hero[data-hero=mage]{--shadow-x: 46.6%;--shadow-w: 57%}.battle-hero[data-hero=swordsman]{--shadow-x: 47.2%;--shadow-w: 65%}.battle-monster__ground[data-monster=dark-knight]{--shadow-x: 44.6%;--shadow-w: 57%}.battle-monster__ground[data-monster=dragon]{--shadow-x: 54.2%;--shadow-w: 84%}.battle-monster__ground[data-monster=goblin-rider]{--shadow-x: 56.4%;--shadow-w: 77%}.battle-monster__ground[data-monster=goblin-chief]{--shadow-x: 56.8%;--shadow-w: 82%}.battle-monster__ground[data-monster=goblin]{--shadow-x: 57.3%;--shadow-w: 61%}.battle-monster__ground[data-monster=golem]{--shadow-x: 55.2%;--shadow-w: 98%}.battle-monster__ground[data-monster=lich]{--shadow-x: 54.6%;--shadow-w: 82%}.battle-monster__ground[data-monster=skeleton]{--shadow-x: 58.3%;--shadow-w: 65%}.battle-monster__ground[data-monster=slime]{--shadow-x: 50%;--shadow-w: 87%}.battle-monster__ground[data-monster=slime-king]{--shadow-x: 50.4%;--shadow-w: 87%}.battle-monster__ground[data-monster=treant]{--shadow-x: 49%;--shadow-w: 101%}.battle-monster__ground[data-monster=witch]{--shadow-x: 57.1%;--shadow-w: 55%}.battle-monster__ground[data-monster=wolf]{--shadow-x: 52.9%;--shadow-w: 64%}.battle-monster__ground[data-monster=wolf-king]{--shadow-x: 46.7%;--shadow-w: 81%}.battle-hero .sprite,.battle-monster__ground .sprite{position:relative}.battle-monster--hit .battle-monster__sprite{animation:sprite-play var(--sprite-duration, 1s) steps(var(--sprite-frames, 1)) var(--sprite-iterations, 1) backwards,battle-hit .22s ease-out .38s}.battle-monster--hit .battle-monster__ground[data-pose=hurt] .battle-monster__sprite{animation:sprite-play var(--sprite-duration, 1s) steps(var(--sprite-frames, 1)) var(--sprite-iterations, 1) backwards,battle-hit .22s ease-out}@keyframes battle-hit{0%{filter:brightness(3)}40%{filter:brightness(2)}to{filter:none}}.battle-stage--shake-a{animation:battle-shake-a .3s ease-out}.battle-stage--shake-b{animation:battle-shake-b .3s ease-out}@keyframes battle-shake-a{20%{transform:translate(-6px,2px)}40%{transform:translate(6px,-2px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px)}}@keyframes battle-shake-b{20%{transform:translate(-6px,2px)}40%{transform:translate(6px,-2px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px)}}.battle-effect{position:absolute;z-index:1;pointer-events:none}.battle-effect--heart{left:8%;bottom:40%}@keyframes battle-burst{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.3)}}.battle-defeated{position:absolute;right:5%;bottom:9%;z-index:1;display:grid;animation:battle-fade .6s ease-out both}.battle-defeated .battle-effect{top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes battle-fade{to{opacity:0;transform:translateY(-.5rem)}}.battle-fx{position:absolute;z-index:2;pointer-events:none;animation:battle-fx-show 1ms linear both}.battle-fx--cast{top:var(--y, 0);left:var(--x, 0);transform:translate(-50%,-50%)}.battle-fx--hit{top:calc(var(--y, 0px) + var(--dy, 0px));left:calc(var(--x, 0px) + var(--dx, 0px));transform:translate(-50%,-50%) scale(var(--fx-scale, 1));z-index:1}.battle-fx--hit[data-fx=lightning]{transform:translate(-50%,-70%) scale(var(--fx-scale, 1))}.battle-fx .sprite{animation-fill-mode:both}.battle-fx--big{--fx-scale: 1.5;filter:drop-shadow(0 0 6px rgb(255 190 40 / 85%))}.battle-fx--flight{top:var(--y, 0);left:var(--x, 0);animation:battle-arrow-fly .56s ease-in both}.battle-fx .sprite--fallback{display:none}@keyframes battle-fx-show{0%{opacity:0}to{opacity:1}}@keyframes battle-arrow-fly{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle, 0deg))}10%{opacity:1}40%{transform:translate(calc(-50% + var(--dx) * .45),calc(-50% + var(--dy) * .45 - 2.5rem)) rotate(var(--angle, 0deg))}68%{opacity:1;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--angle, 0deg))}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--angle, 0deg))}}@media(prefers-reduced-motion:reduce){.battle-fx{display:none}}.battle-glyph-shot{position:absolute;left:var(--x, 0);top:var(--y, 0);z-index:2;--glyph-size: 3.5rem;--glyph-boost: 1;--outline: #1b2a4a;color:#fff;font-size:min(calc(var(--glyph-size) * var(--glyph-boost)),calc(var(--sprite-scale, 1) * 230px));font-weight:500;line-height:1;text-shadow:1px 0 0 var(--outline),-1px 0 0 var(--outline),0 1px 0 var(--outline),0 -1px 0 var(--outline),0 0 10px #5b8bd6,0 0 22px #5b8bd6,0 2px 0 var(--outline);pointer-events:none;transform:translate(-50%,-50%);animation:battle-glyph-fly .56s ease-in both}.battle-glyph-shot--xl{--glyph-size: 4.9rem}.battle-glyph-shot--final{--glyph-boost: 1.3}.battle-glyph-shot--big{text-shadow:1px 0 0 var(--outline),-1px 0 0 var(--outline),0 1px 0 var(--outline),0 -1px 0 var(--outline),0 0 12px rgb(255 140 0 / 85%),0 0 28px rgb(255 90 60 / 60%),0 2px 0 var(--outline)}.battle-glyph-shot--gear-mage{text-shadow:1px 0 0 var(--outline),-1px 0 0 var(--outline),0 1px 0 var(--outline),0 -1px 0 var(--outline),0 0 10px #a35bff,0 0 24px #a35bff,0 2px 0 var(--outline)}.battle-glyph-shot--gear-archer{text-shadow:1px 0 0 var(--outline),-1px 0 0 var(--outline),0 1px 0 var(--outline),0 -1px 0 var(--outline),0 0 10px #3fbf5a,0 0 24px #3fbf5a,0 2px 0 var(--outline)}.battle-glyph-shot--gold{--outline: #3a2c1a;color:#f4b400;text-shadow:1px 0 0 var(--outline),-1px 0 0 var(--outline),0 1px 0 var(--outline),0 -1px 0 var(--outline),0 0 10px rgb(255 140 0 / 85%),0 0 24px rgb(244 180 0 / 70%),0 2px 0 var(--outline)}@keyframes battle-glyph-fly{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}12%{opacity:1;transform:translate(-50%,-50%) scale(1)}40%{transform:translate(calc(-50% + var(--dx) * .45),calc(-50% + var(--dy) * .45 - 2.5rem)) scale(1.05)}68%{opacity:1;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.6)}}.battle-root-pop{position:absolute;top:8%;left:50%;z-index:2;color:#fff;font-size:2rem;font-weight:900;text-shadow:1px 0 0 #1b2a4a,-1px 0 0 #1b2a4a,0 1px 0 #1b2a4a,0 -1px 0 #1b2a4a,0 0 8px #5b8bd6,0 2px 0 #1b2a4a;pointer-events:none;transform:translate(-50%);animation:battle-root-pop .4s ease-out both}@keyframes battle-root-pop{0%{opacity:0;transform:translate(-50%,.5rem) scale(.7)}30%{opacity:1;transform:translate(-50%,-.25rem) scale(1.1)}to{opacity:0;transform:translate(-50%,-1.25rem) scale(1)}}@media(prefers-reduced-motion:reduce){.battle-glyph-shot{left:calc(var(--x, 0px) + var(--dx, 0px));top:calc(var(--y, 0px) + var(--dy, 0px))}}.battle-damage{position:absolute;top:-1.5rem;left:0;right:0;text-align:center;white-space:nowrap;color:#fff;font-size:1.75rem;font-weight:900;text-shadow:0 2px 0 #2b2238,0 0 6px #e8483f;animation:battle-damage .42s ease-out .38s both}.battle-damage--big{font-size:2.6rem;color:#ff5a4d}@keyframes battle-damage{0%{opacity:0;transform:translateY(.5rem) scale(.8)}25%{opacity:1;transform:translateY(-.25rem) scale(1.15)}to{opacity:0;transform:translateY(-1.5rem) scale(1)}}.battle-banner{position:absolute;top:38%;left:50%;z-index:3;margin:0;border:3px solid #3a2c1a;border-radius:8px;background:#f4d27a;color:#3a2c1a;padding:.5rem 1.5rem;font-size:2.5rem;font-weight:900;transform:translate(-50%);animation:battle-burst .5s ease-out;animation-fill-mode:none}@media(prefers-reduced-motion:reduce){.battle-hero .sprite,.battle-monster{transition:none}}@media(max-width:767px){.battle-defeated{--sprite-scale: .45;top:7.3rem;right:3%;bottom:auto}.battle-defeated--large{--sprite-scale: .34}.battle-effect--heart{left:8%;bottom:calc(var(--scroll-h, 11rem) + 5rem)}.battle-glyph-shot{--glyph-size: 3rem}.battle-glyph-shot--xl{--glyph-size: 4.2rem}.battle-root-pop{font-size:1.6rem}.battle-damage{top:2.75rem}.battle-banner{top:30%;font-size:2rem}}@media(max-width:767px){.battle-screen{padding-inline:.4rem;gap:.5rem}.battle-screen .root-keyboard-panel{padding:.4rem .3rem;border-width:2px}.battle-screen .root-keyboard-panel h2{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.battle-screen .root-keyboard{gap:.3rem .18rem}.battle-screen .root-keyboard li{min-height:3.4rem;padding:0;border-radius:8px}.battle-screen .root-keyboard li button{min-height:3.4rem;gap:.1rem;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.battle-screen .root-keyboard kbd{font-size:.7rem}.battle-screen .root-keyboard li span:not(.sr-only){font-size:1.4rem}.battle-screen .root-keyboard li button:active{background:#18775d4d;transform:scale(.94)}}.result-report__rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.result-report__chip[data-tone=reward]{border:1px solid #c9a24a;background:#f4d27a;color:#3a2c1a;font-weight:900}.home-screen--entrance{position:relative;isolation:isolate;width:100%;max-width:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "map" "party" "achievement" "warning";gap:.5rem;padding:.5rem 1rem;background:#8ac7e5 url(/assets/background-BaNM6eKj.webp) center / cover}.home-screen--entrance .home-screen__intro{position:relative;display:grid;place-items:center;grid-template-rows:minmax(0,1fr);width:min(60rem,88vw);height:clamp(7rem,30dvh,18rem);margin:0 auto;padding:0;text-align:center}.home-entrance-title{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}.home-entrance-title--fallback{display:grid;gap:.5rem;padding:1rem;background:#fff1c8;color:#512b12;border:3px solid #c28a2d;border-radius:1rem}.home-entrance-title--fallback strong{font-size:2.5rem}.home-screen--entrance .home-screen__tools{position:fixed;z-index:2;top:.5rem;right:.5rem}.home-screen--entrance .home-screen__tools button{margin:0;padding:.4rem .65rem;background:#fff2d9;color:#503319;border:2px solid #a77732;font-size:.85rem}.home-screen--entrance .home-mode-picker{width:min(58rem,94%);gap:clamp(.75rem,3vw,3rem)}.home-entrance-party{grid-area:party;display:grid;place-items:center;pointer-events:none}.home-entrance-party img,.home-entrance-party .home-party-sprite{width:44vw;max-width:100%;height:auto;object-fit:contain}.home-screen--entrance .achievement-card{justify-self:center;align-self:center;padding:.35rem 1rem;background:#fff3dbe8;border:1px solid #ac7931;color:#503319}.home-screen--entrance .achievement-card .hero-keyboard{width:3rem}.home-screen--entrance .achievement-card__copy{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .75rem}.home-screen--entrance .achievement-card strong{font-size:.9rem}.home-screen--entrance .achievement-card span{font-size:.8rem;color:#674829}.home-screen--entrance .storage-warning{padding:.4rem .75rem}@media(min-width:768px)and (orientation:landscape){.home-screen--entrance{grid-template-rows:auto minmax(0,1fr) 26dvh auto auto}.home-screen--entrance .home-mode-picker{position:relative;z-index:1;align-self:start;margin:0 auto}.home-mode-card__art{--entry-height: max(8rem, calc(44dvh - 1rem) )}.home-entrance-party{position:absolute;grid-area:1 / 1 / -1 / -1;bottom:-.5rem;left:50%;transform:translate(-50%);width:min(44vw,50.008dvh);align-items:end}.home-entrance-party img,.home-entrance-party .home-party-sprite{width:100%;max-width:none}.home-screen--entrance .achievement-card{position:absolute;bottom:.75rem;left:1rem;z-index:2}}@media(max-width:767px){.home-screen--entrance{padding-top:3.5rem}.home-screen--entrance .home-screen__intro{width:100%;height:auto;aspect-ratio:3;padding:0}.home-screen--entrance .home-mode-picker{width:min(28rem,100%);gap:1.2rem}.home-mode-card__art{width:100%}.home-mode-card .home-mode-card__scene{max-height:none}.home-mode-card strong{font-size:1.75rem}.home-mode-card__copy>span{font-size:1rem}.home-entrance-party img,.home-entrance-party .home-party-sprite{width:min(90vw,28rem)}}@media(min-width:768px)and (max-height:550px){.home-screen--entrance .home-screen__intro{width:24rem;height:6.5rem;padding-top:.5rem}.home-mode-card__art{width:100%;height:10rem;aspect-ratio:auto;overflow:hidden}.home-mode-card .home-mode-card__scene{position:absolute;bottom:0;width:100%;height:auto}.home-mode-card strong{font-size:1.25rem}.home-mode-card__copy{gap:0;padding:.25rem .5rem}.home-mode-card__copy>span{font-size:.75rem}.home-mode-card__copy .home-mode-card__cta{font-size:1rem}.home-entrance-party{width:44.65dvh;height:25dvh}.home-entrance-party img,.home-entrance-party .home-party-sprite{width:100%;height:auto}}.home-party-sprite.sprite{height:auto;aspect-ratio:1000 / 560;background-size:400% 100%;background-position:0 0;animation-name:home-sprite-loop}.home-party-sprite.sprite--fallback{display:block;border:0;background:transparent;animation:none}.home-party-sprite.sprite--fallback img{width:100%}.home-screen--map{width:min(100%,100rem);color:#18342c;background:#fff9ed;padding:1rem;gap:.65rem 1rem}.home-screen--map .home-screen__intro{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .8rem}.home-brand-crest{width:3.5rem;height:4rem;object-fit:contain}.home-screen--map .home-brand-copy h1{font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:.06em}.home-screen--map .home-brand-copy .home-screen__english{margin:.35rem 0 0;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}.home-screen--map .home-screen__subtitle{margin:0;border-left:1px solid #cfa23a;padding-left:.8rem;font-size:clamp(.8rem,1vw,1rem)}.home-screen--map .home-screen__tools{margin-left:auto}.home-screen--map .sound-toggle{margin:0}.home-screen--map .home-mode-bar{width:100%;margin:0;justify-content:space-between;font-size:.8rem}.home-screen--map .home-mode-bar button{font-size:.8rem}.home-screen--map .achievement-card{background:#fff;padding:.6rem}.home-screen--map .achievement-card strong{font-size:.9rem}.home-screen--map .achievement-card span{color:#5d7069;font-size:.8rem}.home-screen--map .achievement-card .hero-keyboard{width:4rem}.home-screen--map .island-map{display:grid;grid-template-columns:minmax(0,3.5fr) minmax(13rem,1fr);grid-template-rows:minmax(0,1fr) auto;gap:.75rem;width:100%;height:100%;min-width:0;border:0;background:none;box-shadow:none;overflow:visible;container-type:normal;place-items:stretch}.home-screen--map .island-map__stage{width:100%;height:100%;min-height:22rem;aspect-ratio:auto;box-sizing:border-box;border:2px solid #5a3a1e;border-radius:18px;overflow:hidden;container-type:size;background:#d6e9cd}.map-road{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-road path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-road__border{stroke:#e5a72d;stroke-width:12px}.map-road__fill{stroke:#ffe8a4;stroke-width:8px}.home-screen--map .lesson-route__node,.home-screen--map .lesson-route__node:nth-child(n){width:min(10%,20cqh);left:var(--wx);top:var(--wy)}.home-screen--map .landmark-art{aspect-ratio:1;filter:drop-shadow(0 3px 3px #493b3533)}.home-screen--map .lesson-route__node--locked .landmark-art{filter:saturate(.65);opacity:.9}.home-screen--map .lesson-route__node--current .landmark-art{animation:none;filter:drop-shadow(0 0 6px #ffd966)}.home-screen--map .lesson-route__node--completed:after{content:none}.home-screen--map .lesson-route__node strong{display:flex;align-items:center;justify-content:center;gap:.25rem;border:1px solid #d8ad4f;padding:.2rem .5rem;font-size:clamp(.7rem,1vw,1rem);line-height:1.3;background:#fff8df}.home-screen--map .lesson-route__node span.region-order{background:#514466;color:#fff;border-radius:50%;font-size:.7rem;line-height:1.3;padding:.12rem .3rem}.home-screen--map .lesson-route__node--completed span.region-order{background:#237543}.home-screen--map .lesson-route__node span.region-state{font-size:.7rem;line-height:1.35;white-space:nowrap;background:#304936;padding:.1rem .3rem}.home-screen--map .hero-party,.home-screen--map .lesson-route__node:nth-child(n) .hero-party{left:calc((49 - var(--slot-x)) * 1cqw + 50%);top:calc((19 - var(--slot-y)) * 1cqh + 50%);right:auto;bottom:auto;width:19cqw;transform:translate(-50%,-50%);z-index:1}.map-next{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:clamp(.75rem,1.4vw,1.5rem);border:1px solid #ddb854;border-radius:18px;background:#fff8e7;text-align:center;min-width:0}.map-next__eyebrow{margin:0;background:#bc8516;border-radius:99px;color:#fff;padding:.3rem 1rem;font-weight:700}.map-next h2{margin:0;font-size:clamp(1.5rem,2.5vw,2.6rem)}.map-next__art{width:100%;max-height:22cqh;min-height:6rem;object-fit:contain;flex:1}.map-next>p:not(.map-next__eyebrow){margin:0;line-height:1.5;font-size:.9rem}.map-next__progress{display:grid;grid-template-columns:1fr auto;width:100%;gap:.7rem;border:1px solid #e4ce90;border-radius:14px;padding:.65rem;margin-top:auto;text-align:left}.map-next__dots{display:flex;justify-content:space-between;grid-column:1 / -1;gap:.3rem}.map-next__dots i{width:1rem;height:1rem;background:#e8d7a7;border-radius:50%}.map-next__dots i.is-complete{background:#237543}.map-next__start{width:100%;display:flex;justify-content:space-between;background:#237543;font-size:1.1rem;font-weight:700}.home-screen--map .island-map__signs{position:static;display:grid;grid-column:1 / -1;grid-template-columns:1fr 1fr;width:100%;height:auto;gap:.6rem;padding:0;background:none;pointer-events:auto}.home-screen--map .island-map .island-map__node{position:relative;inset:auto;width:100%;min-height:44px;align-content:center;background:#fff8e7;color:#18342c;border:1px solid #e4ce90;padding:.75rem;box-shadow:none;overflow:hidden}.home-screen--map .island-map__node span{color:#435647}.map-action-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.home-screen--map .island-map__node:has(.map-action-art){min-height:5.3rem;padding:.7rem 2rem .7rem 44%;border:0;background:none}.home-screen--map .island-map__node strong,.home-screen--map .island-map__node>span{position:relative}.home-screen--map .island-map__node--atlas{grid-column:2;grid-row:1}.home-screen--map .island-map__node--review,.home-screen--map .island-map__node--challenge{grid-row:2}.home-screen--map .reteach-menu{color:#18342c}@media(min-width:768px)and (orientation:landscape){.home-screen--map{height:100dvh;min-height:0;grid-template-rows:auto auto auto minmax(0,1fr)}.home-screen--map .island-map__stage{min-height:0}}@media(max-width:1023px){.home-screen--map .home-screen__subtitle{border:0;padding:0;width:100%}.map-next{gap:.4rem}}@media(max-width:767px),(min-width:768px)and (orientation:portrait){.home-screen--map{height:auto;min-height:100dvh;grid-template-columns:1fr;grid-template-areas:"intro" "achievement" "warning" "map" "reteach";padding:.75rem}.home-screen--map .home-screen__tools{margin-left:0}.home-screen--map .achievement-card{justify-self:stretch;grid-template-columns:auto 1fr}.home-screen--map .island-map{height:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto}.home-screen--map .island-map__stage{height:auto;min-height:0;aspect-ratio:auto;container-type:normal;padding:1rem .4rem}.home-screen--map .island-map__art{object-fit:cover;opacity:.65}.home-screen--map .map-road{display:none}.home-screen--map .lesson-route{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1rem .6rem}.home-screen--map .lesson-route__node:nth-child(n){position:relative;inset:auto;width:100%;transform:none}.home-screen--map .landmark-art{width:min(100%,9rem)}.home-screen--map .lesson-route__node strong{font-size:.95rem}.home-screen--map .lesson-route__node span.region-state{font-size:.8rem}.home-screen--map .hero-party,.home-screen--map .lesson-route__node:nth-child(n) .hero-party{position:static;transform:none;width:8rem;margin:.4rem auto 0}.map-next__art{max-height:10rem;min-height:0;flex:none}.map-next{padding:1rem}.home-screen--map .island-map__signs{grid-column:1}.home-screen--map .island-map__node:has(.map-action-art){min-height:5rem;padding:.5rem .5rem .5rem 40%}}.home-screen--map .lesson-route__node,.home-screen--map .lesson-route__button{align-content:start}.map-next{min-height:0}.map-next__art{flex:1 1 0;min-height:0;height:0}.home-screen--map .island-map__node:has(.map-action-art){aspect-ratio:5}@media(max-width:767px),(min-width:768px)and (orientation:portrait){.map-next__art{height:10rem;flex:none}.home-screen--map .island-map__signs{grid-template-columns:1fr}.home-screen--map .island-map__node--atlas,.home-screen--map .island-map__node--review,.home-screen--map .island-map__node--challenge{grid-column:auto;grid-row:auto}}
