.player{display:grid;gap:14px}.stage{--u:calc(100cqw / 1600);position:relative;width:100%;aspect-ratio:16/9;container-type:inline-size;overflow:hidden;border-radius:20px;border:1px solid var(--stage-edge);background-color:var(--stage-bg);background-image:radial-gradient(circle,var(--stage-dot) 1.1px,transparent 1.3px);background-size:26px 26px;box-shadow:var(--stage-shadow)}.stage-scene{position:absolute;inset:0}.stage[data-aspect-ratio]:not([data-aspect-ratio="16:9"]) .stage-scene{inset:auto;left:50%;top:50%;width:var(--scene-width,100%);aspect-ratio:16/9;transform:translate(-50%,-50%);container-type:inline-size}.stage-floor{position:absolute;left:0;right:0;bottom:0;background:var(--stage-floor);border-top:1px solid var(--stage-floor-line)}.stage-item{position:absolute;z-index:2;transform:translate(-50%,-50%);transition:left .9s cubic-bezier(.25,.8,.25,1),top .9s cubic-bezier(.25,.8,.25,1),opacity .4s ease,scale .4s cubic-bezier(.22,1,.36,1),filter .4s ease}.stage-item.is-hidden{opacity:0;scale:.82;filter:blur(8px);pointer-events:none}.stage-image{z-index:0;overflow:hidden;border-radius:calc(var(--u) * 20);background:#fff}.lesson-photo{object-fit:contain}.stage-text{z-index:3;font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-weight:600;line-height:1;white-space:nowrap;color:var(--stage-ink)}.tone-accent{color:var(--stage-accent)}.tone-muted{color:var(--stage-muted)}.tone-danger{color:var(--stage-danger)}.tone-ok{color:var(--stage-ok)}.shape-roll{transition:transform .9s cubic-bezier(.25,.8,.25,1)}.shape-svg{display:block;width:100%;overflow:visible}.appear-pop{animation:appear-pop .62s cubic-bezier(.22,1,.36,1) both}.highlight-pulse{animation:highlight-pulse .85s ease-in-out}.text-write{display:inline-block;animation:text-write .5s ease-out both}@keyframes appear-pop{0%{transform:scale(.45) translateY(8%);opacity:0;filter:blur(10px)}55%{transform:scale(1.06) translateY(0);opacity:1;filter:blur(0)}to{transform:scale(1);opacity:1;filter:none}}@keyframes highlight-pulse{0%{transform:scale(1);filter:none}40%{transform:scale(1.035);filter:drop-shadow(0 0 .3cqw var(--annotation-accent,var(--stage-glow)))}to{transform:scale(1);filter:none}}@keyframes text-write{0%{clip-path:inset(0 100% 0 0);transform:translateY(.06em)}to{clip-path:inset(0 0 0 0);transform:none}}.stage-panel{z-index:1}.panel-box{position:relative;border-radius:calc(var(--u) * 18);border:calc(var(--u) * 2) solid var(--stage-edge);background:rgb(255 255 255/.55)}.panel-stack .panel-box{background:#f1f5fc;border-color:#d5e0f3}.panel-heap .panel-box{background:#fbf4ea;border-color:#efdcc0}.panel-title{position:absolute;top:calc(var(--u) * 12);left:calc(var(--u) * 18);font-family:var(--font-ui),var(--font-arabic),system-ui,sans-serif;font-size:calc(var(--u) * 19);font-weight:700;letter-spacing:.12em;color:#7d8494}.stage-cell{z-index:2}.cell{position:relative}.cell-label{position:absolute;bottom:100%;left:0;right:0;margin-bottom:calc(var(--u) * 6);text-align:center;font-family:var(--font-code),var(--font-arabic),ui-monospace,monospace;font-size:calc(var(--u) * 20);color:#5e6472;white-space:nowrap}.cell-box{display:grid;place-items:center;border-radius:calc(var(--u) * 12);border:calc(var(--u) * 2.5) solid #c9ced8;background:#ffffff;box-shadow:0 calc(var(--u) * 2) calc(var(--u) * 6) rgb(20 24 40/.06);transition:background-color .3s ease,border-color .3s ease,color .3s ease}.cell-value{font-family:var(--font-code),var(--font-arabic),ui-monospace,monospace;font-size:calc(var(--u) * 27);font-weight:600;color:var(--stage-ink);white-space:nowrap}.state-active .cell-box{border-color:var(--stage-accent);background:#eef3fd}.state-ok .cell-box{border-color:var(--stage-ok);background:#ecf8f1}.state-danger .cell-box{border-color:var(--stage-danger);background:#fdeeeb}.state-danger .cell-value{color:var(--stage-danger)}.state-freed .cell-box{border-style:dashed;border-color:#a9afbb;background-color:#f3f3f1;background-image:repeating-linear-gradient(135deg,transparent 0 calc(var(--u) * 9),rgb(27 31 42/.06) calc(var(--u) * 9) calc(var(--u) * 12));box-shadow:none}.state-freed .cell-value{color:#8e94a2;font-weight:500}.cell-flash{animation:cell-flash .6s ease-out}.cell-shake{animation:cell-shake .5s ease-in-out}@keyframes cell-flash{0%{transform:scale(1)}35%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes cell-shake{0%,to{transform:translateX(0)}20%{transform:translateX(calc(var(--u) * -8))}40%{transform:translateX(calc(var(--u) * 8))}60%{transform:translateX(calc(var(--u) * -5))}80%{transform:translateX(calc(var(--u) * 5))}}.stage-code{z-index:2}.code-card{overflow:hidden;border-radius:calc(var(--u) * 16);background:#1c2030;box-shadow:0 calc(var(--u) * 14) calc(var(--u) * 40) calc(var(--u) * -18) rgb(20 24 40/.55);font-family:var(--font-code),var(--font-arabic),ui-monospace,monospace;font-size:calc(var(--u) * 26);color:#d9dded;text-align:left}.code-title{display:flex;align-items:center;gap:calc(var(--u) * 14);height:calc(var(--u) * 44);padding:0 calc(var(--u) * 20);background:#242a3c;font-family:var(--font-ui),var(--font-arabic),system-ui,sans-serif;font-size:calc(var(--u) * 19);color:#9aa2b8}.code-dots{display:inline-flex;gap:calc(var(--u) * 7)}.code-dots i{width:calc(var(--u) * 11);height:calc(var(--u) * 11);border-radius:50%;background:#3a4258}.code-body{padding:calc(var(--u) * 20) 0}.code-line{display:flex;align-items:center;height:calc(var(--u) * 40);padding:0 calc(var(--u) * 24) 0 0;white-space:pre;border-left:calc(var(--u) * 5) solid transparent;transition:opacity .3s ease,background-color .3s ease,border-color .3s ease}.code-number{flex:none;width:calc(var(--u) * 48);padding-right:calc(var(--u) * 16);text-align:right;color:#5b6378;-webkit-user-select:none;user-select:none}.code-line.is-dim{opacity:.4}.code-line.focus-info{background:rgb(98 140 255/.16);border-left-color:#7d9bff}.code-line.focus-danger{background:rgb(255 98 82/.17);border-left-color:#ff7a6b}.code-line.focus-ok{background:rgb(70 200 130/.15);border-left-color:#5ed39a}.tok-keyword{color:#c6a0ff}.tok-number{color:#ffc27a}.tok-string{color:#9fe0a0}.tok-comment{color:#7f889e;font-style:italic}.focus-danger .tok-comment{color:#ff9d92}.focus-ok .tok-comment{color:#8ee2b6}.stage-arrows{position:absolute;inset:0;z-index:3;width:100%;height:100%;overflow:visible;pointer-events:none}.arrow{stroke-width:4.5;stroke-linecap:round;fill:none}.arrow-solid{stroke:var(--stage-accent)}.arrow-danger{stroke:var(--stage-danger)}.arrow-dangling{stroke:#9aa0ad;stroke-dasharray:10 9;animation:arrow-fade .4s ease-out}.arrowhead-solid{fill:var(--stage-accent)}.arrowhead-danger{fill:var(--stage-danger)}.arrowhead-dangling{fill:#9aa0ad}.arrow-draw{stroke-dasharray:1;animation:arrow-draw .6s ease-out both}@keyframes arrow-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes arrow-fade{0%{opacity:0}to{opacity:1}}.warning-body{fill:#f6c445;stroke:#e7a51d;stroke-width:3}.check-body{fill:var(--stage-ok)}.cross-body{fill:var(--stage-danger)}.sign-mark{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.sign-mark-dark{fill:#3d2f12}.apple-body{fill:#e4473b}.orange-body{fill:#f39a2b}.star-body{fill:#f6c445;stroke:#e7a51d;stroke-width:3}.block-body{fill:#4a78d6}.block-face{fill:rgb(255 255 255/.18)}.ball-body{fill:#3aa59d}.ball-line{fill:none;stroke:rgb(255 255 255/.7);stroke-width:3}.heart-body{fill:#ee5d78}.shine{fill:none;stroke:rgb(255 255 255/.55);stroke-width:5;stroke-linecap:round}.stem{fill:none;stroke:#6b4a2b;stroke-width:5;stroke-linecap:round}.leaf{fill:#4dae63}.character{position:absolute;z-index:4;aspect-ratio:210/280;transform:translate(-50%,-100%)}.character-standalone{position:relative;width:100%;transform:none}.character-facing{width:100%;height:100%;transition:transform .25s ease}.character-svg{display:block;width:100%;height:100%;overflow:visible}.character .visor-bezel{fill:var(--ari-deep);opacity:.35}.character .visor{stroke:rgb(255 255 255/.14);stroke-width:1.5}.character .visor-gloss{fill:none;stroke:rgb(255 255 255/.16);stroke-width:7;stroke-linecap:round}.character .pupil{fill:#0a2340}.character .eye-shine{fill:#fff}.character .cheek{opacity:.75;transition:opacity .3s ease}.is-talking .cheek,.pose-happy .cheek,.pose-wave .cheek{opacity:1}.character .foot-shine{fill:#ffffff;opacity:.22}.character .antenna-spark{fill:#fff6d6;transform-box:fill-box;transform-origin:center;animation:antenna-spark 3.4s ease-in-out infinite}.character .ear-light{animation:ear-light 2.8s ease-in-out infinite}.character .ear-light+.ear-light{animation-delay:1.4s}.character .eyes-happy{display:none;fill:none;stroke:var(--ari-eye);stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 6px rgb(127 220 255/.6))}.pose-happy .eyes{display:none}.pose-happy .eyes-happy{display:inline}@keyframes antenna-spark{0%,62%,to{opacity:0;transform:scale(.2) rotate(0deg)}72%{opacity:1;transform:scale(1.1) rotate(45deg)}84%{opacity:0;transform:scale(.3) rotate(90deg)}}@keyframes ear-light{0%,to{opacity:1}50%{opacity:.35}}.character .mouth-smile{fill:none;stroke:var(--ari-eye);stroke-width:4;stroke-linecap:round}.character .mouth-inside{fill:#071222;stroke:var(--ari-eye);stroke-width:2.2}.character .tongue{fill:#ff8fa8}.character .antenna-stem{stroke:var(--ari-limb);stroke-width:5;stroke-linecap:round}.character .antenna-shine{fill:#ffffff;opacity:.8}.character .character-shadow{transform-origin:105px 272px}.character .chest-glow,.character .chest-light{transform-box:fill-box;transform-origin:center}.character .chest-glow{opacity:.55}.is-talking .chest-glow{animation:chest-pulse 1.1s ease-in-out infinite}.is-talking .chest-light{animation:chest-beat 1.1s ease-in-out infinite}@keyframes chest-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.35)}}@keyframes chest-beat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.character-body{transform-origin:105px 230px;animation:breathe 3.2s ease-in-out infinite}.character .arm{transform-origin:0 0;transition:transform .4s cubic-bezier(.3,.7,.3,1.25)}.arm-wave{transform-origin:0 0;animation:wave .45s ease-in-out infinite alternate}.leg-swing{transform-box:fill-box;transform-origin:50% 0}.eyes{transform-origin:105px 140px;animation:blink 4.6s infinite}.pupils{transition:transform .3s ease}.pose-think .pupils{transform:translate(3px,-6px)}.antenna{transform-origin:105px 92px;animation:antenna 2.6s ease-in-out infinite}.mouth-talk{display:none}.is-talking .mouth-talk{display:inline}.is-talking .mouth-smile{display:none}.mouth-talk-shape{animation:talk .2s ease-in-out infinite alternate}.is-walking .character-jump{animation:walk-bob .34s ease-in-out infinite}.is-walking .leg-front .leg-swing{animation:leg-swing .34s ease-in-out infinite alternate}.is-walking .leg-back .leg-swing{animation:leg-swing .34s ease-in-out infinite alternate-reverse}.character-jump{transform-origin:105px 268px}.pose-happy:not(.is-walking) .character-jump{animation:hop .75s ease-in-out infinite}.pose-happy:not(.is-walking) .character-shadow{animation:shadow-hop .75s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.012,.988) rotate(-1.2deg)}50%{transform:scale(1.018,.982) rotate(0deg)}75%{transform:scale(1.012,.988) rotate(1.2deg)}}@keyframes walk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes leg-swing{0%{transform:rotate(-22deg)}to{transform:rotate(22deg)}}@keyframes hop{0%,to{transform:translateY(0) scale(1)}12%{transform:translateY(0) scale(1.08,.9)}40%{transform:translateY(-24px) scale(.95,1.06)}55%{transform:translateY(-26px) scale(1)}84%{transform:translateY(0) scale(1.06,.93)}}@keyframes shadow-hop{0%,to{transform:scale(1);opacity:1}45%{transform:scale(.75);opacity:.6}}@keyframes wave{0%{transform:rotate(-18deg)}to{transform:rotate(20deg)}}@keyframes blink{0%,44%,48%,92%,96%,98.5%,to{transform:scaleY(1)}46%,94%,97.5%{transform:scaleY(.1)}}@keyframes antenna{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes talk{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.stage-overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:rgb(250 249 246/.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:0;padding:16px;font:inherit;color:inherit}.stage-overlay-quiet{cursor:pointer;align-content:center;gap:10px;background:rgb(250 249 246/.45);-webkit-backdrop-filter:none;backdrop-filter:none}.overlay-card{max-width:420px;text-align:center;display:grid;gap:10px;justify-items:center;color:var(--stage-ink)}.overlay-card h2{margin:0;font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-weight:600;font-size:clamp(1.5rem,4cqw,2.4rem);letter-spacing:-.01em}.overlay-eyebrow,.overlay-note{margin:0;color:#5d6270;font-size:.95rem}.overlay-eyebrow{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.overlay-round{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--stage-ink);color:#fff;box-shadow:0 8px 24px -8px rgb(20 24 40/.45)}.overlay-round .icon{width:28px;height:28px}.overlay-hint{font-size:.85rem;color:#4b505c}.stage-banner{position:absolute;z-index:10;top:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:999px;background:rgb(255 255 255/.92);border:1px solid var(--stage-edge);box-shadow:0 8px 24px -12px rgb(20 24 40/.35);color:var(--stage-ink);font-size:.9rem;font-weight:600;white-space:nowrap}.caption{margin:0;min-height:3.2em;font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.5;color:var(--ink);text-wrap:pretty}.caption-word{transition:color .15s ease}.caption-word.is-upcoming{color:var(--muted)}.controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.progress{flex:1 1 160px;display:flex;gap:4px;min-width:120px}.progress-segment{flex:1 1;border-radius:999px;background:var(--track);overflow:hidden}.progress-fill{display:block;height:100%;background:var(--ink);transform-origin:left center}.time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--ink);white-space:nowrap}.time-limit{color:var(--muted)}.voice-picker select{max-width:190px;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem}.note{margin:0;font-size:.85rem;color:var(--muted)}@media (max-width:560px){.stage{border-radius:14px}.voice-picker{flex-basis:100%}.voice-picker select{max-width:none;width:100%}.stage-banner{top:8px;font-size:.8rem}.stage-banner>span{display:none}}@media (prefers-reduced-motion:reduce){.antenna,.antenna-spark,.character-body,.chest-glow,.chest-light,.ear-light,.eyes,.pose-happy .character-jump,.pose-happy .character-shadow{animation:none!important}}.stage-camera{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.character-lean{width:100%;height:100%;transform-origin:50% 70%}.stage .character-shadow{display:none}.ari-shadow{position:absolute;z-index:2;aspect-ratio:5/1;border-radius:50%;background:rgb(20 24 40/.16);transform:translate(-50%,-50%);filter:blur(calc(var(--u) * 2))}.character .body-shine{opacity:.9}.antenna-glow{fill:none;stroke:#f2b43a;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center}.is-talking .antenna-glow{animation:antenna-pulse 1.1s ease-out infinite}@keyframes antenna-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(2.4);opacity:0}}.thrusters{opacity:0;transition:opacity .25s ease}.is-airborne .thrusters{opacity:1}.flame{transform-box:fill-box;transform-origin:50% 0;animation:flame .11s ease-in-out infinite alternate}.flame-late{animation-delay:.05s}.flame-outer{fill:#f6a43a}.flame-inner{fill:#fff1c2}.is-flying .flame-outer{animation-name:flame-strong}@keyframes flame{0%{transform:scaleY(.7) scaleX(.9)}to{transform:scaleY(1.05) scaleX(1)}}@keyframes flame-strong{0%{transform:scaleY(1.1) scaleX(.95)}to{transform:scaleY(1.6) scaleX(1.05)}}.leg-swing{transition:transform .3s ease}.is-airborne .leg-back .leg-swing{transform:rotate(16deg) scaleY(.86)}.is-airborne .leg-front .leg-swing{transform:rotate(6deg) scaleY(.86)}.is-airborne:not(.is-flying) .character-jump{animation:hover 1.8s ease-in-out infinite}@keyframes hover{0%,to{transform:translateY(-5px)}50%{transform:translateY(5px)}}.stage-spotlight{position:absolute;inset:0;z-index:3;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0;transition:opacity .45s ease}.stage-spotlight.is-on{opacity:1}.spotlight-dim{fill:rgb(18 22 36/.26)}.spotlight-hole{transition:x .6s ease,y .6s ease,width .6s ease,height .6s ease}.burst{position:absolute;z-index:5;width:0;height:0;pointer-events:none}.particle{left:0;top:0;width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);animation-delay:var(--delay);animation-fill-mode:both}.burst-confetti .particle{height:calc(var(--size) * .55);border-radius:calc(var(--u) * 2);background:var(--color);animation:confetti 1.5s cubic-bezier(.2,.7,.3,1)}.burst-sparkle .particle{background:#f6c445;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:sparkle .9s ease-out}.burst-poof .particle{border-radius:50%;background:#d6d9e0;animation:poof .85s ease-out}@keyframes confetti{0%{transform:translate(0) rotate(0);opacity:1}55%{transform:translate(var(--dx),var(--dy)) rotate(calc(var(--spin) * .6));opacity:1}to{transform:translate(var(--dx),calc(var(--dy) + var(--u) * 220)) rotate(var(--spin));opacity:0}}@keyframes sparkle{0%{transform:translate(0) scale(0);opacity:1}45%{transform:translate(var(--dx),var(--dy)) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}@keyframes poof{0%{transform:translate(0) scale(.3);opacity:.9}to{transform:translate(var(--dx),var(--dy)) scale(1.5);opacity:0}}.code-body.is-typing .code-line{animation:line-type .45s ease-out backwards;animation-delay:calc(var(--line) * .14s)}@keyframes line-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.caption-word.is-emphasis{color:var(--caption-accent);font-weight:650}.caption-word.is-current{box-shadow:inset 0 -.14em 0 var(--caption-mark)}.button-fullscreen{position:absolute;top:12px;right:12px;z-index:11;opacity:0;background:rgb(255 255 255/.9)!important;color:var(--stage-ink)!important;border-color:var(--stage-edge)!important;transition:opacity .2s ease}.button-fullscreen:focus-visible,.is-fullscreen .button-fullscreen,.stage:hover .button-fullscreen{opacity:1}.player.is-fullscreen{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;background:var(--bg);overflow:auto}.player.is-fullscreen .caption,.player.is-fullscreen .controls,.player.is-fullscreen .stage{width:min(100%,calc((100vh - 200px) * 16 / 9))}.player.is-fullscreen .caption{font-size:clamp(1.15rem,2vw,1.6rem)}.player:focus{outline:none}@media (prefers-reduced-motion:reduce){.antenna-glow,.flame,.is-airborne .character-jump,.particle{animation:none!important}}.stage-title{position:absolute;top:calc(var(--u) * 26);left:calc(var(--u) * 26);z-index:9;display:inline-flex;align-items:center;gap:calc(var(--u) * 12);padding:calc(var(--u) * 12) calc(var(--u) * 22) calc(var(--u) * 12) calc(var(--u) * 16);border-radius:999px;background:rgb(255 255 255/.94);border:1px solid var(--stage-edge);box-shadow:0 calc(var(--u) * 8) calc(var(--u) * 24) calc(var(--u) * -12) rgb(20 24 40/.4);font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-weight:600;font-size:calc(var(--u) * 30);color:var(--stage-ink);animation:title-in .5s cubic-bezier(.2,.8,.2,1) both}.stage-title:before{content:"";width:calc(var(--u) * 12);height:calc(var(--u) * 12);border-radius:50%;background:var(--stage-accent)}.title-danger:before{background:var(--stage-danger)}.title-ok:before{background:var(--stage-ok)}@keyframes title-in{0%{opacity:0;transform:translateX(calc(var(--u) * -24))}to{opacity:1;transform:none}}.stage-backdrop{position:absolute;inset:0;z-index:0;background-color:transparent;transition:background-color 1.4s ease}.backdrop-sky{background-color:#cfe2f3}.backdrop-moon,.backdrop-space{background-color:#0a0f24}.star-field{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}.backdrop-moon .star-field,.backdrop-space .star-field{opacity:1}.star{position:absolute;border-radius:50%;background:#ffffff;animation-name:twinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}@keyframes twinkle{0%{opacity:.2}to{opacity:.95}}.stage-floor{transition:background-color 1s ease,opacity 1s ease}.floor-sky{background-color:#b9c0c9}.floor-space{opacity:0}.floor-moon{background-color:#8c8a85;border-top-color:transparent;background-image:radial-gradient(ellipse 5% 22% at 18% 38%,rgb(0 0 0/.2) 70%,transparent 72%),radial-gradient(ellipse 3% 14% at 62% 60%,rgb(0 0 0/.16) 70%,transparent 72%),radial-gradient(ellipse 2.5% 12% at 86% 30%,rgb(0 0 0/.18) 70%,transparent 72%),radial-gradient(ellipse 4% 16% at 40% 75%,rgb(255 255 255/.08) 70%,transparent 72%)}.is-dark .stage-text.tone-ink{color:#eef1f8}.is-dark .tone-muted{color:#9ea7bd}.is-dark .tone-accent{color:#9db6ff}.is-dark .tone-danger{color:#ff8f7f}.is-dark .tone-ok{color:#74e0a8}.stage-paths{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.stage-path{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transition:opacity .4s ease}.stage-path.is-hidden{opacity:0}.path-dashed{stroke-dasharray:12 12;animation:arrow-fade .6s ease-out}.path-draw{stroke-dasharray:1;animation:arrow-draw 1.3s ease-out both}.stage-path.path-tone-accent{stroke:var(--stage-accent)}.stage-path.path-tone-muted{stroke:#9aa0ad}.stage-path.path-tone-danger{stroke:var(--stage-danger)}.stage-path.path-tone-ok{stroke:var(--stage-ok)}.stage-path.path-tone-light{stroke:#e6ebf7}.is-dark .stage-path.path-tone-accent{stroke:#8fb0ff}.is-dark .stage-path.path-tone-muted{stroke:#6f7891}.path-head.path-tone-accent{fill:var(--stage-accent)}.path-head.path-tone-muted{fill:#9aa0ad}.path-head.path-tone-danger{fill:var(--stage-danger)}.path-head.path-tone-ok{fill:var(--stage-ok)}.path-head.path-tone-light{fill:#e6ebf7}.is-dark .path-head.path-tone-accent{fill:#8fb0ff}.helmet{display:none}.has-helmet .helmet{display:inline}.helmet-glass{fill:rgb(200 225 255/.16);stroke:rgb(255 255 255/.8);stroke-width:3}.helmet-shine{fill:none;stroke:rgb(255 255 255/.7);stroke-width:6;stroke-linecap:round}.helmet-ring{fill:none;stroke:#cfd5df;stroke-width:8;stroke-linecap:round}.shape-flame .flame-art{transform-origin:50% 0;animation:flame-flicker .09s ease-in-out infinite alternate}@keyframes flame-flicker{0%{transform:scale(.95,.86)}to{transform:scale(1.03,1.08)}}.burst-smoke .particle{border-radius:50%;background:#eef0f4;box-shadow:inset calc(var(--u) * -6) calc(var(--u) * -6) 0 rgb(20 24 40/.06);animation:smoke 1.6s ease-out}.burst-dust .particle{border-radius:50%;background:#b4b1a9;animation:smoke 1.5s ease-out}@keyframes smoke{0%{transform:translate(0) scale(.3);opacity:.95}60%{opacity:.85}to{transform:translate(var(--dx),var(--dy)) scale(1.5);opacity:0}}@media (prefers-reduced-motion:reduce){.shape-flame .flame-art,.star{animation:none!important}}html[dir=rtl] .player [data-tip]:after{direction:rtl}.stage.is-rtl .stage-title{left:auto;right:calc(var(--u) * 26)}.stage.is-rtl .button-fullscreen{right:auto;left:12px}.caption[dir=rtl]{text-align:right;font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.8}.overlay-card[dir=rtl] h2,.stage.is-rtl .stage-text{line-height:1.35}.preparing{display:grid;justify-items:center;gap:14px;padding:48px 0 64px;text-align:center}.preparing-ari{width:120px}.preparing-title{margin:0;max-width:640px;font-size:clamp(1.5rem,3.6vw,2.2rem);line-height:1.25;letter-spacing:-.02em}.preparing-request{margin:0;max-width:560px;color:var(--muted);font-size:1.05rem}.preparing-bar{position:relative;width:min(320px,80%);height:4px;overflow:hidden;border-radius:999px;background:var(--track)}.preparing-bar span{position:absolute;inset:0 auto 0 0;width:35%;border-radius:inherit;background:var(--ink);animation:preparing-slide 1.4s ease-in-out infinite}@keyframes preparing-slide{0%{transform:translateX(-100%)}to{transform:translateX(290%)}}.preparing-step{margin:0;color:var(--muted);font-size:.92rem}.preparing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.stage-waiting{position:absolute;bottom:14px;left:50%;z-index:10;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:rgb(255 255 255/.92);border:1px solid var(--stage-edge);color:var(--stage-ink);font-size:.88rem;font-weight:600;white-space:nowrap}.waiting-dots{display:inline-flex;gap:4px}.waiting-dots i{width:6px;height:6px;border-radius:50%;background:var(--stage-accent);animation:waiting-dot 1s ease-in-out infinite}.waiting-dots i:nth-child(2){animation-delay:.15s}.waiting-dots i:nth-child(3){animation-delay:.3s}@keyframes waiting-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.preparing-timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.7}.preparing-hint{margin:0;max-width:460px;color:var(--muted);font-size:.88rem;line-height:1.5}.helper{position:absolute;z-index:4;aspect-ratio:120/140;transform:translate(-50%,-100%);transition:opacity .35s ease}.helper.is-hidden{opacity:0;pointer-events:none}.helper-body,.helper-enter{width:100%;height:100%}.helper-enter{animation:appear-pop .55s cubic-bezier(.3,1.45,.5,1) both}.helper-body{transition:transform .25s ease}.helper-svg{display:block;width:100%;height:100%;overflow:visible}.helper-shadow{fill:rgb(20 24 40/.13)}.helper-figure{transform-origin:60px 134px;animation:helper-bob 2.4s ease-in-out infinite}.helper-pose-happy:not(.is-moving):not(.is-airborne) .helper-figure{animation:helper-hop .5s ease-in-out infinite}.helper-pose-think .helper-figure{animation:helper-think 2.4s ease-in-out infinite}.helper-pose-surprised .helper-figure{animation:helper-surprise .6s ease-out}.helper-pose-surprised .helper-eyes{transform:scale(1.18);animation:none}.helper-arm{transform-box:fill-box;transform-origin:50% 15%}.helper-pose-happy .helper-arm-back,.helper-pose-happy .helper-arm-front,.helper-pose-wave .helper-arm-front{animation:helper-wave .4s ease-in-out infinite alternate}.helper-eyes{transform-origin:60px 60px;animation:blink 4.2s infinite}.bolt-glow{fill:#ffe27a;opacity:.16;transform-box:fill-box;transform-origin:center}.helper-bolt.helper-pose-surprised .bolt-glow,.helper-bolt.is-talking .bolt-glow{animation:bolt-glow .7s ease-in-out infinite alternate}.momo-tail{transform-origin:86px 112px;animation:tail-wag 1.4s ease-in-out infinite}.helper-bubble{bottom:100%;z-index:6;width:max-content;max-width:calc(var(--u) * 330);margin-bottom:calc(var(--u) * 12);padding:calc(var(--u) * 10) calc(var(--u) * 16);border-radius:calc(var(--u) * 18);background:#ffffff;border:1px solid var(--stage-edge);box-shadow:0 calc(var(--u) * 8) calc(var(--u) * 22) calc(var(--u) * -10) rgb(20 24 40/.4);color:var(--stage-ink);font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-size:calc(var(--u) * 23);font-weight:600;line-height:1.25;text-align:center;animation:bubble-in .35s cubic-bezier(.3,1.4,.5,1) both}.helper-bubble,.helper-bubble:after{position:absolute;left:50%;transform:translateX(-50%)}.helper-bubble:after{content:"";top:100%;border:calc(var(--u) * 9) solid transparent;border-top-color:#ffffff}@keyframes helper-bob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.01,.99)}}@keyframes helper-hop{0%,to{transform:translateY(0) scale(1.04,.96)}45%{transform:translateY(-14px) scale(.97,1.03)}}@keyframes helper-think{0%,to{transform:rotate(-7deg)}50%{transform:rotate(-4deg)}}@keyframes helper-surprise{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-18px) scale(1.08)}to{transform:translateY(0) scale(1)}}@keyframes helper-wave{0%{transform:rotate(-12deg)}to{transform:rotate(-48deg)}}@keyframes bolt-glow{0%{opacity:.15;transform:scale(1)}to{opacity:.45;transform:scale(1.12)}}@keyframes tail-wag{0%,to{transform:rotate(0)}50%{transform:rotate(-14deg)}}@keyframes bubble-in{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.85)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.fx-bounce{animation:fx-bounce .75s ease-out}.fx-shake{animation:cell-shake .5s ease-in-out}.fx-spin{animation:fx-spin .8s ease-in-out}.fx-grow{animation:fx-grow .8s ease-out}.fx-jump{animation:fx-jump .65s ease-out}.fx-flip{animation:fx-flip .75s ease-in-out}@keyframes fx-bounce{0%,to{transform:translateY(0)}30%{transform:translateY(-22%)}55%{transform:translateY(0) scale(1.06,.94)}75%{transform:translateY(-8%)}}@keyframes fx-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes fx-grow{0%,to{transform:scale(1)}45%{transform:scale(1.38)}}@keyframes fx-jump{0%{transform:translateY(0) scale(1.1,.9)}40%{transform:translateY(-35%) scale(.94,1.06)}75%{transform:translateY(0) scale(1.08,.92)}to{transform:translateY(0) scale(1)}}@keyframes fx-flip{0%{transform:perspective(600px) rotateY(0)}to{transform:perspective(600px) rotateY(1turn)}}.stage-quiz{position:absolute;left:50%;top:14%;z-index:12;width:min(92%,calc(var(--u) * 1100));padding:calc(var(--u) * 22) calc(var(--u) * 26);border-radius:calc(var(--u) * 24);background:rgb(255 255 255/.97);border:1px solid var(--stage-edge);box-shadow:0 calc(var(--u) * 16) calc(var(--u) * 40) calc(var(--u) * -14) rgb(20 24 40/.45);color:var(--stage-ink);transform:translateX(-50%);animation:quiz-in .45s cubic-bezier(.3,1.3,.5,1) both}.quiz-label{margin:0 0 calc(var(--u) * 6);font-size:calc(var(--u) * 20);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--stage-accent)}.quiz-question{margin:0 0 calc(var(--u) * 16);font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-size:calc(var(--u) * 36);font-weight:600;line-height:1.2}.quiz-options{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 12)}.quiz-option{flex:1 1 calc(var(--u) * 240);min-height:calc(var(--u) * 64);padding:calc(var(--u) * 10) calc(var(--u) * 18);border-radius:calc(var(--u) * 16);border:calc(var(--u) * 2.5) solid var(--stage-edge);background:#f6f7fa;color:var(--stage-ink);font:inherit;font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-size:calc(var(--u) * 28);font-weight:600;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background-color .2s ease}.quiz-option:hover:not(:disabled){border-color:var(--stage-accent);transform:translateY(-2px)}.quiz-option:disabled{cursor:default}.quiz-option.is-right{border-color:var(--stage-ok);background:#e8f7ef;animation:fx-grow .6s ease-out}.quiz-option.is-wrong{border-color:var(--stage-danger);background:#fdeeeb;animation:cell-shake .5s ease-in-out}.quiz-feedback{margin:calc(var(--u) * 14) 0 0;font-size:calc(var(--u) * 26);font-weight:700}.quiz-feedback.is-right{color:var(--stage-ok)}.quiz-feedback.is-wrong{color:var(--stage-danger)}@keyframes quiz-in{0%{opacity:0;transform:translateX(-50%) translateY(-20px) scale(.96)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.fx,.helper-eyes,.helper-figure,.momo-tail{animation:none!important}}.helper-pip.is-airborne .helper-arm-front,.helper-pip.is-flying .helper-arm-front{animation:pip-flap-front .15s ease-in-out infinite alternate}.helper-pip.is-airborne .helper-arm-back,.helper-pip.is-flying .helper-arm-back{animation:pip-flap-back .15s ease-in-out infinite alternate}.helper-jets,.momo-cap{opacity:0;transition:opacity .2s ease,transform .25s cubic-bezier(.3,1.4,.5,1)}.momo-cap{transform:translateY(8px) scale(.7);transform-origin:60px 33px}.helper.is-airborne .helper-jets,.helper.is-airborne .momo-cap,.helper.is-flying .helper-jets,.helper.is-flying .momo-cap{opacity:1;transform:none}.jet-flame{fill:#f6a43a;transform-box:fill-box;transform-origin:50% 0;animation:flame-strong .1s ease-in-out infinite alternate}.momo-propeller{transform-box:fill-box;transform-origin:center;animation:propeller .16s linear infinite}.helper-shadow{transition:opacity .2s ease}.helper.is-airborne .helper-shadow{opacity:0}.helper.is-airborne:not(.is-moving) .helper-figure{animation:hover 1.6s ease-in-out infinite}.helper-momo.is-flying .momo-tail,.helper-momo.is-hopping .momo-tail{animation:tail-wag .3s ease-in-out infinite}.helper.is-cheering .helper-arm-back,.helper.is-cheering .helper-arm-front{animation:helper-wave .22s ease-in-out infinite alternate}.helper.is-cheering .helper-arm-back{animation-direction:alternate-reverse}.helper-pip.helper-pose-idle:not(.is-moving):not(.is-airborne):not(.is-talking) .helper-figure{animation:pip-idle 6.3s ease-in-out infinite}.helper-bolt.helper-pose-idle:not(.is-moving):not(.is-airborne):not(.is-talking) .helper-figure{animation:bolt-idle 7.1s ease-in-out infinite}.helper-momo.helper-pose-idle:not(.is-moving):not(.is-airborne):not(.is-talking) .helper-figure{animation:momo-idle 5.4s ease-in-out infinite}.helper.is-talking:not(.is-moving):not(.is-airborne) .helper-figure{animation:helper-talk .42s ease-in-out infinite alternate}@keyframes pip-flap-front{0%{transform:rotate(8deg)}to{transform:rotate(-78deg)}}@keyframes pip-flap-back{0%{transform:rotate(-8deg)}to{transform:rotate(78deg)}}@keyframes propeller{0%{transform:scaleX(1)}50%{transform:scaleX(.12)}to{transform:scaleX(1)}}@keyframes helper-talk{0%{transform:translateY(0) scale(1)}to{transform:translateY(-2px) scale(1.02,.98)}}@keyframes pip-idle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(0)}50%{transform:translateY(0) rotate(0)}62%{transform:translateY(0) rotate(-11deg)}70%{transform:translateY(0) rotate(-11deg)}78%{transform:translateY(0) rotate(9deg)}86%{transform:translateY(0) rotate(0)}}@keyframes bolt-idle{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-4px) scale(1)}60%{transform:translateY(0) scale(1)}72%{transform:translateY(-10px) scale(1)}76%{transform:translateY(-14px) scaleX(.1)}80%{transform:translateY(-16px) scaleX(-1)}84%{transform:translateY(-14px) scaleX(.1)}88%{transform:translateY(-8px) scale(1)}93%{transform:translateY(0) scale(1.06,.94)}}@keyframes momo-idle{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-2px) scale(1)}55%{transform:translateY(0) scale(1)}62%{transform:translateY(0) scale(1.08,.9)}70%{transform:translateY(-20px) scale(.95,1.06)}78%{transform:translateY(0) scale(1.06,.94)}84%{transform:translateY(0) scale(.97,1.08)}90%{transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.helper-arm,.jet-flame,.momo-propeller{animation:none!important}}.overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.caption{animation:caption-in .45s cubic-bezier(.22,1,.36,1) both}@keyframes caption-in{0%{opacity:0;transform:translateY(6px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.controls{gap:6px;padding:8px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 1px 2px rgb(20 24 40/.04),0 12px 30px -22px rgb(20 24 40/.35)}.controls .button{border-color:transparent;background:transparent;border-radius:12px;transition:background-color .15s ease,transform .15s ease,color .15s ease}.controls .button:hover:not(:disabled){background:var(--track)}.controls .button-primary{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--bg)}.controls .button-primary:hover:not(:disabled){background:var(--ink);transform:scale(1.05)}.progress{align-items:center;height:28px;padding:0 6px}.progress-segment{position:relative;height:5px;padding:0;border:0;overflow:visible;cursor:pointer;transition:height .15s ease}.progress-segment .progress-fill{border-radius:inherit}.progress-segment:before{content:"";position:absolute;inset:-10px 0}.progress:hover .progress-segment{height:8px}.progress-segment.is-current .progress-fill{background:var(--stage-accent)}.progress-segment:focus-visible{outline:2px solid var(--stage-accent);outline-offset:3px}.progress-segment:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;z-index:5;padding:4px 8px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:600;white-space:nowrap;opacity:0;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.progress-segment:focus-visible:after,.progress-segment:hover:after{opacity:1;transform:translate(-50%)}.voice-picker select{border-color:transparent;background:var(--track);border-radius:12px}.stage-overlay{background:rgb(250 249 246/.55);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}.overlay-card{animation:caption-in .5s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){.caption,.overlay-card{animation:none}.appear-pop{animation-duration:.01s}.stage-item{transition:none}}.backdrop-night .star-field,.backdrop-orbit .star-field{opacity:1}.backdrop-night{background:linear-gradient(180deg,#0b1033,#1b1450 55%,#2c1760)}.backdrop-ocean{background:linear-gradient(180deg,#0a6c8f,#074a73 45%,#05264a)}.backdrop-cell{background:radial-gradient(ellipse at 50% 40%,#5a1a6e 0,#33104a 55%,#1c0a2e 100%)}.backdrop-forest{background:linear-gradient(180deg,#0c2a3a,#0f3b33 60%,#0b2a22)}.backdrop-sunset{background:linear-gradient(180deg,#2b1055,#7a2463 40%,#e0545a 72%,#ffb347)}.backdrop-lab{background-color:#0b1230;background-image:linear-gradient(rgb(90 160 255/.09) 1px,transparent 0),linear-gradient(90deg,rgb(90 160 255/.09) 1px,transparent 0);background-size:calc(var(--u) * 64) calc(var(--u) * 64)}.backdrop-orbit{background:radial-gradient(ellipse at 50% 120%,#123a7a 0,#0a1438 45%,#050816 100%)}.backdrop-glow{position:absolute;width:55%;aspect-ratio:1;border-radius:50%;filter:blur(calc(var(--u) * 60));opacity:0;transition:opacity 1.4s ease;animation:glow-drift 18s ease-in-out infinite alternate;pointer-events:none}.glow-a{left:-10%;top:-20%}.glow-b{right:-12%;bottom:-25%;animation-duration:23s;animation-direction:alternate-reverse}.backdrop-night .glow-a{background:#6a2cff;opacity:.45}.backdrop-night .glow-b{background:#ff3fa4;opacity:.3}.backdrop-ocean .glow-a{background:#3fe0ff;opacity:.35}.backdrop-ocean .glow-b{background:#00ffa3;opacity:.18}.backdrop-cell .glow-a{background:#ff4fd8;opacity:.4}.backdrop-cell .glow-b{background:#7b5cff;opacity:.45}.backdrop-forest .glow-a{background:#2dff9e;opacity:.2}.backdrop-forest .glow-b{background:#ffd23f;opacity:.16}.backdrop-sunset .glow-a{background:#ff5fa2;opacity:.35}.backdrop-sunset .glow-b{background:#ffd166;opacity:.4}.backdrop-lab .glow-a{background:#2f7bff;opacity:.4}.backdrop-lab .glow-b{background:#00e5ff;opacity:.25}.backdrop-orbit .glow-a{background:#4f46ff;opacity:.35}.backdrop-space .glow-a{background:#5b3cff;opacity:.22}@keyframes glow-drift{0%{transform:translate(0) scale(1)}to{transform:translate(8%,6%) scale(1.15)}}.particle-field{position:absolute;inset:0;overflow:hidden;pointer-events:none}.particle{position:absolute;border-radius:50%;animation:particle-float linear infinite}.backdrop-ocean .particle{border:calc(var(--u) * 2) solid rgb(190 245 255/.55);background:rgb(190 245 255/.08);animation-name:bubble-rise}.backdrop-cell .particle{background:rgb(255 140 220/.35);box-shadow:0 0 calc(var(--u) * 14) rgb(255 120 220/.6);animation-name:particle-float}.backdrop-forest .particle{width:calc(var(--u) * 7)!important;height:calc(var(--u) * 7)!important;background:#fff3a0;box-shadow:0 0 calc(var(--u) * 16) #ffe75e;animation-name:firefly}.backdrop-lab .particle,.backdrop-night .particle{width:calc(var(--u) * 5)!important;height:calc(var(--u) * 5)!important;background:rgb(160 200 255/.7);box-shadow:0 0 calc(var(--u) * 10) rgb(140 190 255/.9);animation-name:particle-float}@keyframes bubble-rise{0%{transform:translateY(40%);opacity:0}15%{opacity:1}to{transform:translateY(calc(var(--u) * -700));opacity:0}}@keyframes particle-float{0%{transform:translate(0);opacity:.2}50%{transform:translate(calc(var(--u) * 40),calc(var(--u) * -30));opacity:1}to{transform:translate(0);opacity:.2}}@keyframes firefly{0%,to{transform:translate(0);opacity:0}30%{opacity:1}50%{transform:translate(calc(var(--u) * 50),calc(var(--u) * -40));opacity:.3}70%{opacity:1}}.light-rays{position:absolute;inset:0;overflow:hidden;pointer-events:none}.light-rays span{position:absolute;top:-10%;width:9%;height:120%;background:linear-gradient(180deg,rgb(200 250 255/.22),transparent 80%);transform-origin:50% 0;animation:ray-sway 9s ease-in-out infinite alternate}.light-rays span:first-child{left:12%}.light-rays span:nth-child(2){left:34%;width:6%;animation-delay:-3s}.light-rays span:nth-child(3){left:58%;width:11%;animation-delay:-6s}.light-rays span:nth-child(4){left:80%;width:5%;animation-delay:-1.5s}@keyframes ray-sway{0%{transform:rotate(-8deg);opacity:.6}to{transform:rotate(6deg);opacity:1}}.sunset-sun{position:absolute;left:50%;top:58%;width:26%;aspect-ratio:1;border-radius:50%;background:#ffd36e;box-shadow:0 0 calc(var(--u) * 90) calc(var(--u) * 20) rgb(255 190 90/.7);transform:translateX(-50%);animation:sun-breathe 8s ease-in-out infinite alternate}@keyframes sun-breathe{to{box-shadow:0 0 calc(var(--u) * 130) calc(var(--u) * 34) rgb(255 170 90/.8)}}.sunset-hills{position:absolute;inset:auto 0 0;height:30%;background:radial-gradient(ellipse 40% 90% at 20% 100%,#3a1450 98%,transparent 100%),radial-gradient(ellipse 45% 80% at 80% 100%,#2b0f3e 98%,transparent 100%)}.orbit-earth{position:absolute;left:50%;top:78%;width:160%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 35%,#2a7de1 0,#134a9c 45%,#0b2a63 70%);box-shadow:0 0 0 calc(var(--u) * 6) rgb(120 200 255/.55),0 0 calc(var(--u) * 80) calc(var(--u) * 30) rgb(80 170 255/.5);transform:translateX(-50%)}.floor-night{background-color:#151a42;border-top-color:rgb(140 160 255/.35)}.floor-forest{background-color:#0b2e24;border-top-color:rgb(90 255 170/.25)}.floor-sunset{background-color:#2a0f3c;border-top-color:transparent}.floor-lab{background-color:#0a1a3d;border-top-color:rgb(0 229 255/.55);box-shadow:0 calc(var(--u) * -4) calc(var(--u) * 24) rgb(0 229 255/.25)}.floor-cell,.floor-ocean,.floor-orbit{opacity:0}.is-dark .stage-shape .shape-svg,.is-dark .swarm .shape-svg{filter:drop-shadow(0 0 calc(var(--u) * 10) rgb(255 255 255/.18)) saturate(1.15)}.idle-float{animation:idle-float 6s ease-in-out infinite}@keyframes idle-float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-2.2%) rotate(1.2deg)}66%{transform:translateY(1.4%) rotate(-1deg)}}.stage-drift{position:absolute;inset:0;animation:camera-drift 26s ease-in-out infinite alternate}.stage-thumb .stage-drift,.stage[data-status=ended] .stage-drift,.stage[data-status=paused] .stage-drift,.stage[data-status=preview] .stage-drift,.stage[data-status=ready] .stage-drift{animation-play-state:paused}@keyframes camera-drift{0%{transform:scale(1) translate(0)}to{transform:scale(1.045) translate(-.8%,-.6%)}}.swarm{position:relative;width:100%;height:100%}.swarm-member{position:absolute;transform:translate(-50%,-50%)}.swarm-move{animation-duration:var(--cycle);animation-delay:var(--delay);animation-iteration-count:infinite;animation-timing-function:ease-in-out}.swarm-move,.swarm-upright{display:block}.swarm-drift .swarm-move{animation-name:swarm-drift;animation-direction:alternate}@keyframes swarm-drift{0%{transform:translate(0) rotate(0)}to{transform:translate(calc(var(--dx) * 60%),calc(var(--dy) * 60%)) rotate(var(--turn))}}.swarm-pulse .swarm-move{animation-name:swarm-pulse}@keyframes swarm-pulse{0%,to{transform:scale(.85);opacity:.75}50%{transform:scale(1.15);opacity:1}}.swarm-fall .swarm-move,.swarm-rise .swarm-move{animation-name:swarm-rise;animation-timing-function:linear}.swarm-fall .swarm-move{animation-name:swarm-fall}@keyframes swarm-rise{0%{transform:translateY(150%);opacity:0}20%,80%{opacity:1}to{transform:translateY(-250%);opacity:0}}@keyframes swarm-fall{0%{transform:translateY(-250%);opacity:0}20%,80%{opacity:1}to{transform:translateY(150%);opacity:0}}.swarm-flow .swarm-move,.swarm-swim .swarm-move{animation-name:swarm-flow;animation-timing-function:linear}.swarm-swim .swarm-move{animation-name:swarm-swim}.swarm-member.is-reverse .swarm-move{animation-direction:reverse}.swarm-member.is-reverse .swarm-upright{transform:scaleX(-1)}@keyframes swarm-flow{0%{transform:translate(-220%);opacity:0}15%,85%{opacity:1}50%{transform:translateY(calc(var(--dy) * 40%))}to{transform:translate(220%);opacity:0}}@keyframes swarm-swim{0%{transform:translate(-160%) rotate(-4deg);opacity:0}15%,85%{opacity:1}25%{transform:translate(-80%,calc(var(--dy) * 30%)) rotate(4deg)}50%{transform:translate(0) rotate(-4deg)}75%{transform:translate(80%,calc(var(--dy) * -30%)) rotate(4deg)}to{transform:translate(160%) rotate(-4deg);opacity:0}}.swarm-orbit .swarm-member{transform:translate(-50%,-50%) rotate(var(--start))}.swarm-orbit .swarm-move{animation-name:swarm-orbit;animation-timing-function:linear}.swarm-orbit .swarm-upright{transform:rotate(calc(var(--start) * -1))}@keyframes swarm-orbit{0%{transform:rotate(0) translateX(calc(var(--radius) * 260%)) rotate(0)}to{transform:rotate(1turn) translateX(calc(var(--radius) * 260%)) rotate(-1turn)}}@media (prefers-reduced-motion:reduce){.backdrop-glow,.idle-float,.light-rays span,.particle,.stage-drift,.sunset-sun,.swarm-move{animation:none!important}}.mode-focus .idle-float,.stage-drift.mode-focus{animation:none}.mode-focus .swarm .shape-svg,.mode-focus.stage-drift .stage-shape .shape-svg{filter:none}.stage-drift.mode-story{animation-duration:40s}.mode-story .idle-float{animation-duration:9s!important}.mode-playful .idle-float{animation-name:idle-bounce;animation-duration:3.4s!important}@keyframes idle-bounce{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(-4%) scale(.98,1.03)}60%{transform:translateY(0) scale(1.03,.97)}}.stage-backdrop.mode-focus .backdrop-glow{opacity:.12!important;animation:none}.stage-backdrop.mode-focus .light-rays,.stage-backdrop.mode-focus .particle-field{display:none}.stage-backdrop.mode-focus .star{animation:none;opacity:.35}.person-name{position:absolute;left:50%;top:100%;margin-top:calc(var(--u) * 4);padding:calc(var(--u) * 4) calc(var(--u) * 12);border-radius:999px;background:rgb(255 255 255/.92);color:#1b1f2a;font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-size:calc(var(--u) * 22);font-weight:600;white-space:nowrap;transform:translateX(-50%);box-shadow:0 calc(var(--u) * 4) calc(var(--u) * 12) rgb(20 24 40/.18)}.stage-person{z-index:3}.is-dark .stage-text{text-shadow:0 calc(var(--u) * 2) calc(var(--u) * 12) rgb(10 8 30/.65)}.stage-image.picture{overflow:visible;background:none;border-radius:0}.picture-body,.picture-frame,.picture-view{position:absolute;inset:0}.picture-frame{overflow:hidden;border-radius:calc(var(--u) * 18);background:#e9e6df;box-shadow:0 calc(var(--u) * 2) calc(var(--u) * 4) rgb(20 24 40/.12),0 calc(var(--u) * 26) calc(var(--u) * 60) calc(var(--u) * -18) rgb(20 24 40/.45)}.picture-view{transform-origin:0 0;will-change:transform}.picture-img{position:absolute;max-width:none;object-fit:cover;-webkit-user-select:none;user-select:none}.frame-photo .picture-frame{outline:calc(var(--u) * 7) solid #ffffff}.frame-plain .picture-frame{border-radius:calc(var(--u) * 14)}.frame-circle .picture-frame{border-radius:50%;outline:calc(var(--u) * 8) solid #ffffff}.frame-polaroid .picture-body:before{content:"";position:absolute;inset:calc(var(--u) * -16) calc(var(--u) * -16) calc(var(--u) * -78) calc(var(--u) * -16);border-radius:calc(var(--u) * 6);background:#fdfcf8;box-shadow:0 calc(var(--u) * 30) calc(var(--u) * 60) calc(var(--u) * -20) rgb(20 24 40/.5),0 calc(var(--u) * 2) calc(var(--u) * 6) rgb(20 24 40/.12)}.frame-polaroid .picture-frame{border-radius:calc(var(--u) * 2);box-shadow:inset 0 0 0 1px rgb(0 0 0/.06)}.frame-full{z-index:0}.frame-full .picture-frame{border-radius:0;box-shadow:none}.picture-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 40%,rgb(8 10 20/.35) 100%),linear-gradient(180deg,rgb(8 10 20/.12),transparent 30%,transparent 62%,rgb(8 10 20/.5));pointer-events:none}.picture-caption{position:absolute;top:calc(100% + var(--u) * 18);left:50%;translate:-50% 0;padding:calc(var(--u) * 6) calc(var(--u) * 16);border-radius:999px;background:rgb(255 255 255/.92);box-shadow:0 calc(var(--u) * 6) calc(var(--u) * 18) rgb(20 24 40/.16);color:#1b1f2a;font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-size:calc(var(--u) * 26);font-weight:600;white-space:nowrap}.frame-polaroid .picture-caption{top:calc(100% + var(--u) * 14);padding:0;background:none;box-shadow:none;color:#3a3d46;font-size:calc(var(--u) * 30)}.picture-develop{animation:picture-develop 1.1s cubic-bezier(.22,1,.36,1) both}@keyframes picture-develop{0%{opacity:0;transform:translateY(calc(var(--u) * 24)) scale(.94);filter:blur(10px) saturate(.2) brightness(1.25)}60%{filter:blur(0) saturate(.9) brightness(1.05)}}.frame-full .picture-develop{animation-name:picture-fade;animation-duration:1.4s}@keyframes picture-fade{0%{opacity:0;filter:saturate(.3) brightness(1.2)}}.picture-highlight{animation:picture-highlight .8s ease-out}@keyframes picture-highlight{40%{box-shadow:0 0 0 calc(var(--u) * 10) color-mix(in srgb,var(--stage-accent) 45%,transparent),0 calc(var(--u) * 26) calc(var(--u) * 60) calc(var(--u) * -18) rgb(20 24 40/.45)}}.picture-img.is-drifting{animation:picture-drift 18s ease-in-out infinite alternate}@keyframes picture-drift{0%{transform:scale(1) translate(0)}to{transform:scale(1.07) translate(-1.5%,-1%)}}.mode-story .picture-img{filter:sepia(.16) saturate(1.06) contrast(1.02)}.mode-playful .picture-img{filter:saturate(1.12)}.stage-pin{z-index:4;width:0;height:0}.pin-body{position:absolute;inset:0}.pin-dot{left:0;top:0;width:calc(var(--u) * 22);height:calc(var(--u) * 22);translate:-50% -50%;border:calc(var(--u) * 4) solid #ffffff;background:var(--stage-accent);box-shadow:0 calc(var(--u) * 3) calc(var(--u) * 10) rgb(10 14 30/.45)}.pin-dot,.pin-pulse{position:absolute;border-radius:50%}.pin-pulse{inset:calc(var(--u) * -4);border:calc(var(--u) * 3) solid #ffffff;animation:pin-pulse 1.6s ease-out both}@keyframes pin-pulse{0%{opacity:.9;scale:1}to{opacity:0;scale:1.4}}.pin-ring{position:absolute;left:0;top:0;translate:-50% -50%;border:calc(var(--u) * 5) solid #ffffff;border-radius:50%;box-shadow:0 0 0 calc(var(--u) * 3) var(--stage-accent),0 0 0 9999px rgb(8 10 20/0),inset 0 0 calc(var(--u) * 18) rgb(255 255 255/.35),0 calc(var(--u) * 4) calc(var(--u) * 16) rgb(10 14 30/.35)}.pin-label{position:absolute;display:flex;align-items:center;pointer-events:none}.pin-right .pin-label{left:var(--pin-gap);top:0;translate:0 -50%}.pin-left .pin-label{right:var(--pin-gap);top:0;flex-direction:row-reverse;translate:0 -50%}.pin-top .pin-label{bottom:var(--pin-gap);left:0;flex-direction:column-reverse;translate:-50% 0}.pin-bottom .pin-label{top:var(--pin-gap);left:0;flex-direction:column;translate:-50% 0}.pin-line{flex-shrink:0;background:#ffffff;box-shadow:0 0 calc(var(--u) * 4) rgb(10 14 30/.5)}.pin-left .pin-line,.pin-right .pin-line{width:calc(var(--u) * 64);height:calc(var(--u) * 3)}.pin-bottom .pin-line,.pin-top .pin-line{width:calc(var(--u) * 3);height:calc(var(--u) * 48)}.pin-text{padding:calc(var(--u) * 8) calc(var(--u) * 18);border-radius:999px;background:#ffffff;box-shadow:0 calc(var(--u) * 8) calc(var(--u) * 22) rgb(10 14 30/.28);color:#1b1f2a;font-family:var(--font-stage),var(--font-arabic),ui-rounded,system-ui,sans-serif;font-size:calc(var(--u) * 30);font-weight:650;line-height:1.1;white-space:nowrap}.pin-enter .pin-dot,.pin-enter .pin-ring{animation:pin-drop .55s cubic-bezier(.3,1.6,.5,1) both}.pin-enter .pin-line{animation:pin-line .45s cubic-bezier(.22,1,.36,1) .25s both}.pin-right.stage-pin .pin-enter .pin-line{transform-origin:0 50%}.pin-left.stage-pin .pin-enter .pin-line{transform-origin:100% 50%}.pin-top.stage-pin .pin-enter .pin-line{transform-origin:50% 100%}.pin-bottom.stage-pin .pin-enter .pin-line{transform-origin:50% 0}.pin-enter .pin-text{animation:pin-text .45s cubic-bezier(.22,1,.36,1) .55s both}@keyframes pin-drop{0%{opacity:0;scale:.96}}@keyframes pin-line{0%{transform:scale(0)}}@keyframes pin-text{0%{opacity:0;scale:.85}}.pin-highlight .pin-dot,.pin-highlight .pin-ring,.pin-highlight .pin-text{animation:pin-attention .8s ease-in-out}@keyframes pin-attention{40%{scale:1.035}}@media (prefers-reduced-motion:reduce){.picture-img.is-drifting,.pin-pulse{animation:none}}.stage-drift.look-25d .helper-svg,.stage-drift.look-25d .stage-person .shape-svg,.stage-drift.look-25d .stage-shape .shape-svg{filter:url(#ark-depth-light) drop-shadow(0 calc(var(--u) * 9) calc(var(--u) * 7) rgb(12 18 34/.3))}.look-25d.is-dark .stage-shape .shape-svg,.stage-drift.look-25d .is-dark .stage-shape .shape-svg{filter:url(#ark-depth-light) drop-shadow(0 calc(var(--u) * 10) calc(var(--u) * 9) rgb(0 0 0/.45)) drop-shadow(0 0 calc(var(--u) * 10) rgb(255 255 255/.14)) saturate(1.12)}.stage-drift.look-25d .stage-shape.depth-back{z-index:1;translate:calc(var(--sway, 0) * var(--u) * -18) 0}.stage-drift.look-25d .stage-shape.depth-back .shape-svg{filter:url(#ark-depth-light) saturate(.8) brightness(.97) blur(calc(var(--u) * .7)) drop-shadow(0 calc(var(--u) * 5) calc(var(--u) * 6) rgb(12 18 34/.18))}.stage-drift.look-25d .stage-shape.depth-front{z-index:6;translate:calc(var(--sway, 0) * var(--u) * 26) 0}.stage-drift.look-25d .stage-shape.depth-front .shape-svg{filter:url(#ark-depth-light) saturate(1.08) drop-shadow(0 calc(var(--u) * 18) calc(var(--u) * 14) rgb(12 18 34/.36))}.look-25d .stage-text span{text-shadow:0 calc(var(--u) * 1.2) 0 rgb(12 18 34/.16),0 calc(var(--u) * 2.4) 0 rgb(12 18 34/.12),0 calc(var(--u) * 3.6) 0 rgb(12 18 34/.09),0 calc(var(--u) * 10) calc(var(--u) * 14) rgb(12 18 34/.22)}.look-25d .cell-box,.look-25d .panel-box{box-shadow:inset 0 calc(var(--u) * 2) 0 rgb(255 255 255/.7),0 calc(var(--u) * 3) 0 rgb(12 18 34/.08),0 calc(var(--u) * 18) calc(var(--u) * 30) calc(var(--u) * -12) rgb(12 18 34/.35)}.look-25d .code-card{box-shadow:inset 0 calc(var(--u) * 1.5) 0 rgb(255 255 255/.12),0 calc(var(--u) * 4) 0 rgb(0 0 0/.25),0 calc(var(--u) * 26) calc(var(--u) * 50) calc(var(--u) * -16) rgb(12 18 34/.6)}.look-25d .stage-arrows,.look-25d .stage-paths{filter:drop-shadow(0 calc(var(--u) * 6) calc(var(--u) * 4) rgb(12 18 34/.22))}.look-25d .lesson-photo,.look-25d .stage-image{filter:drop-shadow(0 calc(var(--u) * 16) calc(var(--u) * 18) rgb(12 18 34/.35))}.look-25d .stage-floor{overflow:hidden;background-image:linear-gradient(180deg,rgb(255 255 255/.18),rgb(12 18 34/.1));box-shadow:0 calc(var(--u) * -1) 0 rgb(255 255 255/.5)}.look-25d .stage-floor:after{content:"";position:absolute;inset:0 -60% -40%;background-image:linear-gradient(to right,rgb(27 31 42/.09) calc(var(--u) * 1.5),transparent calc(var(--u) * 1.5)),linear-gradient(to bottom,rgb(27 31 42/.09) calc(var(--u) * 1.5),transparent calc(var(--u) * 1.5));background-size:calc(var(--u) * 90) calc(var(--u) * 90);transform:perspective(calc(var(--u) * 260)) rotateX(58deg);transform-origin:50% 0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 25%);mask-image:linear-gradient(180deg,transparent,#000 25%);pointer-events:none}.look-25d .is-dark .stage-floor:after,.look-25d.is-dark .stage-floor:after{background-image:linear-gradient(to right,rgb(160 200 255/.12) calc(var(--u) * 1.5),transparent calc(var(--u) * 1.5)),linear-gradient(to bottom,rgb(160 200 255/.12) calc(var(--u) * 1.5),transparent calc(var(--u) * 1.5))}.stage-backdrop.look-25d:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 35% 18%,rgb(255 255 255/.16),transparent 70%),radial-gradient(ellipse 85% 80% at 50% 45%,transparent 55%,rgb(8 12 24/.22));pointer-events:none}.depth-light-defs{position:absolute;width:0;height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.stage-drift.look-25d .stage-shape.depth-back,.stage-drift.look-25d .stage-shape.depth-front{translate:none}}.look-25d .stage-text.tone-muted span{text-shadow:0 calc(var(--u) * 1.2) 0 rgb(12 18 34/.07),0 calc(var(--u) * 6) calc(var(--u) * 10) rgb(12 18 34/.12)}.look-25d .is-dark .stage-text span{text-shadow:0 calc(var(--u) * 1.5) 0 rgb(0 0 0/.35),0 calc(var(--u) * 3) 0 rgb(0 0 0/.25),0 calc(var(--u) * 10) calc(var(--u) * 16) rgb(0 0 0/.45),0 0 calc(var(--u) * 14) rgb(160 200 255/.18)}.stage-camera .pin-dot,.stage-camera .pin-line{background:var(--annotation-accent)}.stage-camera .pin-line{box-shadow:0 0 calc(var(--u)*2) var(--annotation-halo)}svg.pin-ring{border:0;box-shadow:none;overflow:visible;animation:none!important}.pro-readable-label>div{padding:.12em .3em;border-radius:.18em;background:rgba(247,249,246,.94);color:#233c41;box-shadow:0 1px 5px rgba(16,35,41,.12)}