:root{--page:#fff8e9;--surface:#ffffff;--surface-soft:#f0fbff;--ink:#1b2435;--muted:#68758a;--line:#e5dfd3;--blue:#2f7df6;--aqua:#25b8c8;--mint:#4fc88b;--coral:#ff6f61;--lemon:#ffd64d;--grape:#8d68f5;--shadow:0 18px 44px rgba(38,48,72,0.13)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(180deg,rgba(255,216,77,.26),transparent 310px),linear-gradient(135deg,#fff8e9,#effbff 48%,#fff4f0);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-tap-highlight-color:transparent}body:before{position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(47,125,246,.07) 1px,transparent 0),linear-gradient(90deg,rgba(47,125,246,.07) 1px,transparent 0);background-size:36px 36px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 70%);mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 70%);content:""}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,125,246,.28);outline-offset:2px}.student-app{width:min(1320px,100%);margin:0 auto;padding:16px 20px 44px}.learner-header{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.learner-brand{display:inline-flex;align-items:center;gap:12px}.brand-tile{display:grid;width:46px;height:46px;place-items:center;border:2px solid rgba(255,255,255,.8);border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--grape));color:#fff;box-shadow:0 12px 22px rgba(47,125,246,.24)}.learner-brand small,.learner-brand strong{display:block}.learner-brand strong{font-size:20px;line-height:1.05}.learner-brand small{margin-top:3px;color:var(--muted);font-size:12px;font-weight:800}.learner-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.credit-pill,.vip-upgrade{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.78);border-radius:999px;padding:0 14px;background:rgba(255,255,255,.86);box-shadow:0 10px 22px rgba(38,48,72,.08);color:var(--ink);font-size:13px;font-weight:900}.credit-pill svg{color:var(--coral)}.vip-upgrade{border-color:transparent;background:linear-gradient(135deg,#1b2435,#4a3a92);color:#fff}.student-shell{display:grid;grid-template-columns:minmax(460px,.88fr) minmax(560px,1.12fr);grid-gap:18px;gap:18px;align-items:start}.composer-panel,.learning-square,.my-library,.result-workspace{border:1px solid rgba(255,255,255,.78);border-radius:8px;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.composer-panel{overflow:hidden;padding:16px}.panel-heading{position:relative;overflow:hidden;margin:-4px -4px 16px;border-radius:8px;background:linear-gradient(135deg,rgba(47,125,246,.9),rgba(37,184,200,.72)),url(/assets/learning-hero.jpg);background-position:50%;background-size:cover;color:#fff;padding:18px}.panel-heading:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,36,53,.58),transparent 74%);content:""}.panel-heading h1,.panel-heading p{position:relative;z-index:1}.learning-square>div:first-child p,.library-heading p,.panel-heading p{margin:0 0 7px;color:inherit;font-size:12px;font-weight:950;letter-spacing:0}.learning-square h2,.panel-heading h1{margin:0;max-width:390px;font-size:clamp(25px,3vw,38px);line-height:1.06}.lesson-form{display:grid;grid-gap:14px;gap:14px}.form-row,.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.field-control{display:grid;grid-gap:7px;gap:7px}.choice-section legend,.field-control span{color:#546176;font-size:13px;font-weight:900}.field-control input,.field-control select,.field-control textarea{width:100%;border:1px solid #ddd8cd;border-radius:8px;background:#fff;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}.field-control input,.field-control select{min-height:44px;padding:0 12px}.field-control textarea{min-height:176px;resize:vertical;padding:12px;line-height:1.55}.subject-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.mode-button,.subject-tab{min-height:42px;border:1px solid #ddd8cd;border-radius:8px;background:#fff;color:#5f6b7d;font-weight:950}.subject-tab:first-child.active{border-color:#f48b78;background:#fff0ec;color:#a94335}.subject-tab:nth-child(2).active{border-color:#5abf92;background:#eefbf4;color:#26724f}.subject-tab:nth-child(3).active{border-color:#6aa3ff;background:#eef5ff;color:#285ca8}.mode-button.active,.subject-tab:nth-child(4).active{border-color:#48bdc8;background:#ecfbff;color:#147281}.upload-zone{position:relative;display:grid;min-height:226px;overflow:hidden;border:2px dashed #9ed7df;border-radius:8px;background:linear-gradient(135deg,rgba(37,184,200,.11),rgba(255,214,77,.14)),#fff;place-items:center}.upload-zone input{position:absolute;inset:0;opacity:0}.upload-empty{display:grid;grid-gap:8px;gap:8px;justify-items:center;padding:18px;color:#147281;text-align:center}.upload-empty svg{color:var(--blue)}.upload-empty strong{font-size:19px}.choice-card em,.choice-card small,.square-item small,.upload-empty small{color:var(--muted);font-size:12px;font-style:normal;line-height:1.35}.upload-preview{position:relative;width:100%;height:100%;min-height:226px}.upload-preview img{width:100%;height:100%;object-fit:cover}.remove-image{position:absolute;top:10px;right:10px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:999px;background:rgba(27,36,53,.84);color:#fff}.choice-section{min-width:0;margin:0;padding:0;border:0}.choice-section legend{margin-bottom:8px;padding:0}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.choice-card{display:grid;min-height:104px;grid-gap:7px;gap:7px;align-content:start;justify-items:start;border:1px solid #ddd8cd;border-radius:8px;background:#fff;padding:12px;color:var(--ink);text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.choice-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(38,48,72,.1)}.choice-card.selected{border-color:color-mix(in srgb,var(--accent,var(--blue)) 62%,#fff);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.96)),color-mix(in srgb,var(--accent,var(--blue)) 18%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent,var(--blue)) 34%,#fff)}.character-choice{grid-template-columns:72px minmax(0,1fr);min-height:94px;align-items:center;padding:8px}.production-choice{grid-template-columns:34px minmax(0,1fr);min-height:88px;align-items:center;--accent:var(--coral)}.production-choice svg{color:color-mix(in srgb,var(--accent),#1b2435 18%)}.production-choice span{display:grid;grid-gap:4px;gap:4px}.choice-copy{display:grid;grid-gap:3px;gap:3px;min-width:0}.choice-card strong{font-size:14px}.choice-copy strong{font-size:16px}.character-avatar{display:block;flex:0 0 auto;overflow:hidden;border-radius:8px;background-repeat:no-repeat;background-size:200% 200%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 10px 22px rgba(38,48,72,.12)}.character-avatar.top-left{background-position:0 0}.character-avatar.top-right{background-position:100% 0}.character-avatar.bottom-left{background-position:0 100%}.character-avatar.bottom-right{background-position:100% 100%}.character-avatar.custom-character{background-position:50%;background-size:cover}.character-avatar.card{width:70px;aspect-ratio:1}.character-avatar.stage{position:absolute;right:clamp(24px,5.4vw,72px);bottom:62px;z-index:2;width:clamp(120px,18vw,196px);aspect-ratio:1;border:5px solid rgba(255,255,255,.82);box-shadow:0 22px 48px rgba(19,27,43,.28)}.mode-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.asset-panel,.ios-submit-card,.learning-graph,.photo-ip-panel{border:1px solid #ddd8cd;border-radius:8px;background:#fff}.ios-submit-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;background:linear-gradient(135deg,rgba(255,214,77,.2),rgba(37,184,200,.12)),#fff;padding:11px 12px}.ios-submit-card svg{color:var(--coral)}.asset-panel-head span,.graph-heading span,.ios-submit-card span,.photo-ip-panel div{display:grid;grid-gap:3px;gap:3px}.asset-panel-head strong,.graph-heading strong,.ios-submit-card strong,.photo-ip-panel strong{font-size:14px}.asset-card p,.asset-panel-head small,.graph-heading small,.graph-node small,.ios-submit-card small,.photo-ip-panel small{color:var(--muted);font-size:12px;line-height:1.38}.photo-ip-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:12px}.photo-ip-panel p{margin:0;color:#147281;font-size:12px;font-weight:950}.mini-upload{position:relative;display:inline-grid;min-width:112px;min-height:58px;place-items:center;gap:3px;overflow:hidden;border:1px solid #9ed7df;border-radius:8px;background:#ecfbff;color:#147281;font-size:12px;font-weight:950}.mini-upload input{position:absolute;inset:0;opacity:0}.mini-upload img{width:38px;height:38px;border-radius:8px;object-fit:cover}.asset-panel{display:grid;grid-gap:10px;gap:10px;padding:12px}.asset-panel-head,.graph-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-panel-head span,.graph-heading span{display:inline-flex;align-items:center;gap:8px}.asset-panel-head svg,.graph-heading svg{color:var(--blue)}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.asset-card{display:grid;min-height:106px;align-content:space-between;overflow:hidden;border-radius:8px;padding:10px}.asset-card strong{font-size:13px}.asset-card p{display:-webkit-box;margin:8px 0 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.turnaround{background:#eef5ff}.white-body{background:#eefbf4}.action-sheet{background:#fff2ec}.generate-button,.primary-action,.secondary-action{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid transparent;padding:0 16px;font-weight:950}.generate-button,.primary-action{background:linear-gradient(135deg,var(--coral),#ff9954 54%,var(--lemon));color:#fff;box-shadow:0 14px 26px rgba(255,111,97,.25)}.primary-action.action-caution{background:#35405a;box-shadow:0 12px 24px rgba(53,64,90,.18)}.secondary-action{border-color:#ddd8cd;background:#fff;color:var(--ink)}.form-error{margin:0;border:1px solid #f1b1a8;border-radius:8px;background:#fff1ef;color:#a73526;padding:10px 12px;font-size:13px;line-height:1.45}.result-workspace{min-height:auto;padding:16px}.preview-panel{display:grid;grid-gap:14px;gap:14px}.real-video-card{display:grid;grid-gap:12px;gap:12px;border:1px solid rgba(47,125,246,.18);border-radius:8px;background:#fff;padding:12px;box-shadow:0 14px 32px rgba(45,61,95,.08)}.real-video-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.real-video-head span,.video-asset-actions a,.video-asset-actions button{display:inline-flex;align-items:center;gap:8px}.real-video-head strong{font-size:15px}.real-video-head small{color:var(--muted);font-size:12px}.real-video-player{width:100%;aspect-ratio:16/9;border:0;border-radius:8px;background:#07111f;object-fit:contain}.video-asset-actions{display:flex;flex-wrap:wrap;gap:10px}.video-asset-actions a,.video-asset-actions button{min-height:38px;border:1px solid #ddd8cd;border-radius:8px;padding:8px 12px;color:var(--ink);background:#fffaf0;cursor:pointer;font-size:13px;font-weight:900;text-decoration:none}.video-asset-actions button{background:#fff4cf}.video-asset-actions button:disabled{cursor:wait;opacity:.66}.video-quality-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:8px;gap:8px}.video-quality-strip span{border:1px solid rgba(47,125,246,.14);border-radius:8px;background:#f7fbff;color:var(--ink);padding:8px 10px;font-size:12px;font-weight:900;text-align:center}.video-acceptance-panel{display:grid;grid-gap:10px;gap:10px;border:1px solid rgba(47,125,246,.16);border-radius:8px;background:#f8fbff;padding:10px}.video-acceptance-panel.scale-ready,.video-acceptance-panel.share-ready{border-color:rgba(37,158,95,.22);background:#f3fff8}.video-acceptance-panel.beta-ready{border-color:rgba(255,177,0,.28);background:#fff9e9}.video-acceptance-panel.blocked{border-color:rgba(211,70,70,.18);background:#fff5f3}.acceptance-commercial,.acceptance-failed-gates,.acceptance-head,.acceptance-head span,.acceptance-status-grid{display:flex;align-items:center}.acceptance-head{justify-content:space-between;gap:10px}.acceptance-head span{gap:7px;color:var(--ink)}.acceptance-head strong{font-size:14px}.acceptance-head small{color:var(--muted);font-size:12px;font-weight:800;text-align:right}.acceptance-commercial,.acceptance-failed-gates,.acceptance-status-grid{flex-wrap:wrap;gap:8px}.acceptance-commercial span,.acceptance-failed-gates span,.acceptance-pill{display:inline-flex;min-height:30px;align-items:center;gap:6px;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:900}.acceptance-pill.ready{background:#e9fff2;color:#15724a}.acceptance-pill.not-ready{background:#fff1ef;color:#a73526}.acceptance-commercial span{background:#eef6ff;color:#23456e}.acceptance-failed-gates span{background:#fff2d8;color:#7a5100}.acceptance-recommendation{margin:0;color:var(--ink);font-size:12px;font-weight:850;line-height:1.45}.scene-asset-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:8px;gap:8px}.production-board-strip{grid-template-columns:minmax(0,1fr)}.scene-asset-item,.scene-asset-item a{display:grid;grid-gap:6px;gap:6px}.scene-asset-item a{color:var(--ink);font-size:11px;font-weight:900;text-decoration:none}.scene-asset-item img,.scene-asset-item video{width:100%;aspect-ratio:16/9;border:1px solid rgba(47,125,246,.16);border-radius:8px;background:#07111f;object-fit:cover}.production-board-item img{object-fit:contain;background:#f7fbff}.scene-asset-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-asset-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.scene-ai-button,.scene-replace-button,.scene-review-button,.scene-video-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(47,125,246,.22);border-radius:8px;color:#1d5bbf;cursor:pointer;font-size:12px;font-weight:900}.scene-ai-button{background:#fff4cf;color:#7b4f00}.scene-review-button{background:#edfdf4;color:#0b6b48}.scene-replace-button{background:#eef6ff}.scene-ai-button:disabled,.scene-replace-button:has(input:disabled),.scene-review-button:disabled,.scene-video-button:disabled{cursor:wait;opacity:.66}.scene-replace-button input{display:none}.video-enhancement-note{margin:0;border:1px solid rgba(255,177,0,.22);border-radius:8px;background:#fff9ea;color:#6f4a00;padding:9px 10px;font-size:12px;font-weight:900}.asset-replace-message{margin:0;border:1px solid rgba(47,125,246,.18);border-radius:8px;background:#f7fbff;color:var(--ink);padding:9px 10px;font-size:12px;font-weight:800}.video-render-warning{margin:0;border:1px solid #f1b1a8;border-radius:8px;background:#fff1ef;color:#a73526;padding:10px 12px;font-size:13px;line-height:1.45}.video-window{position:relative;min-height:420px;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.1)),radial-gradient(circle at 74% 22%,rgba(255,214,77,.46),transparent 26%),linear-gradient(135deg,var(--blue),#694fd5 48%,var(--coral));color:#fff}.video-window.visual_explainer{background:linear-gradient(135deg,rgba(255,255,255,.5),rgba(255,255,255,.08)),radial-gradient(circle at 20% 18%,rgba(255,214,77,.45),transparent 22%),linear-gradient(135deg,#147281,#2f7df6 54%,#8d68f5)}.video-window.playing .character-avatar.stage{animation:stage-bounce 1.8s ease-in-out infinite}.animated-scene{position:absolute;inset:0;z-index:1;pointer-events:none}.animated-scene:before{position:absolute;inset:34px 22px 70px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 0),linear-gradient(rgba(255,255,255,.07) 1px,transparent 0);background-size:42px 42px;content:"";opacity:.56}.scene-model{position:absolute;inset:76px 188px 108px 28px;z-index:1}.scene-model span{position:absolute;display:inline-flex;align-items:center;justify-content:center}.cycle-sun{top:4%;left:5%;width:82px;aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,#fff8bd 0 34%,#ffd64d 35% 67%,rgba(255,214,77,.3) 68%);box-shadow:0 0 42px rgba(255,214,77,.52)}.cycle-cloud{top:12%;left:45%;width:min(220px,38%);height:86px;border-radius:999px;background:#f8fcff;box-shadow:-46px 14px 0 2px #e7f4ff,42px 16px 0 6px #fff,0 22px 30px rgba(32,52,82,.14)}.cycle-water{right:14%;bottom:0;left:5%;height:86px;border-radius:54% 54% 0 0;background:repeating-linear-gradient(105deg,rgba(255,255,255,.18) 0 8px,transparent 8px 22px),linear-gradient(180deg,#83edff,#2f7df6);box-shadow:inset 0 14px 26px rgba(255,255,255,.26)}.cycle-rain{top:38%;left:50%;width:160px;height:120px;background:radial-gradient(circle at 16px 20px,#c9f6ff 0 5px,transparent 6px),radial-gradient(circle at 62px 52px,#c9f6ff 0 5px,transparent 6px),radial-gradient(circle at 110px 26px,#c9f6ff 0 5px,transparent 6px),radial-gradient(circle at 138px 74px,#c9f6ff 0 5px,transparent 6px)}.cycle-arrow{width:84px;height:84px;border-color:rgba(255,255,255,.78) rgba(255,255,255,.78) transparent transparent;border-style:solid;border-width:8px;border-radius:999px}.arrow-up{left:22%;top:34%;--tilt:-48deg}.arrow-down,.arrow-up{transform:rotate(var(--tilt))}.arrow-down{right:9%;top:32%;--tilt:138deg}.chase-chip,.chase-goal,.comic-burst,.comic-caption,.comic-panel,.cycle-label,.dialog-card,.fraction-card,.fraction-rule,.lab-label,.map-step,.maze-clue,.maze-exit,.puzzle-lock,.puzzle-piece,.quest-chip,.quiz-chip,.rescue-card,.rescue-correct,.rescue-wrong,.sky-label,.transform-after,.transform-before,.transform-note{min-height:34px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(255,255,255,.9);padding:0 12px;color:#1b2435;font-size:13px;font-weight:950;box-shadow:0 12px 24px rgba(11,18,32,.16)}.cycle-label.label-a{top:42%;left:9%}.cycle-label.label-b{top:4%;left:56%}.cycle-label.label-c{right:8%;bottom:22%}.fraction-plate{border:10px solid rgba(255,255,255,.86);background:linear-gradient(90deg,transparent 48%,rgba(255,255,255,.84) 49% 51%,transparent 52%),linear-gradient(0deg,transparent 48%,rgba(255,255,255,.84) 49% 51%,transparent 52%),conic-gradient(#ffe38a 0 90deg,#ff9f65 90deg 180deg,#75e2d7 180deg 270deg,#b6d7ff 270deg 1turn);box-shadow:0 24px 46px rgba(16,24,42,.22)}.fraction-plate,.fraction-slice{top:14%;left:8%;width:min(220px,46%);aspect-ratio:1;border-radius:999px}.fraction-slice{background:conic-gradient(rgba(255,255,255,.95) 0 90deg,transparent 90deg);transform-origin:center;--tilt:0deg;opacity:.92}.fraction-card{top:18%;left:58%}.fraction-card.denominator{top:42%;left:62%}.fraction-rule{left:46%;bottom:14%;background:#fff6cc}.dialog-bubble{min-height:74px;max-width:230px;border-radius:8px 8px 8px 2px;background:rgba(255,255,255,.93);padding:16px 18px;color:#1b2435;font-weight:950;box-shadow:0 18px 34px rgba(16,24,42,.18)}.bubble-a{top:16%;left:9%}.bubble-b{top:34%;left:42%;border-radius:8px 8px 2px}.dialog-card{bottom:16%;left:28%;background:#fff3db}.story-map-model .map-path{top:34%;left:12%;width:72%;height:8px;border-radius:999px;background:linear-gradient(90deg,#fff8b7,#78f0ff,#fff);box-shadow:0 0 24px rgba(255,255,255,.38)}.map-step{z-index:2;background:#fff}.step-1{top:18%;left:6%}.step-2{top:42%;left:28%}.step-3{top:18%;left:52%}.step-4{top:42%;right:8%}.quiz-board{top:10%;left:8%;width:min(360px,72%);min-height:118px;border:2px solid rgba(255,255,255,.76);border-radius:8px;background:rgba(12,18,33,.56);padding:18px;color:#fff;font-size:clamp(20px,3vw,34px);font-weight:950;box-shadow:0 20px 44px rgba(10,18,34,.22)}.quiz-chip{left:12%;background:#fff}.quiz-chip.chip-1{bottom:24%}.quiz-chip.chip-2{bottom:12%;left:34%}.quiz-chip.chip-3{right:10%;bottom:24%;left:auto}.lab-beaker{left:14%;bottom:6%;width:150px;height:170px;border:10px solid rgba(255,255,255,.82);border-top:0;border-radius:0 0 38px 38px;background:radial-gradient(circle at 42px 42px,rgba(255,255,255,.6) 0 8px,transparent 9px),linear-gradient(180deg,transparent 0 35%,rgba(117,226,215,.92) 36%)}.lab-beam{top:16%;left:44%;width:260px;height:18px;border-radius:999px;background:linear-gradient(90deg,#fff6b2,#69efff);--tilt:18deg;transform:rotate(var(--tilt));box-shadow:0 0 32px rgba(255,246,178,.48)}.lab-label.label-a{top:12%;left:10%}.lab-label.label-b{top:36%;left:54%}.lab-label.label-c{bottom:14%;left:48%}.quest-ring{top:11%;left:12%;width:min(250px,54%);aspect-ratio:1;border:14px solid rgba(255,255,255,.72);border-right-color:rgba(255,214,77,.9);border-radius:999px;box-shadow:inset 0 0 36px rgba(255,255,255,.2),0 20px 44px rgba(12,18,33,.18)}.quest-card{top:30%;left:20%;min-width:180px;min-height:80px;border-radius:8px;background:rgba(255,255,255,.94);padding:12px 18px;color:#1b2435;font-size:22px;font-weight:950;box-shadow:0 18px 34px rgba(12,18,33,.18)}.quest-chip.chip-1{top:12%;left:56%}.quest-chip.chip-2{top:44%;left:62%}.quest-chip.chip-3{right:12%;bottom:16%}.chase-track{top:45%;left:4%;width:78%;height:12px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.96) 0 30px,rgba(255,214,77,.96) 30px 54px)}.chase-hero,.chase-shadow,.chase-track,.maze-player,.puzzle-key,.rescue-alert,.sky-drop{border-radius:999px;box-shadow:0 16px 30px rgba(8,20,40,.18)}.chase-hero{top:33%;left:30%;width:54px;aspect-ratio:1;background:#fff7b0}.chase-shadow{top:28%;left:8%;width:86px;height:74px;border-radius:46% 54% 46% 54%;background:rgba(38,28,64,.64)}.chase-goal{top:28%;right:8%;background:#eafff8}.chase-chip.chip-1{top:12%;left:48%}.chase-chip.chip-2{bottom:14%;left:20%}.maze-grid{inset:4% 8% 8% 6%;border:8px solid rgba(255,255,255,.78);border-radius:8px;background:linear-gradient(90deg,transparent 22%,rgba(255,255,255,.72) 23% 26%,transparent 27% 50%,rgba(255,255,255,.72) 51% 54%,transparent 55%),linear-gradient(0deg,transparent 28%,rgba(255,255,255,.72) 29% 32%,transparent 33% 62%,rgba(255,255,255,.72) 63% 66%,transparent 67%),rgba(8,21,46,.24)}.maze-path{top:64%;left:10%;width:68%;height:10px;border-radius:999px;background:linear-gradient(90deg,#fff7af,#79eeff,#fff);box-shadow:0 0 26px rgba(255,255,255,.38)}.maze-player{top:53%;left:16%;width:44px;aspect-ratio:1;background:#ffef86}.maze-exit{right:7%;bottom:17%;background:#eafff8}.maze-clue.clue-1{top:13%;left:14%}.maze-clue.clue-2{top:33%;right:18%}.transform-after,.transform-before{top:22%;width:132px;min-height:92px;border-radius:8px;font-size:15px}.transform-before{left:8%;background:#fff0ef}.transform-after{right:8%;background:#e9fff7}.transform-wand{top:40%;left:42%;width:170px;height:16px;border-radius:999px;background:linear-gradient(90deg,#fff,#fff1a8,#79eeff);--tilt:-24deg;transform:rotate(var(--tilt));box-shadow:0 0 32px rgba(255,255,255,.42)}.transform-spark{width:24px;aspect-ratio:1;border-radius:999px;background:#fff7b0;box-shadow:0 0 24px rgba(255,247,176,.8)}.transform-spark.spark-1{top:24%;left:48%}.transform-spark.spark-2{right:28%;bottom:18%}.transform-note{bottom:10%;left:30%;max-width:260px}.rescue-alert{top:14%;left:12%;width:72px;aspect-ratio:1;background:#ff6b6b;color:#fff;font-size:40px;font-weight:950}.rescue-rope{top:38%;left:26%;width:48%;height:10px;border-radius:999px;background:linear-gradient(90deg,#fff,#fff2a8,#79eeff);--tilt:-14deg;transform:rotate(var(--tilt))}.rescue-wrong{top:44%;left:10%;background:#fff0ef}.rescue-correct{top:26%;right:16%;background:#e9fff7}.rescue-card{right:8%;bottom:14%}.sky-sun{top:8%;left:8%;width:78px;aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,#fff8bd 0 34%,#ffd64d 35% 67%,rgba(255,214,77,.3) 68%);box-shadow:0 0 42px rgba(255,214,77,.5)}.sky-cloud{height:76px;border-radius:999px;background:#f8fcff;box-shadow:-34px 12px 0 #e7f4ff,36px 14px 0 #fff,0 18px 30px rgba(32,52,82,.14)}.sky-cloud.cloud-a{top:18%;left:42%;width:170px}.sky-cloud.cloud-b{right:16%;bottom:20%;width:140px;opacity:.82}.sky-stream{top:36%;left:18%;width:58%;height:12px;border-radius:999px;background:linear-gradient(90deg,#79eeff,#fff,#8df0b7);--tilt:-26deg;transform:rotate(var(--tilt))}.sky-drop{width:28px;aspect-ratio:1;border-radius:50% 50% 58% 42%;background:#a6f5ff}.sky-drop.drop-1{top:52%;left:52%}.sky-drop.drop-2{top:64%;left:68%}.sky-label.label-a{top:50%;left:12%}.sky-label.label-b{top:8%;right:12%}.sky-label.label-c{right:22%;bottom:8%}.puzzle-lock{top:24%;left:28%;width:min(210px,46%);min-height:114px;border-radius:8px;background:#fff;font-size:20px}.puzzle-lock:before{position:absolute;top:-54px;left:50%;width:92px;height:72px;border:12px solid rgba(255,255,255,.86);border-bottom:0;border-radius:999px 999px 0 0;content:"";transform:translateX(-50%)}.puzzle-key{right:14%;top:42%;width:120px;height:28px;border-radius:999px;background:#fff7af}.puzzle-key:before{position:absolute;left:-34px;top:-18px;width:58px;aspect-ratio:1;border:12px solid #fff7af;border-radius:999px;content:""}.puzzle-piece.piece-1{top:10%;left:8%}.puzzle-piece.piece-2{right:12%;top:14%}.puzzle-piece.piece-3{left:14%;bottom:12%}.comic-panel{width:min(180px,35%);min-height:120px;border-radius:8px;background:rgba(255,255,255,.92)}.comic-panel.panel-1{top:12%;left:8%;--tilt:-4deg;transform:rotate(var(--tilt))}.comic-panel.panel-2{top:26%;right:12%;--tilt:4deg;transform:rotate(var(--tilt))}.comic-burst{left:36%;bottom:16%;min-width:150px;min-height:86px;border-radius:42% 58% 46% 54%;background:#fff7af;color:#1b2435;font-size:22px}.comic-caption{right:10%;bottom:8%;max-width:260px;background:rgba(255,255,255,.9)}.scene-dialogue-strip{position:absolute;left:22px;right:190px;bottom:114px;z-index:4;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;pointer-events:none}.dialogue-line{max-width:min(440px,100%);border:2px solid rgba(255,255,255,.76);border-radius:8px 8px 8px 2px;background:rgba(255,255,255,.94);padding:9px 12px;color:#1b2435;font-size:14px;font-weight:950;line-height:1.35;box-shadow:0 14px 26px rgba(12,18,33,.18);word-break:break-word}.dialogue-line.line-2{border-radius:8px 8px 2px;background:#fff4d6}.scene-emotion{position:absolute;top:92px;right:28px;z-index:3;max-width:150px;border-radius:999px;background:rgba(255,255,255,.84);padding:7px 10px;color:#1b2435;font-size:12px;font-weight:950;text-align:center;box-shadow:0 12px 24px rgba(12,18,33,.14)}.video-window.playing .comic-burst,.video-window.playing .cycle-sun,.video-window.playing .puzzle-lock,.video-window.playing .quest-ring,.video-window.playing .rescue-alert,.video-window.playing .sky-sun{animation:pulse-glow 2s ease-in-out infinite}.video-window.playing .comic-panel,.video-window.playing .cycle-cloud,.video-window.playing .dialog-bubble,.video-window.playing .dialogue-line,.video-window.playing .quiz-board,.video-window.playing .sky-cloud{animation:float-card 2.4s ease-in-out infinite}.video-window.playing .cycle-rain,.video-window.playing .sky-drop{animation:rain-drop 1.1s linear infinite}.video-window.playing .chase-hero,.video-window.playing .cycle-arrow,.video-window.playing .fraction-slice,.video-window.playing .lab-beam,.video-window.playing .maze-player,.video-window.playing .puzzle-key,.video-window.playing .rescue-rope,.video-window.playing .sky-stream,.video-window.playing .transform-wand{animation:sweep-motion 2s ease-in-out infinite}.video-window.playing .chase-chip,.video-window.playing .chase-goal,.video-window.playing .comic-caption,.video-window.playing .cycle-label,.video-window.playing .fraction-card,.video-window.playing .fraction-rule,.video-window.playing .lab-label,.video-window.playing .map-step,.video-window.playing .maze-clue,.video-window.playing .maze-exit,.video-window.playing .puzzle-piece,.video-window.playing .quest-chip,.video-window.playing .quiz-chip,.video-window.playing .rescue-card,.video-window.playing .rescue-correct,.video-window.playing .rescue-wrong,.video-window.playing .sky-label,.video-window.playing .transform-after,.video-window.playing .transform-before,.video-window.playing .transform-note{animation:label-pop 1.5s ease-in-out infinite}.video-window:before{position:absolute;inset:auto 0 0;height:54%;background:linear-gradient(180deg,transparent,rgba(16,24,42,.62)),repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,transparent 1px 72px);content:""}.video-window.idle{background:linear-gradient(90deg,rgba(18,27,46,.78),rgba(18,27,46,.05) 62%),url(/assets/learning-hero.jpg);background-position:50%;background-size:cover}.video-window.loading{background:linear-gradient(135deg,rgba(255,255,255,.48),rgba(255,255,255,.08)),linear-gradient(135deg,var(--grape),var(--aqua) 55%,var(--lemon))}.video-toolbar{top:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:10px;color:rgba(255,255,255,.9);font-size:12px;font-weight:950}.stage-copy,.video-toolbar{position:absolute;z-index:3}.stage-copy{left:24px;right:240px;bottom:96px}.stage-copy p{margin:0 0 8px;color:rgba(255,255,255,.88);font-size:13px;font-weight:950}.stage-copy h2{margin:0;max-width:640px;font-size:clamp(24px,3.2vw,42px);line-height:1.12;text-wrap:balance;word-break:break-word}.scene-caption span{color:rgba(255,255,255,.78);font-size:12px;font-weight:950}.scene-caption p{margin:0;line-height:1.5}.scene-caption{position:absolute;right:18px;bottom:18px;left:18px;z-index:4;border-radius:8px;background:rgba(11,18,32,.66);padding:12px 14px 14px;box-shadow:0 14px 32px rgba(12,20,38,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scene-caption p{color:#fff;font-size:clamp(16px,2vw,24px);font-weight:900;text-align:center}.timeline{position:absolute;right:18px;bottom:0;left:18px;z-index:5;height:4px;overflow:hidden;border-radius:999px 999px 0 0;background:rgba(255,255,255,.22)}.timeline span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fff7af,#66ecff);transition:width .08s linear}.play-button{position:absolute;left:24px;top:56px;z-index:3;display:grid;width:56px;height:56px;place-items:center;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#2458ba;box-shadow:0 14px 26px rgba(27,36,53,.18)}.play-button:hover,.playback-controls button:hover:not(:disabled){transform:translateY(-1px)}.playback-controls{display:grid;grid-template-columns:minmax(120px,1fr) minmax(96px,.7fr) minmax(100px,.7fr);grid-gap:8px;gap:8px}.playback-controls button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:7px;border:1px solid #ddd8cd;border-radius:8px;background:#fff;color:var(--ink);font-weight:950;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.playback-controls button:disabled{cursor:not-allowed;opacity:.42}.playback-controls button:first-child{border-color:transparent;background:#18233f;color:#fff;box-shadow:0 12px 24px rgba(28,37,60,.16)}.playback-controls .voice-toggle{border-color:color-mix(in srgb,var(--accent),#fff 64%);background:color-mix(in srgb,var(--accent),#fff 90%);color:color-mix(in srgb,var(--accent),#1b2435 38%)}.preview-empty,.share-state{display:flex;align-items:center;gap:8px;border-radius:8px;background:#f0fbff;padding:12px;color:var(--muted);font-size:13px}.loading-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.loading-step{display:flex;min-height:64px;align-items:center;gap:9px;border:1px solid #ddd8cd;border-radius:8px;background:#fff;padding:10px;color:var(--muted);font-size:13px;font-weight:900}.loading-step span{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:999px;background:#ecfbff;color:#147281;font-weight:950}.result-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));grid-gap:10px;gap:10px}.share-state{margin:0;background:#eefbf4;color:#26724f}.share-page{min-height:100vh;background:radial-gradient(circle at 14% 12%,rgba(78,225,255,.2),transparent 28%),linear-gradient(135deg,#102a5f,#2b1b66 48%,#143048);color:#fff;padding:28px}.share-hero{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);grid-gap:24px;gap:24px;align-items:center;max-width:1180px;margin:0 auto}.share-copy{display:grid;grid-gap:14px;gap:14px}.share-copy p,.share-learning-card p,.share-scene-card p,.share-section-head p{margin:0;color:#8ef77c;font-size:13px;font-weight:950}.share-copy h1{margin:0;max-width:720px;font-size:clamp(34px,5vw,68px);line-height:1.02}.share-copy span,.share-learning-card span,.share-scene-card span{color:rgba(255,255,255,.82);font-size:16px;line-height:1.75}.share-player-shell{display:grid;grid-gap:10px;gap:10px}.share-player{width:100%;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#07111f;box-shadow:0 24px 60px rgba(0,0,0,.32)}.share-actions,.share-player-meta,.share-quality{display:flex;flex-wrap:wrap;gap:10px}.share-actions a,.share-player-meta span{border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;padding:10px 12px;font-size:13px;font-weight:950;text-decoration:none}.share-actions,.share-learning-card,.share-production-board,.share-quality,.share-scenes{max-width:1180px;margin:18px auto 0}.share-production-board{display:grid;grid-gap:12px;gap:12px}.share-production-board a{display:block;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.share-production-board img{display:block;width:100%;aspect-ratio:16/9;background:#07111f;object-fit:contain}.share-quality{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.share-empty,.share-learning-card,.share-quality div,.share-scene-card{border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.share-quality div{display:grid;grid-gap:4px;gap:4px;padding:16px}.share-quality strong{font-size:26px}.share-quality span{color:rgba(255,255,255,.72);font-size:13px;font-weight:850}.share-learning-card{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr);grid-gap:22px;gap:22px;padding:22px}.share-learning-card h2,.share-scene-card h3,.share-section-head h2{margin:0}.share-learning-card ul{margin:0;padding-left:20px;color:rgba(255,255,255,.82);line-height:1.7}.share-section-head{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px}.share-scene-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.share-scene-card{overflow:hidden}.share-scene-card img,.share-scene-card video{width:100%;aspect-ratio:16/9;background:#07111f;object-fit:cover}.share-scene-card div{display:grid;grid-gap:6px;gap:6px;padding:14px}.share-empty{display:grid;grid-gap:12px;gap:12px;max-width:620px;margin:12vh auto 0;padding:28px}.share-empty h1,.share-empty p,.share-empty span{margin:0}.share-empty a{color:#8ef77c;font-weight:950}.my-library{grid-template-columns:minmax(220px,.28fr) minmax(0,1fr);grid-gap:18px;gap:18px}.learning-graph,.my-library{display:grid;margin-top:18px;padding:16px}.learning-graph{grid-gap:12px;gap:12px}.graph-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.graph-node{position:relative;display:grid;min-height:118px;overflow:hidden;align-content:space-between;border:1px solid #ddd8cd;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.78)),linear-gradient(135deg,rgba(47,125,246,.16),rgba(79,200,139,.14));padding:12px}.graph-node span{width:-moz-fit-content;width:fit-content;border-radius:999px;background:#ecfbff;color:#147281;padding:5px 9px;font-size:12px;font-weight:950}.graph-node strong{margin-top:10px;font-size:17px}.graph-node i{display:block;height:6px;max-width:100%;border-radius:999px;background:linear-gradient(90deg,var(--coral),var(--lemon),var(--mint))}.learning-square>div:first-child p,.library-heading p{color:#147281}.library-heading h2{margin:0;font-size:clamp(22px,2.4vw,30px);line-height:1.1}.library-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.library-item{display:grid;min-height:112px;align-content:space-between;justify-items:start;border:1px solid #ddd8cd;border-radius:8px;background:#fff;padding:12px;color:var(--ink);text-align:left}.library-item span{border-radius:999px;background:#ecfbff;color:#147281;padding:5px 9px;font-size:12px;font-weight:950}.library-item strong{margin-top:12px;font-size:15px}.library-empty,.library-item small{color:var(--muted);font-size:12px;line-height:1.45}.library-empty{margin:0;align-self:center;border-radius:8px;background:#f0fbff;padding:14px;font-size:14px}.learning-square{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);grid-gap:18px;gap:18px;margin-top:18px;padding:16px}.square-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.square-item{display:grid;min-height:118px;align-content:space-between;border:1px solid #ddd8cd;border-radius:8px;background:#fff;padding:12px;color:inherit;text-decoration:none}.square-item span{width:-moz-fit-content;width:fit-content;border-radius:999px;background:#eef5ff;padding:5px 9px;color:#285ca8;font-size:12px;font-weight:950}.square-item strong{margin-top:12px;font-size:16px}.square-item small{display:inline-flex;align-items:center;gap:5px;color:#26724f;font-weight:900}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes stage-bounce{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes visual-pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-glow{0%,to{filter:brightness(1);transform:scale(1) rotate(0deg)}50%{filter:brightness(1.14);transform:scale(1.05) rotate(6deg)}}@keyframes float-card{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rain-drop{0%{transform:translateY(-10px);opacity:.78}to{transform:translateY(18px);opacity:1}}@keyframes sweep-motion{0%,to{filter:brightness(1)}50%{filter:brightness(1.18);transform:translateX(10px) rotate(var(--tilt,0deg))}}@keyframes label-pop{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.03)}}@media (max-width:1180px){.student-shell{grid-template-columns:1fr}.result-workspace{min-height:auto}}@media (max-width:860px){.choice-grid,.graph-list,.library-list,.loading-steps,.square-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:780px){.student-app{padding:12px 12px 28px}.learner-header,.learning-square,.my-library{grid-template-columns:1fr}.learner-header{align-items:flex-start;flex-direction:column}.learner-actions{width:100%;justify-content:stretch}.credit-pill,.vip-upgrade{flex:1 1 140px}.learning-square,.share-hero,.share-learning-card,.student-shell{gap:12px}.asset-grid,.form-row,.graph-list,.library-list,.loading-steps,.photo-ip-panel,.result-actions,.share-hero,.share-learning-card,.source-grid,.square-list{grid-template-columns:1fr}.mode-strip,.subject-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.video-window{min-height:350px}.character-avatar.stage{right:20px;bottom:92px;width:118px;border-width:4px}.stage-copy{right:22px;bottom:112px}.stage-copy h2{font-size:24px}.playback-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.playback-controls button span{display:none}.animated-scene:before{inset:28px 12px 78px}.scene-model{inset:84px 18px 116px;opacity:.72}.cycle-cloud,.lab-beam{width:150px}.quest-card,.quiz-board{max-width:260px;font-size:20px}}@media (max-width:500px){body,html{overflow-x:hidden}.student-app{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.panel-heading h1{font-size:26px}.choice-grid,.mode-strip,.subject-tabs{grid-template-columns:1fr}.character-choice{grid-template-columns:70px minmax(0,1fr)}.character-avatar.card{width:68px}.stage-copy h2{font-size:22px}.video-window{min-height:330px}.asset-card{min-height:82px}.share-page{padding:12px}.share-copy h1{font-size:32px}}