.landscape-shell{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.landscape-shell__content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100%;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}.landscape-portrait-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;align-items:center;justify-content:center;background:var(--gradient-sky);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.landscape-portrait-overlay__card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 2.5rem;border-radius:var(--radius-soft);background:var(--color-parchment);border:3px solid var(--color-parchment-edge);box-shadow:0 6px 0 var(--color-parchment-shadow);text-align:center}.landscape-portrait-overlay__icon{font-size:3rem;animation:landscape-rotate-hint 2s ease-in-out infinite}.landscape-portrait-overlay__text{margin:0;font-size:var(--font-size-hint);font-weight:var(--font-weight-strong);color:var(--color-ink)}@keyframes landscape-rotate-hint{0%,to{transform:rotate(0)}25%{transform:rotate(-90deg)}75%{transform:rotate(-90deg)}}@media(orientation:portrait){.landscape-shell .landscape-portrait-overlay{display:flex}.landscape-shell .landscape-shell__content{pointer-events:none;-webkit-user-select:none;user-select:none}}.craft-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:3px solid rgb(255 255 255 / 55%);border-radius:var(--radius-round);font-family:var(--font-family);font-weight:var(--font-weight-strong, 700);letter-spacing:var(--letter-spacing-ui, .02em);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;-webkit-tap-highlight-color:transparent}.craft-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.craft-btn--md{min-width:7.5rem;padding:.75rem 1.5rem;font-size:var(--font-size-body)}.craft-btn--lg{min-width:11rem;padding:1rem 2.25rem;font-size:var(--font-size-cta)}.craft-btn--full{width:100%}.craft-btn--grass{color:#fff;background:linear-gradient(180deg,var(--color-grass-mid),var(--color-grass-deep));box-shadow:var(--shadow-craft-grass),0 10px 24px #4a9e4d47}.craft-btn--grass:not(:disabled):active{transform:translateY(4px);box-shadow:var(--shadow-craft-grass-press)}.craft-btn--sun{color:#fff;background:linear-gradient(180deg,var(--color-sun),var(--color-sun-mid));box-shadow:var(--shadow-craft-sun),0 10px 24px #e89a3c47}.craft-btn--sun:not(:disabled):active{transform:translateY(4px);box-shadow:var(--shadow-craft-sun-press)}.craft-btn--wood{color:var(--color-ink);background:linear-gradient(180deg,#fffef9,var(--color-parchment-warm));border-color:var(--color-parchment-edge);box-shadow:var(--shadow-craft-paper),0 8px 20px #3c2d191f}.craft-btn--wood:not(:disabled):active{transform:translateY(3px);box-shadow:var(--shadow-craft-paper-press)}.craft-btn--paper{color:var(--color-ink-soft);background:#fffef8b8;border:2px solid var(--color-parchment-edge);box-shadow:0 3px #d4c4a8cc;font-weight:600}.craft-btn--paper:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px #d4c4a8cc}.craft-btn--ghost{color:var(--color-ink-soft);background:#fffef8a6;border:2px solid rgb(255 255 255 / 75%);box-shadow:0 3px #5a6b4a24;font-weight:600;font-size:.9rem;padding:.4rem .85rem;border-radius:var(--radius-pill);min-width:unset}.craft-btn--ghost.craft-btn--icon{min-width:2.85rem;min-height:2.85rem;width:2.85rem;height:2.85rem;padding:0;font-size:1.35rem;border-radius:var(--radius-pill)}.craft-btn--ghost:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px #5a6b4a24}.game-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,filter .1s ease}.game-icon-btn:active:not(:disabled){transform:translateY(calc(var(--stage-unit) * .25)) scale(.97);filter:brightness(.96)}.game-icon-btn:disabled{opacity:.55;cursor:not-allowed}.game-icon-btn__img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.game-icon-btn--sm{width:var(--stage-icon-sm);height:var(--stage-icon-sm)}.game-icon-btn--md{width:var(--stage-icon-md);height:var(--stage-icon-md)}.game-icon-btn--lg{width:var(--stage-icon-lg);height:var(--stage-icon-lg)}.game-icon-btn--xl{width:var(--stage-icon-xl);height:var(--stage-icon-xl)}.story-panel{background:linear-gradient(160deg,var(--color-parchment),var(--color-parchment-warm));border:3px solid rgb(255 255 255 / 75%);border-radius:var(--radius-soft);padding:1rem 1.2rem;margin-bottom:1rem;box-shadow:var(--shadow-craft-paper),0 12px 32px #3c2d1914}.story-panel__title{margin:0 0 .75rem;font-size:1rem;font-weight:var(--font-weight-strong);color:var(--color-ink)}.story-panel--flat{box-shadow:0 4px 0 var(--color-parchment-shadow)}.story-panel--inset{background:#fffef88c;border-style:dashed;border-color:#c8e0b8;box-shadow:none}.home-hub{position:relative}.home-hub__toolbar{flex-shrink:0;padding-inline:calc(var(--stage-unit) * .75)}.home-hub__body{gap:calc(var(--stage-unit) * 1.1);padding-bottom:calc(var(--stage-unit) * .75);justify-content:center}.home-hub__title{display:block;width:min(88vw,calc(var(--stage-unit) * 42));height:var(--stage-title-h);object-fit:contain;margin:0 auto;filter:drop-shadow(0 3px 8px rgb(44 36 22 / 18%));-webkit-user-select:none;user-select:none}.home-hub__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--stage-unit) * 1.25);width:min(88vw,calc(var(--stage-unit) * 36))}.play-mode-tile{display:flex;flex-direction:column;align-items:center;gap:calc(var(--stage-unit) * .45);padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.play-mode-tile__icon{display:flex;align-items:center;justify-content:center;width:var(--stage-tile);height:var(--stage-tile);border-radius:var(--radius-soft);background:transparent;border:none;box-shadow:0 calc(var(--stage-unit) * .45) 0 #2c241624;transition:transform .12s ease,box-shadow .12s ease;overflow:hidden}.play-mode-tile__cover{width:100%;height:100%;object-fit:contain;display:block}.play-mode-tile__emoji{font-size:calc(var(--stage-unit) * 3);line-height:1}.play-mode-tile__label{display:block;width:100%;max-width:var(--stage-tile);padding:calc(var(--stage-unit) * .35) calc(var(--stage-unit) * .5);font-size:calc(var(--stage-unit) * 1.15);font-weight:var(--font-weight-strong);color:var(--color-ink);text-align:center;line-height:1.2;background:#fffef8eb;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);box-shadow:0 calc(var(--stage-unit) * .25) 0 #d4c4a88c}.play-mode-tile__hint{font-size:calc(var(--stage-unit) * .85);color:var(--color-ink-muted);text-align:center;line-height:1.15;padding:0 calc(var(--stage-unit) * .35);background:#fffef8c7;border-radius:var(--radius-pill)}.play-mode-tile--active .play-mode-tile__icon:active{transform:translateY(calc(var(--stage-unit) * .25));box-shadow:0 calc(var(--stage-unit) * .15) 0 #2c241624}.play-mode-tile--framed .play-mode-tile__icon{background:transparent;border:none}.play-mode-tile--framed.play-mode-tile--active .play-mode-tile__icon:active{transform:translateY(calc(var(--stage-unit) * .35))}.play-mode-tile--locked .play-mode-tile__icon{opacity:.55;filter:grayscale(.35)}.play-mode-tile--soon{cursor:default}.play-mode-tile--soon .play-mode-tile__icon{opacity:.55}.play-mode-tile--soon .play-mode-tile__cover{filter:grayscale(.65) saturate(.7)}.play-mode-tile--soon:disabled{cursor:default}@media(orientation:landscape)and (max-height:420px){.home-hub__grid{width:min(92vw,calc(var(--stage-unit) * 38))}}.scene-illustrations{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.scene-illustrations.layout-home,.scene-illustrations.layout-meadow,.scene-illustrations.layout-hill,.scene-illustrations.layout-world{background:var(--gradient-sky)}.scene-illustrations.layout-world{background:var(--gradient-world)}.scene-cloud{position:absolute;width:auto;height:auto;opacity:.92;filter:drop-shadow(0 4px 8px rgb(255 255 255 / 35%));animation:scene-float 7s ease-in-out infinite}.scene-cloud--1{width:88px;top:10%;left:6%}.scene-cloud--2{width:110px;top:16%;right:8%;animation-delay:-2.5s}.scene-cloud--3{width:72px;top:8%;left:40%;opacity:.8;animation-delay:-4s}.scene-hill{position:absolute;left:-8%;right:-8%;bottom:0;width:116%;max-width:none;height:auto;object-fit:cover;object-position:bottom}.layout-home .scene-hill{bottom:22%;opacity:.85}.layout-world .scene-hill{bottom:0;height:22%;object-fit:cover}.scene-tree{position:absolute;bottom:26%;left:50%;width:100px;transform:translate(-50%);filter:drop-shadow(0 8px 12px rgb(60 90 50 / 20%))}.layout-world .scene-tree{display:none}.scene-bird{position:absolute;bottom:48%;left:58%;width:28px;animation:bird-hop 2.4s ease-in-out infinite}.scene-sheep{position:absolute;bottom:32%;left:50%;width:56px;transform:translate(-50%);filter:drop-shadow(0 4px 6px rgb(60 45 25 / 12%))}@keyframes scene-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.balloon-party{position:relative;width:100%;overflow:visible}.balloon-party--embedded{min-height:0;width:min(92vw,880px);height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.balloon-party--embedded .balloon-grid{min-height:0;padding:0;width:100%;max-height:100%}.balloon-grid{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;width:min(92vw,880px);margin:0 auto;box-sizing:border-box}.balloon-grid--row{flex-wrap:nowrap;gap:var(--balloon-row-gap);padding-inline:var(--balloon-row-pad-x);box-sizing:border-box}.balloon-grid--row .balloon{flex:0 0 auto}.balloon-grid--row .balloon-sprite{height:min(var(--balloon-play-height),var(--balloon-sprite-max-h));width:auto;max-width:100%}.balloon-grid--stagger{flex-wrap:wrap;align-content:center;gap:clamp(.35rem,1vw,.75rem) var(--balloon-row-gap);padding-inline:var(--balloon-row-pad-x);max-width:min(88vw,820px);box-sizing:border-box}.balloon-grid--stagger .balloon{flex:0 1 calc((100% - 2 * clamp(.5rem,1.4vw,1rem)) / 3);max-width:calc((100% - 2 * clamp(.5rem,1.4vw,1rem)) / 3)}.balloon-grid--stagger .balloon:nth-child(2n){margin-top:var(--balloon-stagger-y)}.balloon-grid--stagger .balloon:nth-child(2n).balloon--idle{animation:float-stagger 4s ease-in-out infinite;animation-delay:var(--float-delay, 0s)}@keyframes float-stagger{0%,to{transform:translate(var(--x-jitter, 0)) translateY(0)}50%{transform:translate(var(--x-jitter, 0)) translateY(-6px)}}.balloon-grid--stagger .balloon-sprite{height:min(var(--balloon-play-height),var(--balloon-sprite-max-h));width:auto;max-width:100%}.balloon{position:relative;display:flex;flex-direction:column;align-items:center;background:none;border:none;cursor:pointer;padding:0;transform:translate(var(--x-jitter, 0))}.balloon--idle{animation:float 4s ease-in-out infinite;animation-delay:var(--float-delay, 0s)}.balloon--wrong{animation:balloon-shake .48s ease}.balloon--wrong .balloon-sprite{filter:saturate(.45) brightness(.95) drop-shadow(0 4px 8px rgb(44 36 22 / 10%));transform:scale(.88,.82);transition:transform .12s ease,filter .12s ease}.balloon--correct{animation:fly-away .65s ease forwards;pointer-events:none}.balloon-sprite{display:block;height:min(var(--balloon-play-height),var(--balloon-sprite-max-h));width:auto;max-width:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 6px 10px rgb(44 36 22 / 12%));transition:transform .12s ease,filter .12s ease}.balloon-text{position:absolute;top:32%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-family);font-size:var(--balloon-char-size);font-weight:800;color:var(--balloon-char-color);line-height:1;pointer-events:none;letter-spacing:.04em;text-shadow:0 2px 0 var(--balloon-char-glow),0 0 10px rgb(255 248 220 / 75%),0 1px 3px rgb(200 90 36 / 28%)}.balloon--correct .balloon-sprite{animation:none}.sparkles{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;background:radial-gradient(circle,#fff9 2px,transparent 3px);background-size:12px 12px;animation:sparkle .5s ease;pointer-events:none}.play-stage .play-loading-text,.play-stage .play-empty-text{position:relative;z-index:1;margin:0;font-size:var(--font-size-hint);font-weight:var(--font-weight-strong);color:var(--color-ink);text-shadow:0 1px 0 rgb(255 255 255 / 75%)}.play-stage .game-stage__hud{display:block;width:100%}.play-stage .game-stage__main{overflow:hidden;padding-block:clamp(.2rem,.8vh,.5rem)}.play-stage .balloon-party--embedded{width:100%;max-width:min(94vw,900px);height:100%;max-height:100%;padding-inline:clamp(.25rem,1vw,.75rem)}.play-stage .balloon-grid{width:100%;max-height:100%}.play-stage .balloon-grid--row{gap:var(--balloon-row-gap);padding-inline:var(--balloon-row-pad-x);width:100%;max-width:min(96vw,920px)}.play-stage .balloon-grid--row .balloon{flex:0 0 auto;max-width:none}.play-stage .balloon-grid--row .balloon-sprite{height:min(var(--balloon-play-height),var(--balloon-sprite-max-h));width:auto;max-width:100%}.play-stage .balloon-text{font-size:min(var(--balloon-char-size),calc(var(--balloon-play-height) * .22))}.play-stage .balloon--idle{animation:float-play 4s ease-in-out infinite}@keyframes float-play{0%,to{transform:translate(var(--x-jitter, 0)) translateY(0)}50%{transform:translate(var(--x-jitter, 0)) translateY(-6px)}}.play-stage__hud{position:relative}.play-stage-exit{flex-shrink:0;z-index:3}.play-review-hint{margin:0;font-size:.9rem;color:var(--color-grass-deep);font-weight:600;text-shadow:0 1px 0 rgb(255 255 255 / 70%)}.play-stage .play-wrong-hint{position:absolute;bottom:.35rem;left:50%;transform:translate(-50%);margin:0;padding:.35rem .85rem;font-size:.95rem;color:var(--color-ink);background:#fffef8d1;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);pointer-events:none;animation:hint-fade .48s ease;z-index:2}@keyframes float{0%,to{transform:translate(var(--x-jitter, 0)) translateY(0)}50%{transform:translate(var(--x-jitter, 0)) translateY(-10px)}}@keyframes balloon-shake{0%,to{transform:translate(var(--x-jitter, 0)) rotate(0)}15%{transform:translate(calc(var(--x-jitter, 0px) - 6px)) rotate(-10deg)}30%{transform:translate(calc(var(--x-jitter, 0px) + 6px)) rotate(10deg)}45%{transform:translate(calc(var(--x-jitter, 0px) - 4px)) rotate(-6deg)}60%{transform:translate(calc(var(--x-jitter, 0px) + 4px)) rotate(6deg)}}@keyframes fly-away{0%{transform:translate(var(--x-jitter, 0)) translateY(0) scale(1);opacity:1}to{transform:translate(var(--x-jitter, 0)) translateY(-120px) scale(1.1);opacity:0}}@keyframes sparkle{0%{opacity:1}to{opacity:0}}@keyframes hint-fade{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.session-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--stage-unit) * .35);pointer-events:none;min-width:0}.session-progress--inline .session-progress-track{position:relative;width:min(58vw,calc(var(--stage-unit) * 36))}.session-progress--inline .session-progress-track__bg{display:block;width:100%;height:auto;object-fit:contain}.session-progress--hud{height:auto;gap:0}.session-progress--hud .session-progress-track{position:relative;width:min(52vw,calc(var(--stage-unit) * 28));height:auto}.session-progress--hud .session-progress-track__bg{display:block;width:100%;height:auto;object-fit:contain}.session-progress-track__leaves{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.session-leaf{position:absolute;left:var(--slot-x, 50%);top:var(--slot-y, 56%);width:var(--progress-leaf-w, 6.8%);height:auto;object-fit:contain;transform:translate(-50%,-50%);transition:transform .2s ease,filter .2s ease}.session-leaf--done{filter:saturate(1.05)}.session-leaf--active{transform:translate(-50%,-50%) scale(1.04);filter:saturate(1.12) drop-shadow(0 1px 3px rgb(107 201 110 / 30%))}.session-leaf--pending{opacity:.78}.session-progress-badge{font-size:var(--stage-hud-text);font-weight:700;color:var(--color-ink);padding:calc(var(--stage-unit) * .2) calc(var(--stage-unit) * .65);background:#fffef8e0;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);text-shadow:0 1px 0 rgb(255 255 255 / 80%);letter-spacing:.02em;white-space:nowrap}.play-stage__hud-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:calc(var(--stage-unit) * .5);width:100%;height:auto;min-height:var(--stage-icon-md)}.play-stage__hud-bar .session-progress--hud{justify-self:center;width:min(var(--stage-play-progress-w),100%)}.play-stage .session-progress--hud .session-progress-track{width:min(var(--stage-play-progress-w),100%);height:auto}.play-stage .session-progress--hud .session-leaf{--progress-leaf-w: 6.6%}.play-stage__level-badge{justify-self:end;align-self:center;font-size:var(--stage-hud-text);font-weight:700;color:var(--color-ink);padding:calc(var(--stage-unit) * .22) calc(var(--stage-unit) * .7);background:#fffef8e5;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);box-shadow:0 calc(var(--stage-unit) * .15) 0 #d4c4a87f;white-space:nowrap}.play-stage-exit{justify-self:start;align-self:center}.game-stage{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%;overflow:hidden}.game-stage__hud{flex-shrink:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:calc(.35rem + env(safe-area-inset-top,0px)) .75rem .25rem;position:relative}.game-stage__main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}.game-stage__footer{flex-shrink:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:var(--stage-footer-h);padding:.5rem 1rem calc(.65rem + env(safe-area-inset-bottom,0px))}.game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.game-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#2c241673;cursor:pointer}.game-overlay__panel{position:relative;z-index:1;width:min(92vw,480px);max-height:min(88vh,640px);overflow-y:auto}.game-stage-back{font-size:.9rem}.world-page{position:relative}.world-hub-canvas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:grab}.world-hub-canvas:active{cursor:grabbing}.world-hub-canvas__layer{position:absolute;top:-18%;right:-38%;bottom:-18%;left:-38%;display:flex;align-items:center;justify-content:center;will-change:transform}.world-page__anchor{position:relative;z-index:1;width:min(100%,440px);padding:1rem 1rem 4.5rem}.world-page--celebrate .world-page__anchor{animation:world-celebrate-zoom 1s ease}.world-home-btn{position:absolute;z-index:10;bottom:calc(.65rem + env(safe-area-inset-bottom));left:50%;transform:translate(-50%)}.tree-scene{position:relative;z-index:1;width:100%;min-height:42vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:.5rem}.tree-scene--celebrate .tree-scene-tree{animation:tree-celebrate 1s ease}.tree-scene-tree{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.tree-scene-trunk{width:28px;background:linear-gradient(90deg,#7a4f28,#9a6535);border-radius:4px;height:56px}.tree-scene-crown{position:relative;width:100px;height:100px;margin-bottom:-10px;background:radial-gradient(circle at 40% 35%,#7bc96f,#4a9e4d 70%);border-radius:50%;transition:width .6s ease,height .6s ease}.tree-scene.stage-1 .tree-scene-crown{width:110px;height:110px}.tree-scene.stage-2 .tree-scene-crown{width:130px;height:118px}.tree-scene.stage-3 .tree-scene-crown,.tree-scene.stage-4 .tree-scene-crown{width:150px;height:130px}.tree-scene.stage-5 .tree-scene-crown,.tree-scene.stage-6 .tree-scene-crown{width:170px;height:145px;background:radial-gradient(circle at 40% 30%,#ffb3d0,#5a9e4d 55%)}.tree-leaf{position:absolute;top:50%;left:50%;width:14px;height:8px;margin:-4px 0 0 -7px;background:#3d8b40;border-radius:50% 0;transform:rotate(var(--leaf-angle, 0deg)) translateY(-42px);opacity:.85}.tree-flower{position:absolute;width:10px;height:10px;background:#ff8ab0;border-radius:50%;top:calc(20% + var(--fi, 0) * 8%);left:calc(25% + (var(--fi, 0) * 13%) % 55%);box-shadow:0 0 0 3px #ffc4d6}.tree-bird{position:absolute;top:-12px;left:calc(30% + var(--bi, 0) * 22%);width:16px;height:8px;background:#f4a442;border-radius:50%;animation:bird-hop 2.2s ease infinite;animation-delay:calc(var(--bi, 0) * .4s)}.tree-scene-whisper{position:relative;z-index:2;margin:1rem 0 .15rem;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:var(--font-weight-strong);color:var(--color-ink);text-shadow:0 1px 0 rgb(255 255 255 / 75%)}.tree-scene-stage{position:relative;z-index:2;margin:0;font-size:.95rem;color:var(--color-ink-muted)}@keyframes tree-celebrate{0%{transform:scale(.92)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes world-celebrate-zoom{0%{transform:scale(.92)}40%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes bird-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.book-nav-page{position:relative;min-height:100dvh;padding:env(safe-area-inset-top) 1.25rem calc(2rem + env(safe-area-inset-bottom));overflow:hidden}.book-nav-loading{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:60dvh;color:var(--color-ink-soft);font-size:1.05rem;font-weight:600}.book-nav-back.craft-btn{position:relative;z-index:2;align-self:flex-start;margin-bottom:.75rem;min-width:unset;padding:.45rem 1rem;font-size:.95rem}.book-nav-content{position:relative;z-index:1;max-width:400px;margin-inline:auto}.book-nav-header{text-align:center;margin-bottom:1.75rem}.book-nav-header h1{margin:0 0 .4rem;font-size:1.55rem;color:var(--color-ink);font-weight:var(--font-weight-strong)}.book-nav-header p{margin:0;color:var(--color-ink-soft);font-size:1.05rem}.book-nav-empty{position:relative;z-index:1;text-align:center;color:#5a7356;margin-top:3rem;font-size:1.05rem}.level-path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.level-path-card{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;border:3px solid rgb(255 255 255 / 70%);border-radius:var(--radius-round);background:linear-gradient(145deg,var(--color-parchment),var(--color-parchment-warm));box-shadow:var(--shadow-craft-paper),0 10px 28px #5a46281f;text-align:left;cursor:pointer;transition:transform .12s ease}.level-path-card:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #d4c4a8}.level-path-card.is-locked{opacity:.5;cursor:not-allowed;filter:saturate(.7)}.level-path-icon{flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:linear-gradient(180deg,#dff3ff,#c8e8f8);border-radius:50%;border:2px solid rgb(255 255 255 / 90%)}.level-path-body{flex:1;min-width:0}.level-path-name{display:block;font-size:1.2rem;font-weight:700;color:#3d4f3a}.level-path-hint{display:block;margin-top:.2rem;font-size:.9rem;color:#6b8068}.level-stars{display:flex;gap:.25rem;margin-top:.45rem}.level-star{font-size:.95rem;opacity:.28;filter:grayscale(.4)}.level-star.lit{opacity:1;filter:none}.book-shelf{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.book-spine{width:100%;display:flex;align-items:stretch;gap:0;padding:0;border:none;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 5px #c4a882,0 8px 20px #3c2d1924;text-align:left;transition:transform .12s ease}.book-spine:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #c4a882}.book-spine:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.65)}.book-spine-edge{width:14px;flex-shrink:0;background:linear-gradient(90deg,#e8c878,#d4a85a)}.book-spine.state-available .book-spine-edge{background:linear-gradient(90deg,#f4c878,#e8a84a)}.book-spine.state-in_progress .book-spine-edge{background:linear-gradient(90deg,#8ecf7e,#6bb85a)}.book-spine.state-completed .book-spine-edge{background:linear-gradient(90deg,#a8d8ff,#7ec0f0)}.book-spine-body{flex:1;padding:1rem 1.1rem;background:linear-gradient(135deg,#fffef9,#f8f0e0);position:relative}.book-spine-name{display:block;font-size:1.15rem;font-weight:700;color:#3d3528}.book-spine-desc{display:block;margin-top:.15rem;font-size:.85rem;color:#8a7a68}.book-spine-action{display:inline-block;margin-top:.5rem;font-size:.88rem;padding:.25rem .65rem;border-radius:999px;background:#6bc96e2e;color:#3d7a40}.book-spine.state-locked .book-spine-action{background:#0000000f;color:#9a8b7a}.book-spine-sticker{position:absolute;top:.65rem;right:.75rem;font-size:1.35rem}.book-result-page{display:flex;align-items:center;justify-content:center;min-height:100dvh}.book-result-card.story-panel{position:relative;z-index:1;text-align:center;max-width:360px;width:100%;margin-inline:auto;padding:2rem 1.35rem;border-radius:24px}.book-result-emoji{font-size:2.75rem;margin:0 0 .35rem;line-height:1}.book-result-card h1{margin:0 0 .35rem;font-size:1.45rem;color:var(--color-ink);font-weight:var(--font-weight-strong)}.book-result-sub{margin:0 0 1.25rem;color:#5a7356;font-size:1rem;line-height:1.45}.book-gift-box{margin:0 0 1.25rem;padding:1.1rem 1rem;border-radius:18px;background:linear-gradient(180deg,#e8f8e8,#dff3df);border:2px dashed #a8d8a0}.book-gift-label{margin:0;font-size:1rem;color:#4a7c59}.book-gift-visual{margin:.65rem 0 0;font-size:2rem;letter-spacing:.35rem;animation:gift-sparkle 1.8s ease-in-out infinite}@keyframes gift-sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.book-discovery-section{text-align:left;margin-bottom:1rem}.book-discovery-section h2{margin:0 0 .5rem;font-size:.92rem;color:#6b8068;font-weight:600}.book-discovery-chips{display:flex;flex-wrap:wrap;gap:.4rem}.book-discovery-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;padding:.4rem .55rem;border-radius:10px;font-size:1.15rem;background:#fffef8;border:2px solid #e8dfc8;color:#3d4f3a;box-shadow:0 2px #e0d4bc}.book-discovery-chip.wonder{border-color:#d4e8f8;background:#f0f8ff;color:#5a7a9a}.book-sentence-quote{margin:0;font-size:1.2rem;color:#3d4f3a;line-height:1.5}.book-sentence-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.book-sentence-list .book-sentence-quote{padding:.45rem .65rem;background:#ffffff8c;border-radius:12px}.book-result-actions{display:flex;flex-direction:column;gap:.65rem;margin-top:.25rem}.sentence-read-page{display:flex;flex-direction:column}.sentence-read-content{position:relative;z-index:1;max-width:400px;margin-inline:auto;width:100%}.sentence-engine-badge{margin:0 0 .75rem;font-size:.85rem;color:var(--color-ink-muted);text-align:center}.sentence-friend{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1rem;background:#ffffff8c;border-radius:18px;border:2px solid rgb(255 255 255 / 75%)}.sentence-friend-avatar{font-size:2rem;line-height:1}.sentence-friend-text{margin:0;font-size:1rem;color:#4a6b4a;line-height:1.4}.sentence-challenge-progress{margin:.35rem 0 0;font-size:.9rem;font-weight:600;color:#6b8f6b}.sentence-challenge-dots{display:flex;justify-content:center;gap:.45rem;margin:.5rem 0 .75rem}.sentence-challenge-dot{width:.55rem;height:.55rem;border-radius:50%;background:#d8e8d0;transition:transform .2s ease,background .2s ease}.sentence-challenge-dot.done{background:#7cb87c}.sentence-challenge-dot.current{background:#4a9a4a;transform:scale(1.35)}.sentence-storybook{background:linear-gradient(160deg,#fffef9,#f8f0e0);border:3px solid #e8dfc8;border-radius:20px 20px 24px 24px;padding:1.35rem 1.15rem 1.5rem;box-shadow:0 8px #d4c4a8,0 14px 32px #3c2d191f;position:relative}.sentence-storybook:before{content:"";position:absolute;top:0;left:12px;right:12px;height:6px;background:repeating-linear-gradient(90deg,#e8dfc8 0,#e8dfc8 8px,transparent 8px,transparent 16px);border-radius:4px;opacity:.6}.sentence-star-row{display:flex;justify-content:center;gap:.35rem;margin-bottom:1rem;min-height:1.5rem}.sentence-star{font-size:1.1rem;opacity:.22;transform:scale(.9);transition:opacity .25s ease,transform .25s ease}.sentence-star.lit{opacity:1;transform:scale(1.1);animation:star-pop .35s ease}@keyframes star-pop{0%{transform:scale(.6)}70%{transform:scale(1.2)}to{transform:scale(1.1)}}.sentence-char-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-bottom:1.1rem}.sentence-char-row--locked{pointer-events:none;opacity:.92}.sentence-char{display:inline-flex;align-items:center;justify-content:center;min-width:3.1rem;height:3.4rem;font-size:1.8rem;font-weight:600;line-height:1;font-family:inherit;padding:0;border-radius:14px;border:2px solid #e8dfc8;background:#fffef8;color:#5a6b58;cursor:default;box-shadow:0 3px #e0d4bc;transition:background .2s,border-color .2s,transform .12s,box-shadow .12s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.sentence-char.tappable{cursor:pointer}.sentence-char.tappable:not(:disabled):active{transform:scale(.96)}.sentence-char:disabled{cursor:default}.sentence-char.discovered{background:linear-gradient(180deg,#fff9e6,#fff3cc);border-color:#f4d878;color:#8a6b20;box-shadow:0 3px #e8c878}.sentence-char.missed{background:#f5f8fc;border-color:#d4e4f4;color:#7a9ab8;box-shadow:0 3px #c8dce8;animation:cloud-drift 2.5s ease-in-out infinite}@keyframes cloud-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.sentence-read-message{text-align:center;margin:0 0 1.1rem;color:#5a7356;font-size:1rem;min-height:1.5em;line-height:1.4}.sentence-listen-indicator{display:none;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.85rem;min-height:0}.sentence-listen-indicator.active{display:flex}.sentence-listen-countdown{position:relative;width:52px;height:52px}.sentence-countdown-ring{width:100%;height:100%;transform:rotate(-90deg)}.sentence-countdown-track{fill:none;stroke:#e8dfc8;stroke-width:3}.sentence-countdown-progress{fill:none;stroke:#6bc96e;stroke-width:3;stroke-linecap:round;stroke-dasharray:97.4;transition:stroke-dashoffset .15s linear}.sentence-countdown-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#4a7a4a}.sentence-listen-pulse{width:56px;height:56px;border-radius:50%;background:radial-gradient(circle,#ffe8a8,#f4b860 70%);box-shadow:0 0 #f4b8607f;animation:listen-pulse 1.2s ease-in-out infinite;transition:transform .08s ease-out}.sentence-listen-pulse.hearing{background:radial-gradient(circle,#c8f0a8,#6bc96e 70%);animation:listen-pulse-active .6s ease-in-out infinite}@keyframes listen-pulse-active{0%{box-shadow:0 0 #6bc96e8c}70%{box-shadow:0 0 0 16px #6bc96e00}to{box-shadow:0 0 #6bc96e00}}.sentence-mic-meter{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:28px}.sentence-mic-bar{width:6px;height:8px;border-radius:3px;background:#e8dfc8;transition:height .08s ease-out,background .12s ease}.sentence-mic-bar.on{background:linear-gradient(180deg,#8ed490,#4a9e4d);height:calc(10px + var(--bar-index, 0) * 2px)}.sentence-mic-bar:nth-child(1).on{height:10px}.sentence-mic-bar:nth-child(2).on{height:12px}.sentence-mic-bar:nth-child(3).on{height:14px}.sentence-mic-bar:nth-child(4).on{height:16px}.sentence-mic-bar:nth-child(5).on{height:18px}.sentence-mic-bar:nth-child(6).on{height:20px}.sentence-mic-bar:nth-child(7).on{height:22px}.sentence-mic-bar:nth-child(8).on{height:24px}.sentence-model-retry,.sentence-model-status{margin-bottom:1rem}.sentence-model-progress{height:10px;margin-top:.55rem;border-radius:999px;background:#efe6d4;overflow:hidden;box-shadow:inset 0 1px 2px #3c2d1914}.sentence-model-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#8ed490,#4a9e4d);transition:width .15s ease-out}.sentence-model-hint{margin:0;padding:.65rem .85rem;font-size:.9rem;color:#6a5a48;background:#fff8dcbf;border-radius:12px;text-align:center}.sentence-listen-hint{margin:0;font-size:.82rem;color:#6a8f6a}.sentence-listen-debug{margin:0 0 .85rem;padding:.55rem .75rem;font-size:.78rem;line-height:1.45;color:#6a5a48;background:#fff8dcb3;border:1px dashed #e8c878;border-radius:10px;word-break:break-word}@keyframes listen-pulse{0%{box-shadow:0 0 #f4b8608c;transform:scale(1)}70%{box-shadow:0 0 0 14px #f4b86000;transform:scale(1.05)}to{box-shadow:0 0 #f4b86000;transform:scale(1)}}.sentence-listen-label{font-size:.95rem;color:#8a6b20}.sentence-read-actions{display:flex;flex-direction:column;gap:.55rem}.sentence-done-btn{background:linear-gradient(180deg,#6bc96e,#4a9e4d);box-shadow:0 5px #3d7a40}.sentence-done-btn:active{box-shadow:0 2px #3d7a40}.sentence-listen-btn{width:100%;padding:.95rem;font-size:1.2rem;border:none;border-radius:999px;background:linear-gradient(180deg,#f4b860,#e89a3c);color:#fff;box-shadow:0 5px #c47a28;cursor:pointer}.sentence-listen-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #c47a28}.sentence-listen-btn:disabled{opacity:.7}.sentence-tap-btn{width:100%;padding:.75rem;font-size:1rem;border-radius:999px;background:#fff9;color:#5a7356;border:2px solid #e8dfc8;cursor:pointer}.sentence-continue-btn{background:linear-gradient(180deg,#a8d8a0,#7bc96f);color:#fff;border-color:#6ab85e;font-weight:600}.sentence-char-review{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem 0}.sentence-char-review-progress{margin:0;font-size:.9rem;color:var(--color-ink-muted, #7a8b76)}.sentence-char-review-card-wrap{perspective:900px;width:7rem;height:7.5rem}.sentence-char-review-card{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:4rem;font-weight:700;line-height:1;padding-bottom:.08em;border-radius:24px;border:3px solid #f4d878;background:linear-gradient(180deg,#fff9e6,#fff3cc);color:#8a6b20;box-shadow:0 6px #e8c878;backface-visibility:hidden;transform-style:preserve-3d}.sentence-char-review-card.entering{animation:review-flip-in .32s ease forwards}.sentence-char-review-card.leaving{animation:review-flip-out .32s ease forwards}@keyframes review-flip-out{0%{transform:rotateY(0);opacity:1}to{transform:rotateY(-90deg);opacity:.35}}@keyframes review-flip-in{0%{transform:rotateY(90deg);opacity:.35}to{transform:rotateY(0);opacity:1}}.sentence-char-review-hint{margin:0;font-size:.95rem;color:#5a7356}.sentence-read-stage .game-stage__hud{display:block;width:100%;min-height:calc(var(--stage-hud-h) + env(safe-area-inset-top,0px))}.sentence-read-stage .game-stage__footer{align-items:flex-end;justify-content:stretch;padding-left:calc(.5rem + env(safe-area-inset-left,0px));padding-right:calc(1rem + env(safe-area-inset-right,0px))}.sentence-stage-footer{display:flex;align-items:flex-end;justify-content:center;width:100%}.sentence-stage-footer--center{justify-content:center}.sentence-hud-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:calc(var(--stage-unit) * .5);width:100%;height:var(--stage-hud-h)}.sentence-hud-stars{justify-self:center;display:flex;align-items:center;justify-content:center;gap:calc(var(--stage-unit) * .65);min-height:calc(var(--stage-unit) * 3.8)}.sentence-hud-stars .sentence-star-img{width:calc(var(--stage-unit) * 3.6);height:calc(var(--stage-unit) * 3.6)}.sentence-hud-spacer{width:calc(var(--stage-unit) * 4)}.sentence-hud-progress{justify-self:end;margin:0;padding:calc(var(--stage-unit) * .35) calc(var(--stage-unit) * 1);font-size:var(--stage-hud-text);font-weight:700;color:var(--color-ink);background:#fffef8e5;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);text-shadow:0 1px 0 rgb(255 255 255 / 80%);white-space:nowrap;box-shadow:0 calc(var(--stage-unit) * .2) 0 #d4c4a873}.sentence-star-row{display:flex;justify-content:center;gap:calc(var(--stage-unit) * .55);margin-bottom:calc(var(--stage-unit) * .65);min-height:calc(var(--stage-unit) * 2.8)}.sentence-star-img{width:calc(var(--stage-unit) * 2.6);height:calc(var(--stage-unit) * 2.6);object-fit:contain;transition:transform .25s ease,filter .25s ease;filter:saturate(.85)}.sentence-star-img.lit{filter:saturate(1.1) drop-shadow(0 2px 6px rgb(244 184 96 / 45%));transform:scale(1.08);animation:star-pop .35s ease}.sentence-stage{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.sentence-stage--layout{min-height:0}.sentence-stage__center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.5rem,1.5vh,1rem);padding:0 clamp(.5rem,2vw,1.5rem);text-align:center}.sentence-icon-actions{display:flex;align-items:center;justify-content:center;gap:clamp(.65rem,2vw,1.25rem)}.sentence-friend-avatar-img{width:2.75rem;height:auto;object-fit:contain}.sentence-stage--layout .sentence-char-row{flex-wrap:nowrap;width:min(92vw,calc(var(--stage-unit) * 52));max-width:92vw;gap:clamp(.35rem,1.2vw,.85rem);margin-bottom:0}.sentence-stage--layout .sentence-char{flex:1 1 0;width:calc((100% - (var(--char-count, 4) - 1) * clamp(.35rem,1.2vw,.85rem)) / var(--char-count, 4));min-width:calc(var(--stage-unit) * 5.5);max-width:var(--stage-char-card);height:auto;aspect-ratio:100 / 112;font-size:min(calc(var(--stage-unit) * 4.2),calc(var(--stage-unit) * 17 / var(--char-count, 4)));border:none;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat;background-position:center;box-shadow:none}.sentence-char-review{display:flex;flex-direction:column;align-items:center;gap:calc(var(--stage-unit) * .85);margin-bottom:calc(var(--stage-unit) * .75);padding:calc(var(--stage-unit) * .85);background:#fffef8e5;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-soft);box-shadow:0 calc(var(--stage-unit) * .35) 0 #d4c4a873}.sentence-char-review-progress{margin:0;font-size:var(--stage-hud-text);font-weight:700;color:var(--color-ink)}.sentence-char-review-card-wrap{perspective:900px;width:var(--stage-char-card);height:calc(var(--stage-char-card) * 1.12)}.sentence-stage--layout .sentence-char-review-card{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:calc(var(--stage-unit) * 4.5);font-weight:700;line-height:1;background-image:var(--char-card-bg, none);background-size:100% 100%;background-color:transparent;border:none;color:#8a6b20;backface-visibility:hidden;transform-style:preserve-3d}.sentence-stage--layout .sentence-char-review-card.entering{animation:review-flip-in .32s ease forwards}.sentence-stage--layout .sentence-char-review-card.leaving{animation:review-flip-out .32s ease forwards}.sentence-char-review-hint{margin:0;font-size:calc(var(--stage-unit) * 1.15);font-weight:600;color:var(--color-ink)}.sentence-read-message{text-align:center;margin:0;padding:calc(var(--stage-unit) * .45) calc(var(--stage-unit) * .85);color:var(--color-ink);font-size:calc(var(--stage-unit) * 1.1);font-weight:600;min-height:1.5em;line-height:1.4;background:#fffef8e0;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);max-width:min(92vw,calc(var(--stage-unit) * 32))}.sentence-stage--layout .sentence-char.discovered{color:#8a6b20;filter:saturate(1.05)}.sentence-stage--layout .sentence-char.missed{color:#7a9ab8;animation:cloud-drift 2.5s ease-in-out infinite}.sentence-storybook--stage{width:min(92vw,720px);text-align:center}.sheep-book-path{position:relative;display:flex;flex-direction:column}.sheep-book-path__header{flex-shrink:0}.sheep-book-path__title{flex:1;margin:0;text-align:center;font-size:calc(var(--stage-unit) * 1.5);font-weight:var(--font-weight-strong);color:var(--color-ink);padding:calc(var(--stage-unit) * .35) calc(var(--stage-unit) * 1.1);background:#fffef8e0;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);box-shadow:0 calc(var(--stage-unit) * .25) 0 #d4c4a87f;max-width:min(50vw,calc(var(--stage-unit) * 22))}.sheep-book-path__spacer{width:var(--stage-icon-md);flex-shrink:0}.sheep-book-path__loading{flex:1;display:flex;align-items:center;justify-content:center;margin:0;font-size:var(--stage-hud-text);color:var(--color-ink);font-weight:var(--font-weight-medium);padding:calc(var(--stage-unit) * .75) calc(var(--stage-unit) * 1.25);background:#fffef8d9;border-radius:var(--radius-pill)}.sheep-book-path__canvas{flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;display:flex;align-items:center;padding:calc(var(--stage-unit) * .5) calc(var(--stage-unit) * .75)}.sheep-book-path__zigzag{position:relative;display:flex;align-items:center;gap:calc(var(--stage-unit) * 2);min-width:min-content;min-height:min(58vh,calc(var(--stage-unit) * 32));padding:calc(var(--stage-unit) * 1.5) calc(var(--stage-unit) * 2)}.sheep-book-path__zigzag:before{content:"";position:absolute;left:calc(var(--stage-unit) * 2);right:calc(var(--stage-unit) * 2);top:50%;height:calc(var(--stage-unit) * .45);transform:translateY(-50%);border-radius:999px;background:repeating-linear-gradient(90deg,#c4a882d9 0,#c4a882d9 14px,#8b5a2bbf 14px,#8b5a2bbf 28px);pointer-events:none;z-index:0}.sheep-book-path__step{position:relative;z-index:1;flex-shrink:0;display:flex;flex-direction:column;align-items:center}.sheep-book-path__step--row-0{align-self:flex-start;margin-top:0}.sheep-book-path__step--row-1{align-self:flex-end;margin-bottom:0}.sheep-path-node{width:calc(var(--stage-unit) * 11)}.sheep-path-node .play-mode-tile__icon{width:calc(var(--stage-unit) * 10);height:calc(var(--stage-unit) * 10)}.sheep-path-node__index{font-size:calc(var(--stage-unit) * .85);font-weight:700;color:var(--color-ink-muted)}.sheep-path-node__cover{position:relative}.sheep-path-node__lock,.sheep-path-node__done{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:calc(var(--stage-unit) * 2);background:#fffef859}.sheep-path-node__stage{font-size:calc(var(--stage-unit) * .75);color:var(--color-ink-muted);text-align:center;line-height:1.1}.sheep-path-node.is-current .play-mode-tile__icon{box-shadow:0 calc(var(--stage-unit) * .35) 0 #3d7a4059,0 0 0 3px #4a9e4d47}.sheep-path-node.is-done .play-mode-tile__icon{filter:saturate(1.05)}.sheep-book-path__mascot{position:absolute;left:calc(var(--stage-unit) * -3.5);bottom:calc(var(--stage-unit) * -1);width:calc(var(--stage-unit) * 7);height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 8px rgb(44 36 22 / 18%))}.sheep-path-node.play-mode-tile--locked{cursor:not-allowed}.settings-shell{position:relative}.settings-shell__header{flex-shrink:0}.settings-shell__spacer{width:5.5rem;flex-shrink:0}.settings-shell__tabs{flex-shrink:0}.settings-shell__panel{flex:1;min-height:0;overflow-y:auto;padding:.5rem .75rem calc(1rem + env(safe-area-inset-bottom));max-width:min(720px,100%);width:100%;margin:0 auto}.settings-tab-bar{display:flex;gap:.35rem;padding:.35rem .75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-tab-bar::-webkit-scrollbar{display:none}.settings-tab-bar__tab{flex-shrink:0;padding:.45rem .85rem;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);background:#fffef8d1;color:var(--color-ink-muted);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px #d4c4a8a6;transition:background .15s ease,border-color .15s ease,color .15s ease}.settings-tab-bar__tab.is-active{background:linear-gradient(180deg,var(--color-grass-mid),var(--color-grass-deep));border-color:var(--color-grass-deep);color:#fff;box-shadow:var(--shadow-craft-grass-press)}.settings-tab-content{display:flex;flex-direction:column;gap:1rem}.settings-tab-content .message{margin:0}@media(orientation:landscape){.settings-shell__panel{max-width:min(840px,94vw)}}:root{font-family:var(--font-family);line-height:var(--line-height-body);color:var(--color-ink);background:var(--color-cream)}*{box-sizing:border-box}body{margin:0}.back-home{margin:1rem;background:transparent;border:none;color:var(--color-grass-deep);font-size:var(--font-size-body);cursor:pointer;font-weight:600}.parent-page{max-width:480px;margin:0 auto;padding:1.5rem 1rem 3rem}header h1{margin:0 0 .25rem;font-size:1.5rem}.subtitle{margin:0 0 1.5rem;color:var(--color-ink-muted);font-size:.9rem}.stats ul{margin:0;padding-left:1.25rem;color:var(--color-ink)}.parent-page button:not(.craft-btn),.settings-tab-content button:not(.craft-btn):not(.settings-tab-bar__tab):not(.play-mode-tile){background:linear-gradient(180deg,var(--color-grass-mid),var(--color-grass-deep));color:#fff;border:2px solid rgb(255 255 255 / 35%);border-radius:var(--radius-soft);padding:.6rem 1rem;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 4px 0 var(--color-grass-shadow)}.parent-page button:not(.craft-btn):active:not(:disabled),.settings-tab-content button:not(.craft-btn):not(.settings-tab-bar__tab):not(.play-mode-tile):active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 var(--color-grass-shadow)}.parent-page button:not(.craft-btn):disabled,.settings-tab-content button:not(.craft-btn):not(.settings-tab-bar__tab):disabled{opacity:.6;cursor:not-allowed}.actions{display:flex;gap:.5rem;margin-top:.75rem}.message{padding:.75rem 1rem;background:#e8f4ea;border-radius:var(--radius-soft);border:2px dashed #b8dcc0;font-size:.9rem;color:var(--color-ink)}.pack-list{margin:.75rem 0 0;font-size:.85rem;color:#6b5c4a}.pack-update-panel{display:flex;flex-direction:column;gap:.75rem}.pack-update-toolbar{display:flex;flex-direction:column;gap:.5rem}.pack-update-hint{margin:0;font-size:.8rem;color:#9a8b7a;line-height:1.4}.pack-update-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem}.pack-update-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;border:2px solid var(--color-parchment-edge);border-radius:var(--radius-soft);background:var(--color-parchment)}.pack-update-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}.pack-version-badge{display:inline-block;width:fit-content;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600}.pack-version-badge.status-latest{background:#e8f4ea;color:#3d6b4a}.pack-version-badge.status-update_available{background:#fff3d6;color:#9a6b00}.pack-version-badge.status-not_installed{background:#eef2f7;color:#5a6a7a}.pack-version-detail{font-size:.8rem;color:#6b5c4a}.pack-version-error{font-size:.75rem;color:#b54a3a}.pack-update-message{margin:0;padding:.65rem .75rem;background:#e8f4ea;border-radius:8px;font-size:.85rem}.parent-page button.btn-secondary,.settings-tab-content button.btn-secondary{background:var(--color-parchment);color:var(--color-grass-deep);border:2px solid var(--color-grass-deep);box-shadow:0 3px #3d7a4040;align-self:flex-start}.pack-update-row button{flex-shrink:0;white-space:nowrap;font-size:.85rem;padding:.5rem .75rem}.flashcard-diag-list{margin:.75rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}.flashcard-diag-list li{padding:.5rem .65rem;border-radius:8px;background:#faf8f4}.flashcard-diag-list .diag-pass{border-left:3px solid #4a7c59}.flashcard-diag-list .diag-fail{border-left:3px solid #c45c4a}.flashcard-diag-list .diag-detail{display:block;margin-top:.2rem;color:#6b5c4a;font-size:.8rem}.queue-detail{margin:0;padding-left:0;list-style:none}.queue-detail li{display:flex;align-items:baseline;gap:.5rem;padding:.35rem 0;border-bottom:1px solid rgb(44 36 22 / 6%);font-size:.95rem}.queue-index{color:#9a8b7a;min-width:1.5rem}.queue-meta{margin-left:auto;font-size:.75rem;color:#9a8b7a;text-transform:lowercase}.pack-list-panel{display:flex;flex-direction:column;gap:.75rem}.pack-block{border:2px solid var(--color-parchment-edge);border-radius:var(--radius-soft);padding:.5rem .75rem;background:#fffef8b3}.pack-summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.pack-summary::-webkit-details-marker{display:none}.pack-count{font-size:.8rem;font-weight:500;color:#6b5c4a}.pack-stage{margin-top:.75rem}.pack-stage-title{margin:0 0 .5rem;font-size:.85rem;color:#6b5c4a}.pack-stage-meta{font-weight:400;margin-left:.25rem}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.4rem}.char-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.35rem .2rem .25rem;border-radius:10px;background:var(--color-parchment);border:2px solid var(--color-parchment-edge);font-size:1.1rem;line-height:1.1;box-shadow:0 2px 0 var(--color-parchment-shadow)}.char-chip small{font-size:.55rem;color:#9a8b7a;margin-top:2px}.char-chip.state-MASTERED{border-color:#4a9e4d;background:#eef8ef}.char-chip.state-LEARNING{border-color:#ffd166}.pack-empty{margin:0;color:#9a8b7a;font-size:.9rem}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.95rem;cursor:pointer}.setting-row+.setting-row{border-top:1px solid rgb(44 36 22 / 6%)}.setting-row input{width:1.25rem;height:1.25rem;accent-color:var(--color-grass-deep);cursor:pointer}.speech-engine-fieldset{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:.65rem}.speech-engine-option{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem;border:2px solid rgb(44 36 22 / 10%);border-radius:12px;cursor:pointer;background:#ffffff8c}.speech-engine-option.selected{border-color:var(--color-grass-deep);background:#a8d8ff2e}.speech-engine-option input{margin-top:.2rem;accent-color:var(--color-grass-deep)}.speech-engine-option-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.speech-engine-name{font-weight:700;color:var(--color-ink)}.speech-engine-summary,.speech-engine-free,.speech-engine-note{font-size:.85rem;color:var(--color-ink-muted);line-height:1.4}.speech-engine-docs{font-size:.85rem;color:var(--color-grass-deep);text-decoration:underline;width:fit-content}.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}.debug-panel details summary{cursor:pointer;font-weight:600;color:var(--color-ink-muted);list-style:none}.debug-panel details summary::-webkit-details-marker{display:none}.debug-panel .task-debug{margin-top:.75rem}:root{--color-sky-top: #b8e0ff;--color-sky-mid: #dff3ff;--color-meadow-top: #e8f5e0;--color-grass: #7bc06a;--color-grass-mid: #6bc96e;--color-grass-deep: #4a9e4d;--color-grass-shadow: #3d7a40;--color-sun: #f4b860;--color-sun-mid: #e89a3c;--color-sun-deep: #c47a28;--color-cream: #faf6f0;--color-parchment: #fffef8;--color-parchment-warm: #f5edd8;--color-parchment-edge: #e8dfc8;--color-parchment-shadow: #d4c4a8;--color-wood: #8b5a2b;--color-wood-deep: #6b4420;--color-wood-light: #c4a882;--color-ink: #3d4f3a;--color-ink-muted: #6b8068;--color-ink-soft: #5a7356;--color-cloud: #ffffff;--gradient-sky: linear-gradient( 180deg, var(--color-sky-top) 0%, var(--color-sky-mid) 50%, var(--color-meadow-top) 100% );--gradient-world: linear-gradient( 180deg, var(--color-sky-top) 0%, #a8d4ff 40%, #d8f0d0 100% );--gradient-play: linear-gradient( 180deg, #a8d8ff 0%, #d4ecff 45%, #e8f4e8 100% );--font-family: Nunito, "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", sans-serif;--font-size-hint: 1.25rem;--font-size-cta: 1.2rem;--font-size-body: 1rem;--font-weight-strong: 700;--font-weight-medium: 600;--font-weight-body: 500;--line-height-body: 1.5;--letter-spacing-ui: .02em;--radius-soft: 16px;--radius-round: 20px;--radius-pill: 999px;--shadow-craft-grass: 0 6px 0 var(--color-grass-shadow);--shadow-craft-grass-press: 0 2px 0 var(--color-grass-shadow);--shadow-craft-sun: 0 6px 0 var(--color-sun-deep);--shadow-craft-sun-press: 0 2px 0 var(--color-sun-deep);--shadow-craft-wood: 0 5px 0 var(--color-wood-deep);--shadow-craft-wood-press: 0 2px 0 var(--color-wood-deep);--shadow-craft-paper: 0 6px 0 var(--color-parchment-shadow);--shadow-craft-paper-press: 0 2px 0 var(--color-parchment-shadow);--app-max-width: 480px;--play-padding-top: .5rem;--stage-unit: clamp(.72rem, min(1.75vw, 2.55vh), 1.28rem);--stage-icon-sm: calc(var(--stage-unit) * 5);--stage-icon-md: calc(var(--stage-unit) * 6.5);--stage-icon-lg: calc(var(--stage-unit) * 8.5);--stage-icon-xl: calc(var(--stage-unit) * 10.5);--stage-title-h: calc(var(--stage-unit) * 10);--stage-tile: calc(var(--stage-unit) * 14);--stage-char-card: calc(var(--stage-unit) * 11);--stage-hud-text: calc(var(--stage-unit) * 1.15);--stage-hud-h: clamp(3.25rem, 8vh, 5.25rem);--stage-play-progress-w: 60vw;--stage-footer-h: clamp(4rem, 14vh, 7rem);--balloon-play-height: min(32vh, calc(var(--stage-unit) * 22));--balloon-sprite-max-h: 300px;--balloon-char-size: min(calc(var(--stage-unit) * 3.6), 9vw);--balloon-char-color: #c85a24;--balloon-char-glow: #fff8e8;--balloon-row-gap: clamp(1rem, 3.5vw, 2.25rem);--balloon-row-pad-x: clamp(1.25rem, 5vw, 3rem);--balloon-stagger-y: clamp(.65rem, 2.5vh, 1.5rem)}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2) format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-sc-chinese-simplified-400-normal-Ba7eOkfT.woff2) format("woff2"),url(/assets/noto-sans-sc-chinese-simplified-400-normal-DUWMQbbw.woff) format("woff")}@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-sc-chinese-simplified-500-normal-z_irmif2.woff2) format("woff2"),url(/assets/noto-sans-sc-chinese-simplified-500-normal-Du6iXQtI.woff) format("woff")}@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-sc-chinese-simplified-700-normal-DoUziBww.woff2) format("woff2"),url(/assets/noto-sans-sc-chinese-simplified-700-normal-DdQ4H5Ol.woff) format("woff")}:root{--app-max-width: 100%;--play-padding-top: .35rem}@media(orientation:landscape){.balloon-party--embedded{width:min(92vw,880px)}.balloon-grid{min-height:0;padding-top:0}.balloon-body{width:clamp(72px,14vw,108px);height:clamp(86px,17vw,128px)}.home-hub__body{justify-content:center}.sheep-book-path__track-wrap{display:flex;align-items:stretch}.world-page__anchor{padding-bottom:3.5rem}}@media(orientation:landscape)and (max-height:420px){.balloon-body{width:clamp(64px,13vw,92px);height:clamp(76px,16vw,108px)}.balloon-string{height:28px}.balloon-text{font-size:min(calc(var(--stage-unit) * 3.2),calc(var(--balloon-play-height) * .24))}.session-progress{padding:.35rem .75rem}.sentence-char-row .sentence-char{font-size:clamp(2rem,8vw,3rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;background:var(--color-sky-top)}.scene-page{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;width:100%;height:100%;overflow:hidden}.scene-fullbleed{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--scene-fallback, var(--color-sky-top))}.scene-fullbleed__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:var(--scene-focal, center center);transform:scale(var(--scene-scale, 1.08));transform-origin:center center;-webkit-user-select:none;user-select:none}.scene-fullbleed__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var( --scene-scrim, linear-gradient( 180deg, rgb(255 255 255 / 6%) 0%, rgb(255 255 255 / 0%) 40%, rgb(61 79 58 / 22%) 100% ) )}.scene-fullbleed__scrim--settings{--scene-scrim: linear-gradient( 180deg, rgb(250 246 240 / 88%) 0%, rgb(250 246 240 / 78%) 100% )}.scene-layer{position:relative;z-index:1}.scene-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .5rem;flex-shrink:0}.scene-toolbar__title{margin:0;font-size:clamp(.95rem,2.4vw,1.15rem);font-weight:var(--font-weight-strong);color:var(--color-ink);text-shadow:0 1px 0 rgb(255 255 255 / 80%)}.scene-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 .75rem .5rem}.scene-body--spread{justify-content:space-evenly}.craft-btn--icon{min-width:2.85rem;min-height:2.85rem;width:2.85rem;height:2.85rem;padding:0;font-size:1.35rem;line-height:1;border-radius:var(--radius-pill)}.craft-btn-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65rem;width:min(92vw,640px)}.craft-btn-row .craft-btn--full{flex:1 1 8rem;min-width:min(100%,10rem)}@media(orientation:landscape)and (max-height:420px){.scene-body{padding-bottom:.25rem}.home-hub__hint{font-size:1rem}.game-stage__footer{padding-top:.25rem;padding-bottom:calc(.35rem + env(safe-area-inset-bottom))}}
