.storybook{--ink: #344537;--paper: #fff9e9;--accent: #507b43;background:#f4efdf;color:var(--ink);padding:22px 30px 0;min-height:calc(100vh - 65px)}.storybook-ocean{--accent: #2d859a;background:#eaf5ed}.storybook-galaxy{--accent: #7661ad;background:#f1ecf8}.storybook-heading{max-width:1440px;margin:0 auto 18px;display:flex;justify-content:space-between;align-items:center;gap:18px}.story-title{display:flex;align-items:center;gap:14px}.story-compass{display:grid;place-items:center;width:50px;height:50px;font-size:34px}.story-title small{font-size:9px;letter-spacing:.17em;font-weight:800;color:#7d8269}.story-title h2{font-family:Comfortaa,sans-serif;font-size:clamp(18px,2vw,27px);font-weight:800;margin:5px 0 0;line-height:1.4}.chapter-switch{display:flex;gap:8px}.chapter-switch button{width:54px;height:51px;display:grid;place-items:center;position:relative;border:2px solid transparent;border-radius:16px;background:#ffffff98;transition:transform .2s,background .2s}.chapter-switch button>span{font-size:29px}.chapter-switch small{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff9e9;color:#64765a;font-size:9px;font-weight:900;border:1px solid #c7ceb2}.chapter-switch button[aria-pressed=true]{border-color:var(--accent);background:#fffdf4;box-shadow:0 3px #314d3326}.chapter-switch button:hover{transform:translateY(-3px)}.picture-map{position:relative;max-width:1440px;margin:0 auto;border:6px solid #fffaf0;border-radius:26px;box-shadow:0 8px #c8bc9728,0 20px 50px #233e2518;background:#a5c89a;isolation:isolate}.map-viewport{overflow-x:auto;overflow-y:hidden;border-radius:20px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#f7dfac #344e3930}.painted-map{width:100%;aspect-ratio:1.5;position:relative}.map-painting{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.trail-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.trail-overlay path{fill:none;stroke-linecap:round}.trail-shadow{stroke:#5f46294d;stroke-width:7;stroke-dasharray:.1 19}.trail-dots{stroke:#fff8dc;stroke-width:4;stroke-dasharray:.1 19}.trail-complete{stroke:#ffcb41}.destination{--ring: #c7a66a;position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);width:160px;cursor:pointer;padding:12px 5px 0;border-radius:22px;transition:filter .2s}.character-portrait{position:relative;display:grid;place-items:center;width:clamp(60px,6.4vw,88px);height:clamp(60px,6.4vw,88px);border-radius:50%;background:radial-gradient(circle at 35% 20%,#fffbe6,#e8cd8e);border:5px solid #fffbe7;box-shadow:0 0 0 3px var(--ring),0 8px #6448244d,0 14px 18px #152c2738;transition:transform .2s}.character-face{font-size:clamp(36px,4vw,55px);line-height:1;filter:drop-shadow(0 3px 0 #a3672a20)}.destination-number{position:absolute;bottom:-6px;right:-7px;width:25px;height:25px;border-radius:50%;background:#6a8b40;color:#fff;border:2px solid #fff8dc;display:grid;place-items:center;font-size:10px;font-weight:900;box-shadow:0 2px 4px #0003}.destination-name{margin-top:12px;padding:5px 13px;background:#fff9e9;border-radius:9px;font-size:12px;line-height:1.3;font-weight:900;color:#3c5037;box-shadow:0 3px #86622d55,0 4px 12px #0002;white-space:nowrap}.destination-place{padding:4px 7px;margin-top:5px;font-size:9px;font-weight:800;color:#fff;background:#244629bd;border-radius:6px;text-shadow:0 1px 1px #0003}.destination-stars{display:flex;gap:2px;margin-top:5px;color:#fff9eaa6;filter:drop-shadow(0 1px 2px #5b3e16)}.destination-stars .collected{color:#ffdb5e}.destination-open{--ring: #689d42}.destination:hover .character-portrait,.destination-selected .character-portrait{transform:translateY(-5px) scale(1.08)}.destination-selected{z-index:3}.destination-selected .character-portrait{--ring: #f9ba36}.destination-locked .character-portrait{background:radial-gradient(circle at 35% 20%,#f6f0e0,#bbc4b4);--ring: #8a9a83}.destination-locked .character-face{filter:saturate(.45)}.destination-locked .destination-number{background:#7e8b76}.destination-locked .destination-name{color:#67715b}.destination-next .character-portrait{--ring: #edb331;box-shadow:0 0 0 4px #edb331,0 0 0 10px #fff4b34d,0 8px #6448244d,0 14px 18px #152c2738}.you-are-here{position:absolute;bottom:calc(100% - 3px);display:flex;align-items:center;gap:5px;background:#fff7ce;color:#5b6d35;font-size:10px;padding:6px 10px;border:1px solid #e0b650;border-radius:10px;font-weight:900;white-space:nowrap;animation:map-bob 2.7s ease-in-out infinite;box-shadow:0 4px 9px #0002}.you-are-here:after{content:"";position:absolute;top:100%;left:calc(50% - 5px);border:5px solid transparent;border-top-color:#fff7ce}.destination-boss .character-portrait{--ring: #e4ab3b;background:radial-gradient(circle at 35% 20%,#fff8cf,#eeb850)}.boss-crown{position:absolute;z-index:2;bottom:calc(100% - 28px);font-size:33px;filter:drop-shadow(0 3px 2px #74532540);pointer-events:none}.destination-boss .you-are-here{bottom:calc(100% + 10px)}.map-corner-info{position:absolute;left:22px;top:20px;display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:15px;border:2px solid #fff4ca;background:#fff9e9ed;color:#536341;box-shadow:0 5px 15px #18392126;pointer-events:none}.map-corner-info>span{font-size:30px}.map-corner-info small{display:block;font-size:8px;letter-spacing:.16em;font-weight:800;opacity:.7}.map-corner-info strong{display:block;font-size:13px;margin-top:4px}.chapter-stamps{display:flex;gap:2px;padding-left:14px;color:#d4c8ad;font-size:21px}.stamp-earned{color:#e7a631}.map-start-sign{position:absolute;left:12%;top:90%;display:flex;align-items:center;gap:7px;padding:8px 12px;border:2px solid #956b32;border-radius:6px;background:#eed4a1;color:#5f482b;font-weight:900;font-size:10px;transform:rotate(-7deg);box-shadow:0 3px #5e482a88}.map-story-caption{position:absolute;display:flex;align-items:center;gap:12px;left:22px;bottom:22px;max-width:430px;background:#fff9e9f5;border:2px solid #fff5d6;padding:12px 15px;border-radius:16px;box-shadow:0 5px 20px #0002}.map-story-caption>span{font-size:33px}.map-story-caption p{font-size:12px;line-height:1.6;font-weight:700;color:#526344}.map-story-caption button{display:flex;align-items:center;gap:4px;background:#628641;color:#fff5d8;padding:10px;border-radius:10px;flex-shrink:0}.secret-friend{position:absolute;z-index:1;background:#ffffff2e;border-radius:50%;padding:6px}.secret-friend>span:first-child{display:block;font-size:38px;animation:map-bob 3.4s ease-in-out infinite;filter:drop-shadow(0 4px 3px #164b2d44)}.discovery-speech{position:absolute;top:100%;left:-60px;width:200px;padding:12px;background:#fff9e9;border:2px solid #e8c77d;border-radius:15px;color:#425d36;box-shadow:0 4px 10px #0002;font-size:12px;font-weight:700}.map-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.map-sparkles i{position:absolute;width:5px;height:5px;background:#fff8b5;box-shadow:0 0 13px 4px #fff59b90;border-radius:50%;animation:map-glow 3s ease-in-out infinite}.encounter-panel{position:absolute;z-index:6;right:22px;bottom:22px;padding:22px;width:350px;background:#fffaf0;border:3px solid #ead3a0;border-radius:22px;color:#415138;box-shadow:0 15px 50px #162d3466;animation:encounter-in .2s ease-out}.close-encounter{position:absolute;right:10px;top:10px;padding:6px;color:#7a8667;border-radius:50%}.close-encounter:hover{background:#ede6d2}.encounter-character{display:flex;align-items:center;gap:14px}.encounter-character>span{flex-shrink:0;display:grid;place-items:center;width:68px;height:68px;font-size:46px;background:#efe9ca;border:2px solid #d9c68f;border-radius:20px}.encounter-character small{font-size:8px;letter-spacing:.1em;font-weight:900;color:#91805b}.encounter-character h3{font-family:Comfortaa,sans-serif;font-size:20px;font-weight:900;margin:6px 0 4px}.encounter-character p{font-size:10px;color:#899176}.encounter-quote{font-size:12px;line-height:1.8;padding:14px;background:#f3efd9;border-radius:12px;margin:16px 0;color:#66704f}.encounter-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin:0 0 16px}.encounter-meta>span{display:flex;align-items:center;gap:5px;font-weight:800}.encounter-meta b{font-size:18px}.encounter-meta i{width:4px;height:8px;background:#d7d8c4;border-radius:2px}.encounter-meta i:nth-child(2){height:12px}.encounter-meta i:nth-child(3){height:16px}.difficulty-easy i:first-child,.difficulty-medium i:nth-child(-n+2),.difficulty-hard i{background:#89a95d}.difficulty-hard i{background:#c78756}.encounter-actions{display:flex;gap:10px}.listen-story{padding:12px;background:#ede9d5;color:#71834f;border-radius:12px}.listen-story:disabled{opacity:.4;cursor:not-allowed}.challenge-button{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;padding:12px;border-radius:12px;color:#fffbea;background:#668b42;box-shadow:0 4px #3d612a;font-size:13px;font-weight:900;transition:background .2s}.challenge-button:hover{background:#7a9d50}.challenge-button:active{transform:translateY(2px);box-shadow:0 2px #3d612a}.locked-message{display:flex;align-items:center;gap:10px;font-size:11px;color:#a08046}.locked-message>span{display:inline-flex;align-items:center;gap:4px}.story-voice-error{font-size:10px;color:#ad753a;line-height:1.6;margin-bottom:12px}.chapter-footer{display:flex;justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:19px 0}.chapter-footer>button{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#6c7b5b}.chapter-footer>button:disabled{opacity:.3}.story-pages{display:flex;gap:8px}.story-pages button{width:8px;height:8px;border-radius:50%;background:#bcc5ac}.story-pages button[aria-current=page]{width:24px;border-radius:8px;background:var(--accent)}.swipe-hint{display:none}@keyframes map-bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(3deg)}}@keyframes map-glow{0%,to{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1.3)}}@keyframes encounter-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1650px){.painted-map{max-height:870px;aspect-ratio:auto;height:870px}}@media(max-width:1000px){.storybook{padding:18px 16px 0}.painted-map{min-width:900px}.character-portrait{width:68px;height:68px}.character-face{font-size:43px}.map-viewport{max-height:660px}.encounter-panel{width:320px}.map-story-caption{max-width:340px}.map-story-caption p{font-size:11px}.chapter-stamps{display:none}}@media(max-width:600px){.storybook{padding:14px 10px 0}.storybook-heading{align-items:center;gap:6px;margin-bottom:12px}.story-title{gap:7px}.story-compass{width:29px;height:36px;font-size:25px}.story-title small{font-size:7px;letter-spacing:.06em}.story-title h2{font-size:16px;max-width:190px;margin-top:3px}.chapter-switch{gap:5px}.chapter-switch button{width:34px;height:36px;border-radius:10px}.chapter-switch button>span{font-size:21px}.chapter-switch small{width:14px;height:14px;font-size:8px}.picture-map{border-width:4px;border-radius:19px}.map-viewport{border-radius:14px 14px 0 0}.painted-map{width:945px;min-width:945px;height:630px;aspect-ratio:auto}.map-corner-info{padding:8px 10px;left:10px;top:10px;gap:8px}.map-corner-info>span{font-size:24px}.map-corner-info strong{font-size:11px}.map-corner-info small{font-size:7px}.destination{width:148px}.destination-name{font-size:11px}.destination-place{font-size:8px}.character-portrait{width:66px;height:66px}.character-face{font-size:42px}.swipe-hint{position:absolute;top:12px;right:10px;display:flex;align-items:center;gap:2px;padding:6px;border-radius:10px;background:#fff9e9e8;color:#71815c;font-size:9px}.map-story-caption{position:relative;inset:auto;max-width:none;border:0;padding:12px;border-radius:0 0 14px 14px;box-shadow:none}.map-story-caption>span{font-size:28px}.map-story-caption p{font-size:10px}.map-story-caption button{padding:9px}.encounter-panel{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;width:auto;max-height:70dvh;overflow-y:auto;padding:18px;border-radius:20px;box-shadow:0 0 0 100vmax #10271f66,0 12px 45px #1531264d;z-index:45}.encounter-character>span{width:57px;height:57px;font-size:38px}.encounter-character h3{font-size:19px}.encounter-quote{margin:12px 0;font-size:12px}.chapter-footer{padding:16px 3px}.chapter-footer>button{font-size:10px}}@media(max-width:360px){.story-title h2{font-size:14px}.story-title small{font-size:6px}.story-compass{display:none}.chapter-switch button{width:31px}.storybook-heading{gap:4px}}@media(prefers-reduced-motion:reduce){.storybook *{animation:none!important;scroll-behavior:auto!important}}.painted-map{min-width:1100px}.character-portrait{width:63px;height:63px;border-width:4px}.character-face{font-size:40px}.destination{width:133px}.destination-name{font-size:10px;margin-top:10px;padding:4px 9px}.destination-place{display:none}.destination-stars{margin-top:5px}.destination-stars svg{width:12px;height:12px}.you-are-here{font-size:9px;padding:5px 8px}.game-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.game-picker button{display:flex;flex-direction:column;align-items:center;gap:6px;background:#f0ebd8;border:2px solid transparent;border-radius:12px;padding:9px 4px;font-size:10px;font-weight:800;color:#6e785a}.game-picker b{font-size:23px;line-height:1}.game-picker button[aria-pressed=true]{border-color:#7a9b4a;color:#43602b;background:#e7edd1}.chapter-stamps{max-width:100px;flex-wrap:wrap;font-size:17px;gap:0}@media(max-width:600px){.painted-map{min-width:1180px;width:1180px;height:787px}.destination-name{font-size:11px}.encounter-panel{max-height:80dvh}.character-portrait{width:64px;height:64px}}.map-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:inherit;contain:paint}.forest-sunbeams{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:linear-gradient(115deg,transparent 30%,#fff4ab1c 36%,transparent 43%,#fff7cb16 52%,transparent 60%);animation:canopy-light 16s ease-in-out infinite alternate}.drifting-leaf{position:absolute;left:var(--x);top:-7%;width:var(--size);opacity:0;animation:falling-leaf var(--duration) linear var(--delay) infinite}.drifting-leaf svg{width:100%;height:auto;filter:drop-shadow(1px 3px 2px #273d2822)}.forest-butterfly{position:absolute;font-size:24px;animation:butterfly-flight 13s ease-in-out infinite alternate}.forest-butterfly>span{display:block;animation:butterfly-wings 1.4s ease-in-out infinite}.forest-mist{position:absolute;left:24%;top:32%;width:45%;height:24%;border-radius:50%;background:radial-gradient(ellipse,#dff9ed22,transparent 65%);animation:forest-mist 19s ease-in-out infinite alternate}.ocean-light-rays{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:repeating-conic-gradient(from -30deg at 45% 0%,transparent 0deg 12deg,#e7ffff13 15deg 19deg,transparent 23deg 35deg);animation:underwater-light 18s ease-in-out infinite alternate}.ocean-caustics{position:absolute;top:40%;right:-10%;bottom:-10%;left:-10%;background:repeating-radial-gradient(ellipse at 15% 60%,transparent 0 28px,#c8ffff18 31px 33px,transparent 36px 65px);opacity:.4;animation:water-shimmer 14s ease-in-out infinite alternate}.rising-bubble{position:absolute;left:var(--x);top:105%;width:var(--size);height:var(--size);border:1px solid #d4faff99;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff9 0 7%,transparent 20%,#d2faff1c 70%);opacity:0;animation:bubble-rise var(--duration) ease-in var(--delay) infinite}.ocean-fish{position:absolute;opacity:.8;filter:drop-shadow(0 3px 3px #04687b22);animation:fish-glide 24s ease-in-out infinite alternate}.galaxy-nebula{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 80% 35%,#d7a5f11a,transparent 40%),radial-gradient(ellipse at 15% 75%,#9cb4ff22,transparent 32%);animation:nebula-drift 24s ease-in-out infinite alternate}.galaxy-star{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#fff9db;box-shadow:0 0 7px 2px #dfd3ff66;animation:star-breath 5s ease-in-out var(--delay) infinite alternate}.galaxy-star-large{width:7px;height:7px;clip-path:polygon(50% 0,62% 37%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 37%)}.shooting-star{position:absolute;width:76px;height:2px;background:linear-gradient(90deg,transparent,#fffbe8);border-radius:50%;opacity:0;transform:rotate(32deg);animation:shooting-star-flight 23s linear infinite}.orbiting-satellite{position:absolute;left:20%;top:16%;width:160px;height:70px;border:1px dashed #e4e1ff25;border-radius:50%;transform:rotate(-22deg)}.orbiting-satellite>span{display:block;width:-moz-fit-content;width:fit-content;font-size:25px;animation:satellite-float 22s ease-in-out infinite}@keyframes canopy-light{0%{transform:translate3d(-12px,0,0);opacity:.45}to{transform:translate3d(18px,8px,0);opacity:.85}}@keyframes falling-leaf{0%{opacity:0;transform:translateZ(0) rotate(-25deg)}12%{opacity:.7}85%{opacity:.65}to{opacity:0;transform:translate3d(95px,840px,0) rotate(230deg)}}@keyframes butterfly-flight{0%{transform:translate3d(-15px,8px,0) rotate(-8deg)}to{transform:translate3d(45px,-24px,0) rotate(7deg)}}@keyframes butterfly-wings{0%,to{transform:scaleX(1)}50%{transform:scaleX(.65)}}@keyframes forest-mist{0%{transform:translate3d(-16px,6px,0);opacity:.3}to{transform:translate3d(25px,-4px,0);opacity:.7}}@keyframes underwater-light{0%{transform:translate3d(-14px,0,0) rotate(-2deg);opacity:.5}to{transform:translate3d(14px,0,0) rotate(2deg);opacity:.9}}@keyframes water-shimmer{0%{transform:translateZ(0) scale(1);opacity:.25}to{transform:translate3d(18px,-9px,0) scale(1.06);opacity:.5}}@keyframes bubble-rise{0%{transform:translateZ(0);opacity:0}12%{opacity:.65}85%{opacity:.55}to{transform:translate3d(35px,-880px,0);opacity:0}}@keyframes fish-glide{0%{transform:translate3d(-35px,4px,0) rotate(-4deg)}50%{transform:translate3d(20px,-7px,0) rotate(2deg)}to{transform:translate3d(95px,5px,0) rotate(-3deg)}}@keyframes nebula-drift{0%{transform:translate3d(-10px,0,0);opacity:.5}to{transform:translate3d(12px,-9px,0);opacity:1}}@keyframes star-breath{0%{opacity:.3;transform:scale(.8)}to{opacity:.9;transform:scale(1.2)}}@keyframes shooting-star-flight{0%,84%,to{opacity:0;transform:translateZ(0) rotate(32deg)}86%{opacity:.8}91%{opacity:0;transform:translate3d(190px,120px,0) rotate(32deg)}}@keyframes satellite-float{0%,to{transform:translate3d(0,20px,0) rotate(22deg)}50%{transform:translate3d(125px,5px,0) rotate(35deg)}}.destination .character-portrait{width:76px;height:76px;border:5px solid #fffbea;box-shadow:0 0 0 3px var(--ring),0 7px #4d492866,0 13px 19px #132e3a55}.destination .character-face{font-size:47px}.destination .destination-name{font-size:11px;padding:6px 11px;margin-top:13px;border:1px solid #bda978;box-shadow:0 3px #6e633a88,0 6px 14px #0003}.destination .destination-stars{padding:3px 6px;background:#243b2f9e;border-radius:12px;border:1px solid #fff9c533;color:#dad3b5}.destination-open .character-portrait{--ring: #6c9c3f;background:radial-gradient(circle at 35% 20%,#fff9de,#e9c773)}.destination-current{z-index:4}.destination-current .character-portrait{width:84px;height:84px;--ring: #ffbd35;background:radial-gradient(circle at 35% 20%,#fffbe3,#f4d078);box-shadow:0 0 0 4px #d59a2b,0 0 0 10px #ffed9d50,0 8px #70562680,0 15px 22px #102b3844}.destination-current .character-portrait:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border:2px solid #fff1a3;border-radius:50%;pointer-events:none;animation:current-stop-ring 4s ease-in-out infinite}.destination-current .destination-name{background:#fff3b7;border-color:#c38b28;color:#5a501f}.current-stop-label{background:#fff3b7;color:#665020;border:2px solid #c69536;padding:6px 10px;font-size:10px;bottom:calc(100% + 1px)}.destination-boss .current-stop-label{bottom:calc(100% + 17px)}@keyframes current-stop-ring{0%,to{opacity:.25;transform:scale(.96)}50%{opacity:.75;transform:scale(1.07)}}.map-heading-actions{display:flex;align-items:center;gap:14px}.map-motion-toggle{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #84956855;background:#fffaf099;color:#63754c}.map-motion-toggle:hover{background:#fff9df}.resume-caption-label{display:block;letter-spacing:.1em;font-size:8px;font-weight:800;opacity:.65;margin-bottom:3px}.map-story-caption strong{font-weight:800}.map-story-caption button span{font-size:11px;white-space:nowrap}.storybook[data-motion=paused] .map-atmosphere *,.storybook[data-motion=paused] .map-sparkles i,.storybook[data-motion=paused] .you-are-here,.storybook[data-motion=paused] .secret-friend>span:first-child,.storybook[data-motion=paused] .destination-current .character-portrait:after{animation-play-state:paused}[data-theme=dark] .map-motion-toggle{background:#344735;color:#e4e7cc;border-color:#99ad7466}@media(max-width:600px){.map-heading-actions{gap:6px}.map-motion-toggle{width:27px;height:29px}.chapter-switch{gap:4px}.destination .character-portrait{width:72px;height:72px}.destination-current .character-portrait{width:80px;height:80px}.destination .character-face{font-size:44px}.destination .destination-name{font-size:11px}.current-stop-label{font-size:9px;padding:5px 7px}.map-story-caption button{gap:6px}.orbiting-satellite{width:125px;height:60px}}@media(prefers-reduced-motion:reduce){.map-atmosphere{display:none}.destination-current .character-portrait:after{animation:none;opacity:.6}}.map-viewport{max-height:none}.destination{scroll-margin-top:120px;scroll-margin-bottom:25px}.map-app .storybook{flex:1;min-height:0;display:flex;flex-direction:column;padding:10px max(10px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}.map-app .picture-map{width:100%;max-width:none;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.map-app .map-viewport{flex:1;min-height:0;max-height:none;border-radius:20px 20px 0 0}.map-app .painted-map{width:100%;min-width:1000px;height:100%;max-height:none;aspect-ratio:auto}.map-app .map-story-caption{position:relative;inset:auto;max-width:none;width:100%;flex-shrink:0;border:0;border-radius:0;padding:8px 14px;box-shadow:none}.map-app .map-story-caption p{flex:1}.map-app .map-story-caption>span{font-size:25px}.map-app .map-story-caption button{min-height:44px}.map-app .map-motion-toggle{position:absolute;z-index:5;right:14px;top:14px;width:44px;height:44px;background:#fff9e9ed}.map-app .map-corner-info{left:12px;top:12px;padding:8px 12px}.map-app .swipe-hint{top:65px;right:12px}.map-app .destination{scroll-margin-top:30px}@media(max-width:600px){.map-app .storybook{padding:6px;padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}.map-app .painted-map{min-width:1000px}.map-app .map-story-caption{padding:8px;gap:7px}.map-app .map-corner-info{padding:6px 9px;top:8px;left:8px}.map-app .map-motion-toggle{top:8px;right:8px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.right-5{right:1.25rem}.top-5{top:1.25rem}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-t{border-top-width:1px}.border-amber-400{--tw-border-opacity: 1;border-color:rgb(251 191 36 / var(--tw-border-opacity, 1))}.border-amber-400\/40{border-color:#fbbf2466}.border-cyan-400{--tw-border-opacity: 1;border-color:rgb(34 211 238 / var(--tw-border-opacity, 1))}.border-emerald-400{--tw-border-opacity: 1;border-color:rgb(52 211 153 / var(--tw-border-opacity, 1))}.border-emerald-400\/30{border-color:#34d3994d}.border-emerald-400\/40{border-color:#34d39966}.border-purple-400{--tw-border-opacity: 1;border-color:rgb(192 132 252 / var(--tw-border-opacity, 1))}.border-red-400\/40{border-color:#f8717166}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-100\/10{background-color:#fef3c71a}.bg-amber-300{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-400\/20{background-color:#fbbf2433}.bg-amber-400\/30{background-color:#fbbf244d}.bg-cyan-100{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.bg-cyan-400{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity, 1))}.bg-cyan-500\/20{background-color:#06b6d433}.bg-cyan-900\/80{background-color:#164e63cc}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-800\/80{background-color:#065f46cc}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-500\/30{background-color:#a855f74d}.bg-purple-900\/80{background-color:#581c87cc}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/20{background-color:#ef444433}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/80{background-color:#1e293bcc}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/80{background-color:#0f172acc}.bg-slate-900\/90{background-color:#0f172ae6}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-slate-950\/85{background-color:#020617d9}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/5{background-color:#ffffff0d}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-950{--tw-gradient-from: #172554 var(--tw-gradient-from-position);--tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-900{--tw-gradient-from: #064e3b var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-950{--tw-gradient-from: #020617 var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-cyan-900{--tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #164e63 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-green-800{--tw-gradient-to: rgb(22 101 52 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #166534 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-950{--tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #3b0764 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-yellow-400{--tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #facc15 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-amber-500{--tw-gradient-to: #f59e0b var(--tw-gradient-to-position)}.to-indigo-950{--tw-gradient-to: #1e1b4b var(--tw-gradient-to-position)}.to-teal-950{--tw-gradient-to: #042f2e var(--tw-gradient-to-position)}.to-yellow-300{--tw-gradient-to: #fde047 var(--tw-gradient-to-position)}.fill-slate-950{fill:#020617}.fill-yellow-400{fill:#facc15}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity, 1))}.text-cyan-100{--tw-text-opacity: 1;color:rgb(207 250 254 / var(--tw-text-opacity, 1))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-cyan-950{--tw-text-opacity: 1;color:rgb(8 51 68 / var(--tw-text-opacity, 1))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-purple-100{--tw-text-opacity: 1;color:rgb(243 232 255 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-950{--tw-text-opacity: 1;color:rgb(59 7 100 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_\#22d3ee\]{--tw-shadow: 0 0 8px #22d3ee;--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-cyan-400\/50{--tw-ring-color: rgb(34 211 238 / .5)}.ring-yellow-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 204 21 / var(--tw-ring-opacity, 1))}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_0_12px_rgba\(250\,204\,21\,0\.8\)\]{--tw-drop-shadow: drop-shadow(0 0 12px rgba(250,204,21,.8));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a;border-radius:9999px}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}@keyframes bounceSoft{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}.animate-bounce-soft{animation:bounceSoft 2.5s infinite ease-in-out}.kid-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:4px solid rgba(255,255,255,.4);box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a}.kid-btn{transition:all .15s cubic-bezier(.4,0,.2,1);box-shadow:0 6px #0003}.kid-btn:active{transform:translateY(4px);box-shadow:0 2px #0003}:root{color-scheme:dark;font-family:Avenir Next,Segoe UI,sans-serif}body{margin:0;background:#101d1a}button{-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #e8c588;outline-offset:4px;z-index:5}.app-navbar{background:#101c19f5;border-color:#ffffff12}.world-scene{--scene: url(/scenes/jungle.jpg);position:relative;isolation:isolate;background:#13231d}.scene-ocean{--scene: url(/scenes/ocean.jpg);background:#102730}.scene-galaxy{--scene: url(/scenes/galaxy.jpg);background:#151d2d}.world-scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:var(--scene);background-size:cover;background-position:center}.world-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#08171433,#0b191c9c 55%,#101b19f5)}.game-scene{min-height:calc(100vh - 68px);padding-bottom:40px}.game-scene:after{background:linear-gradient(110deg,#0a171ad4,#0d1b1a90,#0a171ad4)}.level-banner{max-width:1080px;background:#15231ce8;border-radius:12px}.chess-workspace{width:100%;max-width:1080px}.chess-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.mode-switch{display:flex;gap:4px;padding:4px;border:1px solid #ffffff20;background:#15221ee6;border-radius:10px}.mode-switch button,.learn-button{display:flex;align-items:center;gap:8px;font-size:12px;padding:9px 16px;color:#ced8cf;border-radius:7px}.mode-switch button[aria-pressed=true]{background:#e9d5ae;color:#253a2d;font-weight:700}.learn-button{border:1px solid #ffffff25;background:#15221ee6}.learn-button:hover{background:#314637}.chess-layout{display:grid;grid-template-columns:minmax(0,650px) minmax(250px,1fr);gap:28px;align-items:start}.board-column{min-width:0}.player-tray{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #ffffff20;border-radius:10px;background:#15221ee8;color:#e7e8dc}.player-tray[data-active=true]{border-color:#d6bd80a0}.player-token{width:38px;height:38px;border-radius:8px;background:#ffffff0c}.player-tray strong{display:flex;align-items:center;gap:10px;font-size:13px}.player-tray small{color:#9eafa1;font-weight:400;font-size:10px}.turn-label{margin-left:auto;font-size:10px;padding:5px 9px;border-radius:5px;color:#e6d1a4;background:#d6bd8015}.captured-pieces{display:flex;height:18px}.captured-pieces .chess-piece{width:18px;height:18px}.wood-board-frame{margin:12px 0;padding:0 22px;border:1px solid #b7935f;border-radius:7px;background:repeating-linear-gradient(5deg,#563e2c,#654a32,#60432e 4px,#725239 14px);box-shadow:0 20px 50px #0007,inset 0 0 0 4px #3c2a20,inset 0 0 20px #1a100c9c}.board-edge-label{text-align:center;padding:9px 0;font-size:8px;letter-spacing:.2em;color:#dec49b}.chess-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:2px solid #35271c;box-shadow:0 0 0 1px #ae8c5c;touch-action:manipulation}.chess-square{aspect-ratio:1;position:relative;display:grid;place-items:center;min-width:0;isolation:isolate}.light-square{background:#e4ceaa;color:#745638}.dark-square{background:#896446;color:#eddbb9}.chess-square:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.17;background:repeating-linear-gradient(8deg,transparent 0 4px,#6c4a2a25 4px 5px,transparent 5px 12px)}.chess-square:hover:not(:disabled){box-shadow:inset 0 0 0 3px #fbecd150}.chess-piece{width:89%;height:89%;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 3px 1px #0003);position:relative}.chess-square .chess-piece{transition:transform .18s}.selected-square .chess-piece{transform:translateY(-3px)}.last-move{background:#b5b16c}.dark-square.last-move{background:#8d914e}.hint-square{box-shadow:inset 0 0 0 4px #458c71}.selected-square{background:#d3b661;box-shadow:inset 0 0 0 3px #6e773c!important}.check-square{background:#b75e4d;box-shadow:inset 0 0 0 3px #8e2e26}.rank-label,.file-label{position:absolute;font-size:clamp(8px,1vw,11px);font-weight:700;line-height:1;z-index:2;pointer-events:none}.rank-label{left:4px;top:4px}.file-label{right:4px;bottom:3px}.move-dot{width:24%;height:24%;border-radius:50%;background:#213b2b55;position:absolute}.capture-ring{position:absolute;top:4%;right:4%;bottom:4%;left:4%;border:5px solid #7f30277a;border-radius:50%;z-index:2;pointer-events:none}.board-bottom-edge{display:flex;justify-content:space-between;padding:8px 0;color:#cbb08b;letter-spacing:.16em;font-size:7px}.chess-sidebar{display:flex;flex-direction:column;gap:18px}.session-card,.board-legend{border:1px solid #ffffff20;background:#15251fe8;border-radius:12px;padding:23px}.session-card h3{font:25px/1.4 Georgia,serif;color:#eee5cf;margin:14px 0 10px}.session-card p{color:#b8c6b8;font-size:12px}.chess-sidebar .mascot-bubble{flex-direction:column;border-width:1px;border-radius:12px;background:#15251fee;padding:20px;gap:16px}.chess-sidebar .mascot-bubble>div:first-child{flex-direction:row;gap:10px}.chess-sidebar .mascot-bubble>div:first-child>div{width:42px;height:42px;font-size:25px;animation:none;border-width:1px}.chess-sidebar .mascot-bubble>div:nth-child(2){width:100%}.chess-sidebar .mascot-bubble>div:nth-child(2)>div:first-child{flex-wrap:wrap;gap:10px}.chess-sidebar .mascot-bubble>div:nth-child(2)>div:last-child{padding:12px 0 0;border:0;background:none;font-size:12px}.board-legend h4{font-size:12px;font-weight:700;color:#e9e4d3;margin-bottom:15px}.board-legend p{display:flex;align-items:center;gap:10px;color:#becbbb;font-size:11px;margin:12px 0}.board-legend i{display:inline-block;width:12px;height:12px;border-radius:2px}.legend-selected{background:#d3b661}.legend-move{background:#92a384;border-radius:50%!important}.legend-last{background:#8d914e}.board-legend small{display:block;border-top:1px solid #ffffff14;padding-top:15px;margin-top:18px;font-size:11px;line-height:1.8;color:#a5b7a5}@media(min-width:1500px){.map-hero{padding:90px 0 70px}}@media(max-width:1000px){.map-hero{gap:30px;grid-template-columns:1fr 280px}.level-grid{gap:10px}.level-card{padding:16px 12px}.chess-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}}@media(max-width:760px){.adventure-map{padding:20px 18px}.map-hero{grid-template-columns:1fr;padding:36px 0;gap:28px}.hero-copy h2{font-size:44px}.guide-card{padding:20px}.guide-card>p{margin:14px 0}.guide-top{gap:12px}.guide-top h3{font-size:21px}.guide-avatar{height:46px;width:46px;font-size:27px}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.level-card:last-child{grid-column:1 / -1}.level-illustration{min-height:65px}.section-heading{align-items:start}.section-heading h3{font-size:23px}.section-heading>span{max-width:95px;line-height:1.6}.world-tabs{width:100%;justify-content:space-between}.world-tabs button{padding:10px 12px;gap:7px}.world-tabs button span{display:none}.chess-layout{grid-template-columns:1fr}.chess-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chess-sidebar .mascot-bubble{grid-column:1 / -1;grid-row:1}.session-card,.board-legend{padding:16px}.session-card h3{font-size:22px}.game-scene{padding:16px 12px 30px}.wood-board-frame{padding:0 15px}.app-navbar>div{flex-wrap:wrap;justify-content:center}.app-navbar>div>div:first-child{flex:1}.map-footnote{font-size:10px}.scene-note{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.secondary-board{width:100%;max-width:550px;background:linear-gradient(135deg,#6a5039,#443326);border:2px solid #ad8c62;border-radius:10px;box-shadow:0 18px 45px #0005}.secondary-board>div{gap:3px}.secondary-board>div>button{width:100%;height:auto;aspect-ratio:1;border-radius:3px}.caro-surface>div{padding:3px;background:#95764e}.caro-surface>div>button:not(.animate-bounce){background:#e0c99f;color:#253c2c}.caro-surface>div>button:hover:not(:disabled){background:#f3dfb7}.reversi-surface>div{padding:3px;background:#112d22}.reversi-surface>div>button{background:#2c5a44;box-shadow:inset 0 0 0 1px #7f9b7530}@media(max-width:380px){.mode-switch button,.learn-button{padding:9px 10px;font-size:11px;gap:5px}.player-tray{padding:8px 10px}.board-legend,.session-card{padding:12px}.app-navbar>div>div:last-child{gap:5px}}.preference-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px;border-radius:9px;border:1px solid #ffffff20;color:#d5dacf;background:#ffffff0a;font-size:10px;font-weight:800}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}[data-theme=light] .app-navbar{background:#fffaf0f5;border-color:#c9c9b2}[data-theme=light] [class*=bg-slate-900],[data-theme=light] [class*=bg-slate-800]{background-color:#faf5e9}[data-theme=light] [class*=text-white],[data-theme=light] [class*=text-slate-100],[data-theme=light] [class*=text-slate-200]{color:#354839}[data-theme=light] [class*=text-slate-300],[data-theme=light] [class*=text-slate-400]{color:#65745f}[data-theme=light] [class*=text-amber-300]{color:#8c662a}[data-theme=light] [class*=text-cyan-300]{color:#21778a}[data-theme=light] [class*=text-emerald-300],[data-theme=light] [class*=text-emerald-200]{color:#3a7449}[data-theme=light] [class*=text-purple-300],[data-theme=light] [class*=text-purple-200]{color:#78588e}[data-theme=light] .preference-button{color:#526846;border-color:#ced5be;background:#eeefdf}[data-theme=light] .level-banner,[data-theme=light] .player-tray,[data-theme=light] .session-card,[data-theme=light] .board-legend,[data-theme=light] .chess-sidebar .mascot-bubble{background:#fff9edf2;color:#40523c;border-color:#d4d3b7}[data-theme=light] .session-card h3,[data-theme=light] .board-legend h4{color:#40523c}[data-theme=light] .session-card p,[data-theme=light] .board-legend p,[data-theme=light] .board-legend small,[data-theme=light] .player-tray small{color:#718065}[data-theme=light] .mode-switch,[data-theme=light] .learn-button{background:#fff8ea;color:#496042;border-color:#d3d7c0}[data-theme=light] .mode-switch button{color:#61734e}[data-theme=light] .turn-label{color:#537533;background:#e8edcd}[data-theme=dark] .storybook{background:#18231f;color:#e9e7cd}[data-theme=dark] .storybook-ocean{background:#15252c}[data-theme=dark] .storybook-galaxy{background:#241e34}[data-theme=dark] .story-title small{color:#b2b99a}[data-theme=dark] .chapter-switch button{background:#324137}[data-theme=dark] .chapter-switch button[aria-pressed=true]{background:#45543c;border-color:#b6c28d}[data-theme=dark] .picture-map{border-color:#354333;background:#283e32}[data-theme=dark] .map-painting{filter:brightness(.77) saturate(.88)}[data-theme=dark] .map-corner-info,[data-theme=dark] .map-story-caption,[data-theme=dark] .encounter-panel,[data-theme=dark] .discovery-speech{background:#24382ff5;border-color:#85926b;color:#e3e6cc}[data-theme=dark] .map-story-caption p,[data-theme=dark] .encounter-character h3,[data-theme=dark] .encounter-character p{color:#dce2c9}[data-theme=dark] .encounter-quote{background:#ffffff09;color:#c2cdb1}[data-theme=dark] .encounter-character>span{background:#566346;border-color:#849467}[data-theme=dark] .encounter-character small{color:#c3c29b}[data-theme=dark] .game-picker button,[data-theme=dark] .listen-story{background:#384b3d;color:#c6d0ad}[data-theme=dark] .game-picker button[aria-pressed=true]{background:#526641;color:#f4f2d2;border-color:#c0cc8f}[data-theme=dark] .chapter-footer>button{color:#c3ccae}@media(max-width:600px){.app-navbar>div>div:last-child{flex-wrap:wrap;justify-content:center}.app-navbar>div>div:first-child{min-width:80px}.preference-button{padding:7px}}.rules-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#071713b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.rules-modal{color:#dce3cd;background:#1a2a23;border:2px solid #89956b;border-radius:22px;width:min(900px,100%);max-height:92dvh;overflow-y:auto;padding:24px}.rules-header{display:flex;justify-content:space-between;align-items:center}.rules-header small{font-size:9px;letter-spacing:.1em;color:#a6b28c}.rules-header h2{font-size:25px;font-weight:800;margin:8px 0}.rules-header button{padding:8px}.rules-tabs{display:flex;gap:7px;overflow-x:auto;margin:16px 0 22px;padding-bottom:8px}.rules-tabs button{display:flex;align-items:center;gap:5px;white-space:nowrap;background:#ffffff0c;padding:6px 9px;border-radius:9px;font-size:10px}.rules-tabs button[aria-pressed=true]{background:#e7d4a3;color:#374d31}.rules-tabs .chess-piece{width:25px;height:30px}.rules-body{display:grid;grid-template-columns:1fr 1fr;gap:28px}.rules-piece-title{display:flex;align-items:center;gap:10px}.rules-piece-title .chess-piece{width:58px;height:64px}.rules-piece-title small{font-size:10px;color:#a5b08d}.rules-piece-title h3{font-size:21px;margin-top:5px;font-weight:800}.rules-main,.rules-note{font-size:14px;line-height:1.9;margin:15px 0}.rules-note{padding:12px;background:#ffffff08;border-radius:10px;font-size:12px}.rules-listen{display:flex;align-items:center;gap:8px;font-size:11px;padding:9px 12px;border:1px solid #7b9266;border-radius:9px;color:#bed89b}.rules-basics{margin:20px 0;font-size:12px;line-height:1.8}.rules-basics summary{cursor:pointer;font-weight:800}.rules-basics p{margin-top:10px}.rules-source{display:inline-flex;align-items:center;gap:6px;text-decoration:underline;font-size:11px;color:#bdd39a}.rules-source-note{font-size:9px;opacity:.7;margin:8px 0;line-height:1.6}.rules-demo{min-width:0}.rules-demo-title{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:12px}.rules-demo-title button{padding:6px}.rules-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:7px solid #695038;border-radius:6px;overflow:hidden}.rules-board button{width:100%;aspect-ratio:1;position:relative;display:grid;place-items:center}.rules-board .chess-piece{width:88%;height:88%}.lesson-origin{box-shadow:inset 0 0 0 3px #809a51}.rules-demo-note{font-size:10px;line-height:1.7;display:flex;align-items:center;gap:6px;margin:12px 0;color:#a5b18e}.promotion-label{display:flex;gap:9px;margin-bottom:10px;font-size:11px}.promotion-label select{padding:3px 8px;background:#ffffff0e;border:1px solid #8a9a70;border-radius:6px}[data-theme=light] .rules-modal{background:#fffaf0;color:#405039;border-color:#d8c38d}[data-theme=light] .rules-listen,[data-theme=light] .rules-source{color:#587d3c}[data-theme=light] .rules-demo-note{color:#6d7c5c}@media(max-width:650px){.rules-backdrop{padding:10px}.rules-modal{padding:16px}.rules-body{grid-template-columns:1fr;gap:20px}.rules-header h2{font-size:21px}.rules-demo{max-width:400px;width:100%;margin:auto}.rules-main{font-size:13px}.rules-piece-title h3{font-size:19px}}.promotion-dialog{background:#fff9e9;color:#405039;border:3px solid #b7b488;border-radius:20px;padding:22px;width:min(380px,95%);text-align:center}.promotion-dialog h3{font-size:19px;font-weight:800}.promotion-dialog>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.promotion-dialog>div button{background:#ece8d4;border:1px solid #c9c8a3;border-radius:12px;padding:8px 4px;font-size:11px}.promotion-dialog .chess-piece{height:55px;width:100%}.promotion-dialog>button{font-size:12px;padding:8px 20px}[data-theme=dark] .promotion-dialog{background:#24382f;color:#e4e7d1}[data-theme=dark] .promotion-dialog>div button{background:#4f5d43}.voice-settings{width:min(560px,100%);max-height:92dvh;overflow-y:auto;padding:25px;border-radius:22px;border:1px solid #83996c;background:#1b2e25;color:#e3e7d6;box-shadow:0 20px 80px #0005}.voice-settings header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.voice-settings header small{font-size:9px;letter-spacing:.12em;color:#b4c29a}.voice-settings h2{font-size:25px;margin-top:7px;font-weight:800}.voice-settings header button{padding:9px}.voice-engine-tabs,.voice-language-tabs{display:flex;gap:8px;margin:16px 0}.voice-engine-tabs button{flex:1;padding:12px;border-radius:12px;border:1px solid #82937250;font-size:12px;background:#ffffff05;text-align:left;font-weight:700}.voice-engine-tabs small{display:block;margin-top:6px;font-size:10px;font-weight:400;opacity:.65}.voice-engine-tabs button[aria-pressed=true],.voice-language-tabs button[aria-pressed=true]{background:#a0b77722;border-color:#b0c68b}.voice-help{font-size:11px;line-height:1.7;opacity:.75;margin:9px 0 16px}.voice-settings label{font-size:12px;font-weight:700}.voice-settings form label{display:flex;gap:6px;align-items:center}.voice-key-row{display:flex;gap:8px;margin-top:8px}.voice-key-row input{flex:1;min-width:0;border-radius:9px;border:1px solid #8d9e7650;background:#ffffff09;padding:10px;font-size:12px}.voice-key-row button{padding:9px 14px;border-radius:9px;background:#627c48;color:#fffbe9;font-size:11px;font-weight:800}.voice-saved{display:flex;gap:6px;font-size:11px;color:#b1d993}.voice-language-tabs button{padding:9px 15px;border:1px solid #82937250;border-radius:9px;font-size:12px}.voice-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.voice-settings select{display:block;width:100%;min-width:0;padding:10px;margin-top:8px;background:#2d4234;border:1px solid #82937250;border-radius:9px;color:inherit;font-size:11px}.voice-system-select{display:block}.voice-system-select small{display:block;margin-top:10px;font-size:11px;font-weight:400}.voice-rate{display:flex;justify-content:space-between;flex-wrap:wrap;margin:22px 0 15px;gap:12px}.voice-rate input{width:100%;accent-color:#a8c47d}.voice-sample{font-size:12px;line-height:1.9;padding:14px;border:1px solid #82937230;background:#ffffff05;border-radius:12px;margin:16px 0}.voice-preview-button{display:flex;align-items:center;justify-content:center;flex:1;gap:9px;padding:12px;border-radius:10px;background:#8ca665;color:#142c1d;font-weight:800;font-size:12px}.voice-preview-button:disabled{opacity:.4;cursor:not-allowed}.voice-play-row{display:flex;gap:10px}.voice-play-row>button:last-child:not(:first-child){padding:10px}.voice-inline-error{font-size:11px;line-height:1.7;color:#e7c18a;margin-bottom:12px}.voice-settings footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #82937230;padding-top:15px;margin-top:20px;font-size:11px}.voice-settings footer button{padding:7px 13px;background:#ffffff0b;border-radius:8px;border:1px solid #82937250}.speech-notification{position:fixed;z-index:80;bottom:18px;left:18px;max-width:min(410px,calc(100vw - 36px));padding:14px 40px 14px 15px;border:1px solid #91ac73;border-radius:13px;background:#20362df5;color:#e7edd9;box-shadow:0 10px 30px #0003;font-size:11px;line-height:1.7}.speech-notification>div{display:flex;gap:10px;align-items:center}.speech-notification svg{flex-shrink:0}.speech-notification>button:not(.speech-dismiss){display:flex;gap:6px;align-items:center;margin-top:9px;color:#c6dea5;text-decoration:underline}.speech-dismiss{position:absolute;top:9px;right:9px;padding:4px}.speech-error{border-color:#c3a36a}[data-theme=light] .voice-settings{background:#fffaf0;color:#3d5139;border-color:#c3cbab}[data-theme=light] .voice-settings select{background:#f0f0df}[data-theme=light] .voice-inline-error{color:#976b2d}[data-theme=light] .speech-notification{background:#fffaf5f5;color:#3e5539}[data-theme=light] .speech-notification>button:not(.speech-dismiss){color:#64833f}@media(max-width:500px){.voice-settings{padding:19px}.voice-settings h2{font-size:22px}.voice-options{gap:8px}.voice-engine-tabs button{font-size:11px;padding:10px}.speech-notification{bottom:10px;left:10px;max-width:calc(100vw - 20px)}}.voice-options-single{grid-template-columns:1fr}.voice-dialogue-settings{margin-top:20px;padding-top:16px;border-top:1px solid #82937230;font-size:11px}.voice-dialogue-settings summary{cursor:pointer;color:#9bad86;margin-bottom:14px}[data-theme=light] .voice-dialogue-settings summary{color:#71845c}.gemini-key-guide{margin-bottom:18px;padding:14px;border:1px solid #82937235;border-radius:12px;background:#ffffff04;font-size:11px;line-height:1.8}.gemini-key-link{display:inline-flex;align-items:center;gap:8px;margin:12px 0;padding:9px 12px;border:1px solid #a6bd7d70;border-radius:9px;color:#c6dda5;font-weight:800}.gemini-key-link:hover{background:#a6bd7d18}.gemini-key-guide ol{list-style:decimal;padding-left:18px;margin:2px 0 12px}.gemini-key-guide li+li{margin-top:5px}.gemini-docs-link{display:inline-flex;align-items:center;gap:6px;text-decoration:underline;color:#b9cba0}[data-theme=light] .gemini-key-link,[data-theme=light] .gemini-docs-link{color:#59783c}.app-navbar{position:sticky;top:0;z-index:40;padding:calc(8px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #ffffff18}.navbar-inner{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}.nav-identity,.nav-controls,.nav-tools-list{display:flex;align-items:center;gap:9px;min-width:0}.nav-controls{flex-shrink:0}.nav-brand{display:flex;align-items:center;gap:10px;text-align:left}.nav-brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#efc854;color:#263925;font-size:27px}.nav-brand-copy{display:flex;flex-direction:column;gap:3px}.nav-brand-copy strong{font-size:14px;font-weight:800;color:#eceddb;letter-spacing:.02em}.nav-brand-copy small{font-size:10px;color:#c4b780}.nav-profile{display:flex;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:6px 10px;border-radius:12px;border:1px solid #ffffff18;background:#ffffff06;color:#dae3cf}.nav-profile>span:first-child{font-size:22px}.nav-profile-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:800}.nav-icon-button,.nav-back,.nav-tools-list button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:9px 11px;border:1px solid #ffffff20;border-radius:11px;background:#ffffff06;color:#d1dcc2;font-size:11px;font-weight:800}.nav-icon-button:hover,.nav-tools-list button:hover{background:#ffffff12}.nav-back{background:#ebcb79;color:#2f4028}.nav-stars{display:flex;align-items:center;gap:5px;padding:9px;color:#e8ca76;font-size:12px;white-space:nowrap}.nav-stars small{font-size:10px;opacity:.65}.nav-tools{position:relative}.nav-tools-list button:nth-child(2)>span,.nav-tools-list button:nth-child(3)>span,.nav-tools-list button:nth-child(5)>span{display:none}.nav-menu-toggle{display:none}[data-theme=light] .nav-brand-copy strong{color:#3c5139}[data-theme=light] .nav-brand-copy small{color:#8c783f}[data-theme=light] .nav-icon-button,[data-theme=light] .nav-profile,[data-theme=light] .nav-tools-list button{color:#526a43;background:#eff0df;border-color:#cdd5bc}[data-theme=light] .nav-stars{color:#a58032}.app-loading{display:grid;place-items:center;min-height:320px;width:100%;color:#eeddb6;font-size:13px}.modal-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:grid;place-items:center;background:#10251caa;color:#fff5df;font-size:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-error{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:25px;text-align:center;background:#eff1df;color:#45583b}.app-error>span{font-size:55px}.app-error h1{font-size:25px;font-weight:800}.app-error p{font-size:14px;max-width:420px;line-height:1.8}.app-error button{padding:13px 23px;border-radius:12px;background:#617d43;color:#fff;font-weight:800}.rules-backdrop{padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.voice-settings,.rules-modal,.profile-dialog,.victory-dialog,.encounter-panel{overscroll-behavior:contain}.profile-dialog,.victory-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.rules-header button,.rules-demo-title button,.close-encounter,.voice-settings header button{min-width:44px;min-height:44px;display:grid;place-items:center}.mode-switch button,.learn-button,.challenge-button,.listen-story,.game-picker button,.voice-settings input[type=password],.voice-settings select,.promotion-label select{min-height:44px}input,select,textarea{font-size:16px}@media(max-width:1099px){.nav-brand-copy small{display:none}.nav-tools-list{display:none;position:absolute;right:0;top:calc(100% + 10px);padding:10px;width:min(310px,calc(100vw - 24px));border:1px solid #81966a77;border-radius:15px;background:#20342afc;box-shadow:0 15px 45px #0004;gap:7px}.nav-tools-open .nav-tools-list{display:grid;grid-template-columns:1fr}.nav-tools-list button{justify-content:flex-start;min-height:46px}.nav-tools-list button>span,.nav-tools-list button:nth-child(2)>span,.nav-tools-list button:nth-child(3)>span,.nav-tools-list button:nth-child(5)>span{display:inline}.nav-menu-toggle{display:inline-flex}[data-theme=light] .nav-tools-list{background:#fffaf3fc;border-color:#c7cfb5}.nav-profile-name{max-width:70px}.nav-brand-copy strong{font-size:13px}}@media(max-width:920px){.chess-layout{grid-template-columns:1fr;max-width:700px;margin:auto}.chess-toolbar{max-width:700px;margin:0 auto 16px}.chess-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.chess-sidebar .mascot-bubble{grid-column:1/-1;grid-row:1}.chess-sidebar .mascot-bubble>div:first-child{flex-direction:row}.session-card h3{font-size:23px}.game-scene{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}.story-title h2{font-size:24px}}@media(max-width:600px){.app-navbar{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}.navbar-inner{gap:6px}.nav-identity,.nav-controls{gap:4px}.nav-brand-copy,.nav-profile-name,.nav-stars small,.nav-back span{display:none}.nav-brand-icon{width:36px;height:40px;font-size:25px;border-radius:12px}.nav-profile{padding:4px;min-width:38px}.nav-icon-button{padding:8px}.nav-language{gap:4px;font-size:10px}.nav-stars{padding:6px 3px;gap:3px;font-size:11px}.nav-back{padding:9px}.nav-controls>.nav-icon-button{min-width:40px}.storybook{padding-left:8px;padding-right:8px}.story-title h2{font-size:16px}.story-title small{font-size:7px}.chess-sidebar{gap:10px}.session-card,.board-legend{padding:14px}.voice-settings input[type=password],.voice-settings select{font-size:16px}.game-scene{padding-left:8px;padding-right:8px}.wood-board-frame{padding:0 12px}.level-banner{gap:8px;padding:10px}.level-banner h2{font-size:13px}.mascot-bubble>div:nth-child(2)>div:first-child{flex-wrap:wrap}.chapter-footer>button{min-height:44px}.chapter-switch button{min-height:40px}.map-motion-toggle{min-width:32px;min-height:40px}.map-heading-actions{gap:5px}.story-compass{display:none}}@media(max-width:359px){.nav-controls,.nav-identity{gap:2px}.nav-icon-button{padding:7px}.nav-language svg{display:none}.nav-stars svg{width:13px}.story-title h2{font-size:14px}.story-title small{font-size:6px}.chapter-switch button{width:30px}.map-motion-toggle{min-width:30px}.map-heading-actions{gap:3px}.board-legend small{font-size:10px}.session-card h3{font-size:20px}}@media(orientation:landscape)and (max-height:600px)and (min-width:640px){.app-navbar{padding-top:4px;padding-bottom:4px}.nav-brand-icon{height:36px}.game-scene{padding-top:12px}.level-banner{padding:7px 12px;margin-bottom:10px}.chess-layout{grid-template-columns:minmax(280px,1fr) minmax(210px,.65fr);max-width:900px;gap:16px}.chess-sidebar{display:flex}.session-card{display:none}.chess-toolbar{max-width:900px;margin-bottom:10px}.player-tray{padding:6px 10px}.rules-modal,.voice-settings{max-height:calc(100dvh - 20px)}.picture-map{border-width:4px}}.app-navbar .navbar-inner{flex-wrap:nowrap;justify-content:space-between}.app-navbar .navbar-inner .nav-controls{flex-wrap:nowrap;justify-content:flex-end}.profile-dialog input{font-size:16px}.game-mode-switch{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.game-mode-switch button{min-width:0;min-height:44px;justify-content:center;padding:8px 10px;gap:6px}.game-mode-switch button svg{flex-shrink:0}.game-mode-switch button span{font-size:12px;line-height:1.4}.player-tray>div{min-width:0;flex:1}.captured-pieces{max-width:100%;overflow-x:auto}.captured-pieces .chess-piece,.turn-label{flex-shrink:0}@media(max-width:500px){.game-mode-switch button span{font-size:11px}.reversi-score{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px}.reversi-score>div{min-width:0}.reversi-score>div:nth-child(2){grid-row:2;grid-column:1/-1;justify-self:center}.reversi-score>div:nth-child(3){grid-row:1;grid-column:2;justify-content:flex-end}}.min-h-screen{min-height:100dvh}.speech-notification{bottom:max(18px,calc(env(safe-area-inset-bottom,0px) + 8px))}@media(max-width:600px){.map-atmosphere .drifting-leaf:nth-of-type(n+5),.map-atmosphere .rising-bubble:nth-of-type(n+7),.map-atmosphere .galaxy-star:nth-of-type(n+11){display:none}}.player-tray strong{flex-wrap:wrap;-moz-column-gap:8px;column-gap:8px;row-gap:2px}.map-navbar .navbar-inner{max-width:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px}.nav-worlds{min-width:0;display:flex;align-items:center;justify-content:center;gap:18px;color:#e9e7ce}.nav-worlds h2{min-width:0;font-family:Comfortaa,sans-serif;font-size:15px;font-weight:800;line-height:1.4}.nav-chapter-tabs{display:flex;gap:5px;flex-shrink:0}.nav-chapter-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:6px 12px;border:1px solid transparent;border-radius:13px;font-size:11px;font-weight:800;white-space:nowrap}.nav-chapter-tabs button>span:first-child{font-size:23px}.nav-chapter-tabs button[aria-pressed=true]{background:#bfd89a22;border-color:#aac57a;box-shadow:inset 0 -3px #a8c57b}.nav-chapter-tabs button:hover{background:#bfd89a18}[data-theme=light] .nav-worlds{color:#425a39}[data-theme=light] .nav-chapter-tabs button[aria-pressed=true]{background:#e9eed9;border-color:#78985a;box-shadow:inset 0 -3px #78985a}.map-app{height:100dvh;min-height:620px}.map-app>main{min-height:0}@media(min-width:1100px)and (max-width:1799px){.map-navbar .nav-tools-list{display:none;position:absolute;right:0;top:calc(100% + 10px);padding:10px;width:290px;border:1px solid #81966a77;border-radius:15px;background:#20342afc;box-shadow:0 15px 45px #0004;gap:7px}.map-navbar .nav-tools-open .nav-tools-list{display:grid}.map-navbar .nav-tools-list button{justify-content:flex-start;min-height:46px}.map-navbar .nav-tools-list button>span{display:inline}.map-navbar .nav-menu-toggle{display:inline-flex}[data-theme=light] .map-navbar .nav-tools-list{background:#fffaf3fc}}@media(max-width:1399px){.map-navbar .nav-brand-copy{display:none}.nav-worlds{gap:12px}}@media(max-width:1099px){.map-navbar .navbar-inner{grid-template-columns:minmax(0,1fr) auto;gap:6px}.map-navbar .nav-identity{grid-column:1;grid-row:1}.map-navbar .nav-controls{grid-column:2;grid-row:1}.nav-worlds{grid-column:1 / -1;grid-row:2;justify-content:space-between;gap:8px}.nav-worlds h2{font-size:13px}}@media(max-width:600px){.map-navbar{padding-bottom:5px}.nav-worlds h2{font-size:11px;max-width:125px}.nav-chapter-tabs{gap:3px}.nav-chapter-tabs button{padding:5px 8px;gap:3px}.nav-chapter-tabs button>span:last-child{display:none}.nav-chapter-tabs button>span:first-child{font-size:24px}}img.nav-brand-icon{background:transparent;border-radius:0;-o-object-fit:contain;object-fit:contain}.selection\:bg-amber-300 *::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.selection\:bg-amber-300 *::selection{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.selection\:text-slate-900 *::-moz-selection{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.selection\:text-slate-900 *::selection{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.selection\:bg-amber-300::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.selection\:bg-amber-300::selection{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.selection\:text-slate-900::-moz-selection{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.selection\:text-slate-900::selection{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:bg-amber-300:hover{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-400\/30:hover{background-color:#fbbf244d}.hover\:bg-cyan-400\/40:hover{background-color:#22d3ee66}.hover\:bg-emerald-500\/30:hover{background-color:#10b9814d}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:from-amber-300:hover{--tw-gradient-from: #fcd34d var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-yellow-300:hover{--tw-gradient-to: #fde047 var(--tw-gradient-to-position)}.hover\:text-amber-200:hover{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-amber-400:focus{--tw-border-opacity: 1;border-color:rgb(251 191 36 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media(min-width:640px){.sm\:inline{display:inline}.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:w-11{width:2.75rem}.sm\:w-12{width:3rem}.sm\:w-16{width:4rem}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-4{gap:1rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-8{padding:2rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}
