:root{--cream:#fff6e6;--paper:#fffdf8;--line:#f0e1c6;--red:#e8503a;--red-deep:#be3425;--yellow:#ffc83d;--yellow-deep:#f2a900;--sky:#49b1e6;--sky-soft:#ddf2fc;--mint:#6fd3ae;--lilac:#d0b3ee;--lilac-soft:#f1e7fb;--ink:#3b2a20;--ink-soft:#7a6556;--ink-faint:#bba896;--r-s:.5rem;--r-m:1rem;--r-l:1.75rem;--t-fast:.2s;--t-mid:.35s;--t-slow:.6s;--bounce:cubic-bezier(.34,1.56,.64,1);--smooth:cubic-bezier(.22,.8,.3,1);--fs-sub:2.75rem;--fs-sub2:1.75rem;--fs-aid:1.3rem;--fs-menu:1.125rem;--spk:#d0b3ee;--spk-soft:#f1e7fb}html{font-size:min(.833333vw,1.5625vh)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-family:Nunito,"Baloo 2",PingFang SC,Microsoft YaHei,system-ui,sans-serif}button{color:inherit;cursor:pointer;background:0 0;border:0;font-family:inherit}svg{display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-property:opacity,background-color,color!important;transition-duration:.3s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.shell{background:radial-gradient(ellipse at 50% -10%, #ffe7ae 0, #ffe7ae00 55%), repeating-linear-gradient(90deg, #e8503a0e 0 5rem, #fff0 5rem 10rem), var(--cream);transition:background-color var(--t-slow);grid-template-rows:4.25rem minmax(0,1fr) 7.5rem 7rem;grid-template-columns:minmax(0,1fr);grid-auto-rows:0;display:grid;position:fixed;inset:0;overflow:hidden}.shell-free{background:radial-gradient(at 50% -10%,#c9f1e2 0,#c9f1e200 60%),repeating-linear-gradient(90deg,#49b1e612 0 5rem,#fff0 5rem 10rem),#f2fbff}.shell-railCell{grid-row:1;grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.shell-stage{grid-row:2;justify-content:center;align-items:center;margin:.7rem 0 .45rem;display:flex;position:relative;container-type:size}.shell-videoBox{aspect-ratio:16/9;border-radius:var(--r-l);width:min(100cqw - 39rem,177.778cqh);box-shadow:0 0 0 .22rem var(--spk), 0 1rem 2.2rem #3b2a2038;transition:box-shadow var(--t-slow);background:#1d1a24;border:.35rem solid #fff;flex:none;position:relative;overflow:hidden}.shell-videoBox video{object-fit:cover;background:#1d1a24;width:100%;height:100%;display:block;position:absolute;inset:0}.shell-deco{pointer-events:none;opacity:.9;animation:6s ease-in-out infinite shell-floaty;position:absolute}.shell-deco-star{background:var(--yellow);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:2.2rem;height:2.2rem}.shell-deco-ball{background:var(--sky);border-radius:50%;width:1.7rem;height:1.7rem;box-shadow:inset -.3rem -.3rem #00000014}@keyframes shell-floaty{50%{transform:translateY(-1rem)rotate(12deg)}}.shell-subRow{z-index:4;grid-row:3;grid-template-columns:19.5rem minmax(0,1fr) 19.5rem;align-items:stretch;gap:1rem;padding:0 1.25rem;display:grid;position:relative}.shell-badgeCell{grid-column:1;grid-template-columns:minmax(0,1fr);align-items:stretch;min-width:0;display:grid}.shell-subCell{grid-column:2;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;display:grid}.shell-sideCell{grid-column:3}.shell-micRow{z-index:4;grid-row:4;grid-template-columns:minmax(0,1fr);align-items:center;padding:0 1.25rem;display:grid;position:relative}.rail-root{z-index:5;background:linear-gradient(#fff, var(--paper));border-bottom:.25rem solid var(--yellow);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:.55rem 1.25rem 0;display:grid;position:relative;box-shadow:0 .25rem 1rem #be34251a}.rail-brand{color:var(--red);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:.6rem;font-size:1.6rem;font-weight:900;display:flex}.rail-brand svg{width:2.4rem;height:2.4rem;display:block}.rail-brand small{font-size:var(--fs-menu);color:var(--ink-soft);margin-left:.2rem;font-weight:700}.rail-track{justify-content:space-between;align-items:center;height:100%;padding:0 1rem;display:flex;position:relative}.rail-track:before{content:"";background:var(--line);border-radius:1rem;height:.4rem;margin-top:-.2rem;position:absolute;top:50%;left:1rem;right:1rem}.rail-fill{background:linear-gradient(90deg, var(--yellow), var(--yellow-deep));width:0;height:.4rem;transition:width var(--t-slow) var(--smooth);border-radius:1rem;margin-top:-.2rem;position:absolute;top:50%;left:1rem}.rail-station{z-index:1;width:2.1rem;height:2.1rem;color:var(--ink-faint);border:.22rem solid var(--line);transition:all var(--t-mid) var(--bounce);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:1.15rem;font-weight:900;display:grid;position:relative}.rail-station--reached{background:var(--red);border-color:var(--red-deep);color:#fff}.rail-station--current{transform:scale(1.18);box-shadow:0 0 0 .35rem #e8503a38}.rail-dot{z-index:1;border:.18rem solid var(--line);width:.85rem;height:.85rem;transition:background var(--t-mid), border-color var(--t-mid);background:#fff;border-radius:50%;flex:none;position:relative}.rail-dot--lit{background:var(--c);box-shadow:0 0 0 .14rem var(--c);border-color:#fff}.rail-dot--pop{animation:rail-dot-pop .55s var(--bounce)}.rail-dot--pop:after{content:"";border:.18rem solid var(--c);border-radius:50%;animation:.7s ease-out forwards rail-ripple;position:absolute;inset:-.2rem}.rail-dot--soft{animation:1.2s ease-out rail-dot-soft}@keyframes rail-dot-pop{0%{transform:scale(1)}40%{transform:scale(2.3)}to{transform:scale(1)}}@keyframes rail-dot-soft{0%{opacity:.25}to{opacity:1}}@keyframes rail-ripple{to{opacity:0;transform:scale(3.2)}}.rail-marker{z-index:3;width:1.9rem;height:1.9rem;transition:left var(--t-slow) var(--bounce);pointer-events:none;filter:drop-shadow(0 .15rem .15rem #3b2a2040);margin:-2.55rem 0 0 -.95rem;display:block;position:absolute;top:50%;left:0}.rail-marker--ride{animation:.6s ease-in-out rail-ride}@keyframes rail-ride{0%,to{transform:rotate(0)}30%{transform:rotate(-16deg)translateY(-.25rem)}70%{transform:rotate(10deg)}}.rail-track--ribbon:before{background:linear-gradient(90deg,#e8503a,#ffc83d,#6fd3ae,#49b1e6,#d0b3ee,#e8503a) 0 0/200% 100%;height:.9rem;margin-top:-.45rem;animation:3s linear infinite rail-ribbon-flow;box-shadow:0 .2rem .6rem #49b1e659}.rail-track--ribbon .rail-fill{opacity:0}.rail-track--ribbon .rail-dot{box-shadow:none;background:#fff;border-color:#fff;transform:scale(.55)}.rail-track--ribbon .rail-station{color:var(--sky);animation:rail-station-wave .6s var(--bounce) both;background:#fff;border-color:#fff}@keyframes rail-ribbon-flow{to{background-position:-200% 0}}@keyframes rail-station-wave{0%{transform:translateY(0)}40%{transform:translateY(-.6rem)scale(1.2)}to{transform:translateY(0)}}.rail-info{justify-content:flex-end;align-items:center;gap:.7rem;font-weight:800;display:flex}.rail-station-label{font-size:var(--fs-aid);white-space:nowrap;animation:rail-label-swap .45s var(--bounce);display:inline-block}.rail-station-label b{color:var(--red)}@keyframes rail-label-swap{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:none}}.rail-count{font-size:var(--fs-aid);background:var(--yellow);color:var(--ink);white-space:nowrap;animation:rail-bump .4s var(--bounce);border-radius:2rem;padding:.15rem .8rem}.rail-scene-progress{min-width:10.5rem;font-size:var(--fs-menu);color:var(--ink);white-space:nowrap;animation:rail-challenge-in .55s var(--bounce) both;background:linear-gradient(135deg,#fff9df 0%,#eef9ff 100%);border:.14rem solid #f5ca4be6;border-radius:1rem;align-items:center;gap:.42rem;padding:.42rem .7rem;display:inline-flex;box-shadow:0 .2rem .65rem #49b1e629}.rail-scene-progress__spark{color:#e5a900;font-size:1.1em;animation:1.8s ease-in-out infinite rail-challenge-spark}.rail-scene-progress__label{color:#8e6a00;font-weight:900}.rail-scene-progress__track{background:#e7dfc9;border-radius:1rem;width:4.2rem;height:.62rem;position:relative;overflow:hidden;box-shadow:inset 0 0 .1rem #0000001a}.rail-scene-progress__fill{border-radius:inherit;background:linear-gradient(90deg, var(--sky), var(--mint));height:100%;transition:width var(--t-mid) var(--smooth);display:block;box-shadow:0 0 .45rem #49b1e68c}.rail-scene-progress b{color:var(--sky-deep,#2684ad);font-size:1.05em}@keyframes rail-challenge-in{0%{opacity:0;transform:translateY(-.45rem)scale(.92)}to{opacity:1;transform:none}}@keyframes rail-challenge-spark{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.22)rotate(12deg)}}@keyframes rail-bump{40%{transform:scale(1.3)}}.rail-free-badge{font-size:var(--fs-menu);background:var(--mint);color:#134;white-space:nowrap;animation:rail-pop-in .5s var(--bounce) both;border-radius:2rem;padding:.2rem .8rem;display:inline-block}@keyframes rail-pop-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rail-dot--pop,.rail-dot--soft,.rail-marker--ride,.rail-station-label,.rail-count,.rail-free-badge,.rail-scene-progress,.rail-scene-progress__spark,.rail-track--ribbon:before,.rail-track--ribbon .rail-station{animation:none}.rail-dot--pop:after{display:none}.rail-fill,.rail-marker,.rail-station,.rail-dot{transition:none}}.scene-card-wrap{z-index:50;perspective:70rem;pointer-events:none;width:46rem;height:12.8rem;margin-left:-23rem;position:absolute;bottom:.9rem;left:50%}.scene-card{border-radius:var(--r-l);transform-origin:50% 100%;opacity:0;border:.4rem solid var(--yellow);color:#fff;text-align:center;background:linear-gradient(160deg,#f0614a,#c93a2a);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;width:100%;height:100%;display:flex;transform:rotateX(-95deg);box-shadow:0 1.2rem 2.4rem #3c000059}.scene-card--in{animation:scene-card-in .6s var(--bounce) forwards}.scene-card--out{animation:.45s ease-in forwards scene-card-out}@keyframes scene-card-in{0%{opacity:0;transform:rotateX(-95deg)}30%{opacity:1}to{opacity:1;transform:rotateX(0)}}@keyframes scene-card-out{0%{opacity:1;transform:rotateX(0)}to{opacity:0;transform:rotateX(95deg)}}.scene-card-no{font-size:var(--fs-sub2);color:var(--yellow);letter-spacing:.2em;font-weight:900}.scene-card-name{text-shadow:0 .2rem #0000002e;font-size:3.4rem;font-weight:900;line-height:1.1}.scene-card-pips{gap:.6rem;margin-top:.4rem;display:flex}.scene-pip{background:#ffffff59;border-radius:50%;width:1rem;height:1rem}.scene-pip--on{background:var(--yellow);transform:scale(1.3)}@media (prefers-reduced-motion:reduce){.scene-card--in{animation:.3s linear forwards scene-card-fade-in}.scene-card--out{animation:.3s linear forwards scene-card-fade-out}@keyframes scene-card-fade-in{0%{opacity:0;transform:none}to{opacity:1;transform:none}}@keyframes scene-card-fade-out{0%{opacity:1;transform:none}to{opacity:0;transform:none}}}.badge-slot{width:100%;height:100%;position:relative}.badge-plate{border:.25rem solid var(--c);cursor:pointer;max-width:100%;height:6.8rem;font:inherit;color:inherit;text-align:left;animation:badge-plate-in .5s var(--bounce) both;background:#fff;border-radius:4rem;align-items:center;gap:.85rem;margin-top:-3.4rem;padding:.4rem 1.3rem .4rem .45rem;display:flex;position:absolute;top:50%;left:0;box-shadow:0 .5rem 1.2rem #3b2a2024}.badge-plate.badge-out{pointer-events:none;animation:.25s ease-in forwards badge-plate-out}.badge-plate:focus-visible{outline:.2rem solid var(--sky);outline-offset:.2rem}@keyframes badge-plate-in{0%{transform:translate(-130%)rotate(-6deg)}to{transform:none}}@keyframes badge-plate-out{to{opacity:0;transform:scale(.55)}}.badge-avatar{background:var(--c);color:#fff;text-shadow:0 .1rem #00000026;border-radius:50%;flex:none;place-items:center;width:5.5rem;height:5.5rem;font-size:2.6rem;font-weight:900;display:grid;position:relative;overflow:visible}.badge-avatar-initial{line-height:1}.badge-avatar-img,.badge-avatar-face{object-fit:cover;object-position:50% 12%;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.badge-avatar:after{content:"";border:.28rem solid var(--c);opacity:0;border-radius:50%;position:absolute;inset:-.15rem}.badge-plate.badge-speaking .badge-avatar:after{animation:1.1s ease-out infinite badge-ring-pulse}@keyframes badge-ring-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.32)}}.badge-plate.badge-think .badge-avatar{animation:1s ease-in-out infinite alternate badge-tilt}@keyframes badge-tilt{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}.badge-text{min-width:0}.badge-name{font-size:var(--fs-sub2);white-space:nowrap;align-items:center;gap:.5rem;font-weight:900;line-height:1.1;display:flex}.badge-role{font-size:var(--fs-menu);color:var(--ink-soft);white-space:nowrap;font-weight:700;display:block}.badge-bars{align-items:flex-end;gap:.18rem;height:1.4rem;display:inline-flex}.badge-bars i{background:var(--c);transform-origin:50% 100%;border-radius:.2rem;width:.3rem;height:100%;transform:scaleY(.18)}.badge-plate.badge-speaking .badge-bars i{animation:.5s ease-in-out infinite alternate badge-bar}.badge-plate.badge-speaking .badge-bars i:nth-child(2){animation-duration:.36s}.badge-plate.badge-speaking .badge-bars i:nth-child(3){animation-duration:.62s}@keyframes badge-bar{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.badge-plate{animation:none}.badge-plate.badge-out{opacity:0;animation:none}.badge-plate.badge-speaking .badge-avatar:after{opacity:.85;animation:none}.badge-plate.badge-speaking .badge-bars i{animation:none;transform:scaleY(.7)}.badge-plate.badge-think .badge-avatar{animation:none}}.rolecard-root{z-index:35;border-radius:var(--r-l);border:.25rem solid var(--c);transform-origin:20% 100%;opacity:0;pointer-events:none;width:17.5rem;transition:transform var(--t-mid) var(--bounce), opacity var(--t-fast);background:#fff;padding:1rem 1.2rem;position:absolute;bottom:15rem;left:1.25rem;transform:scale(.2);box-shadow:0 .8rem 2rem #3b2a2038}.rolecard-root.rolecard-show{opacity:1;pointer-events:auto;transform:none}.rolecard-name{font-size:var(--fs-sub2);font-weight:900}.rolecard-role{font-size:var(--fs-menu);color:var(--ink-soft);margin:.15rem 0 .5rem;font-weight:700}.rolecard-line{quotes:none;font-size:var(--fs-menu);background:var(--cream);border-radius:var(--r-s);margin-top:.3rem;padding:.4rem .6rem;font-weight:800;line-height:1.4;display:block}.rolecard-line small{color:var(--ink-soft);font-weight:700;display:block}@media (prefers-reduced-motion:reduce){.rolecard-root{transition:opacity var(--t-fast);transform:none}}.sub-wrap{z-index:5;flex-direction:column;justify-content:center;width:100%;min-width:0;height:100%;display:flex;position:relative}.sub-bar{border-radius:var(--r-l);background:var(--spk-soft);height:6.9rem;transition:background-color var(--t-slow);border:.22rem solid #fff;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.4rem;padding:0 1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 .5rem 1.2rem #3b2a201f,inset 0 -.3rem #ffffff80}.sub-en{font-size:var(--fs-sub);white-space:nowrap;letter-spacing:.01em;animation:sub-in .35s var(--smooth);font-weight:900;line-height:1.2}.sub-zh{font-size:var(--fs-sub2);color:var(--ink-soft);white-space:nowrap;transition:opacity var(--t-fast);animation:sub-in .35s var(--smooth);border-radius:2rem;padding:0 .9rem;font-weight:700;line-height:1.25}.sub-bar.is-narr .sub-zh{background:var(--lilac);color:#4a2f6e}body.noZh .sub-zh{opacity:0}@keyframes sub-in{0%{opacity:0;transform:translateY(.7rem)}}.sub-w{color:var(--ink-faint);transition:color var(--t-fast), transform var(--t-fast) var(--bounce);margin:0 .14em;display:inline-block}.sub-w.is-on{color:var(--ink)}.sub-w.is-now{color:var(--red-deep);transform:translateY(-.12em)scale(1.1)}.sub-w.is-key{color:var(--ink);background:linear-gradient(transparent 55%, var(--yellow) 55%);animation:sub-key-pop .5s var(--bounce);border-radius:.3rem}@keyframes sub-key-pop{0%{transform:scale(.6)rotate(-6deg)}60%{transform:scale(1.25)rotate(3deg)}to{transform:none}}.sub-w.is-blank{color:#0000;border-bottom:.22rem dashed var(--ink-faint);min-width:2.2em;animation:1.2s ease-in-out infinite sub-blank-blink}@keyframes sub-blank-blink{50%{border-color:var(--yellow-deep)}}.sub-hint-slot{pointer-events:none;z-index:6;justify-content:center;align-items:center;height:7rem;display:flex;position:absolute;top:100%;left:0;right:0}.sub-hint{font-size:var(--fs-sub2);color:#fff;background:var(--red);white-space:nowrap;opacity:0;transition:transform var(--t-mid) var(--bounce), opacity var(--t-fast);border-radius:2rem;margin-right:8.4rem;padding:.35rem 1.3rem;font-weight:900;position:relative;transform:translateY(-1.2rem)scale(.4)}.sub-hint:after{content:"";border:.55rem solid #0000;border-left-color:var(--red);border-right:0;margin-top:-.55rem;position:absolute;top:50%;right:-.55rem}.sub-hint.is-show{opacity:1;animation:1s ease-in-out .4s infinite sub-nudge;transform:none}@keyframes sub-nudge{50%{transform:translate(.45rem)}}@media (prefers-reduced-motion:reduce){.sub-en,.sub-zh,.sub-w,.sub-hint{transition-property:opacity,background-color,color!important;transition-duration:.3s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.sub-w.is-now{transform:none}}.mic-root{z-index:4;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%;display:flex;position:relative}.mic-hub{place-items:center;width:6rem;height:6rem;display:grid;position:relative}.mic-wave{pointer-events:none;z-index:1;width:52rem;height:7rem;margin-top:-3.5rem;margin-left:-26rem;position:absolute;top:50%;left:50%}.mic-interim{white-space:nowrap;text-overflow:ellipsis;max-width:44rem;font-size:var(--fs-aid);color:var(--ink-soft);opacity:0;transition:opacity var(--t-mid);pointer-events:none;z-index:3;font-style:italic;font-weight:700;position:absolute;bottom:calc(100% + .9rem);left:50%;overflow:hidden;transform:translate(-50%)}.mic-interim.mic-show{opacity:.85}.mic-btn{z-index:2;width:6rem;height:6rem;font:inherit;color:#a9957f;transition:background var(--t-mid), transform var(--t-fast) var(--bounce), box-shadow var(--t-mid);cursor:pointer;background:#eadcc6;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative;box-shadow:0 .4rem #d6c4a8,0 .8rem 1.4rem #3b2a2026}.mic-btn svg{width:3rem;height:3rem;transition:opacity var(--t-fast), transform var(--t-mid) var(--bounce);display:block}.mic-btn:active{transform:scale(.93)}.mic-btn:focus-visible{outline:.25rem solid var(--sky);outline-offset:.25rem}.mic-btn:disabled,.mic-btn[aria-disabled=true]{cursor:default}.mic-btn:disabled{opacity:.85}.mic-btn:disabled:active,.mic-btn[aria-disabled=true]:active{transform:none}.mic-btn.mic-ready{color:#fff;background:linear-gradient(160deg,#ffd65c,#ff9f2e);animation:1.6s ease-in-out infinite mic-breath;box-shadow:0 .4rem #d97a12,0 0 #ffa82e8c}.mic-btn.mic-ready.mic-pop{animation:mic-pop .5s var(--bounce), mic-breath 1.6s ease-in-out .5s infinite}@keyframes mic-pop{0%{transform:scale(1)}45%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes mic-breath{0%,to{box-shadow:0 .4rem #d97a12,0 0 #ffa82e8c}50%{box-shadow:0 .4rem #d97a12,0 0 0 1.5rem #ffa82e00}}.mic-btn.mic-rec{color:#fff;background:linear-gradient(160deg,#ff7a62,#e23e2b);transform:scale(1.06);box-shadow:0 .4rem #a92a1c,0 .8rem 1.6rem #e23e2b59}.mic-btn.mic-think{color:#fff;background:linear-gradient(160deg,#7ccbf2,#3d9fda);box-shadow:0 .4rem #2b7cb0}.mic-btn.mic-think svg{opacity:0;transform:scale(.3)}.mic-btn.mic-shake{animation:.5s ease-in-out mic-shake}@keyframes mic-shake{20%{transform:translate(-.7rem)rotate(-8deg)}45%{transform:translate(.6rem)rotate(7deg)}70%{transform:translate(-.35rem)rotate(-4deg)}}.mic-balls{justify-content:center;align-items:center;gap:.45rem;display:none;position:absolute;inset:0}.mic-btn.mic-think .mic-balls{display:flex}.mic-balls i{background:#fff;border-radius:50%;width:.95rem;height:.95rem;animation:.6s ease-in-out infinite alternate mic-ball}.mic-balls i:nth-child(2){background:var(--yellow);animation-delay:.15s}.mic-balls i:nth-child(3){animation-delay:.3s}@keyframes mic-ball{0%{transform:translateY(.7rem)scaleY(.85)}to{transform:translateY(-.9rem)}}.mic-label{min-height:1.7em;font-size:var(--fs-aid);color:var(--ink-soft);white-space:nowrap;text-align:center;justify-content:center;align-items:center;font-weight:800;display:flex}@media (prefers-reduced-motion:reduce){.mic-root *,.mic-root :before,.mic-root :after{transition-property:opacity,background-color,color!important;transition-duration:.3s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.mic-wave{display:none}}.buddy-teacher{z-index:30;pointer-events:none;opacity:0;transform-origin:50% 100%;width:29%;height:76%;transition:opacity .22s ease, transform .42s var(--bounce);position:absolute;bottom:-7%;right:-1.2%;transform:translateY(32%)scale(.92)}.buddy-teacher.is-show{opacity:1;transform:translateY(0)scale(1)}.buddy-teacher-art{object-fit:contain;object-position:100% 100%;filter:drop-shadow(0 .35rem .3rem #48301f2e);width:100%;height:100%}.buddy-teacher.is-talk .buddy-teacher-art{animation:.24s ease-in-out infinite alternate teacher-talk}.buddy-teacher.is-point .buddy-teacher-art{animation:.8s ease-in-out infinite alternate teacher-point}@keyframes teacher-talk{0%{transform:translate(-.55%)rotate(-.2deg)}to{transform:translate(.55%)rotate(.2deg)}}@keyframes teacher-point{0%{transform:translate(1.5%)}to{transform:translate(-1.5%)}}.buddy-bubble{z-index:31;pointer-events:none;opacity:0;transform-origin:75% 110%;width:42%;transition:opacity .2s ease, transform .3s var(--bounce);background:#fffffffa;border:.22rem solid #9c82d5;border-radius:1.25rem;padding:.85rem 1rem .9rem;position:absolute;top:5%;right:20%;transform:translateY(.8rem)scale(.92);box-shadow:0 .7rem 1.6rem #412d6333}.buddy-bubble.is-show{opacity:1;transform:none}.buddy-bubble:after{content:"";background:#fff;border-bottom:.22rem solid #9c82d5;border-right:.22rem solid #9c82d5;width:1.25rem;height:1.25rem;position:absolute;bottom:-.75rem;right:12%;transform:rotate(45deg)}.buddy-heading{align-items:center;gap:.55rem;margin-bottom:.45rem;display:flex}.buddy-tag{color:#fff;background:#7657b2;border-radius:1rem;padding:.12rem .65rem;font-size:.95rem;font-weight:900}.buddy-turn{color:#7657b2;font-size:.9rem;font-weight:800}.buddy-bubble-zh{color:#372f3f;font-size:1.15rem;font-weight:800;line-height:1.35}.buddy-bubble-en{color:var(--red-deep);margin-top:.28rem;font-size:1.28rem;font-weight:900;line-height:1.3}.buddy-action{color:#7a6a85;border-top:1px dashed #d8ccec;margin-top:.6rem;padding-top:.5rem;font-size:.82rem;font-weight:700}@media (prefers-reduced-motion:reduce){.buddy-teacher,.buddy-bubble{transition:none;animation:none}.buddy-teacher.is-talk .buddy-teacher-art{animation:none}}.fx-canvas{z-index:60;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.fx-canvas.fx-top{z-index:85}.curtain{z-index:90;pointer-events:none;position:absolute;inset:0;overflow:hidden}.curtain[data-phase=done]{z-index:6}.curtain-lights{z-index:1;pointer-events:none;justify-content:space-around;height:.9rem;display:flex;position:absolute;top:0;left:0;right:0}.curtain-lights:before{content:"";opacity:.5;background:#8a6a55;height:.12rem;position:absolute;top:.12rem;left:0;right:0}.curtain-bulb{background:#d9c8ae;border-radius:50% 50% 55% 55%;width:.6rem;height:.6rem;margin-top:.2rem;transition:background .15s,box-shadow .15s;position:relative}.curtain-bulb--on{background:var(--bc);box-shadow:0 0 .7rem .15rem var(--bc);animation:2.4s ease-in-out infinite curtain-twinkle;animation-delay:var(--d)}@keyframes curtain-twinkle{50%{filter:brightness(.78)}}.curtain-stage{z-index:2;opacity:1;transition:opacity var(--t-mid) ease-out;position:absolute;inset:0}.curtain-stage--closed{pointer-events:auto}.curtain-stage--gone{opacity:0;visibility:hidden;transition:opacity var(--t-mid) ease-out, visibility 0s linear var(--t-mid)}.curtain-drape{background:repeating-linear-gradient(90deg,#c23a2b 0,#ee5a43 2.4rem,#a92c20 4.8rem);width:50.5%;transition:transform .8s cubic-bezier(.7,0,.25,1);position:absolute;top:0;bottom:0;box-shadow:inset 0 -6rem 5rem #3c000059}.curtain-drape--l{border-right:.5rem solid var(--yellow);left:0;transform:translate(-102%)}.curtain-drape--r{border-left:.5rem solid var(--yellow);right:0;transform:translate(102%)}.curtain-stage--closed .curtain-drape{transform:none}.curtain-valance{background:radial-gradient(circle at 50% 0, var(--yellow) 0 .5rem, transparent .55rem) 0 3.9rem/5rem 1rem repeat-x, radial-gradient(circle at 50% 0, #a92c20 0 2.45rem, transparent 2.5rem) 0 2rem/5rem 2.6rem repeat-x, linear-gradient(#a92c20 0 2rem, transparent 2rem);height:4.6rem;transition:transform .8s cubic-bezier(.7,0,.25,1);position:absolute;top:0;left:0;right:0;transform:translateY(-110%)}.curtain-stage--closed .curtain-valance{transform:none}.curtain-title{opacity:0;text-align:center;background:var(--paper);border:.5rem solid var(--yellow);border-radius:var(--r-l);width:46rem;transition:transform var(--t-slow) var(--bounce), opacity var(--t-mid);margin-left:-23rem;padding:2rem 2rem 2.2rem;position:absolute;top:46%;left:50%;transform:translateY(-50%)scale(0);box-shadow:0 1.5rem 3rem #3c000073}.curtain-title--show{opacity:1;transform:translateY(-50%)scale(1)}.curtain-title--fly{opacity:0;transition:transform .5s ease-in,opacity .4s;transform:translateY(-90%)scale(1.25)}.curtain-title h1{color:var(--red);letter-spacing:.04em;text-shadow:.22rem .22rem 0 var(--yellow);font-size:5.2rem;font-weight:900;line-height:1.1}.curtain-title p{font-size:var(--fs-sub2);color:var(--ink-soft);margin:.4rem 0 1.4rem;font-weight:800}.curtain-title small{font-size:var(--fs-menu);color:var(--ink-faint);margin-top:1.1rem;font-weight:700;display:block}.curtain-start{cursor:pointer;color:#fff;transition:transform var(--t-fast) var(--bounce);background:linear-gradient(160deg,#ffb13d,#f0602f);border:0;border-radius:3rem;padding:.8rem 3rem;font-family:inherit;font-size:2rem;font-weight:900;animation:1.4s ease-in-out infinite curtain-start-beat;box-shadow:0 .45rem #b9431c}.curtain-start:hover:not(:disabled){transform:scale(1.07)}.curtain-start:disabled{cursor:default;filter:grayscale(.4);opacity:.62;animation:none}@keyframes curtain-start-beat{0%,to{box-shadow:0 .45rem #b9431c,0 0 #ffc83db3}50%{box-shadow:0 .45rem #b9431c,0 0 0 1.1rem #ffc83d00}}@media (prefers-reduced-motion:reduce){.curtain *,.curtain :before,.curtain :after{transition-property:opacity,background-color,color!important;transition-duration:.3s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.medal-layer{z-index:80;animation:medal-fade-in var(--t-mid) ease-out;background:radial-gradient(at 50% 40%,#fff6e6f7 0,#ffe2a0f7 100%);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}@keyframes medal-fade-in{0%{opacity:0}}.medal-badge{width:17rem;height:19rem;animation:.9s cubic-bezier(.3,1.35,.5,1) .15s forwards medal-drop;display:block;transform:translateY(-70rem)}@keyframes medal-drop{0%{transform:translateY(-70rem)rotate(-25deg)}60%{transform:translateY(0)rotate(4deg)scale(1.18)}80%{transform:scale(.94)}to{transform:none}}.medal-ribbon-a{fill:var(--sky)}.medal-ribbon-b{fill:var(--red)}.medal-disc{fill:var(--yellow-deep)}.medal-inner{fill:var(--yellow)}.medal-star{fill:#fff}.medal-ring{border:.5rem solid var(--yellow-deep);opacity:0;border-radius:50%;width:14rem;height:14rem;margin:-10rem 0 0 -7rem;animation:.7s ease-out .7s medal-stamp;position:absolute;top:50%;left:50%}@keyframes medal-stamp{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(2.4)}}.medal-text{text-align:center;opacity:0;animation:medal-pop-in .5s var(--bounce) 1s forwards;padding:0 2rem;font-size:3.6rem;font-weight:900}.medal-text b{text-align:center;min-width:1.6em;color:var(--red);vertical-align:-.1em;font-size:5.4rem;display:inline-block}.medal-sub{font-size:var(--fs-sub2);color:var(--ink-soft);opacity:0;animation:medal-pop-in .5s var(--bounce) 2.3s forwards;font-weight:800}.medal-again{cursor:pointer;font-family:inherit;font-size:var(--fs-aid);color:#fff;background:var(--sky);opacity:0;animation:medal-pop-in .5s var(--bounce) 2.8s forwards;border:0;border-radius:2rem;margin-top:.6rem;padding:.6rem 2rem;font-weight:900;box-shadow:0 .35rem #2b7cb0}.medal-again:hover{filter:brightness(1.06)}@keyframes medal-pop-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.medal-layer,.medal-layer *,.medal-layer :before,.medal-layer :after{transition-property:opacity,background-color,color!important;transition-duration:.3s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.menu-root{z-index:40;pointer-events:none;position:absolute;inset:0}.menu-area{pointer-events:none;position:absolute;inset:0}.menu-gear,.menu-confirm{pointer-events:auto}.menu-gear{z-index:40;width:3.2rem;height:3.2rem;color:var(--ink-soft);cursor:pointer;transition:transform var(--t-mid) var(--bounce);background:#fff;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:1.9rem;right:1.25rem;box-shadow:0 .3rem .8rem #3b2a2026}.menu-gear:hover{transform:rotate(60deg)}.menu-gear svg{width:1.8rem;height:1.8rem;display:block}.menu-panel{z-index:41;border-radius:var(--r-m);transform-origin:90% 100%;opacity:0;pointer-events:none;width:15rem;transition:transform var(--t-mid) var(--bounce), opacity var(--t-fast);background:#fff;padding:.5rem;position:absolute;bottom:5.7rem;right:1.25rem;transform:scale(.3);box-shadow:0 .8rem 2rem #3b2a2040}.menu-panel.menu-show{opacity:1;pointer-events:auto;transform:none}.menu-item{width:100%;color:inherit;font-family:inherit;font-size:var(--fs-menu);border-radius:var(--r-s);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:.6rem .8rem;font-weight:800;display:flex}.menu-item:hover:not(:disabled){background:var(--cream)}.menu-item em{color:var(--sky);font-style:normal;font-weight:900}.menu-item:disabled{color:var(--ink-faint);cursor:default}.menu-item:disabled em.menu-busy{color:var(--ink-faint);font-weight:800}.menu-item-armed{background:var(--cream);box-shadow:inset 0 0 0 .15rem var(--yellow)}.menu-confirm{z-index:42;border-radius:var(--r-m);transform-origin:100% 80%;width:15.5rem;animation:menu-confirm-pop var(--t-mid) var(--bounce) both;background:#fff;padding:.8rem .9rem;position:absolute;bottom:5.7rem;right:17rem;box-shadow:0 .8rem 2rem #3b2a2047}.menu-confirm:after{content:"";background:#fff;width:1rem;height:1rem;position:absolute;bottom:1.6rem;right:-.5rem;transform:rotate(45deg)}.menu-confirm-text{font-size:var(--fs-menu);margin:0 0 .6rem;font-weight:800;line-height:1.4}.menu-confirm-btns{justify-content:flex-end;gap:.5rem;display:flex}.menu-confirm-btns button{cursor:pointer;font-family:inherit;font-size:var(--fs-menu);border:0;border-radius:2rem;padding:.35rem .9rem;font-weight:900}.menu-confirm-no{background:var(--cream);color:var(--ink-soft)}.menu-confirm-yes{background:var(--red);color:#fff}.menu-confirm-yes:hover{background:var(--red-deep)}@keyframes menu-confirm-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.menu-book{z-index:45;border-radius:var(--r-l);width:30rem;transition:transform var(--t-slow) var(--smooth);pointer-events:none;background:#fff;flex-direction:column;padding:1.2rem 1.4rem;display:flex;position:absolute;top:4.8rem;bottom:1rem;right:1.25rem;overflow:hidden;transform:translate(115%);box-shadow:0 1rem 3rem #3b2a204d}.menu-book.menu-show{pointer-events:auto;transform:none}.menu-book-title{font-size:var(--fs-sub2);justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.menu-book-x{cursor:pointer;color:var(--ink-soft);background:var(--cream);border:0;border-radius:50%;width:2.4rem;height:2.4rem;font-family:inherit;font-size:1.6rem;font-weight:900;line-height:1}.menu-book-h4{font-size:var(--fs-menu);color:var(--ink-soft);margin:1rem 0 .4rem}.menu-cast{flex-wrap:wrap;gap:.4rem;display:flex}.menu-cast-item{font-size:var(--fs-menu);background:var(--cream);border-radius:2rem;align-items:center;gap:.4rem;padding:.2rem .7rem .2rem .3rem;font-weight:800;display:inline-flex}.menu-cast-item i{background:var(--c);border-radius:50%;width:1.3rem;height:1.3rem;display:inline-block}.menu-cast-empty,.menu-lines-empty{font-size:var(--fs-menu);color:var(--ink-faint);font-weight:700}.menu-lines{overscroll-behavior:contain;flex:1;min-height:0;padding-right:.2rem;overflow-y:auto}.menu-line{font-size:var(--fs-menu);border-left:.35rem solid var(--c);background:var(--cream);border-radius:var(--r-s);word-break:break-word;margin-bottom:.35rem;padding:.45rem .7rem;font-weight:700;line-height:1.4}.menu-line b{color:var(--ink)}.menu-line small{color:var(--ink-soft);font-size:var(--fs-menu);display:block}@media (prefers-reduced-motion:reduce){.menu-gear,.menu-panel,.menu-book{transition-duration:.01ms}.menu-gear:hover{transform:none}.menu-confirm{animation-duration:.01ms}}.stage-video-stack{background:#1d1a24;position:absolute;inset:0;overflow:hidden}.stage-video-layer{object-fit:cover;opacity:0;background:#1d1a24;width:100%;height:100%;transition:opacity .22s;position:absolute;inset:0}.stage-video-layer-active{opacity:1}.stage-video-stack-waiting .stage-video-layer-active{animation:5.4s ease-in-out infinite alternate stage-breathe}.stage-video-stack-listening .stage-video-layer-active{animation:2.8s ease-in-out infinite alternate stage-listen}.stage-video-stack-response .stage-video-layer-active{animation:2.2s ease-in-out infinite alternate stage-response}@keyframes stage-breathe{0%{transform:scale(1)}to{transform:scale(1.012)}}@keyframes stage-listen{0%{transform:scale(1.008)translateY(0)}to{transform:scale(1.016)translateY(-.18%)}}@keyframes stage-response{0%{filter:brightness();transform:scale(1.01)}to{filter:brightness(1.025);transform:scale(1.018)}}.stage-video-shade{pointer-events:none;opacity:0;background:#18142247;transition:opacity .18s;position:absolute;inset:0}.stage-video-stack-dimmed .stage-video-shade{opacity:1}@media (prefers-reduced-motion:reduce){.stage-video-layer,.stage-video-shade{transition-duration:1ms}}.loading-screen,.error-screen{min-height:100vh;color:var(--ink);background:var(--cream);text-align:center;align-content:center;place-items:center;gap:.75rem;padding:1.5rem;display:grid}.loading-screen{font-size:var(--fs-aid);gap:.5rem;display:flex}.error-screen h1{font-size:1.75rem}.error-screen p{max-width:34rem;color:var(--ink-soft);font-size:var(--fs-aid);line-height:1.5}.error-screen .button{background:var(--red);color:#fff;font-size:var(--fs-menu);border-radius:999px;align-items:center;gap:.4rem;margin-top:.5rem;padding:.7rem 1.4rem;font-weight:800;display:inline-flex}.app-error-bar{z-index:70;border:2px solid var(--red);max-width:min(46rem,80vw);color:var(--red-deep);font-size:var(--fs-menu);pointer-events:none;background:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-weight:700;line-height:1.35;display:flex;position:absolute;top:5.25rem;left:50%;transform:translate(-50%);box-shadow:0 .4rem 1.2rem #3b2a2024}.app-error-bar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
