:root{--ink:#4a3a2a;--parchment:#f5ecd8;--parchment-edge:#e3d3ac;--wood:#b07a44;--wood-dark:#8a5a2e;--sky:#bfe3f2;--accent:#d98a5a;--shadow:rgba(74,58,42,0.18);--safe-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}img{-webkit-user-drag:none;-webkit-touch-callout:none}body,html{margin:0;padding:0;height:100%;overflow:hidden;background:var(--sky);color:var(--ink);font-family:Baloo\ 2,Quicksand,Nunito,LionpalCJK,system-ui,-apple-system,sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-x pan-y}.game-root{position:fixed;inset:0}.game-canvas-host{position:absolute;inset:0}.game-canvas-host canvas{display:block;touch-action:none}.loading{position:absolute;inset:0;display:grid;place-items:center;font-size:1.4rem;color:var(--wood-dark)}.hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;pointer-events:none;padding:12px}.hud-scroll{pointer-events:auto;background:linear-gradient(var(--parchment),var(--parchment-edge));border:2px solid var(--wood-dark);border-radius:16px;padding:8px 18px;box-shadow:0 4px 0 var(--shadow);display:flex;align-items:center;gap:12px;font-weight:700}.hud-scroll input{font:inherit;border:2px solid var(--parchment-edge);border-radius:10px;padding:2px 8px;width:6.5rem;background:#fffdf6;color:var(--ink)}.holding-tray{position:absolute;top:62px;left:50%;transform:translateX(-50%);z-index:6;pointer-events:auto;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 14px;background:linear-gradient(var(--parchment),var(--parchment-edge));border:2px solid var(--wood-dark);border-radius:16px;box-shadow:0 4px 0 var(--shadow);animation:trayPop .28s cubic-bezier(.34,1.56,.64,1)}@keyframes trayPop{0%{transform:translateX(-50%) translateY(-8px) scale(.85);opacity:0}}.holding-tray-cue{font-weight:800;font-size:.82rem;color:var(--wood-dark);opacity:.85;white-space:nowrap}.holding-item{display:flex;flex-direction:column;align-items:center;gap:1px;border:2px solid var(--parchment-edge);background:#fffdf6;border-radius:12px;padding:4px 6px 3px;cursor:pointer;font:inherit;box-shadow:0 2px 0 var(--shadow);transition:transform .1s ease}.holding-item:active{transform:translateY(2px);box-shadow:0 0 0 var(--shadow)}.holding-item-art{width:38px;height:38px;display:grid;place-items:center}.holding-item-art img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.holding-item-fallback{font-size:1.5rem}.holding-item-label{font-weight:800;font-size:.82rem;color:var(--ink);line-height:1}.dialogue-backdrop{position:absolute;inset:0;background:rgba(40,30,20,.45);backdrop-filter:blur(3px);display:grid;place-items:center;animation:fade .25s ease}@keyframes fade{0%{opacity:0}}.dialogue-card{position:relative;width:min(92vw,560px);background:linear-gradient(var(--parchment),#efe2c4);border:3px solid var(--wood-dark);border-radius:28px;padding:22px 22px 18px;box-shadow:0 10px 30px rgba(0,0,0,.3);text-align:center}.dialogue-face{width:116px;height:116px;margin:-64px auto 6px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#ffe6b8,#f0c987);border:4px solid var(--wood-dark);display:grid;place-items:center;font-size:56px;box-shadow:0 6px 0 var(--shadow);transition:transform .2s ease}.dialogue-face.pop{transform:scale(1.08) translateY(-4px)}.dialogue-face.has-img{background:#fffdf6;overflow:hidden;padding:0}.dialogue-face-pic{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.dialogue-name{font-weight:800;color:var(--wood-dark);margin:2px 0 10px}.dialogue-prompt{font-size:clamp(1.5rem,5vw,2.1rem);line-height:1.5;font-weight:800;letter-spacing:.02em;margin:4px 0}.tok{transition:color .12s,transform .12s;display:inline-block;padding:0 1px}.tok.active{color:var(--accent);transform:translateY(-3px) scale(1.12)}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}.chip{pointer-events:auto;cursor:pointer;background:#fffdf6;border:2.5px solid var(--wood);border-radius:18px;padding:10px 16px;font:inherit;font-weight:800;font-size:1.25rem;color:var(--ink);box-shadow:0 4px 0 var(--shadow);transition:transform .1s}.chip:active{transform:translateY(3px);box-shadow:0 1px 0 var(--shadow)}.mic-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;min-height:28px;color:var(--wood-dark);font-weight:700}.mic-dot{width:14px;height:14px;border-radius:50%;background:#d85a5a;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.5);opacity:.5}}.leo-hint{margin-top:12px;background:#fff6df;border:2px dashed var(--wood);border-radius:16px;padding:8px 14px;color:var(--wood-dark);font-weight:700;animation:fade .3s ease}.dialogue-close{position:absolute;top:10px;right:14px;pointer-events:auto;cursor:pointer;border:none;background:transparent;font-size:1.4rem;color:var(--wood-dark)}.hud-lanterns{position:relative;font-weight:800;color:var(--wood-dark)}.earn-toast{position:absolute;top:-16px;right:-6px;color:#3a8a4a;font-weight:800;animation:floatUp 1.6s ease forwards}@keyframes floatUp{to{transform:translateY(-18px);opacity:0}}.hud-gear{border:none;background:transparent;font-size:1.2rem}.hud-avatar-float,.hud-gear{cursor:pointer;pointer-events:auto}.hud-avatar-float{position:absolute;top:12px;right:12px;z-index:7;zoom:var(--ui-scale,1);width:48px;height:48px;border-radius:50%;border:2px solid var(--wood-dark);background:linear-gradient(var(--parchment),var(--parchment-edge));box-shadow:0 3px 0 var(--shadow);padding:0;overflow:hidden;display:grid;place-items:center}.hud-avatar-float img{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;-o-object-position:center top;object-position:center top}.hud-avatar-float:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.hud-shop-float{position:absolute;top:64px;right:12px;z-index:7;zoom:var(--ui-scale,1);width:44px;height:44px;border-radius:50%;border:2px solid var(--wood-dark);background:linear-gradient(var(--parchment),var(--parchment-edge));box-shadow:0 3px 0 var(--shadow);font-size:1.3rem;cursor:pointer;pointer-events:auto;display:grid;place-items:center}.hud-shop-float:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.hud-decorate-float{position:absolute;top:64px;right:12px;z-index:7;zoom:var(--ui-scale,1);width:44px;height:44px;border-radius:50%;border:2px solid var(--wood-dark);background:linear-gradient(var(--parchment),var(--parchment-edge));box-shadow:0 3px 0 var(--shadow);font-size:1.3rem;cursor:pointer;pointer-events:auto;display:grid;place-items:center}.hud-decorate-float:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.mirror-card{position:relative;width:min(94vw,460px);background:linear-gradient(var(--parchment),#efe2c4);border:3px solid var(--wood-dark);border-radius:22px;padding:24px 20px 28px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;gap:16px}.mirror-done{position:absolute;top:10px;right:10px;border:2.5px solid var(--wood-dark);background:linear-gradient(var(--parchment),var(--parchment-edge));border-radius:14px;padding:7px 16px;font:inherit;font-weight:800;color:var(--wood-dark);cursor:pointer;box-shadow:0 3px 0 var(--shadow)}.mirror-done:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.mirror-title{font-weight:800;font-size:1.2rem;color:var(--wood-dark);margin-top:8px}.mirror-avatars{display:flex;align-items:flex-end;justify-content:center;gap:26px}.mirror-avatar{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer}.mirror-avatar img{width:clamp(120px,32vw,156px);height:clamp(120px,32vw,156px);-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;border-radius:50%;background:var(--parchment);border:4px solid var(--wood-dark);box-shadow:0 4px 0 var(--shadow);transition:transform .12s ease}.mirror-avatar:active img{transform:scale(.96);box-shadow:0 2px 0 var(--shadow)}.mirror-avatar-label{font-weight:800;font-size:1rem;color:var(--wood-dark)}.hud-decorate-float.pending{animation:decorate-pending 1s ease-in-out infinite}@keyframes decorate-pending{50%{box-shadow:0 3px 0 var(--shadow),0 0 0 5px rgba(217,138,90,.35)}}.hud-help-float{position:fixed;top:60px;left:14px;z-index:40;width:44px;height:44px;border-radius:50%;border:2px solid var(--wood-dark);background:linear-gradient(var(--parchment),var(--parchment-edge));box-shadow:0 3px 0 var(--shadow);font-size:1.4rem;font-weight:800;color:var(--wood-dark);cursor:pointer;pointer-events:auto;display:grid;place-items:center}.hud-help-float:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.settings-name-input{font:inherit;font-weight:700;border:2px solid var(--parchment-edge);border-radius:10px;padding:4px 10px;width:9rem;background:#fffdf6;color:var(--ink)}.decorate-btn{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);pointer-events:auto;cursor:pointer;font:inherit;font-weight:800;font-size:1.1rem;color:var(--ink);background:linear-gradient(var(--parchment),var(--parchment-edge));border:2.5px solid var(--wood-dark);border-radius:18px;padding:12px 26px;box-shadow:0 5px 0 var(--shadow)}.decorate-btn:active{transform:translateX(-50%) translateY(3px);box-shadow:0 2px 0 var(--shadow)}.place-banner{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;background:#fff6df;border:2px dashed var(--wood);border-radius:16px;padding:10px 18px;font-weight:700;color:var(--wood-dark)}.place-banner button{border:none;background:var(--wood);color:#fff;border-radius:10px;padding:4px 10px;cursor:pointer;font:inherit}.decorate-bar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:linear-gradient(var(--parchment),var(--parchment-edge));border-bottom:2.5px solid var(--wood-dark);box-shadow:0 3px 0 var(--shadow)}.decorate-bar-acorns,.decorate-bar-title{font-weight:800;color:var(--wood-dark)}.decorate-bar-acorns{margin-left:auto;margin-right:14px;display:inline-flex;align-items:center;gap:6px}.decorate-bar-acorns img{width:24px;height:24px;-o-object-fit:contain;object-fit:contain}.decorate-done{font:inherit;font-weight:800;cursor:pointer;background:var(--wood);color:#fff;border:none;border-radius:14px;padding:8px 20px;box-shadow:0 3px 0 var(--shadow)}.decorate-done:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.decorate-controls{position:fixed;z-index:55;transform:translate(-50%,-100%);margin-top:-96px;display:flex;gap:8px;pointer-events:auto}.decorate-ctl{display:inline-flex;align-items:center;gap:5px;font:inherit;font-weight:800;font-size:.95rem;color:var(--ink);background:linear-gradient(#fffdf6,var(--parchment-edge));border:2.5px solid var(--wood-dark);border-radius:14px;padding:10px 14px;cursor:pointer;box-shadow:0 3px 0 var(--shadow);white-space:nowrap}.decorate-ctl:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.decorate-ctl-ico{font-size:1.1rem}.decorate-ctl.danger{border-color:#c8553a;color:#c8553a}.decorate-tray{max-height:40vh}.home-decor-tray{max-height:34vh;z-index:52}.home-decor-empty{color:var(--wood-dark);font-weight:600;padding:4px 14px 8px;opacity:.85}.tray-item.selected{outline:3px solid var(--wood);outline-offset:2px;border-radius:14px;transform:translateY(-3px)}.home-slot{position:fixed;z-index:54;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:none;background:transparent;cursor:pointer;padding:0;display:grid;place-items:center;transition:transform .12s ease,opacity .12s ease}.home-slot.free{border:2.5px dashed rgba(120,86,45,.55);background:rgba(255,248,224,.35)}.home-slot.free .home-slot-plus{font-weight:900;font-size:1.3rem;line-height:1;color:var(--wood-dark);opacity:.6}.home-slot.free.armed{border-color:var(--wood);background:rgba(255,240,196,.7);animation:home-slot-pulse 1.1s ease-in-out infinite}.home-slot.free.armed .home-slot-plus{opacity:1}@keyframes home-slot-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(176,138,85,.5)}50%{transform:scale(1.12);box-shadow:0 0 0 8px rgba(176,138,85,0)}}.home-slot.occupied{width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid rgba(90,70,48,0);background:transparent}.home-slot.occupied:active,.home-slot.occupied:hover{border-color:rgba(90,70,48,.6);background:rgba(255,248,224,.25)}.home-slot-menu{position:fixed;z-index:56;transform:translate(-50%,-100%);margin-top:-22px}.tray-section{font-weight:800;font-size:1.25rem;color:var(--wood-dark);padding:2px 14px 12px;display:flex;align-items:center;gap:8px}.tray{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(var(--parchment),#ecdcb8);border-top:3px solid var(--wood-dark);border-radius:22px 22px 0 0;padding:12px 16px 18px;box-shadow:0 -6px 20px rgba(0,0,0,.15);max-height:46vh;display:flex;flex-direction:column}.tray-header{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--wood-dark);margin-bottom:10px}.tray-balance{margin-left:auto}.tray-done{border:2px solid var(--wood-dark);background:#fffdf6;border-radius:12px;padding:4px 14px;font:inherit;font-weight:800;cursor:pointer}.tray-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;overflow-y:auto}.tray-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fffdf6;border:2px solid var(--parchment-edge);border-radius:14px;padding:8px 6px;cursor:pointer;font:inherit}.tray-item img{width:56px;height:56px;-o-object-fit:contain;object-fit:contain}.tray-item.locked{opacity:.4;cursor:default}.tray-item.on{border-color:var(--wood-dark);background:var(--parchment);box-shadow:0 0 0 2px var(--wood-dark) inset}.tray-label{font-size:.78rem;font-weight:700;color:var(--ink)}.tray-cost{font-size:.74rem;color:var(--wood-dark);font-weight:800}.tray-coin,.tray-item .tray-coin{width:15px;height:15px;-o-object-fit:contain;object-fit:contain;vertical-align:-2px}.dialogue-tools{display:flex;justify-content:center;gap:10px;margin-top:12px}.tool-btn{border:2px solid var(--parchment-edge);background:#fffdf6;border-radius:12px;padding:6px 12px;font:inherit;font-weight:700;color:var(--wood-dark);cursor:pointer}.log-pane{margin-top:10px;max-height:30vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;text-align:left}.log-line{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;background:#fffdf6;border:1.5px solid var(--parchment-edge);border-radius:12px;padding:6px 10px;cursor:pointer;font:inherit;text-align:left}.log-who{font-size:.7rem;font-weight:800;color:var(--wood-dark)}.log-target{font-size:1.1rem;font-weight:700}.log-replay{grid-row:1/span 3;grid-column:3;align-self:center}.settings-backdrop{position:absolute;inset:0;background:rgba(40,30,20,.4);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:70}.settings-card{width:min(94vw,640px);max-height:calc(100% - 24px);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(var(--parchment),#efe2c4);border:3px solid var(--wood-dark);border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.3)}.settings-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;margin-right:-4px}.settings-title{font-weight:800;font-size:1.3rem;color:var(--wood-dark);margin-bottom:14px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-weight:700;color:var(--ink)}.settings-row-col{flex-direction:column;align-items:stretch}.settings-label{display:flex;align-items:center;gap:10px;min-width:0}.settings-label:has(.settings-hint){flex-direction:column;align-items:flex-start;gap:2px}.settings-hint{font-size:12px;line-height:1.3;opacity:.65}.settings-preview{height:40px;width:auto;max-width:140px;-o-object-fit:contain;object-fit:contain;border-radius:8px;border:2px solid rgba(0,0,0,.08);background:rgba(0,0,0,.03)}.auth-control{display:flex;align-items:center;gap:8px}.auth-synced{font-weight:700;color:#5a9a5a}.seg{display:flex;gap:4px}.seg-btn{border:2px solid var(--parchment-edge);background:#fffdf6;border-radius:10px;padding:6px 10px;font:inherit;font-weight:700;cursor:pointer;color:var(--ink)}.seg-btn.on{background:var(--wood);color:#fff;border-color:var(--wood-dark)}.toggle{border:2px solid var(--parchment-edge);background:#fffdf6;border-radius:12px;padding:6px 16px;font:inherit;font-weight:800;cursor:pointer;color:var(--ink)}.toggle.on{background:#7bbf7b;color:#fff;border-color:#5a9a5a}.zoom-tabs{display:flex;gap:10px;margin-top:8px;justify-content:center}.zoom-tab{flex:1;max-width:110px;display:grid;place-items:center;padding:8px;border:2.5px solid var(--parchment-edge);background:#fffdf6;border-radius:14px;cursor:pointer}.zoom-tab.on{border-color:var(--wood-dark);background:#fff6df}.zoom-tab .zoom-tab-frame{fill:var(--sky);stroke:var(--wood);stroke-width:2}.zoom-tab .zoom-tab-hill{fill:#8fc97a}.zoom-tab .zoom-tab-sun{fill:#f4c542}.zoom-tab .zoom-tab-figure{fill:var(--wood-dark)}.zoom-tab.on .zoom-tab-figure{fill:var(--accent)}.settings-done{width:100%;flex:0 0 auto;margin-top:14px;border:2.5px solid var(--wood-dark);background:linear-gradient(var(--parchment),var(--parchment-edge));border-radius:14px;padding:10px;font:inherit;font-weight:800;cursor:pointer}.settings-reset{width:100%;border:2px solid #c98a6b;background:#fbf1ec;color:#9a4a2c;border-radius:12px;padding:9px;font:inherit;font-weight:700;cursor:pointer}.teach-sub{font-weight:700;color:var(--wood-dark);margin-bottom:6px}.teach-hint{color:#8a7a62;font-style:italic;margin:4px 0 2px}.teach-grid{max-height:40vh;overflow-y:auto}.chip.known{position:relative;border-color:#7bbf7b;background:#f3fbf0}.known-badge{position:absolute;top:-8px;right:-6px;font-size:.9rem}.adventure-btn{position:absolute;bottom:22px;left:16px;pointer-events:auto;cursor:pointer;font:inherit;font-weight:800;color:var(--ink);background:linear-gradient(#fff6df,#f3e4bf);border:2.5px solid var(--wood-dark);border-radius:16px;padding:10px 16px;box-shadow:0 4px 0 var(--shadow)}.adventure-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--shadow)}.wardrobe-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:12px 0}.wardrobe-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fffdf6;border:2.5px solid var(--parchment-edge);border-radius:16px;padding:8px;cursor:pointer;font:inherit;font-weight:700}.wardrobe-item.on{border-color:var(--wood);background:#fff6df}.wardrobe-item img{width:64px;height:80px;-o-object-fit:contain;object-fit:contain}.wardrobe-tag{font-size:.66rem;font-weight:800;line-height:1;max-width:72px;text-align:center;color:var(--wood);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sky{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#cdeafa,#bfe3f2 55%,#d8eef9)}.game-canvas-host,.sky{z-index:0}.cloud{position:absolute;width:92px;height:32px;background:#fff;border-radius:30px;opacity:.85;filter:blur(.5px) opacity(var(--cloud-op,1));will-change:transform}.cloud:after,.cloud:before{content:"";position:absolute;background:#fff;border-radius:50%}.cloud:before{width:48px;height:48px;top:-22px;left:14px}.cloud:after{width:34px;height:34px;top:-14px;left:50px}@keyframes drift{0%{transform:translateX(-180px) scale(var(--s,1))}to{transform:translateX(112vw) scale(var(--s,1))}}.c1{top:11%;--s:1.1;animation:drift 72s linear infinite}.c2{top:23%;--s:0.8;opacity:.7;animation:drift 96s linear infinite;animation-delay:-34s}.c3{top:7%;--s:1.35;opacity:.8;animation:drift 120s linear infinite;animation-delay:-66s}.c4{top:30%;--s:0.9;animation:drift 84s linear infinite;animation-delay:-18s}.onboard-backdrop{position:fixed;inset:0;background:rgba(40,30,20,.5);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:90}.onboard-card{width:min(92vw,460px);text-align:center}.onboard-text{color:var(--ink);font-weight:700;margin:8px 0}.onboard-name{font:inherit;font-size:1.4rem;font-weight:800;text-align:center;border:2.5px solid var(--wood);border-radius:14px;padding:8px 14px;width:60%;margin:6px 0 14px;background:#fffdf6;color:var(--ink)}.dialogue-card.big{width:min(94vw,600px)}.big-face{width:150px;height:150px;margin:-78px auto 6px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#ffe6b8,#f0c987);border:5px solid var(--wood-dark);display:grid;place-items:center;font-size:70px;overflow:hidden;box-shadow:0 6px 0 var(--shadow)}.big-face.talking{animation:talkbob .36s ease-in-out infinite alternate}@keyframes talkbob{0%{transform:translateY(0) scale(1)}to{transform:translateY(-3px) scale(1.03)}}.leo-portrait{animation:leoBreathe 3.4s ease-in-out infinite}.leo-portrait.talking{animation:talkbob .36s ease-in-out infinite alternate}@keyframes leoBreathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.015)}}.talking-face-orb{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden}.talking-face-orb>.talking-face-img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.talking-face-orb>.talking-face-emoji{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:60%}.talking-face-img.speaking{animation:talkbreathe 4.8s ease-in-out infinite;transform-origin:50% 60%;will-change:transform}@keyframes talkbreathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.big-face .dialogue-face-pic{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.choice-row{display:flex;justify-content:center;gap:14px;margin:14px 0 6px;flex-wrap:wrap}.choice{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fffdf6;border:3px solid var(--wood);border-radius:20px;padding:10px 14px 8px;cursor:pointer;font:inherit;box-shadow:0 5px 0 var(--shadow);transition:transform .1s;min-width:92px}.choice:active{transform:translateY(3px);box-shadow:0 2px 0 var(--shadow)}.choice-art{width:64px;height:64px;display:grid;place-items:center}.choice-art img{width:64px;height:64px;-o-object-fit:contain;object-fit:contain}.choice-emoji{font-size:44px}.choice-word{font-size:1.5rem;font-weight:800;color:var(--ink)}.done-btn{font-size:1.6rem;padding:8px 20px}.mic-zone{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:12px;min-height:64px;justify-content:center}.big-mic{width:72px;height:72px;border-radius:50%;background:linear-gradient(#ff8a7a,#e85a4a);display:grid;place-items:center;font-size:34px;box-shadow:0 6px 16px rgba(232,90,74,.4);transition:transform .06s}.big-mic.hot{background:linear-gradient(#ff7a6a,#d84a3a)}.waveform{display:flex;align-items:center;gap:4px;height:44px;margin-top:6px}.wave-bar{width:6px;min-height:8px;border-radius:4px;background:var(--accent);transition:height .06s ease}.mic-hint{font-size:.95rem}.celebrate-line,.mic-hint{color:var(--wood-dark);font-weight:800}.celebrate-line{font-size:1.1rem}@keyframes pop{0%{transform:scale(.9)}60%{transform:scale(1.08)}to{transform:scale(1)}}.convobar{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);width:min(92vw,540px);background:linear-gradient(var(--parchment),var(--parchment-edge));border:3px solid var(--wood-dark);border-radius:22px;padding:10px 14px 12px;box-shadow:0 10px 26px rgba(0,0,0,.26);z-index:30;animation:capUp .28s ease;max-height:min(44vh,230px)}.convobar-close{position:absolute;top:8px;right:12px;z-index:2;border:none;background:transparent;font-size:1.3rem;color:var(--wood-dark);cursor:pointer}.convobar-row{display:flex;align-items:flex-start;gap:14px}.convobar-face{position:relative;flex:none;width:72px;height:72px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 38%,#ffe6b8,#f0c987);display:grid;place-items:center;box-shadow:0 5px 0 var(--shadow);transition:transform .3s ease}.convobar-face.done,.convobar-face.reacting{animation:pop .4s ease}.convobar-face.recording{box-shadow:0 0 0 3px #7bbf86,0 0 14px rgba(123,191,134,.6),0 5px 0 var(--shadow)}.convobar-face img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.convobar-face-emoji{font-size:52px}.convobar-subject{flex:none;width:92px;height:92px;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fffbef,#ffeec2);border:4px solid var(--wood);box-shadow:0 5px 0 var(--shadow);animation:pop .4s ease}.convobar-subject img{width:84%;height:84%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}@media (max-width:640px){.convobar-subject{width:64px;height:64px;border-width:3px}}.convobar-lanterns{position:absolute;bottom:-4px;right:-4px;background:var(--parchment);border:2px solid var(--wood);border-radius:12px;font-size:.78rem;font-weight:800;color:var(--wood-dark);padding:0 5px}.convobar-body{flex:1;min-width:0;text-align:left;padding-top:2px}.convobar-name{font-size:.7rem;font-weight:800;color:var(--wood-dark);text-transform:uppercase;letter-spacing:.04em}.convobar-line{display:inline-block;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;font-weight:800;font-size:clamp(1.1rem,3.4vw,1.45rem);line-height:1.22;color:var(--ink);margin:1px 0 1px -6px;padding:1px 6px;border-radius:10px}.convobar-line:active{background:#fff6df}.convobar-line{letter-spacing:0}.convobar-line .tok{display:inline-block;padding:0;white-space:pre;transition:color .12s,transform .12s}.convobar-line .tok.active{color:var(--accent);transform:translateY(-3px) scale(1.12)}.convobar-dots{letter-spacing:.1em;color:#b0a187}.convobar-replay{font-size:.95rem;opacity:.5;margin-left:6px}.convobar-choices{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.convobar-chip{display:flex;flex-direction:column;align-items:center;line-height:1.05;border:1px solid var(--parchment-edge);background:rgba(255,253,246,.5);border-radius:10px;padding:3px 10px;cursor:pointer;color:#8a7a60;opacity:.78;touch-action:manipulation;transition:opacity .12s,color .12s}.convobar-chip:active{opacity:1;color:var(--ink);background:#fff6df}.convobar-chip-char{font-size:1.15rem;font-weight:700}.convobar-chip-pinyin{font-size:.68rem;color:#a89a80}.mic-live{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:rgba(28,36,30,.82);box-shadow:0 2px 10px rgba(0,0,0,.3),0 0 0 2px rgba(123,191,134,.5),0 0 16px rgba(123,191,134,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:micLiveIn .22s ease,micLiveGlow 1.6s ease-in-out infinite;pointer-events:none}.mic-live-dot{width:9px;height:9px;border-radius:50%;flex:none;background:#7bdf90;box-shadow:0 0 8px #7bdf90;animation:micLiveDot 1.2s ease-in-out infinite}.mic-live-wave{display:flex;align-items:center;gap:2px;height:20px}.mic-live-bar{width:2.5px;min-height:3px;border-radius:2px;background:linear-gradient(#bff3c8,#7bdf90);transition:height .07s ease}@keyframes micLiveIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes micLiveGlow{50%{box-shadow:0 2px 10px rgba(0,0,0,.3),0 0 0 2px rgba(123,191,134,.85),0 0 26px rgba(123,191,134,.85)}}@keyframes micLiveDot{50%{opacity:.45}}@media (max-width:560px){.convobar-row{gap:9px}.convobar-face{width:60px;height:60px}}@media (max-height:480px){.convobar{max-height:92vh;padding:7px 12px 9px;bottom:8px}.convobar-face{width:54px;height:54px}.convobar-name{font-size:.62rem}.convobar-line{font-size:clamp(1rem,3.2vw,1.3rem);line-height:1.18}.convobar-choices{margin-top:4px;gap:8px}}.game-root.has-mini-music{--bottom-hud-lift:92px}.mini-music{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:min(94vw,480px);background:#fbf5e9;border:1px solid #e4d7bf;border-radius:18px;padding:9px 12px 15px;box-shadow:0 18px 34px -22px rgba(60,42,18,.55);pointer-events:auto;animation:capUp .28s ease;z-index:26;color:#2e2417}.mini-music-art{width:46px;height:46px;border-radius:11px;-o-object-fit:cover;object-fit:cover;display:block;flex:0 0 auto;box-shadow:0 6px 14px -6px rgba(0,0,0,.4)}.mini-music-art-sprite{-o-object-fit:contain;object-fit:contain;box-shadow:none}.mini-music-art-fallback{display:grid;place-items:center;font-size:22px;color:#fff;background:linear-gradient(135deg,#dc9e33,#c1841f)}.mini-music-art-btn{flex:0 0 auto;border:none;background:none;padding:0;margin:0;line-height:0;border-radius:11px;cursor:pointer}.mini-music-art-btn:hover .mini-music-art{filter:brightness(1.06)}.mini-music-meta{min-width:0;flex:1;display:flex;flex-direction:column}.mini-music-title{font-weight:700;font-size:.92rem;color:#2e2417;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-music-title-btn{min-width:0;border:none;background:none;padding:0;margin:0;font:inherit;font-weight:700;text-align:left;cursor:pointer}.mini-music-title-btn:hover{text-decoration:underline}.mini-music-artist{font-size:.76rem;color:#7a6a51;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-music-ctrl{display:flex;align-items:center;gap:2px;flex:0 0 auto}.mini-music-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#7a6a51;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0}.mini-music-btn svg{width:20px;height:20px;fill:currentColor}.mini-music-btn:hover{color:#2e2417;background:rgba(46,36,23,.07)}.mini-music-btn:active{transform:scale(.92)}.mini-music-play,.mini-music-play:hover{background:#2e2417;color:#fbf5e9}.mini-music-play:hover{filter:brightness(1.18)}.mini-music-play svg{width:17px;height:17px}.mini-music-x{position:absolute;top:-9px;right:-9px;width:26px;height:26px;border:1px solid #e4d7bf;border-radius:50%;background:#fbf5e9;color:#7a6a51;font-size:1rem;font-weight:700;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 3px 8px rgba(60,42,18,.28);opacity:0;transform:scale(.8);pointer-events:none;transition:opacity .18s ease,transform .18s ease}@media (hover:hover){.mini-music:hover .mini-music-x{opacity:1;transform:scale(1);pointer-events:auto}}.mini-music.show-x .mini-music-x,.mini-music:focus-within .mini-music-x{opacity:1;transform:scale(1);pointer-events:auto}.mini-music-x:hover{color:#2e2417}.mini-music-x:active{transform:scale(.92)}.mini-music-seek{position:absolute;left:12px;right:12px;bottom:0;height:18px;cursor:pointer;touch-action:none}.mini-music-prog{left:0;right:0;bottom:7px;height:3px;background:#f0e6d2;overflow:hidden}.mini-music-prog,.mini-music-prog i{position:absolute;border-radius:99px}.mini-music-prog i{inset:0 auto 0 0;display:block;background:linear-gradient(90deg,#c1841f,#dc9e33)}@keyframes miniEq{0%,to{height:6px}50%{height:22px}}@keyframes miniBoxBop{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-2px)}}.leo-caption{position:absolute;left:50%;bottom:calc(18px + var(--bottom-hud-lift, 0px));transform:translateX(-50%);width:min(94vw,620px);display:flex;align-items:center;gap:14px;background:linear-gradient(var(--parchment),var(--parchment-edge));border:3px solid var(--wood-dark);border-radius:22px;padding:10px 18px 10px 12px;box-shadow:0 8px 22px rgba(0,0,0,.22);pointer-events:auto;cursor:pointer;animation:capUp .28s ease;z-index:25;opacity:1;transition:opacity .75s ease,transform .75s ease,bottom .28s ease}@keyframes capUp{0%{transform:translateX(-50%) translateY(14px);opacity:0}}.leo-caption.fading{opacity:0;transform:translateX(-50%) translateY(10px);pointer-events:none}.leo-caption-face{flex:none;width:60px;height:60px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 38%,#ffe6b8,#f0c987);display:grid;place-items:center;font-size:30px;border:3px solid var(--accent);box-shadow:0 0 0 4px rgba(217,138,90,.5),0 0 16px 3px rgba(217,138,90,.45),0 3px 0 var(--shadow)}.leo-caption-face img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.leo-caption-faces{flex:none;display:flex;align-items:center;gap:10px}.leo-caption-face{position:relative;overflow:visible;transition:filter .2s ease,opacity .2s ease,box-shadow .2s ease,border-color .2s ease}.leo-caption .leo-caption-faces .leo-caption-face.idle{filter:saturate(.82) brightness(.96);opacity:.7;border-color:var(--wood-dark);box-shadow:0 2px 0 var(--shadow)}.leo-caption-faces .portrait-wave{bottom:-7px}.leo-caption.textless .leo-caption-faces .portrait-wave{bottom:-9px}.leo-caption-body{flex:1;min-width:0;text-align:left}.leo-caption-name{font-size:.7rem;font-weight:800;color:var(--wood-dark);text-transform:uppercase;letter-spacing:.04em}.leo-caption-line{font-size:1.5rem;font-weight:800;color:var(--ink);line-height:1.3}.leo-caption-replay{flex:none;font-size:1.1rem;opacity:.5}.leo-caption.compact{padding:5px 14px 5px 6px;gap:9px;bottom:calc(10px + var(--bottom-hud-lift, 0px));border-width:2px;border-radius:16px}.leo-caption.compact.lifted{bottom:calc(46vh + 14px);z-index:30}.leo-caption.compact .leo-caption-face{width:38px;height:38px;font-size:20px;border-width:2px;box-shadow:0 0 0 3px rgba(217,138,90,.5),0 0 10px 2px rgba(217,138,90,.45),0 2px 0 var(--shadow)}.leo-caption.compact .leo-caption-line{font-size:1.12rem;line-height:1.18}@media (max-width:560px){.leo-caption.compact{width:min(96vw,520px);padding:4px 12px 4px 5px;gap:8px;bottom:calc(8px + var(--bottom-hud-lift, 0px))}.leo-caption.compact .leo-caption-face{width:32px;height:32px}.leo-caption.compact .leo-caption-line{font-size:1rem}}.leo-caption.textless{width:auto;background:none;border:none;box-shadow:none;padding:0;gap:0;cursor:default}.leo-caption.textless .leo-caption-face{width:104px;height:104px;font-size:52px;border:3px solid var(--accent);box-shadow:0 0 0 4px rgba(217,138,90,.5),0 0 16px 3px rgba(217,138,90,.45),0 6px 16px rgba(0,0,0,.28)}@media (max-width:560px){.leo-caption.textless .leo-caption-face{width:84px;height:84px;font-size:42px}}.sceneview-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(74,58,42,.28);backdrop-filter:blur(2px)}.scene-card{position:relative;width:min(92vw,460px);max-height:94vh;overflow:hidden;min-height:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 18px 18px;background:linear-gradient(var(--parchment),#efe2c4);border:3px solid var(--wood-dark);border-radius:22px;box-shadow:0 10px 0 var(--shadow),0 18px 40px rgba(74,58,42,.3)}@keyframes ks-page-turn{0%{transform:rotateY(0deg);box-shadow:0 0 0 rgba(0,0,0,0)}to{transform:rotateY(-172deg);box-shadow:-30px 0 40px rgba(40,20,0,.35)}}.ks-turn-leaf{transform-origin:left center;backface-visibility:hidden;animation:ks-page-turn .72s cubic-bezier(.4,.1,.35,1) forwards}@font-face{font-family:LionpalTitle;src:url(/fonts/Baloo2-VF.ttf) format("truetype");font-weight:400 800;font-style:normal;font-display:swap}.scene-card.immersive.keepsake-compose,.scene-card.keepsake-compose{position:relative;width:min(94vw,1280px,calc(92vh * 4 / 3));max-width:none;aspect-ratio:4/3;height:auto;max-height:none;padding:0;gap:0;background:none;overflow:hidden}.scene-cast,.scene-choices,.scene-earned{flex-shrink:0}.scene-middle{flex:1 1 auto;min-height:0;width:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:10px}.scene-card .stage{flex:0 1 auto;min-height:0}.scene-middle .scene-line{flex-shrink:0}@media (max-height:680px){.scene-card{gap:6px;padding:14px 16px 12px}.scene-card .stage{max-height:22vh}.scene-cast{gap:6px!important;margin-bottom:4px!important}.scene-portrait.lead .scene-portrait-emoji,.scene-portrait.lead>.talking-face-orb,.scene-portrait.lead>img{width:104px;height:104px}.scene-portrait.small .scene-portrait-emoji,.scene-portrait.small>.talking-face-orb,.scene-portrait.small>img{width:48px;height:48px}.scene-line{font-size:.95rem}}.sceneview-close{position:absolute;top:8px;right:8px;width:38px;height:38px;border-radius:50%;border:2px solid var(--wood-dark);background:var(--parchment);color:var(--wood-dark);display:grid;place-items:center;line-height:1;padding:0;font-size:1.25rem;font-weight:700;cursor:pointer;box-shadow:0 3px 0 var(--shadow);z-index:2}.scene-cast{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:10px}.scene-cast-row{display:flex;gap:40px}.scene-portrait{position:relative;flex-direction:column;gap:3px;transition:transform .2s ease,filter .2s ease,opacity .2s ease;filter:saturate(.8) brightness(.94);opacity:.72}.portrait-wave,.scene-portrait{display:flex;align-items:center}.portrait-wave{position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);justify-content:center;gap:1.5px;height:13px;min-width:30px;padding:0 5px;background:rgba(40,28,18,.42);border-radius:999px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:0 2px 6px rgba(0,0,0,.18);pointer-events:none;z-index:3}.portrait-wave span{width:2px;min-height:1.5px;background:#fff;border-radius:2px}.scene-set .portrait-wave{bottom:16px;height:15px;z-index:4}.scene-portrait>.talking-face-orb,.scene-portrait>img{-o-object-fit:cover;object-fit:cover;border-radius:50%;background:var(--parchment);border:3px solid var(--wood-dark);box-shadow:0 4px 0 var(--shadow);display:block}.scene-portrait>.talking-face-orb,.scene-portrait>.talking-face-orb>.talking-face-img,.scene-portrait>img{-o-object-position:top center;object-position:top center}.scene-portrait.phone img{-o-object-fit:contain;object-fit:contain}.scene-portrait.lead>.talking-face-orb,.scene-portrait.lead>img{width:clamp(120px,19vh,184px);height:clamp(120px,19vh,184px)}.scene-portrait-emoji,.scene-portrait.small>.talking-face-orb,.scene-portrait.small>img{width:clamp(56px,9vh,76px);height:clamp(56px,9vh,76px)}.scene-portrait-emoji{display:flex;align-items:center;justify-content:center;font-size:clamp(34px,5vh,46px);border-radius:50%;background:var(--parchment);border:3px solid var(--wood-dark);box-shadow:0 4px 0 var(--shadow)}.scene-portrait.lead .scene-portrait-emoji{width:clamp(120px,19vh,184px);height:clamp(120px,19vh,184px)}.scene-portrait-tag{font-size:.6rem;font-weight:800;color:var(--wood-dark);text-transform:uppercase;letter-spacing:.03em;opacity:.65}.scene-portrait.lead.scene-set{position:relative;width:clamp(210px,40vh,380px);height:clamp(210px,40vh,380px);border-radius:26px;overflow:hidden;border:4px solid var(--wood-dark);box-shadow:0 6px 0 var(--shadow);background:var(--parchment);filter:none;opacity:1}.scene-set-bg{position:absolute;inset:0;background-size:cover;background-position:center 38%;filter:saturate(1.05) brightness(.95);transform:scale(1.02)}.scene-set-mask{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,rgba(0,0,0,0) 38%,rgba(0,0,0,.42) 100%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.28))}.scene-portrait.scene-set img.scene-set-char{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);height:calc(66% * var(--skin-scale, 1));width:auto;max-width:72%;border:none;border-radius:0;background:none;box-shadow:none;-o-object-fit:contain;object-fit:contain;-o-object-position:bottom center;object-position:bottom center;filter:drop-shadow(0 7px 6px rgba(0,0,0,.4))}@media (max-height:680px){.scene-portrait.lead.scene-set{width:clamp(150px,30vh,200px);height:clamp(150px,30vh,200px);border-radius:20px}}@media (max-height:520px){.scene-portrait.lead.scene-set{width:clamp(110px,26vh,150px);height:clamp(110px,26vh,150px)}}@media (min-height:700px){.scene-card.both-mode .scene-portrait.lead.scene-set{width:clamp(210px,34vh,360px);height:clamp(210px,34vh,360px)}.scene-card.both-mode .stage{max-height:28vh}}.scene-stage2{position:relative;margin:0 auto;border-radius:26px;overflow:hidden;border:4px solid var(--wood-dark);box-shadow:0 6px 0 var(--shadow);background:var(--parchment);aspect-ratio:1/1;width:min(94vw,72vh,640px);height:min(94vw,72vh,640px)}@media (min-aspect-ratio:1/1){.scene-stage2{aspect-ratio:5/4;width:min(94vw,92vh,940px);height:calc(min(94vw, 92vh, 940px) * 4 / 5)}}.scene-card.immersive{width:-moz-fit-content;width:fit-content;max-width:97vw;padding:0;gap:8px;background:none;border:none;box-shadow:none;overflow:visible;--stage-frame-w:min(96vw,92vh,980px)}.scene-card.immersive .scene-middle{max-width:var(--stage-frame-w,min(96vw,92vh,980px))}.scene-card.immersive .scene-line{max-width:min(94vw,92vh,940px);color:#fff6e9;text-shadow:0 1px 5px rgba(0,0,0,.75)}.scene-stage2 .scene-embed{position:absolute;left:50%;transform:translateX(-50%);aspect-ratio:4/3;max-width:78%;border-radius:13px;overflow:hidden;border:4px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.45);background:#fff;z-index:4;animation:embed-pop .3s ease both}.scene-stage2 .scene-embed.shaped{aspect-ratio:var(--embed-aspect,4/3);width:90%;max-width:90%;height:auto}.scene-stage2 .scene-side-card{position:absolute;left:2.5%;top:22%;width:13%;aspect-ratio:var(--side-aspect,1/6);max-height:62%;border-radius:13px;overflow:hidden;border:4px solid #fff;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.45);z-index:5;animation:tray-pop .3s ease both}.scene-stage2 .scene-embed .stage,.scene-stage2 .scene-side-card .stage{width:100%;height:100%;max-height:none;border:none;border-radius:0;background:none;box-shadow:none}@keyframes embed-pop{0%{opacity:0;transform:translateX(-50%) scale(.9)}to{opacity:1;transform:translateX(-50%) scale(1)}}.scene-stage2 .stage-slot{position:absolute;bottom:4%;transform:translateX(-50%);transform-origin:bottom center;animation:stage-breathe 3.6s ease-in-out infinite}.scene-stage2.stage-on-backdrop .stage-slot{z-index:60}.scene-stage2 .scene-set-haul{position:absolute;inset:0;pointer-events:none;z-index:3}.scene-stage2 .scene-set-haul .stage-sprite{filter:drop-shadow(0 2px 3px rgba(60,45,30,.28))}.stage-slot-add{position:absolute;z-index:4;pointer-events:auto;cursor:pointer;display:grid;place-items:center;padding:0;border:2px dashed rgba(122,82,45,.5);border-radius:12px;background:rgba(255,250,240,.28);color:rgba(122,82,45,.85);transition:background .16s ease,border-color .16s ease,transform .16s ease}.stage-slot-add.open,.stage-slot-add:hover{background:rgba(255,246,226,.6);border-color:rgba(122,82,45,.85);transform:scale(1.04)}.stage-slot-add-plus{font-size:clamp(20px,3.4vw,34px);font-weight:700;line-height:1;opacity:.75}.stage-slot-row{box-sizing:border-box;width:var(--stage-frame-w,min(96vw,92vh,980px));align-self:center;flex:0 0 auto;display:flex;align-items:flex-start;gap:10px;background:linear-gradient(var(--parchment),#ecdcb8);border:4px solid var(--wood-dark);border-top:none;border-radius:0 0 26px 26px;padding:9px 12px;margin-top:-10px}.scene-stage2:has(+.stage-slot-row){border-bottom-left-radius:0;border-bottom-right-radius:0}.stage-slot-row-done{flex:0 0 auto;align-self:flex-start;width:34px;height:34px;border-radius:50%;border:2px solid var(--wood-dark);background:var(--parchment);color:var(--wood-dark);display:grid;place-items:center;font-family:inherit;font-size:1.05rem;font-weight:700;line-height:0;padding:0;cursor:pointer;box-shadow:0 3px 0 var(--shadow)}.stage-slot-row-strip{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:thin}.stage-slot-chip{flex:0 0 auto;display:grid;justify-items:center;gap:2px;padding:7px 8px;border-radius:14px;border:2px solid var(--parchment-edge);background:#fffdf6;cursor:pointer;font:inherit}.stage-slot-chip img{-o-object-fit:contain;object-fit:contain}.stage-slot-chip img,.stage-slot-chip-none{width:clamp(40px,6vw,54px);height:clamp(40px,6vw,54px)}.stage-slot-chip-none{display:grid;place-items:center;font-family:inherit;font-size:clamp(34px,4.6vw,46px);font-weight:400;line-height:0;color:var(--wood-dark);opacity:.34}.stage-slot-chip.on{border-color:#e8a33d;box-shadow:0 0 0 2px rgba(232,163,61,.35)}.stage-slot-chip.used{opacity:.42;cursor:default}.scene-stage2 .scene-set-haul .stage-sprite.stage-tappable{pointer-events:auto;cursor:pointer}.scene-stage2 .scene-set-haul .scene-count-tray{position:absolute;z-index:2;border-radius:13px;border:4px solid #fff;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.45);transform-origin:center;animation:tray-pop .3s ease both}@keyframes tray-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.scene-stage2 .scene-set-haul .namecheck{position:absolute;z-index:40;height:auto;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));animation:namecheck-pop .28s cubic-bezier(.34,1.56,.64,1) both}@keyframes namecheck-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.scene-stage2 .stage-slot.pos-npc{left:28.5%}.scene-stage2 .stage-slot.pos-leo{left:71.5%;animation-duration:4.2s}.scene-stage2 .stage-slot.pos-solo{left:50%}.scene-stage2.stage-on-backdrop{aspect-ratio:var(--stage-frame-aspect,1.791);width:var(--stage-frame-w,min(96vw,92vh,980px));flex:0 0 auto;align-self:center;height:calc((var(--stage-frame-w, min(96vw, 92vh, 980px)) - 8px) / var(--stage-frame-aspect, 1.791) + 8px);background:var(--wood-dark)}.scene-stage2.stage-on-backdrop .stage-slot.spot{left:auto;bottom:auto}.scene-set-stage,.scene-set-stage .stage{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0}.scene-set-stage .stage{border:none;border-radius:0}.scene-set-stage{z-index:1}.scene-stage2.stage-on-backdrop .scene-embed{z-index:70}.scene-set-stage .stage-composed-bg{position:absolute;top:0;left:0;width:100%;max-width:none;max-height:none;margin:0}.scene-set-stage .stage-bg-img{-o-object-fit:cover;object-fit:cover}.scene-stage2.stage-on-backdrop .stage-slot.pos-npc{left:11%}.scene-stage2.stage-on-backdrop .stage-slot.pos-leo{left:89%}@keyframes stage-breathe{0%,to{transform:translateX(-50%) scaleY(1)}50%{transform:translateX(-50%) scaleY(1.018)}}.scene-stage2 .stage-char{display:block;width:auto;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:bottom center;object-position:bottom center;transform-origin:bottom center;filter:drop-shadow(0 8px 7px rgba(0,0,0,.42));cursor:pointer;animation:stage-turn .2s ease both}.scene-stage2 .stage-char.mir{animation:stage-turn-mir .2s ease both}.scene-stage2 .stage-char.speaking{filter:drop-shadow(0 9px 8px rgba(0,0,0,.45)) brightness(1.05)}@keyframes stage-turn{0%{transform:scaleX(.12)}to{transform:scaleX(1)}}@keyframes stage-turn-mir{0%{transform:scaleX(-.12)}to{transform:scaleX(-1)}}.record-mic{--lvl:0;position:relative;width:84px;height:84px;border:none;background:none;padding:0;cursor:pointer;display:grid;place-items:center;border-radius:50%;-webkit-tap-highlight-color:transparent}.record-mic:before{inset:-14px;background:conic-gradient(from 0deg,#6fb0ff,#a98cff,#e88cff,#ff8ccf,#ff9aa6,#ffc887,#f0e79a,#a8eec2,#8cf0d2,#6fb0ff);filter:blur(11px);opacity:calc(.55 + .45 * var(--lvl));transform:scale(calc(1 + .14 * var(--lvl)));animation:mic-spin 3.6s linear infinite}.record-mic:after,.record-mic:before{content:"";position:absolute;border-radius:50%;z-index:0}.record-mic:after{inset:0;animation:mic-breathe 2.1s ease-in-out infinite}.record-mic-face{position:relative;z-index:1;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(var(--parchment),var(--parchment-edge));border:2px solid var(--wood-dark);box-shadow:inset 0 2px 3px rgba(255,255,255,.55),0 6px 16px rgba(74,58,42,.4);transform:scale(calc(1 + .05 * var(--lvl)));transition:transform .08s linear}.record-mic-face svg{width:30px;height:30px;color:var(--wood-dark)}@keyframes mic-spin{to{transform:rotate(1turn)}}@keyframes mic-breathe{0%,to{box-shadow:0 0 0 0 rgba(200,170,255,.45)}50%{box-shadow:0 0 0 10px rgba(200,170,255,0)}}.scene-stage2 .scene-rec-mic-btn{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);z-index:62;animation:rec-in .3s ease both}@keyframes rec-in{0%{transform:translateX(-50%) translateY(120%);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.scene-stage2.solo .scene-rec-mic-btn{left:auto;right:14px;transform:none;animation:rec-in-corner .3s ease both}@keyframes rec-in-corner{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}.scene-stage2 .scene-phone-portrait{position:absolute;left:50%;top:9%;transform:translateX(-50%);z-index:6;height:clamp(58px,27%,100px);aspect-ratio:1;width:auto;border-radius:50%;border:3px solid var(--wood-dark);background:var(--parchment);overflow:hidden;box-shadow:0 0 0 4px var(--accent),0 0 0 8px rgba(217,138,90,.26),0 10px 24px rgba(0,0,0,.45);animation:phone-pop .26s ease both,phone-live 1.7s ease-in-out .26s infinite}.scene-stage2 .scene-phone-portrait.aside{left:3%;top:4%;transform:none;height:clamp(46px,19%,74px);animation:phone-pop-aside .26s ease both,phone-live 1.7s ease-in-out .26s infinite}.scene-stage2 .scene-phone-portrait>.talking-face-orb{width:100%;height:100%}.scene-stage2 .scene-phone-portrait>.scene-phone-icon{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:15%}@keyframes phone-pop{0%{transform:translateX(-50%) scale(.62);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}@keyframes phone-pop-aside{0%{transform:scale(.62);opacity:0}to{transform:scale(1);opacity:1}}@keyframes phone-live{0%,to{box-shadow:0 0 0 4px var(--accent),0 0 0 8px rgba(217,138,90,.26),0 10px 24px rgba(0,0,0,.45)}50%{box-shadow:0 0 0 4px var(--accent),0 0 0 13px rgba(217,138,90,.1),0 10px 24px rgba(0,0,0,.45)}}.scene-portrait.active{transform:scale(1.12) translateY(-2px);filter:saturate(1.15) brightness(1.05);opacity:1}.scene-portrait.lead.scene-set.active{transform:none;border-color:var(--accent)}.scene-portrait.active .scene-portrait-emoji,.scene-portrait.active>.talking-face-orb,.scene-portrait.active>img{border-color:var(--accent);box-shadow:0 0 0 4px rgba(217,138,90,.5),0 0 16px 3px rgba(217,138,90,.45),0 5px 0 var(--shadow)}.cel-burst{position:absolute;inset:0;pointer-events:none;z-index:7}.cel-anchor{position:absolute;left:50%;top:44%}.cel-burst i{position:absolute;left:0;top:0;display:block;will-change:transform,opacity}.cel-spark{width:11px;height:11px;margin:-5.5px;border-radius:50%;background:currentColor;box-shadow:0 0 9px 2px currentColor;animation:cel-spark-k .85s cubic-bezier(.2,.7,.3,1) forwards}@keyframes cel-spark-k{0%{transform:rotate(var(--a)) translateY(0) scale(.3);opacity:0}18%{opacity:1}to{transform:rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(.4);opacity:0}}.cel-conf{width:12px;height:16px;margin:-8px -6px;border-radius:3px;animation:cel-conf-k 1.15s cubic-bezier(.15,.6,.35,1) forwards}.cel-conf.dot{width:13px;height:13px;border-radius:50%;margin:-6.5px}@keyframes cel-conf-k{0%{transform:translate(0) rotate(0) scale(.3);opacity:0}12%{opacity:1}38%{transform:translate(var(--dx),var(--dy)) rotate(var(--r1)) scale(1)}to{transform:translate(calc(var(--dx) * 1.15),calc(var(--dy) + 260px)) rotate(var(--r2)) scale(.85);opacity:0}}.cel-ring{position:absolute;left:50%;top:44%;width:40px;height:40px;margin:-20px;border-radius:50%;border:4px solid rgba(255,255,255,.85);animation:cel-ring-k .55s ease-out forwards}@keyframes cel-ring-k{0%{transform:scale(.2);opacity:.9}to{transform:scale(3.4);opacity:0}}.scene-set img.scene-set-char.act-celebrate{transform-origin:50% 100%;animation:host-celebrate .8s cubic-bezier(.25,.7,.3,1)}@keyframes host-celebrate{0%{transform:translateX(-50%) translateY(0) scaleY(1)}15%{transform:translateX(-50%) scaleY(.82) scaleX(1.08)}45%{transform:translateX(-50%) translateY(-34px) rotate(-7deg) scaleY(1.08)}65%{transform:translateX(-50%) translateY(-30px) rotate(7deg)}88%{transform:translateX(-50%) scaleY(.88) scaleX(1.06)}to{transform:translateX(-50%) translateY(0) scaleY(1)}}.scene-set img.scene-set-char.act-perform{transform-origin:50% 100%;animation:host-perform .62s cubic-bezier(.3,.7,.3,1) infinite}@keyframes host-perform{0%{transform:translateX(-50%) translateY(0) scaleY(1)}20%{transform:translateX(-50%) scaleY(.86) scaleX(1.06)}50%{transform:translateX(-50%) translateY(-26px) scaleY(1.06)}80%{transform:translateX(-50%) scaleY(.9) scaleX(1.04)}to{transform:translateX(-50%) translateY(0) scaleY(1)}}.scene-set img.scene-set-char.act-listen{transform-origin:50% 100%;animation:host-listen 2.4s ease-in-out infinite}@keyframes host-listen{0%,to{transform:translateX(-50%) rotate(-1deg)}50%{transform:translateX(-50%) translateY(-3px) rotate(3deg) scale(1.03)}}.scene-set img.scene-set-char.act-idle{transform-origin:50% 100%;animation:host-idle 3.4s ease-in-out infinite}@keyframes host-idle{0%,to{transform:translateX(-50%) scaleY(1)}50%{transform:translateX(-50%) scaleY(1.018) translateY(-2px)}}.stage{position:relative;width:100%;aspect-ratio:4/3;max-height:30vh;background:linear-gradient(#fffdf6,#f3ead0);border:2.5px solid var(--wood);border-radius:16px;box-shadow:inset 0 2px 6px rgba(74,58,42,.1);overflow:hidden}.stage-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.stage-composed-bg{position:absolute;inset:0;width:auto;height:auto;max-width:100%;max-height:100%;margin:auto}.stage-bg-img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.stage-sprite.stage-tappable{cursor:pointer}.stage-sprite{position:absolute;-o-object-fit:contain;object-fit:contain;-o-object-position:bottom center;object-position:bottom center;transition:filter .2s ease,left .55s cubic-bezier(.22,.61,.36,1),top .55s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion:reduce){.stage-sprite{transition:filter .2s ease}}.stage-sprite.glow{filter:drop-shadow(0 0 8px #ffd86b) drop-shadow(0 0 14px #ffb74d)}.stage-glow-region{position:absolute;border-radius:14px;border:3px solid #ffb74d;box-shadow:0 0 14px 5px rgba(255,183,77,.55);animation:stage-pulse 1.1s ease-in-out infinite;pointer-events:none}@keyframes stage-pulse{0%,to{opacity:.5}50%{opacity:1}}.scene-line{width:100%;text-align:center;font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.3;min-height:1.4em}.scene-line-who{color:var(--wood-dark);font-weight:800}.scene-teaches{font-size:.65rem;color:#b3a488;opacity:.7;font-style:italic}.scene-choices{gap:12px;flex-wrap:wrap}.scene-chip,.scene-choices{display:flex;justify-content:center}.scene-chip{align-items:center;padding:7px;border-radius:16px;border:2px solid var(--shadow);background:#fffdf6;cursor:pointer;box-shadow:0 2px 0 var(--shadow);opacity:.72;transition:transform .1s,opacity .15s}.scene-chip:hover{opacity:1}.scene-chip:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow);opacity:1}.scene-chip-icon{width:clamp(38px,5.5vh,52px);height:clamp(38px,5.5vh,52px);-o-object-fit:contain;object-fit:contain}.mic-float{z-index:62}.mic-blocked-bar,.mic-float{position:fixed;left:50%;top:calc(12px + var(--safe-top));transform:translateX(-50%);zoom:var(--ui-scale,1);animation:rec-in-top .3s ease both}.mic-blocked-bar{z-index:96;display:flex;align-items:center;gap:12px;width:-moz-max-content;width:max-content;max-width:min(760px,96vw);padding:10px 14px 10px 16px;background:linear-gradient(var(--parchment,#f6ecd2),#efe2c4);border:2px solid #c98a2e;border-radius:16px;box-shadow:0 6px 18px rgba(74,58,42,.32);color:#4a3410}.mic-blocked-emoji{position:relative;font-size:22px;line-height:1;flex-shrink:0}.mic-blocked-emoji:after{content:"";position:absolute;left:-2px;top:50%;width:26px;height:3px;background:#d1442e;border-radius:2px;transform:translateY(-50%) rotate(-45deg)}.mic-blocked-text{display:flex;flex-direction:column;gap:1px;min-width:0}.mic-blocked-text strong{font-size:14px;font-weight:800}.mic-blocked-text span{font-size:12px;line-height:1.25;opacity:.85}.mic-blocked-reload{flex-shrink:0;align-self:center;white-space:nowrap;padding:9px 16px;background:#c98a2e;color:#fff;font-weight:800;font-size:13px;border:0;border-radius:10px;cursor:pointer}.mic-blocked-reload:hover{background:#b87c24}@keyframes rec-in-top{0%{transform:translateX(-50%) translateY(-120%);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}@property --rainbow-angle{syntax:"<angle>";initial-value:0deg;inherits:true}@keyframes rainbow-spin{to{--rainbow-angle:360deg}}@keyframes rainbow-frame-breathe{0%,to{opacity:.72}50%{opacity:1}}.mic-rainbow-frame{position:fixed;inset:0;z-index:61;pointer-events:none}.mic-rainbow-frame:before{background:conic-gradient(from var(--rainbow-angle,0deg),#6fb0ff,#a98cff,#e88cff,#ff8ccf,#ff9aa6,#ffc887,#fff0a0,#8cf0d2,#6fb0ff);-webkit-mask:linear-gradient(90deg,#000,transparent 34px),linear-gradient(270deg,#000,transparent 34px),linear-gradient(180deg,#000,transparent 34px),linear-gradient(0deg,#000,transparent 34px);mask:linear-gradient(90deg,#000,transparent 34px),linear-gradient(270deg,#000,transparent 34px),linear-gradient(180deg,#000,transparent 34px),linear-gradient(0deg,#000,transparent 34px);mix-blend-mode:screen}.mic-rainbow-frame:after,.mic-rainbow-frame:before{content:"";position:absolute;inset:0;animation:rainbow-spin 5s linear infinite,rainbow-frame-breathe 3s ease-in-out infinite}.mic-rainbow-frame:after{background:conic-gradient(from var(--rainbow-angle,0deg),#cfe4ff,#ddd2ff,#f1d2ff,#ffd2ee,#ffd4da,#ffe9c9,#fdf6cf,#d2f4e6,#cfe4ff);-webkit-mask:linear-gradient(90deg,#fff,transparent 10px),linear-gradient(270deg,#fff,transparent 10px),linear-gradient(180deg,#fff,transparent 10px),linear-gradient(0deg,#fff,transparent 10px);mask:linear-gradient(90deg,#fff,transparent 10px),linear-gradient(270deg,#fff,transparent 10px),linear-gradient(180deg,#fff,transparent 10px),linear-gradient(0deg,#fff,transparent 10px);mix-blend-mode:color-dodge;opacity:.92}.hud-acorns{top:12px;font-size:1rem;font-weight:800;color:var(--wood-dark);background:var(--parchment);border:2px solid var(--wood-dark);border-radius:14px;padding:0 12px}.hud-acorns,.hud-jukebox-btn{position:fixed;left:14px;z-index:40;zoom:var(--ui-scale,1);height:46px;box-shadow:0 3px 0 var(--shadow)}.hud-jukebox-btn{top:64px;width:46px;display:grid;place-items:center;padding:0;border:2px solid var(--wood-dark);border-radius:14px;background:var(--parchment);cursor:pointer}.hud-jukebox-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.hud-jukebox-icon{width:30px;height:30px;-o-object-fit:contain;object-fit:contain;pointer-events:none}.hud-jukebox-btn.playing{border-color:var(--accent);box-shadow:0 0 0 3px rgba(231,138,56,.5),0 3px 0 var(--shadow);animation:jukebox-wiggle 1.6s ease-in-out infinite;transform-origin:50% 60%}@keyframes jukebox-wiggle{0%,70%,to{transform:rotate(0deg)}78%{transform:rotate(-7deg)}86%{transform:rotate(6deg)}94%{transform:rotate(-3deg)}}.has-jukebox-btn .unit-selector{top:118px}.hud-unit-tile{position:fixed;top:64px;left:14px;z-index:40;zoom:var(--ui-scale,1);width:clamp(84px,8vw,120px);height:clamp(84px,8vw,120px);padding:0;border-radius:18px;border:2px solid var(--wood-dark);background-color:var(--parchment);background-size:cover;background-position:50%;background-repeat:no-repeat;box-shadow:0 3px 0 var(--shadow);cursor:pointer;overflow:hidden;display:grid;place-items:end start}@media (max-width:640px){.hud-unit-tile{width:min(26vw,22vh);height:min(26vw,22vh)}}.hud-unit-tile:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.hud-unit-tile.playing{border-color:var(--accent);box-shadow:0 0 0 3px rgba(231,138,56,.5),0 3px 0 var(--shadow)}.unit-backdrop{position:fixed;inset:0;z-index:39}.unit-selector{--unit-tile-size:clamp(84px,8vw,120px);position:fixed;top:64px;left:14px;z-index:40;zoom:var(--ui-scale,1)}.unit-tile{position:relative;z-index:2;width:var(--unit-tile-size);height:var(--unit-tile-size);padding:0;border-radius:18px;border:2px solid var(--wood-dark);background-color:var(--parchment);background-size:cover;background-position:50%;background-repeat:no-repeat;box-shadow:0 3px 0 var(--shadow);cursor:pointer;overflow:hidden;flex:none}@media (max-width:640px){.unit-selector{--unit-tile-size:min(26vw,22vh)}}.unit-tile:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.unit-tile--empty{border-style:dashed;border-color:var(--wood);background-color:rgba(255,252,244,.7)}.unit-tile-icon{position:absolute;inset:0;margin:auto;width:56%;height:56%;-o-object-fit:contain;object-fit:contain;pointer-events:none}.unit-tile-plus{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1;color:var(--wood)}.unit-tile--pulse{animation:unitTilePulse 2.4s ease-in-out infinite}@keyframes unitTilePulse{0%,to{transform:scale(1);box-shadow:0 3px 0 var(--shadow)}50%{transform:scale(1.05);box-shadow:0 0 0 4px rgba(231,138,56,.28),0 3px 0 var(--shadow)}}.unit-tile-progress{position:absolute;left:6px;right:6px;bottom:6px;height:7px;border-radius:999px;background:rgba(20,14,8,.5);overflow:hidden}.unit-tile-progress>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .4s ease}.unit-tile-badge{position:absolute;top:-5px;right:-5px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--parchment);box-shadow:0 1px 2px rgba(0,0,0,.3)}.unit-panel{position:absolute;top:0;left:0;z-index:1;width:calc(var(--unit-tile-size) + clamp(150px, 18vw, 196px));display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:18px;border:2px solid var(--wood-dark);background:linear-gradient(var(--parchment),#efe2c4);box-shadow:0 8px 22px rgba(0,0,0,.3);transform-origin:top left;transition:transform .22s cubic-bezier(.34,1.42,.5,1),opacity .16s ease}.unit-panel:not(.is-open){transform:scale(.42);opacity:0;pointer-events:none}.unit-panel.is-open{transform:scale(1);opacity:1}.unit-panel-top{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:var(--unit-tile-size);padding-left:calc(var(--unit-tile-size) + 8px)}.unit-panel-title{font-weight:700;font-size:.95rem;line-height:1.15;color:var(--wood-dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.unit-panel-buttons{display:flex;gap:8px;align-items:center}.unit-panel-tray{display:flex;flex-direction:column;gap:6px;max-height:min(54vh,420px);overflow-y:auto}.unit-wing-btn{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;border:2px solid var(--wood-dark);background:var(--parchment);color:var(--wood-dark);box-shadow:0 3px 0 var(--shadow);cursor:pointer}.unit-wing-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.unit-wing-btn:disabled{opacity:.4;cursor:default;box-shadow:none}.unit-wing-btn.on{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px rgba(231,138,56,.4),0 3px 0 var(--shadow)}.unit-card{display:flex;align-items:center;gap:10px;padding:6px;border-radius:12px;border:2px solid transparent;background:rgba(255,255,255,.45);cursor:pointer;text-align:left}.unit-card:hover{border-color:var(--wood)}.unit-card:active{transform:translateY(1px)}.unit-card-cover{position:relative;flex:none;width:48px;height:48px;border-radius:9px;border:1px solid var(--wood-dark);background-color:var(--parchment);background-size:cover;background-position:50%}.unit-card-cover--none{display:grid;place-items:center;font-size:22px;color:var(--wood)}.unit-card-badge{position:absolute;top:-4px;right:-4px;width:11px;height:11px;border-radius:50%;background:var(--accent);border:2px solid var(--parchment)}.unit-card-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}.unit-card-title{font-weight:700;font-size:.92rem;color:var(--wood-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-card-progress{display:block;height:6px;border-radius:3px;background:rgba(20,14,8,.16);overflow:hidden}.unit-card-progress>span{display:block;height:100%;background:var(--accent);transition:width .4s ease}.onboard-close{position:absolute;top:10px;width:34px;height:34px;background:var(--parchment);color:var(--wood-dark);font-size:1.1rem;font-weight:800;line-height:1;z-index:2}.hud-profile,.onboard-close{right:12px;border-radius:50%;border:2px solid var(--wood-dark);cursor:pointer}.hud-profile{position:fixed;top:12px;z-index:41;zoom:var(--ui-scale,1);width:46px;height:46px;box-shadow:0 3px 0 var(--shadow);background-color:var(--parchment);background-size:cover;background-position:top;background-repeat:no-repeat;padding:0;display:grid;place-items:center;overflow:visible}.hud-profile:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.hud-profile-initial{position:relative;font-size:1.35rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);line-height:1}.switcher-backdrop{position:fixed;inset:0;z-index:70;background:rgba(20,14,8,.5);display:grid;place-items:center;padding:16px}.switcher-backdrop-scrim{position:absolute;inset:0;background:none;border:none;padding:0;margin:0;cursor:default}.switcher-card{position:relative;z-index:1;background:var(--parchment);border:3px solid var(--wood-dark);border-radius:20px;box-shadow:0 6px 0 var(--shadow);padding:18px 18px 14px;width:min(420px,92vw);max-height:88vh;overflow-y:auto}.switcher-title{font-size:1.3rem;font-weight:800;color:var(--wood-dark);text-align:center;margin-bottom:14px}.switcher-children{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.switcher-children-loading{min-height:96px;border-radius:14px;background:linear-gradient(90deg,transparent 0,var(--shadow) 50%,transparent 100%);background-size:200% 100%;opacity:.35;animation:switcher-roster-shimmer 1.1s ease-in-out infinite}@keyframes switcher-roster-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.switcher-child{display:flex;flex-direction:column;align-items:center;gap:6px;width:84px;background:none;border:none;padding:4px;cursor:pointer}.switcher-child:disabled{cursor:default}.switcher-child-pic{position:relative;width:64px;height:64px;border-radius:50%;border:3px solid var(--wood-dark);background-color:var(--wood);background-size:cover;background-position:top;background-repeat:no-repeat;display:grid;place-items:center;box-shadow:0 3px 0 var(--shadow);transition:transform .12s ease,border-color .12s ease,filter .12s ease}.switcher-child.active .switcher-child-pic{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@media (hover:hover){.switcher-child:not(:disabled):hover .switcher-child-pic{transform:translateY(-3px) scale(1.04);border-color:var(--accent);filter:brightness(1.05)}.switcher-child:not(:disabled):hover .switcher-child-name{color:var(--accent)}}.switcher-child:not(:disabled):active .switcher-child-pic{transform:scale(.96)}.switcher-child-initial{font-size:1.5rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.switcher-child-name{font-size:.9rem;font-weight:700;color:var(--wood-dark);text-align:center;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-add-pic{background:var(--parchment);font-size:2rem;font-weight:800;color:var(--wood-dark)}.switcher-account{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:18px;padding-top:14px;border-top:2px dashed var(--wood-dark)}.switcher-account-note{font-size:.9rem;font-weight:700;color:var(--wood-dark);opacity:.8}.switcher-signin{background:var(--accent);color:#fff;font-weight:800;border:2px solid var(--wood-dark);border-radius:14px;padding:8px 16px;cursor:pointer;box-shadow:0 3px 0 var(--shadow)}.switcher-tools{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;border-top:2px dashed var(--wood-dark)}.switcher-tool{display:flex;align-items:center;gap:10px;width:100%;background:var(--parchment);color:var(--wood-dark);font-weight:800;font-size:1.05rem;text-align:left;border:2px solid var(--wood-dark);border-radius:14px;padding:10px 14px;cursor:pointer;box-shadow:0 3px 0 var(--shadow)}.switcher-tool:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.switcher-done{display:block;margin:14px auto 0;background:var(--parchment);color:var(--wood-dark);font-weight:800;border:2px solid var(--wood-dark);border-radius:14px;padding:8px 22px;cursor:pointer;box-shadow:0 3px 0 var(--shadow)}.switcher-switching{position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:rgba(20,14,8,.55);backdrop-filter:blur(3px)}.switcher-switching-card{display:flex;align-items:center;gap:12px;background:var(--parchment);color:var(--wood-dark);font-weight:800;border:2px solid var(--wood-dark);border-radius:16px;padding:16px 22px;box-shadow:0 4px 0 var(--shadow)}.switcher-spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--wood);border-top-color:var(--accent);animation:switcher-spin .8s linear infinite}@keyframes switcher-spin{to{transform:rotate(1turn)}}.switcher-inline{min-height:92px;width:min(420px,92vw);margin-top:6px;padding:14px 14px 10px;background:rgba(255,250,240,.55);backdrop-filter:blur(7px);border:2.5px solid var(--wood-dark);border-radius:20px;box-shadow:0 5px 0 var(--shadow),0 12px 28px rgba(20,16,10,.28);animation:splash-rise .7s cubic-bezier(.2,.9,.3,1) both}.switcher-inline .switcher-account{margin-top:12px;padding-top:10px}.hud-acorns{display:flex;align-items:center;gap:6px}.hud-acorn-icon{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}.hud-acorns-toast{color:var(--accent);margin-left:6px;animation:acorn-pop 1.6s ease forwards}.scene-earned{display:flex;flex-direction:column;align-items:center;gap:2px;animation:earned-pop .5s cubic-bezier(.2,1.4,.5,1) both}.scene-earned-acorn{width:clamp(56px,9vh,80px);height:clamp(56px,9vh,80px);-o-object-fit:contain;object-fit:contain;animation:earned-spin .6s ease}.scene-earned-count{font-size:1.4rem;font-weight:800;color:var(--accent)}@keyframes earned-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes earned-spin{0%{transform:rotate(-12deg) scale(.8)}60%{transform:rotate(8deg) scale(1.1)}to{transform:rotate(0) scale(1)}}@keyframes acorn-pop{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.stage-find{position:relative;width:100%;flex:0 1 auto;min-height:0;max-height:56vh;border-radius:14px;overflow:hidden;border:3px solid var(--wood-dark);box-shadow:0 4px 0 var(--shadow);background:linear-gradient(160deg,#e7d8b6,#d8c6a0)}@media (max-height:680px){.stage-find{max-height:42vh}}.stage-continue{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:none;border:none;padding:4px 10px;cursor:pointer;flex-shrink:0}.stage-continue-cue{font-size:.82rem;font-weight:800;letter-spacing:.02em;color:var(--wood-dark);opacity:.55;animation:stage-cue 1.5s ease-in-out infinite}@keyframes stage-cue{0%,to{opacity:.35}50%{opacity:.8}}.stage-listen{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:var(--parchment);border:2px solid var(--wood-dark);box-shadow:0 3px 0 var(--shadow);flex-shrink:0}.lp-listen-dot{width:10px;height:10px;border-radius:9999px;background:var(--accent);display:inline-block;animation:lp-listen 1.1s ease-in-out infinite}@keyframes lp-listen{0%,to{transform:translateY(0) scale(.7);opacity:.45}50%{transform:translateY(-5px) scale(1);opacity:1}}.stage-done{flex-shrink:0;background:var(--parchment);border:3px solid var(--wood-dark);border-radius:14px;box-shadow:0 4px 0 var(--shadow);color:var(--wood-dark);font-weight:800;font-size:1.1rem;padding:10px 24px;cursor:pointer}.stage-done:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow)}.scene-loading{position:fixed;left:50%;bottom:14vh;transform:translateX(-50%);z-index:60;background:var(--parchment);border:2px solid var(--wood-dark);border-radius:18px;padding:10px 18px;font-weight:700;color:var(--wood-dark);box-shadow:0 4px 0 var(--shadow)}.scene-loading-spinner{display:inline-block;width:16px;height:16px;border:3px solid var(--parchment-edge);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px;margin-right:6px}@keyframes spin{to{transform:rotate(1turn)}}.splash-backdrop{position:fixed;inset:0;z-index:79;overflow:hidden;background:linear-gradient(180deg,var(--sky) 0,#d8eef7 45%,#f3ead0 100%)}.splash-backdrop img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.splash-backdrop img,.splash-backdrop:after{position:absolute;inset:0;opacity:0;animation:splash-bg-in .9s ease .05s forwards}.splash-backdrop:after{content:"";background:linear-gradient(180deg,rgba(20,16,10,.3),rgba(20,16,10,.34) 55%,rgba(20,16,10,.46))}@keyframes splash-bg-in{to{opacity:1}}.splash-backdrop.is-shown img,.splash-backdrop.is-shown:after{opacity:1}.splash{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;gap:clamp(14px,3vh,32px);padding:24px 16px;box-sizing:border-box;background:transparent}.splash>*{flex:0 0 auto}.splash>:first-child{margin-top:auto}.splash>:last-child{margin-bottom:auto}.splash-logo{width:min(72vw,460px);-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(20,16,10,.35));animation:splash-float 3.2s ease-in-out infinite}@keyframes splash-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}.splash-start{font-size:1.6rem;font-weight:800;color:#fff;padding:16px 44px;border:4px solid var(--wood-dark);border-radius:999px;background:radial-gradient(circle at 50% 30%,#ffd9a8,var(--accent));box-shadow:0 6px 0 var(--shadow);cursor:pointer;animation:splash-pulse 1.8s ease-in-out infinite}.splash-start:active{transform:translateY(3px);box-shadow:0 3px 0 var(--shadow)}@keyframes splash-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.splash-auth{display:flex;align-items:center;gap:8px;min-height:36px}.splash-auth-synced{font-weight:700;color:#5a9a5a;font-size:1.05rem}.splash-auth-btn{font-size:1.05rem;font-weight:700;color:var(--wood-dark);padding:8px 24px;border:3px solid var(--wood);border-radius:999px;background:rgba(255,253,246,.85);box-shadow:0 3px 0 var(--shadow);cursor:pointer}.splash-auth-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.splash-auth-out{margin-top:1.2vh}.splash-theory{margin-top:2vh;font-size:1.35rem;font-weight:700;color:#fff8ec;text-decoration:none;border-bottom:2px dotted rgba(255,248,236,.7);padding-bottom:2px;text-shadow:0 2px 10px rgba(0,0,0,.55);animation:splash-rise .7s cubic-bezier(.2,.9,.3,1) both}.splash-theory:active{opacity:.6}.splash-legal{margin-top:1.4vh;text-align:center;line-height:1.6;font-size:.95rem;font-weight:700;color:#fff8ec;opacity:.9;text-shadow:0 2px 10px rgba(0,0,0,.55);animation:splash-rise .7s cubic-bezier(.2,.9,.3,1) both}.splash-legal a{color:#fff8ec;text-decoration:none;border-bottom:1.5px dotted rgba(255,248,236,.7);padding-bottom:1px;white-space:nowrap}.splash-legal span{margin:0 2px}.splash-legal a:active{opacity:.6}.public-footer{margin-top:40px;padding-top:22px;border-top:2px dashed var(--parchment-edge);text-align:center}.public-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-bottom:12px}.public-footer-links a{font-family:Baloo\ 2,Quicksand,system-ui,sans-serif;font-weight:700;font-size:16px;color:var(--wood-dark);text-decoration:none;border-bottom:1.5px dotted var(--wood);padding-bottom:1px}.public-footer-links a:active{opacity:.6}.public-footer-legal{font-size:13px;color:#9a866a;margin:0}.splash-loading{font-weight:700;color:#fff8ec;text-shadow:0 2px 12px rgba(0,0,0,.55);animation:splash-pulse 1.8s ease-in-out infinite}.paw-loader,.splash-loading{font-size:1.6rem;padding:16px 44px;border:4px solid transparent}.paw-loader{display:grid;place-items:center}.paw-loader-ring{position:relative;width:92px;height:92px;filter:drop-shadow(0 1px 2px rgba(24,16,6,.6)) drop-shadow(0 0 5px rgba(24,16,6,.3))}.paw-loader-paw{position:absolute;top:50%;left:50%;width:16px;height:17px;margin:-8.5px -8px;transform:rotate(var(--a)) translateY(calc(-1 * var(--r))) rotate(var(--tilt)) scaleX(var(--flip))}.paw-loader-stamp{display:block;width:100%;height:100%;opacity:0;animation:paw-stamp 3.6s linear infinite;animation-delay:var(--d)}@keyframes paw-stamp{0%{opacity:0;transform:scale(.55)}6%{opacity:1;transform:scale(1)}32%{opacity:.82;transform:scale(1)}50%,to{opacity:0;transform:scale(1)}}@keyframes splash-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.quest-hud{position:fixed;top:12px;right:64px;z-index:40;zoom:var(--ui-scale,1);display:flex;align-items:center;gap:6px;padding:5px 10px;background:rgba(255,253,246,.92);border:2px solid var(--wood);border-radius:999px;box-shadow:0 3px 0 var(--shadow),0 4px 12px rgba(74,58,42,.18);pointer-events:auto;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.quest-hud:active{transform:scale(.95)}.quest-hud-face .talking-face-orb{border:2px solid var(--wood);background:#fff;transition:all .25s ease}.quest-hud-face.dim .talking-face-orb{width:26px;height:26px;opacity:.5;filter:grayscale(.3)}.quest-hud-face.next .talking-face-orb{width:40px;height:40px;opacity:1;border-color:var(--accent);box-shadow:0 0 0 3px rgba(217,138,90,.45);animation:quest-pulse 1.6s ease-in-out infinite}.quest-hud-verb{font-size:16px;opacity:.85}@keyframes quest-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.scene-cast-lead{position:relative}.quest-thought{position:absolute;top:-6px;right:-10px;width:44px;height:44px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2.5px solid var(--accent);background:#fff;box-shadow:0 2px 8px rgba(74,58,42,.3)}.quest-pair{gap:18px;align-items:center}.quest-pair-arrow{font-size:1.6rem;color:var(--wood-dark);opacity:.7}.quest-accept{font:inherit;font-weight:800;font-size:1.05rem;color:#fff;background:var(--accent);border:none;border-radius:999px;padding:12px 30px;box-shadow:0 4px 0 var(--shadow);cursor:pointer}.quest-accept:disabled{opacity:.5;cursor:default}.quest-accept:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shadow)}.quest-accept-listening{background:var(--wood);opacity:.8}.onboard-sky{background:linear-gradient(180deg,var(--sky) 0,#d8eef7 45%,#f3ead0 100%);backdrop-filter:none;overflow:hidden}.onboard-cloud{position:absolute;display:block;width:140px;height:44px;border-radius:999px;background:#fff;opacity:.85;filter:blur(1px);box-shadow:36px 10px 0 -6px #fff,-34px 12px 0 -8px #fff,8px -12px 0 -6px #fff;animation:onboard-drift 26s linear infinite}.onboard-cloud-1{top:12%;left:-10%;transform:scale(1.1);animation-duration:30s}.onboard-cloud-2{top:26%;left:-20%;transform:scale(.8);opacity:.7;animation-duration:38s;animation-delay:-8s}.onboard-cloud-3{top:70%;left:-15%;transform:scale(1.25);opacity:.6;animation-duration:44s;animation-delay:-20s}@keyframes onboard-drift{0%{left:-25%}to{left:120%}}.onboard-avatar{width:min(94vw,480px);position:relative;z-index:1}.onboard-title{font-weight:800;font-size:1.25rem;color:var(--ink);margin-bottom:4px}.onboard-tabs{display:flex;gap:8px;justify-content:center;margin:10px 0}.onboard-tab{font:inherit;font-weight:700;border:2.5px solid var(--parchment-edge);background:#fffdf6;color:var(--ink);border-radius:999px;padding:6px 16px;cursor:pointer}.onboard-tab.on{background:var(--wood);color:#fff;border-color:var(--wood-dark)}.onboard-grid{max-height:40vh;overflow-y:auto}.onboard-make{display:flex;flex-direction:column;align-items:center;gap:6px}.onboard-photo{width:150px;height:150px;border-radius:20px;border:3px dashed var(--wood);background:#fffdf6;color:var(--wood-dark);font-weight:700;cursor:pointer;overflow:hidden;display:grid;place-items:center}.onboard-photo-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.onboard-sub{font-weight:700;color:var(--ink);margin-top:8px;font-size:.95rem}.onboard-colors,.onboard-silhouettes{display:flex;gap:12px;justify-content:center}.onboard-sil{width:64px;height:84px;border-radius:16px;border:3px solid var(--parchment-edge);background:#fffdf6;color:#c9b69a;cursor:pointer;display:grid;place-items:center}.onboard-sil.on{border-color:var(--wood);color:var(--wood)}.onboard-swatch{width:40px;height:40px;border-radius:50%;border:3px solid #fff;cursor:pointer;box-shadow:0 0 0 2px var(--parchment-edge)}.onboard-swatch.on{box-shadow:0 0 0 3px var(--wood);transform:scale(1.12)}.onboard-go{margin-top:14px;background:var(--wood);color:#fff6ea;border-color:var(--wood-dark);text-shadow:0 1px 1px rgb(74 58 42/.35)}.onboard-amy{display:block;width:92px;height:92px;margin:0 auto 10px;padding:0;border:3px solid var(--parchment-edge);border-radius:50%;background:#fffdf6;box-shadow:0 3px 10px rgb(0 0 0/.12);cursor:pointer;transition:transform .12s ease}.onboard-amy:active{transform:scale(.94)}.onboard-nav{display:flex;align-items:center;justify-content:center;gap:10px}.onboard-nav>.onboard-go{flex:1}.onboard-back{font:inherit;font-weight:700;margin-top:14px;border:2.5px solid var(--parchment-edge);border-radius:999px;background:#fffdf6;color:var(--ink);padding:10px 18px;cursor:pointer}.cinematic{z-index:60;overflow:hidden}.cinematic,.cutscene-curtain{position:fixed;inset:0;background:#05060f}.cutscene-curtain{z-index:64;pointer-events:none}.cutscene-curtain.curtain-fade-in{animation:cutscene-curtain-fade-in .7s ease forwards}@keyframes cutscene-curtain-fade-in{0%{opacity:0}to{opacity:1}}.cutscene-audio-gate{position:fixed;inset:0;z-index:65;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;border:0;padding:0;background:#05060f;cursor:pointer;-webkit-tap-highlight-color:transparent}.cutscene-audio-gate-pointer{position:relative;width:54px;height:54px}.cutscene-audio-gate-pointer .world-pointer-bob{left:50%;top:50%}.cutscene-audio-gate-label{color:#f4efe4;font-size:1.35rem;letter-spacing:.02em;opacity:.92;animation:cutscene-audio-gate-breathe 2.4s ease-in-out infinite}@keyframes cutscene-audio-gate-breathe{0%,to{opacity:.55}50%{opacity:1}}.cutscene-skip{position:fixed;right:calc(env(safe-area-inset-right, 0px) + 16px);bottom:calc(env(safe-area-inset-bottom, 0px) + 16px);z-index:66;padding:7px 15px;border:1px solid rgba(244,239,228,.25);border-radius:999px;background:rgba(5,6,15,.4);color:rgba(244,239,228,.7);font-size:.82rem;letter-spacing:.03em;cursor:pointer;backdrop-filter:blur(4px);-webkit-tap-highlight-color:transparent;transition:opacity .2s ease,color .2s ease,border-color .2s ease}.cutscene-skip:hover{color:rgba(244,239,228,.95);border-color:rgba(244,239,228,.5)}.cinematic-done,.cinematic-flash,.cinematic-meadow,.cinematic-strike{background:transparent}.cinematic-black .cine-scroll,.cinematic-done .cine-scroll,.cinematic-flash .cine-scroll,.cinematic-meadow .cine-scroll,.cinematic-strike .cine-scroll{opacity:0;transition:opacity .9s ease}.cine-star-canvas{inset:0;width:100%;height:100%;z-index:3}.cine-loading,.cine-star-canvas{position:absolute;pointer-events:none}.cine-loading{left:50%;bottom:9%;transform:translateX(-50%);width:min(74vw,460px);text-align:center;z-index:6;animation:cine-loading-in .5s ease both}@keyframes cine-loading-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.cine-loading-msg{color:#eaf3ff;font-weight:700;font-size:1.05rem;margin-bottom:11px;text-shadow:0 0 10px rgba(120,150,255,.7);animation:cine-msg-pulse 3.6s ease-in-out infinite}@keyframes cine-msg-pulse{0%,to{opacity:.8}50%{opacity:1}}.cine-loading-track{height:12px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.35)}.cine-loading-fill{height:100%;border-radius:999px;transition:width .6s ease;background:linear-gradient(90deg,#ffd27a,#ffb3d9,#a9cef0);box-shadow:0 0 12px rgba(255,220,160,.7)}.cine-black{position:absolute;inset:0;background:#04050d;opacity:0;pointer-events:none;transition:opacity .9s ease;z-index:4}.cinematic-black .cine-black{opacity:1}.cine-scroll{--pan:calc(100vh - max(149.06vw, 130vh));position:absolute;left:0;right:0;top:0;width:100%;height:max(149.06vw,130vh);transform:translateY(var(--pan));transition:transform 6s cubic-bezier(.33,0,.2,1);will-change:transform}.cine-scroll.panned{transform:translateY(0)}.cine-scroll-img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block}.cine-scroll-fallback{background:linear-gradient(180deg,#05071a,#0a0e2e 50%,#161a3e 78%,#2a2540)}.cine-extra-stars{position:absolute;top:0;left:0;right:0;height:55%;pointer-events:none;opacity:.5;background-image:radial-gradient(1.3px 1.3px at 14% 16%,#fff,transparent),radial-gradient(1px 1px at 28% 9%,#fff,transparent),radial-gradient(1.5px 1.5px at 47% 13%,#fff,transparent),radial-gradient(1px 1px at 63% 8%,#fff,transparent),radial-gradient(1.2px 1.2px at 76% 18%,#fff,transparent),radial-gradient(1.4px 1.4px at 88% 11%,#fff,transparent),radial-gradient(1px 1px at 9% 30%,#fff,transparent),radial-gradient(1.2px 1.2px at 36% 33%,#fff,transparent),radial-gradient(1px 1px at 58% 28%,#fff,transparent),radial-gradient(1.3px 1.3px at 82% 34%,#fff,transparent);animation:cine-twinkle 4.5s ease-in-out infinite alternate}@keyframes cine-twinkle{0%{opacity:.4}to{opacity:.75}}.cine-constellations{position:absolute;top:32vh;left:0;right:0;height:36vh;display:flex;justify-content:center;align-items:center;gap:8vw;opacity:0;transition:opacity 2.2s ease}.cine-constellations.on{opacity:1}.cine-constellations.fading{opacity:0;transition:opacity 1.6s ease}.cine-constel{position:relative;width:30vw;max-width:300px}.cine-constel:before{content:"";position:absolute;inset:-10% -6%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(6,10,30,.5),transparent 70%)}.cine-constel-svg{position:relative;width:100%;height:auto;filter:drop-shadow(0 0 7px rgba(190,210,255,.55));transition:filter .5s ease}.cine-edge{stroke:rgba(206,222,255,.55);stroke-width:1;transition:stroke .5s ease}.cine-star{fill:#fff;filter:drop-shadow(0 0 4px #cfe0ff);animation:cine-twinkle 2.6s ease-in-out infinite alternate}.cine-constel.speaking .cine-constel-svg{filter:drop-shadow(0 0 16px rgba(255,236,170,.95))}.cine-constel.speaking .cine-edge{stroke:rgba(255,238,190,.95);stroke-width:1.3}.cine-constel.speaking .cine-star{fill:#fff8e6;filter:drop-shadow(0 0 8px #ffe49a)}.cine-constel.speaking{animation:constel-pulse 1.5s ease-in-out infinite}@keyframes constel-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.cine-constel-label{position:absolute;bottom:-8%;left:0;right:0;text-align:center;color:#eef2ff;font-weight:800;font-size:1.15rem;letter-spacing:.05em;text-shadow:0 0 9px rgba(120,150,255,.85)}.cine-constel.speaking .cine-constel-label{color:#fff6df;text-shadow:0 0 12px rgba(255,228,160,.95)}.cine-settle{position:absolute;inset:0;background:#04050d;opacity:0;pointer-events:none;transition:opacity .6s ease;z-index:5}.cinematic-flash .cine-settle{opacity:1;transition:opacity .24s ease}.onboard-land-settle{position:fixed;inset:0;background:#04050d;z-index:58;pointer-events:none;animation:onboard-land-settle-fade 1.4s ease forwards}@keyframes onboard-land-settle-fade{0%{opacity:1}55%{opacity:.7}to{opacity:0}}.tap-hint{position:fixed;left:0;top:0;z-index:55;pointer-events:none;transition:transform .18s cubic-bezier(.4,0,.2,1);will-change:transform}.tap-hint-glow{position:absolute;left:4px;top:4px;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:radial-gradient(circle,rgba(255,198,86,.62),rgba(255,198,86,0) 68%);animation:tap-glow 2.2s ease-in-out infinite}@keyframes tap-glow{0%,to{transform:scale(.85);opacity:.7}50%{transform:scale(1.1);opacity:1}}.tap-hint-ring{position:absolute;left:4px;top:4px;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:3px solid #ffce5a;box-shadow:0 0 10px rgba(255,198,86,.85),inset 0 0 6px rgba(255,198,86,.5);opacity:0;animation:tap-ring 2.6s ease-out infinite}.tap-hint-ring-2{animation-delay:1.3s}@keyframes tap-ring{0%{transform:scale(.5);opacity:.95}70%{opacity:0}to{transform:scale(1.9);opacity:0}}.tap-hint-cursor{position:absolute;left:-2px;top:-2px;filter:drop-shadow(0 2px 4px rgba(80,45,10,.45)) drop-shadow(0 0 5px rgba(255,206,90,.8));animation:tap-bob 2.2s ease-in-out infinite}@keyframes tap-bob{0%,to{transform:translate(0)}50%{transform:translate(2px,5px)}}.tap-spark{position:absolute;filter:drop-shadow(0 0 3px rgba(255,206,90,.9));opacity:0;animation:tap-twinkle 2.4s ease-in-out infinite}.tap-spark-1{left:22px;top:-10px;animation-delay:.2s}.tap-spark-2{left:-12px;top:6px;animation-delay:1s;width:9px;height:9px}.tap-spark-3{left:24px;top:22px;animation-delay:1.7s;width:8px;height:8px}@keyframes tap-twinkle{0%,to{transform:scale(.4) rotate(0deg);opacity:0}50%{transform:scale(1) rotate(45deg);opacity:1}}.world-pointer{position:fixed;left:0;top:0;z-index:60;pointer-events:none;transition:opacity .35s ease;will-change:transform,opacity}.world-pointer-bob{position:absolute;left:0;top:0;animation:wp-bob 1.35s ease-in-out infinite}.world-pointer-disc{position:absolute;left:0;top:0;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#ffd874,#ff9e2c 70%,#f5851a);border:3px solid #fff;box-shadow:0 6px 16px rgba(120,60,0,.45),0 0 0 2px rgba(255,158,44,.5),0 0 22px rgba(255,190,80,.85)}.world-pointer-chevron{margin-top:-2px;filter:drop-shadow(0 1px 1px rgba(120,60,0,.5))}.world-pointer-ring{position:absolute;left:0;top:0;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;border:3px solid rgba(255,190,80,.9);opacity:0;animation:wp-ring 1.9s ease-out infinite}.world-pointer-ring-2{animation-delay:.95s}.world-pointer-finish .world-pointer-disc{background:radial-gradient(circle at 50% 35%,#d8ff9a,#5fd83a 68%,#33ab1d);border-color:#fff;box-shadow:0 6px 16px rgba(10,60,0,.55),0 0 0 2px rgba(28,110,12,.55),0 0 24px rgba(180,255,130,.9)}.world-pointer-finish .world-pointer-ring{border-color:rgba(190,255,140,.95)}.world-pointer-finish .world-pointer-chevron{filter:drop-shadow(0 1px 1px rgba(10,60,0,.6))}@keyframes wp-bob{0%,to{transform:translateY(-4px)}50%{transform:translateY(4px)}}@keyframes wp-ring{0%{transform:scale(.7);opacity:.85}80%{opacity:0}to{transform:scale(2.1);opacity:0}}.greet-backdrop{z-index:40}.greet-stage{width:min(94vw,520px);gap:10px}.greet-lead,.greet-stage{display:flex;flex-direction:column;align-items:center}.greet-lead-face{width:150px;height:150px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:5px solid #fffdf6;box-shadow:0 6px 18px var(--shadow)}.greet-face-fallback{display:grid;place-items:center;font-size:3rem;background:var(--parchment);border-radius:50%}.greet-name{font-weight:800;color:#fff;font-size:1.2rem;margin-top:6px;text-shadow:0 1px 4px rgba(0,0,0,.4)}.greet-prompt{flex-direction:column;gap:8px}.greet-prompt,.greet-wave{display:flex;align-items:center}.greet-wave{gap:5px;height:40px}.greet-wave span{display:block;width:7px;height:28px;border-radius:4px;background:#fff;opacity:.92;transition:transform .06s linear;transform-origin:center}.greet-chip{font:inherit;font-weight:800;font-size:1.1rem;background:#fffdf6;color:var(--ink);border:3px solid var(--wood);border-radius:999px;padding:8px 22px;cursor:pointer;box-shadow:0 4px 0 var(--wood-dark)}.greet-chip:active{transform:translateY(3px);box-shadow:0 1px 0 var(--wood-dark)}.greet-row{display:flex;gap:18px}.greet-mini{width:72px;height:72px;border-radius:50%;overflow:hidden;border:4px solid #fffdf6;box-shadow:0 4px 12px var(--shadow);background:var(--parchment)}.greet-mini img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.labs-modal-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.labs-action{font:inherit;font-weight:700;background:var(--wood);color:#fff;border:none;border-radius:14px;padding:12px 16px;cursor:pointer;box-shadow:0 3px 0 var(--wood-dark)}.labs-action.secondary{background:#fffdf6;color:var(--ink);border:2.5px solid var(--parchment-edge);box-shadow:0 3px 0 var(--shadow)}.labs-action:disabled{opacity:.5;cursor:default}.labs-select{font:inherit;background:#fffdf6;border:2.5px solid var(--parchment-edge);border-radius:14px;padding:12px 16px;cursor:pointer}.avatar-painting,.labs-select{font-weight:700;color:var(--ink)}.avatar-painting{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:8px;background:rgba(255,253,246,.95);font-size:.9rem;border:2px solid var(--parchment-edge);border-radius:999px;padding:7px 16px;box-shadow:0 4px 12px var(--shadow)}.avatar-painting-dot{width:9px;height:9px;border-radius:50%;background:var(--wood);animation:avatar-paint-pulse 1s ease-in-out infinite}@keyframes avatar-paint-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.hud-profile-flag{right:-3px;bottom:-3px;width:22px;height:16px;border-radius:4px;border:2px solid #fff}.hud-profile-flag,.switcher-child-flag{position:absolute;-o-object-fit:cover;object-fit:cover;box-shadow:0 1px 2px rgba(0,0,0,.35);background:#fff}.switcher-child-flag{right:-2px;bottom:-2px;width:28px;height:20px;border-radius:5px;border:2px solid #fff}.onboard-langs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:2px 0 4px}.onboard-lang{display:flex;align-items:center;gap:7px;border:2px solid var(--parchment-edge);background:#fffdf6;border-radius:12px;padding:6px 12px 6px 8px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}.onboard-lang.on{border-color:var(--wood);background:var(--wood);color:#fff}.onboard-lang-flag{width:30px;height:22px;-o-object-fit:cover;object-fit:cover;border-radius:5px;box-shadow:0 1px 2px rgba(0,0,0,.25)}.settings-lang-locked{font-weight:700;color:var(--ink);opacity:.85;padding:6px 4px}.settings-flag-pick{display:flex;align-items:center;gap:8px}.settings-flag-current{width:34px;height:24px;-o-object-fit:cover;object-fit:cover;border-radius:5px;box-shadow:0 1px 2px rgba(0,0,0,.25);flex:none}.settings-flag-select{font:inherit;font-weight:700;color:var(--ink);border:2px solid var(--parchment-edge);border-radius:10px;padding:4px 8px;background:#fffdf6;cursor:pointer}.jukebox-modal-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(20,14,8,.55);backdrop-filter:blur(3px)}.jukebox-modal{display:flex;flex-direction:column;width:min(460px,94vw);height:min(680px,88vh);overflow:hidden;border-radius:22px;background:linear-gradient(var(--parchment),var(--parchment-edge));border:3px solid var(--wood-dark);box-shadow:0 24px 70px rgba(0,0,0,.4)}.jukebox-slider{flex:1 1 auto;min-height:0;display:flex;width:200%;transform:translateX(0);transition:transform .32s cubic-bezier(.4,0,.2,1)}.jukebox-slider.is-detail{transform:translateX(-50%)}.jukebox-pane{flex:0 0 50%;min-height:0;display:flex;flex-direction:column}.jukebox-bar{flex:0 0 auto;display:flex;align-items:center;min-height:44px;padding:8px 12px}.jukebox-close{margin-left:auto;width:34px;height:34px;border:none;border-radius:50%;background:rgba(0,0,0,.06);color:var(--wood-dark);font-size:.95rem;font-weight:800;line-height:1;cursor:pointer}.jukebox-close:hover{background:rgba(0,0,0,.12)}.jukebox-back{border:none;background:none;padding:4px;font-size:1.1rem;font-weight:800;color:var(--wood-dark);cursor:pointer}.jukebox-list{list-style:none;margin:0;padding:0;overflow-y:auto}.jukebox-list li+li{border-top:1px solid rgba(138,90,46,.18)}.jukebox-row{display:flex;align-items:stretch}.jukebox-song{width:100%;display:flex;align-items:center;gap:12px;padding:8px 18px;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.jukebox-row .jukebox-song{flex:1 1 auto;width:auto;min-width:0}.jukebox-like{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0 14px 0 2px;border:none;background:none;cursor:pointer;color:rgba(74,58,42,.28);transition:color .18s ease}.jukebox-like svg{width:28px;height:28px;transition:transform .2s ease}.jukebox-like:hover{color:rgba(217,83,30,.7)}.jukebox-like.is-liked{color:#e5406a}.jukebox-like.is-liked svg{animation:heartPop .34s ease}@keyframes heartPop{0%{transform:scale(1)}35%{transform:scale(1.35)}70%{transform:scale(.9)}to{transform:scale(1)}}.jukebox-song.is-playing{background:rgba(255,255,255,.45)}.jukebox-row:has(.jukebox-song.is-playing){background:rgba(255,255,255,.45)}.jukebox-row:has(.jukebox-song.is-playing) .jukebox-song.is-playing{background:none}.jukebox-song-art{flex:0 0 auto;display:block;width:48px;height:48px;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.22)}.jukebox-song-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.jukebox-song-title{font-weight:700;font-size:1.02rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jukebox-song.is-playing .jukebox-song-title{color:#d9531e}.jukebox-song-artist{font-size:.82rem;color:rgba(74,58,42,.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jukebox-eq{display:flex;align-items:flex-end;gap:3px;height:20px;flex:0 0 auto}.jukebox-eq span{width:4px;border-radius:2px;animation:miniEq .9s ease-in-out infinite}.jukebox-eq span:first-child{background:#ff5d8f;animation-delay:0s}.jukebox-eq span:nth-child(2){background:#ffb43d;animation-delay:.18s}.jukebox-eq span:nth-child(3){background:#4fc3f7;animation-delay:.36s}.jukebox-eq span:nth-child(4){background:#8bc34a;animation-delay:.54s}.jukebox-empty{display:flex;align-items:center;justify-content:center;padding:1.5rem 2rem 2.5rem;text-align:center;font-size:1.2rem;font-weight:700;color:#6b5a44}.jukebox-count{font-size:.86rem;font-weight:800;color:rgba(74,58,42,.62);letter-spacing:.01em}.jukebox-scroll{flex:1 1 auto;min-height:0;overflow-y:auto}.jukebox-scroll .jukebox-list{overflow:visible}.jukebox-divider{padding:14px 18px 6px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:rgba(74,58,42,.5);border-top:1px solid rgba(138,90,46,.16);margin-top:4px}.jukebox-song.is-locked{opacity:.72}.jukebox-song.is-locked:hover{opacity:.9}.jukebox-locked-art{display:flex;align-items:center;justify-content:center;background:rgba(138,90,46,.12);box-shadow:none}.jukebox-locked-art-svg{width:32px;height:32px;fill:rgba(74,58,42,.45)}.jukebox-locked-box{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;image-rendering:auto}.jukebox-locked-art-svg .jukebox-locked-cut{fill:var(--parchment)}.jukebox-locked-meta{justify-content:center;min-height:48px}.jukebox-locked-title{letter-spacing:.14em;color:rgba(74,58,42,.55)}.jukebox-detail-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;overflow-y:auto}.jukebox-detail-art{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;display:block}.jukebox-detail-art-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--parchment),var(--parchment-edge));color:var(--wood-dark);font-size:4rem;font-weight:800}.jukebox-detail-meta{position:relative;text-align:center;padding:16px 20px 0}.jukebox-detail-title{padding:0 52px;font-size:1.3rem;font-weight:800;color:var(--ink)}.jukebox-detail-artist{font-size:.95rem;color:rgba(74,58,42,.6);margin-top:2px}.jukebox-play-btn{margin:16px 0 20px;flex:0 0 auto;width:62px;height:62px;border:none;border-radius:50%;background:var(--wood-dark);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.28)}.jukebox-play-btn:hover{background:#6f4622}.jukebox-play-btn svg{width:30px;height:30px;fill:currentColor}.jukebox-play-btn.is-play svg{margin-left:3px}.jukebox-detail-like{position:absolute;top:8px;right:6px;width:44px;height:44px;padding:0;color:rgba(74,58,42,.42)}.jukebox-detail-like svg{width:32px;height:32px}.demo-prop{position:absolute;left:var(--demo-x,38%);bottom:var(--demo-y,26%);width:var(--demo-w,14%);z-index:55;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25))}@keyframes demo-prop-stir{0%{transform:translate(-18%,3%) rotate(-7deg)}25%{transform:translate(2%,11%) rotate(-1deg)}50%{transform:translate(20%,3%) rotate(7deg)}75%{transform:translate(2%,-4%) rotate(1deg)}to{transform:translate(-18%,3%) rotate(-7deg)}}.demo-prop-stir{animation:demo-prop-stir 1.15s ease-in-out infinite;transform-origin:30% 70%}@keyframes demo-prop-pour{0%{transform:rotate(0deg)}30%{transform:rotate(-108deg)}42%{transform:rotate(-100deg)}54%{transform:rotate(-112deg)}66%{transform:rotate(-104deg)}80%{transform:rotate(-108deg)}to{transform:rotate(0deg)}}.demo-prop-pour{animation:demo-prop-pour 2.4s ease-in-out 1 both;transform-origin:42% 70%}@keyframes demo-prop-bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-14%)}50%{transform:translateY(0)}70%{transform:translateY(-7%)}85%{transform:translateY(0)}}.demo-prop-bounce{animation:demo-prop-bounce 1.1s ease-in-out infinite}@keyframes demo-prop-flutter{0%{transform:translate(0) rotate(-6deg)}25%{transform:translate(30%,-36%) rotate(8deg)}50%{transform:translate(-18%,-60%) rotate(-10deg)}75%{transform:translate(-42%,-22%) rotate(6deg)}to{transform:translate(0) rotate(-6deg)}}.demo-prop-flutter{animation:demo-prop-flutter 3.6s ease-in-out infinite;width:9%;bottom:44%}@keyframes demo-prop-land{0%{transform:translate(0) rotate(-6deg)}60%{transform:translate(calc(var(--demo-land-x, 0px) * .62),calc(var(--demo-land-y, 0px) * .62 - 9%)) rotate(7deg)}to{transform:translate(var(--demo-land-x,0),var(--demo-land-y,0)) rotate(0deg) scale(.8)}}.demo-prop.demo-prop-land{animation:demo-prop-land 1.15s cubic-bezier(.34,.62,.3,1) 1 both}@keyframes demo-prop-arc{0%{transform:translate(0) rotate(0deg);opacity:1}60%{transform:translate(140%,-180%) rotate(300deg);opacity:1}to{transform:translate(230%,-120%) rotate(540deg);opacity:0}}.demo-prop-arc{animation:demo-prop-arc 2.2s ease-out 1 both}@keyframes demo-prop-shake{0%,to{transform:translateX(0) rotate(0deg)}20%{transform:translateX(-3%) rotate(-2deg)}40%{transform:translateX(3%) rotate(2deg)}60%{transform:translateX(-3%) rotate(-1.5deg)}80%{transform:translateX(3%) rotate(1.5deg)}}.demo-prop-shake{animation:demo-prop-shake .5s linear infinite}@keyframes demo-leo-strain{0%,to{transform:rotate(0deg) translateY(0)}30%{transform:rotate(-9deg) translateY(2%)}36%{transform:rotate(-8deg) translateY(2%) translateX(-.6%)}42%{transform:rotate(-9.5deg) translateY(2%) translateX(.6%)}48%{transform:rotate(-8.5deg) translateY(2%) translateX(-.6%)}54%{transform:rotate(-9deg) translateY(2%) translateX(.6%)}70%{transform:rotate(-9deg) translateY(2%)}}.demo-leo-strain{animation:demo-leo-strain 2.6s ease-in-out 1 both;transform-origin:50% 90%}@keyframes demo-leo-launch{0%{transform:translate(0) rotate(0deg)}35%{transform:translate(26%,-34%) rotate(-24deg)}60%{transform:translate(38%,-8%) rotate(-350deg)}80%{transform:translate(38%) rotate(-1turn)}to{transform:translate(0) rotate(-1turn)}}.demo-leo-launch{animation:demo-leo-launch 2.2s ease-in-out 1 both}@keyframes demo-leo-flop{0%{transform:rotate(0deg)}35%{transform:rotate(62deg) translateY(6%)}70%{transform:rotate(62deg) translateY(6%)}to{transform:rotate(0deg)}}.demo-leo-flop{animation:demo-leo-flop 2.2s ease-in-out 1 both;transform-origin:20% 95%}@keyframes demo-leo-pucker{0%,to{transform:scale(1)}20%{transform:scale(.86,1.1) rotate(-3deg)}35%{transform:scale(1.08,.92) rotate(3deg)}50%{transform:scale(.9,1.06) rotate(-2deg)}65%{transform:scale(1.05,.95) rotate(2deg)}80%{transform:scale(.96,1.02)}}.demo-leo-pucker{animation:demo-leo-pucker 2s ease-in-out 1 both;transform-origin:50% 80%}@keyframes demo-leo-dance{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-7%) rotate(-4deg)}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(-7%) rotate(4deg)}}.demo-leo-dance{animation:demo-leo-dance .9s ease-in-out infinite;transform-origin:50% 92%}@keyframes demo-leo-knock{0%,to{transform:rotate(0deg)}20%{transform:rotate(7deg) translateX(2%)}30%{transform:rotate(0deg)}45%{transform:rotate(7deg) translateX(2%)}55%{transform:rotate(0deg)}70%{transform:rotate(7deg) translateX(2%)}}.demo-leo-knock{animation:demo-leo-knock 2.2s ease-in-out 1 both;transform-origin:50% 90%}.replay-glyph{font-size:26px;line-height:1;font-weight:700;transform:translateY(-1px)}.portrait-replay .replay-glyph{font-size:15px}.scene-help-rail{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:10px;z-index:8}.scene-help-btn{width:46px;height:46px;border-radius:50%;border:2px solid var(--wood-dark);background:var(--parchment);color:var(--wood-dark);display:grid;place-items:center;box-shadow:0 3px 10px rgba(0,0,0,.22);cursor:pointer;overflow:hidden;transition:transform .15s ease;padding:0}.scene-help-btn:active{transform:scale(.88)}.scene-help-btn .replay-glyph{font-size:32px;line-height:1;font-weight:700}.scene-help-l1 img{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.leo-caption-help{position:absolute;left:-2px;top:50%;transform:translate(-100%,-50%);padding-right:8px}.leo-caption-help .line-help{flex-direction:column;gap:6px}.leo-caption-body .leo-caption-help{position:static;transform:none;float:right;padding:1px 0 3px 10px}.leo-caption-body .leo-caption-help .line-help{display:flex;flex-direction:row;gap:6px}.leo-caption-help .scene-help-btn{width:36px;height:36px}.leo-caption-help .scene-help-btn .replay-glyph{font-size:26px}.leo-caption-help .scene-help-l1 img{width:24px;height:24px}.scene-help-btn.busy{pointer-events:none}.scene-help-btn.busy .replay-glyph{animation:help-turn 1.1s linear infinite}@keyframes help-turn{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scene-help-l1.busy img{animation:help-wave 1.3s ease-in-out infinite;transform-origin:left center}@keyframes help-wave{0%,to{transform:skewY(0deg) scaleX(1) rotate(0deg)}25%{transform:skewY(-11deg) scaleX(.85) rotate(-4deg)}50%{transform:skewY(0deg) scaleX(1) rotate(0deg)}75%{transform:skewY(11deg) scaleX(.85) rotate(4deg)}}.stage-slot .stage-held{position:absolute;height:auto;-o-object-fit:contain;object-fit:contain;z-index:3;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}.finale-backdrop{position:fixed;inset:0;z-index:95;border:none;padding:0;cursor:pointer;display:grid;place-items:center;background:radial-gradient(80% 60% at 50% 38%,rgba(255,226,150,.55),transparent 72%),linear-gradient(180deg,rgba(96,62,30,.82),rgba(54,36,20,.88));backdrop-filter:blur(5px);animation:finale-in .6s ease both}@keyframes finale-in{0%{opacity:0}}.finale-scene{position:relative;width:min(96vw,900px);height:min(88vh,1100px);display:grid;place-items:center;overflow:hidden;container-type:size}.finale-book{position:relative;height:min(78cqh,130cqw);width:auto;aspect-ratio:2/3;margin-bottom:12%;border-radius:14px;overflow:hidden;background:#fbf3e2;box-shadow:inset 15px 0 30px -20px rgba(120,80,30,.4),0 14px 40px rgba(0,0,0,.45);container-type:inline-size;animation:finale-book-up .9s cubic-bezier(.16,.9,.3,1) .15s both}@keyframes finale-book-up{0%{transform:translateY(26px) scale(.9);opacity:0}}.finale-host{position:absolute;left:3%;bottom:0;height:calc(30% * var(--host-scale, 1));width:auto;-o-object-fit:contain;object-fit:contain;pointer-events:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));animation:finale-host-in .7s ease .5s both}@keyframes finale-host-in{0%{transform:translateY(18px);opacity:0}}.finale-confetti{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.finale-piece{position:absolute;top:-12%;height:auto;will-change:transform;animation-name:finale-fall;animation-timing-function:linear;animation-iteration-count:infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}@keyframes finale-fall{0%{transform:translateZ(0) rotate(0deg);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translate3d(var(--drift,0),115vh,0) rotate(var(--spin,240deg));opacity:0}}.finale-tap{position:absolute;bottom:12%;right:14%;z-index:5;opacity:0;transition:opacity .5s ease}.finale-tap.on{opacity:1}@media (prefers-reduced-motion:reduce){.finale-book,.finale-host,.finale-piece,.finale-tap .world-pointer-bob,.finale-tap .world-pointer-ring{animation:none}}