:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ecf4f7;background:#0b1115;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#0b1115;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.productShell{background:linear-gradient(90deg,#0b1115 0 248px,#0000 248px),linear-gradient(135deg,#0d1519 0%,#101820 54%,#15131f 100%);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{scrollbar-width:thin;background:#0a0f13;border-right:1px solid #ffffff17;grid-template-rows:auto 1fr auto;gap:20px;height:auto;min-height:100vh;padding:18px 14px;display:grid;position:static;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}.brandBlock,.sessionCard,.workspaceHeader,.taskPanel,.editorPanel,.resultPanel,.learningRail,.playerPanel,.panelBlock,.tvMap,.controlDock{background:#ffffff0e;border:1px solid #ffffff1a;box-shadow:0 18px 48px #0000003d}.brandBlock{border-radius:8px;align-items:center;gap:12px;min-height:72px;padding:12px;display:flex}.brandMark{color:#06100e;background:#20c997;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brandBlock strong,.sessionCard strong{display:block}.brandBlock span,.sessionCard small,.screenLabel,.missionItem small,.taskPanel p,.avatarBlock span,.challengeBox p,.tableRow span,.configRow span,.courseRow span{color:#91a6b1}.sideNav{align-content:start;gap:8px;display:grid}.sideNav button,.compactButton,.runButton,.editorActions button,.controlDock button,.hintComposer button{color:#edf6f8;box-sizing:border-box;background:#ffffff14;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 12px;text-decoration:none;display:inline-flex}.sideNav button{justify-content:flex-start;width:100%}.sideNav button.selected,.runButton,.compactButton{color:#06100e;background:#20c997;font-weight:800}.sessionCard{border-radius:8px;align-items:center;gap:10px;min-height:72px;padding:12px;display:flex}.statusDot{background:#20c997;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 6px #20c9971f}.workspace{min-width:0;padding:18px}.workspaceHeader{border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:82px;margin-bottom:14px;padding:14px 16px;display:flex}h1,h2,p{margin:0}h1{font-size:30px;line-height:1.05}h2{font-size:19px;line-height:1.2}.screenLabel{text-transform:uppercase;letter-spacing:0;margin-bottom:5px;font-size:12px;display:inline-block}.profileStrip,.adminStats,.rewardGrid{grid-auto-columns:minmax(104px,1fr);grid-auto-flow:column;gap:8px;display:grid}.metric{background:#00000038;border-radius:8px;grid-template-columns:22px 1fr;align-items:center;gap:2px 8px;min-height:58px;padding:10px;display:grid}.metric svg{color:#4dabf7}.metric.gold svg{color:#ffd43b}.metric span{color:#9bafba;font-size:12px}.metric strong{grid-column:2;font-size:18px}.alert{background:#ff6b6b24;border:1px solid #ff6b6b5c;border-radius:8px;margin-bottom:14px;padding:12px}.alertOk{color:#6ee7c4;background:#20c99724;border:1px solid #20c9975c;border-radius:8px;margin-bottom:4px;padding:12px;font-size:13px}.linkButton{color:#91a6b1;background:0 0;border:0;justify-self:center;font-size:12px;text-decoration:underline}.linkButton:hover{color:#20c997}.studentLayout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:14px;display:grid}.learningRail,.playerPanel,.taskPanel,.editorPanel,.resultPanel,.panelBlock,.tvMap,.controlDock{border-radius:8px;padding:14px}.courseHeader,.tvHeader,.sectionTitle,.editorToolbar,.taskTopline{justify-content:space-between;align-items:center;gap:10px;display:flex}.courseHeader strong{color:#20c997;font-size:28px}.progressTrack{background:#ffffff1a;border-radius:999px;height:9px;margin:14px 0;overflow:hidden}.progressTrack span{background:linear-gradient(90deg,#20c997,#4dabf7);height:100%;display:block}.missionList{gap:8px;display:grid}.missionItem{color:#f4fbff;text-align:left;background:#00000029;border:1px solid #ffffff14;border-radius:8px;grid-template-columns:32px 1fr 18px;align-items:center;gap:10px;min-height:68px;padding:10px;display:grid}.missionItem>span:nth-child(2){gap:3px;min-width:0;display:grid}.missionItem strong,.missionItem small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.missionItem.active{background:#4dabf724;border-color:#4dabf7}.missionItem.done{border-color:#20c9978f}.missionItem:disabled{opacity:.48;cursor:not-allowed}.missionIndex{color:#20c997;background:#ffffff17;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.missionWorkspace{gap:14px;display:grid}.taskPanel{gap:10px;display:grid}.missionStory{gap:8px;display:grid}.missionStory p{margin:0}.missionTask{color:var(--tone-text-strong);line-height:1.5}.missionExpected{color:#bae6fd;background:#38bdf817;border-left:3px solid #38bdf8;border-radius:0 6px 6px 0;padding:9px 11px;font-size:13px;line-height:1.4}.taskTopline{color:#a7bbc5;flex-wrap:wrap;justify-content:flex-start;font-size:12px}.taskTopline span{background:#ffffff14;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;display:inline-flex}.biomeTag.forest{color:#69db7c}.biomeTag.cave{color:#f783ac}.biomeTag.snow{color:#74c0fc}.biomeTag.summit{color:#ffd43b}.biomeTag.desert{color:#ffa94d}.biomeTag.volcano{color:#ff6b6b}.biomeTag.sky{color:#91a7ff}.biomeTag.nebula{color:#f0db4f}.biomeTag.stars{color:#b197fc}.objectiveBox{color:#dffbf3;background:#20c9971f;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px;display:flex}.learningGuide{background:#1e40af21;border:1px solid #60a5fa5c;border-radius:8px;gap:10px;padding:14px;display:grid}.learningGuideHeader{color:#bfdbfe;align-items:flex-start;gap:9px;display:flex}.learningGuideHeader>svg{color:#60a5fa;flex:none;margin-top:2px}.learningGuideHeader p,.learningGuideSteps p,.freeLessonStep p{margin:0}.learningGuideHeader p{color:#cbd5e1;margin-top:3px;font-size:13px;line-height:1.4}.learningGuideSteps{gap:7px;margin:0;padding:0;list-style:none;display:grid}.learningGuideSteps li{color:#dbeafe;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;display:flex}.learningGuideSteps li>span{color:#bfdbfe;background:#60a5fa33;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.freeLessonStep{color:#fef3c7;background:#facc1517;border:1px solid #facc1559;border-radius:7px;align-items:flex-start;gap:9px;padding:10px;font-size:13px;line-height:1.4;display:flex}.freeLessonStep>svg{color:#facc15;flex:none;margin-top:2px}.freeLessonStep strong{margin-bottom:2px;display:block}.exampleBox{gap:6px;display:grid}.exampleBox pre{font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.editorPanel{padding:0;overflow:hidden}.editorToolbar{border-bottom:1px solid #ffffff14;min-height:48px;padding:0 12px}.editorToolbar>div{align-items:center;gap:8px;display:flex}.editorActions{gap:8px}.pasteWarning{color:#ffb4b4;background:#ff6b6b29;border-bottom:1px solid #ff6b6b4d;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.fullscreenGuard{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#06090cf0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.cheatLockoutBanner{color:#ffb4b4;background:#ff6b6b24;border:1px solid #ff6b6b66;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.cheatLockoutBanner strong{color:#ffe0e0;margin-bottom:4px;font-size:14px;display:block}.cheatLockoutBanner p{color:#d7bcbc;margin:0;font-size:13px}.adminActivityCard,.adminPasswordCard{gap:12px;max-width:640px}.adminPasswordCard input{color:#ecf4f7;background:#00000040;border:1px solid #ffffff1f;border-radius:8px;padding:10px 12px}.currentMissionRow{background:#20c9971a;border:1px solid #20c99740;border-radius:8px;gap:4px;margin:0;padding:10px 12px;display:grid}.currentMissionRow small{color:#91a6b1;font-size:11px}.activityList{gap:6px;max-height:320px;display:grid;overflow-y:auto}.activityRow{background:#0003;border-radius:6px;grid-template-columns:1.5fr 90px 60px 1fr auto auto;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:grid}.activityRow.passed{border-left:3px solid #20c997}.activityRow.failed{border-left:3px solid #ff6b6b}.activityRow.error{border-left:3px solid #ffa94d}.activityStatus.passed{color:#63e6be}.activityStatus.failed{color:#ff6b6b}.activityStatus.error{color:#ffa94d}.activityRow small{color:#91a6b1;font-size:10px}.landingLangs{gap:8px;margin-top:12px;display:grid}.landingLangChips{flex-wrap:wrap;gap:6px;display:flex}.landingLangChips .worldLangChip{animation:4s ease-in-out infinite langChipFloat}.landingLangChips .worldLangChip:nth-child(2n){animation-delay:.6s}.landingLangChips .worldLangChip:nth-child(3n){animation-delay:1.2s}@keyframes langChipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.worldLangChip.lang-go{color:#00add8;background:#00add826}.worldLangChip.lang-php{color:#a7abe0;background:#777bb426}.worldLangChip.lang-cpp{color:#91a7ff;background:#00599c26}.worldLangChip.lang-django{color:#63e6be;background:#095c3e26}.worldLangChip.lang-flask{color:#dee2e6;background:#96969626}.worldLangChip.lang-css{color:#4dabf7;background:#264de426}.duelFormContainer{gap:8px;display:grid}.duelFormSelects{grid-template-columns:1fr 1fr;gap:8px;display:grid}.duelFormSelects select,.duelFormControls select{color:#ecf4f7;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;width:100%;min-width:0;padding:8px 10px;font-family:inherit;font-size:.9rem}.duelFormControls{grid-template-columns:1fr 1fr auto auto;gap:8px;display:grid}.duelFormControls input{color:#ecf4f7;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;width:100%;min-width:0;padding:8px 10px}.duelRow{background:#0003;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:6px;padding:8px 10px;font-size:12px;display:flex}.duelRow.status-pending{border-left:3px solid #ffd43b}.duelRow.status-active{border-left:3px solid #4dabf7;animation:1.6s ease-in-out infinite duelPulse}.duelRow.status-finished{border-left:3px solid #63e6be}.duelRow.status-canceled{opacity:.7;border-left:3px solid #91a6b1}@keyframes duelPulse{0%,to{box-shadow:0 0 #4dabf700}50%{box-shadow:0 0 12px #4dabf759}}.duelRow strong{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.duelRow span{white-space:nowrap}.duelRow .duelActions{gap:4px;margin-left:auto;display:flex}.duelWager{color:#ffd43b;font-weight:700}.duelStatus.pending{color:#ffd43b}.duelStatus.active{color:#4dabf7}.duelStatus.finished{color:#63e6be}.duelStatus.canceled{color:#91a6b1}.duelWinner{color:#ffd43b;font-weight:700}.duelAvailability{color:var(--tone-text-muted);font-size:.75rem}.duelAvailability.danger{color:var(--tone-danger)}.duelMonitorModal{width:min(920px,100vw - 28px);max-height:min(820px,100vh - 28px);padding:20px;overflow:auto}.duelMonitorHeader,.duelMonitorStats,.duelMonitorPlayer,.duelMonitorPlayer>div:nth-child(2),.duelMonitorQuestions summary{align-items:center;display:flex}.duelMonitorHeader{border-bottom:1px solid var(--tone-border);justify-content:space-between;gap:16px;padding-bottom:14px}.duelMonitorHeader h2{color:var(--tone-text-strong);align-items:center;gap:8px;margin:4px 0 0;font-size:1.25rem;display:flex}.duelMonitorStats{color:var(--tone-text-muted);flex-wrap:wrap;gap:8px 14px;padding:14px 0;font-size:.84rem}.duelMonitorStats>span:not(.duelStatus){align-items:center;gap:5px;display:inline-flex}.duelMonitorPlayers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.duelMonitorPlayer{border:1px solid var(--tone-border);border-radius:var(--radius-md);background:var(--tone-card-strong);gap:10px;min-width:0;padding:12px;position:relative}.duelMonitorPlayer.finished{border-color:color-mix(in srgb, var(--tone-success) 55%, var(--tone-border))}.duelMonitorPlayer>div:nth-child(2){gap:3px;min-width:0;display:grid}.duelMonitorPlayer strong{text-overflow:ellipsis;white-space:nowrap;color:var(--tone-text-strong);overflow:hidden}.duelMonitorPlayer small{color:var(--tone-text-muted);font-size:.76rem}.duelMonitorProgress{border-radius:var(--radius-pill);background:var(--tone-border);height:4px;position:absolute;bottom:10px;left:12px;right:12px;overflow:hidden}.duelMonitorProgress span{border-radius:inherit;background:var(--tone-primary);height:100%;transition:width .18s;display:block}.duelMonitorQuestions{gap:8px;margin-top:18px;display:grid}.duelMonitorQuestions h3{color:var(--tone-text-strong);margin:0 0 2px;font-size:.92rem}.duelMonitorQuestions details{border:1px solid var(--tone-border);border-radius:var(--radius-sm);background:var(--tone-card)}.duelMonitorQuestions details.current{border-color:var(--tone-primary);box-shadow:0 0 0 1px var(--tone-primary-soft)}.duelMonitorQuestions summary{cursor:pointer;min-height:38px;color:var(--tone-text-strong);gap:7px;padding:0 11px;font-size:.82rem;font-weight:700}.duelMonitorQuestions p{color:var(--tone-text);margin:0;padding:2px 11px 12px;font-size:.88rem;line-height:1.45}.duelMonitorQuestions pre{border-radius:var(--radius-sm);background:var(--tone-card-strong);color:var(--tone-text-strong);margin:0 11px 12px;padding:10px;font-size:.78rem;overflow:auto}.duelMonitorError{color:var(--tone-danger)}@media (width<=640px){.duelMonitorModal{padding:15px}.duelMonitorPlayers{grid-template-columns:1fr}.duelMonitorHeader h2{font-size:1rem}}.tabStrip{background:#00000040;border-radius:10px;gap:4px;margin-bottom:12px;padding:4px;display:flex;overflow-x:auto}.tabStrip button{color:#91a6b1;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:12px;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.tabStrip button:hover{color:#c0d0d8;background:#ffffff0f}.tabStrip button.activeTab{color:#b9f6e6;background:#20c9972e;font-weight:700}.duelInviteStack{z-index:100;gap:10px;width:calc(100vw - 32px);max-width:480px;display:grid;position:fixed;top:20px;left:50%;transform:translate(-50%)}.duelInvite{background:linear-gradient(135deg,#1c2431,#10161b);border:1px solid #ffd43b80;border-radius:14px;padding:16px 18px;animation:.5s cubic-bezier(.34,1.56,.64,1) both duelInviteIn;box-shadow:0 20px 60px #00000080,0 0 30px #ffd43b26}@keyframes duelInviteIn{0%{opacity:0;transform:translate(-50%)translateY(-30px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.duelInviteHeader{color:#ffe8a3;align-items:center;gap:8px;margin-bottom:8px;display:flex}.duelInvite p{color:#d7e4ea;margin:0 0 12px;font-size:13px}.duelInviteActions{justify-content:flex-end;gap:8px;display:flex}.landingBackdrop{z-index:0;pointer-events:none;opacity:.65;position:fixed;inset:0}.landingShell,.landingShell>:not(.landingBackdrop){z-index:1;position:relative}.fullscreenGuard h2{margin:12px 0 6px}.fullscreenGuard p{color:#9fb0b8;max-width:360px;margin:0 0 20px}textarea{resize:vertical;color:#eafff8;background:#070d10;border:0;outline:0;width:100%;min-height:330px;padding:16px;font-family:SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.55;display:block}.resultPanel{gap:10px;display:grid}.resultPanel>div{align-items:center;gap:8px;display:flex}pre{white-space:pre-wrap;color:#dcecf1;background:#0003;border-radius:8px;min-height:72px;margin:0;padding:12px;overflow:auto}.resultPanel.passed{border-color:#20c9978c}.resultPanel.failed{border-color:#ff6b6b7a}.codeFeedback{border:1px solid var(--tone-border);border-radius:var(--radius-md);background:var(--tone-card-strong);gap:9px;padding:13px;display:grid}.codeFeedback.success{border-color:var(--tone-success);background:var(--tone-success-soft)}.codeFeedback.syntax,.codeFeedback.runtime,.codeFeedback.test,.codeFeedback.timeout,.codeFeedback.security{border-color:var(--tone-danger);background:var(--tone-danger-soft)}.codeFeedbackTitle,.codeFeedbackSuggestion,.codeFeedback small{align-items:center;gap:7px;display:flex}.codeFeedbackTitle{color:var(--tone-text-strong)}.codeFeedbackTitle>svg{color:var(--tone-danger)}.codeFeedback.success .codeFeedbackTitle>svg{color:var(--tone-success)}.codeFeedbackTitle span{color:var(--tone-text-muted);margin-left:auto;font-size:.78rem;font-weight:600}.codeFeedback p{color:var(--tone-text);margin:0;line-height:1.45}.codeFeedbackSuggestion{color:var(--tone-text-muted);font-size:.86rem}.codeFeedbackSuggestion>svg{color:var(--tone-warn);flex:none}.codeFeedback small{color:var(--tone-success);font-weight:600}.adaptiveCoach{border-radius:var(--radius-md);background:#7c5cff14;border:1px solid #a78bfa61;gap:8px;padding:12px;display:grid}.adaptiveCoach.support{background:#38bdf814;border-color:#38bdf870}.adaptiveCoach.reset{background:#fbbf2414;border-color:#fbbf2480}.adaptiveCoach.stretch{background:#20c99714;border-color:#20c99780}.adaptiveCoachTitle{color:var(--tone-text-strong);align-items:center;gap:7px;display:flex}.adaptiveCoachTitle>svg{color:#a78bfa}.adaptiveCoach p{color:var(--tone-text);margin:0;font-size:.88rem;line-height:1.45}.adaptiveCoachHint{color:var(--tone-text);align-items:flex-start;gap:7px;font-size:.86rem;line-height:1.45;display:flex}.adaptiveCoachHint>svg{color:var(--tone-warn);flex:none;margin-top:2px}.adaptiveNextButton{border-radius:var(--radius-md);min-height:34px;color:var(--tone-text-strong);font:inherit;cursor:pointer;background:#20c99724;border:1px solid #20c99773;justify-self:start;align-items:center;gap:7px;padding:0 10px;font-size:.84rem;display:inline-flex}.adaptiveNextButton:hover{background:#20c9973d}.playerPanel{gap:14px;display:grid}.avatarBlock{text-align:center;background:linear-gradient(160deg,#20c9972b,#4dabf71a);border-radius:8px;place-items:center;min-height:174px;padding:16px;display:grid}.avatarCircle{color:#06121c;background:#4dabf7;border-radius:999px;place-items:center;width:72px;height:72px;font-size:30px;font-weight:900;display:grid}.rewardGrid{grid-auto-flow:row}.challengeBox{background:#0003;border-radius:8px;gap:7px;padding:12px;display:grid}.teacherLayout{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:start;gap:14px;display:grid}.tvMap{grid-template-rows:auto 1fr;min-height:calc(100vh - 132px);display:grid}.livePill{color:#b9f6e6;background:#20c99724;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:0 12px;display:inline-flex}.classroomMountain{isolation:isolate;background:#0b171f;border-radius:8px;min-height:560px;margin-top:14px;position:relative;overflow:hidden}.mountainAtmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mountainStar{width:var(--star-size);height:var(--star-size);opacity:.45;animation:3.4s ease-in-out infinite mountainTwinkle;animation-delay:var(--star-delay);background:#dff8ff;border-radius:50%;position:absolute;box-shadow:0 0 7px #aeeeffcc}.mountainCloud{filter:blur(7px);background:#b5e1ec14;border-radius:50%;width:190px;height:42px;animation:28s linear infinite mountainCloudDrift;position:absolute}.cloudOne{top:23%;left:-22%}.cloudTwo{opacity:.55;animation-duration:38s;animation-delay:-15s;top:42%;left:-36%}.cloudThree{opacity:.38;animation-duration:45s;animation-delay:-27s;top:12%;left:-46%}@keyframes mountainTwinkle{0%,to{opacity:.24;transform:scale(.75)}50%{opacity:.9;transform:scale(1.35)}}@keyframes mountainCloudDrift{0%{transform:translate(0)}to{transform:translate(760px)}}.mountainSvg{z-index:1;width:100%;height:100%;position:absolute;inset:0}.mountain3D{aspect-ratio:16/10;background:linear-gradient(#101922 0%,#11181d 100%);border-radius:8px;align-self:start;min-height:420px;max-height:620px;margin-top:14px;position:relative;overflow:hidden}.mountain3D canvas{display:block}.mountainLabel{color:#fff;white-space:nowrap;background:#000000b8;border:1px solid #ffffff29;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;transform:translate(-50%,-100%)}.mountainLabel.podium{color:#ffd43b;background:#000c;border-color:#ffd43b}.climberMarker{z-index:3;justify-items:center;gap:4px;transition:left .9s cubic-bezier(.22,1,.36,1),top .9s cubic-bezier(.22,1,.36,1);animation:2.6s ease-in-out infinite climberBob;display:grid;position:absolute;transform:translate(-50%,-50%)}@keyframes climberBob{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 6px))}}.climberMarker .genAvatar{border:3px solid #ffffff80;box-shadow:0 6px 16px #0006}.climberMarker.podium .genAvatar{border-color:var(--ring,#ffd43b);box-shadow:0 0 0 3px #ffd43b33,0 6px 16px #0006}.climberMarker strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#000000a6;border-radius:999px;max-width:100px;padding:3px 8px;font-size:11px;overflow:hidden}.mountainTrail{animation:1.6s linear infinite trailFlow}.mountainTrailAura{animation:2.8s ease-in-out infinite trailPulse}.summitSnow{transform-origin:400px 40px;animation:4s ease-in-out infinite summitGleam}.summitFlag{transform-origin:400px 8px;animation:1.8s ease-in-out infinite summitFlagWave}.mountainBeacon{animation:2.8s ease-in-out infinite beaconFloat;animation-delay:var(--beacon-delay);transform-origin:50%}.beaconPulse{animation:2.2s ease-out infinite beaconPulse;animation-delay:var(--beacon-delay)}.mountainStatus{z-index:4;color:#e9fbf5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050f1594;border:1px solid #7ff7d140;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:.75rem;display:inline-flex;position:absolute;top:14px;left:14px}.mountainStatus strong{color:#7ff7d1}.mountainStatus span:last-child{color:#bfd1d7}.mountainSignal{background:#4cf3bf;border-radius:50%;width:7px;height:7px;animation:1.8s ease-out infinite mountainSignal;box-shadow:0 0 #4cf3bf80}@keyframes trailPulse{0%,to{opacity:.32}50%{opacity:.9}}@keyframes summitGleam{0%,to{opacity:.74}50%{opacity:1;filter:drop-shadow(0 0 8px #eaf7ffd9)}}@keyframes summitFlagWave{0%,to{transform:skewY(0)}50%{transform:skewY(-5deg)}}@keyframes beaconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes beaconPulse{0%{opacity:.7;transform:scale(.5)}to{opacity:0;transform:scale(2.2)}}@keyframes mountainSignal{0%{box-shadow:0 0 #4cf3bf8c}to{box-shadow:0 0 0 8px #4cf3bf00}}@keyframes trailFlow{to{stroke-dashoffset:-14px}}.teacherSide{gap:14px;display:grid}.teacherAnalyticsPanel .sectionTitle>div{min-width:0}.teacherAnalyticsPanel .sectionTitle p{margin:4px 0 0}.analyticsClassSelect{max-width:340px}.teacherAnalyticsSummary{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.teacherAnalyticsSummary>div{border:1px solid var(--tone-border);border-radius:var(--radius-md);background:var(--tone-card-strong);gap:4px;min-height:74px;padding:11px;display:grid}.teacherAnalyticsSummary span{color:var(--tone-text-muted);font-size:.77rem}.teacherAnalyticsSummary strong{color:var(--tone-text-strong);font-size:1.18rem}.analyticsSectionTitle{margin-top:4px}.analyticsSectionTitle>svg{color:var(--tone-warn)}.analyticsSectionTitle h3{margin:0;font-size:.98rem}.teacherStruggleList{gap:9px;display:grid}.teacherStruggleRow{border:1px solid var(--tone-border);border-radius:var(--radius-md);background:var(--tone-card-strong);gap:7px;padding:11px;display:grid}.teacherStruggleTop{align-items:center;gap:10px;min-width:0;display:flex}.teacherStruggleTop strong{text-overflow:ellipsis;white-space:nowrap;color:var(--tone-text-strong);overflow:hidden}.teacherStruggleTop span{color:var(--tone-warn);margin-left:auto;font-weight:750}.teacherStruggleRow small{color:var(--tone-text-muted)}.teacherStruggleMeter{border-radius:var(--radius-pill);background:var(--tone-border);height:6px;overflow:hidden}.teacherStruggleMeter span{border-radius:inherit;background:linear-gradient(90deg, var(--tone-danger), var(--tone-warn));height:100%;display:block}.teamSprintPanel .sectionTitle>div{min-width:0}.teamSprintPanel .sectionTitle p{margin:4px 0 0}.teamSprintControls,.teamSprintStart{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teamSprintControls select,.teamSprintStart input{border:1px solid var(--tone-border);border-radius:var(--radius-sm);background:var(--tone-input-bg);min-height:38px;color:var(--tone-text);padding:0 10px}.teamSprintControls select:first-child{min-width:min(100%,250px)}.teamSprintStart input:first-child{flex:180px}.teamSprintStart input[type=number]{width:112px}.teamSprintActive{border-radius:var(--radius-md);background:var(--tone-primary-soft);border:1px solid #20c99761;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.teamSprintActive>div{gap:2px;display:grid}.teamSprintActive small{color:var(--tone-primary);letter-spacing:.06em;font-size:.68rem;font-weight:800}.teamSprintActive strong{color:var(--tone-text-strong)}.teamSprintGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.teamSprintCard{border:1px solid var(--tone-border);border-left:4px solid var(--team-color);border-radius:var(--radius-md);background:var(--tone-card-strong);gap:9px;padding:12px;display:grid}.teamSprintCardTop{align-items:center;gap:8px;min-width:0;display:flex}.teamRank{color:var(--tone-text-muted);font-weight:800}.teamSprintCardTop strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--tone-text-strong);align-items:center;gap:6px;display:inline-flex;overflow:hidden}.teamSprintCardTop strong i{background:var(--team-color);width:9px;height:9px;box-shadow:0 0 10px color-mix(in srgb, var(--team-color) 65%, transparent);border-radius:50%;flex:0 0 9px}.teamSprintCardTop b{color:var(--team-color);white-space:nowrap;margin-left:auto}.teamProgressTrack{border-radius:var(--radius-pill);background:var(--tone-border);height:7px;overflow:hidden}.teamProgressTrack span{border-radius:inherit;background:var(--team-color);height:100%;transition:width .5s;display:block}.teamSprintCard small{color:var(--tone-text-muted)}.teamMemberList{flex-wrap:wrap;gap:5px;display:flex}.teamMemberList>span{border:1px solid var(--tone-border);border-radius:var(--radius-pill);max-width:145px;min-height:26px;color:var(--tone-text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;padding:2px 7px 2px 3px;font-size:.75rem;display:inline-flex;overflow:hidden}@media (width<=680px){.teacherAnalyticsSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.teamSprintControls,.teamSprintStart{align-items:stretch}.teamSprintControls select,.teamSprintStart input,.teamSprintControls .compactButton,.teamSprintStart .compactButton,.teamSprintStart input[type=number]{width:100%}}.tvBottomGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px;display:grid}.panelBlock{gap:12px;display:grid}.sectionTitle{justify-content:flex-start}.sectionTitle .compactButton{margin-left:auto}.leaderboard{gap:8px;display:grid}.leaderRow{background:#0003;border-radius:8px;grid-template-columns:34px 26px 1fr auto;align-items:center;gap:10px;min-height:52px;padding:10px;display:grid}.leaderRow b{color:#ffd43b}.feed{color:#d7eaf0;box-sizing:border-box;background:#0000002e;border-radius:8px;flex-direction:column;gap:6px;width:100%;min-height:42px;padding:9px 11px;display:flex}.feedHeader{align-items:flex-start;gap:8px;width:100%;min-width:0;display:flex}.feedIcon{flex-shrink:0;margin-top:1px}.feedIcon.passIcon{color:#10b981}.feedIcon.failIcon{color:#f43f5e}.feedIcon.badgeIcon{color:#fbbf24}.feedIcon.hintIcon{color:#38bdf8}.feedIcon.duelIcon{color:#f87171}.feedIcon.aiIcon{color:#ec4899}.feedIcon.alertIcon{color:#ef4444}.feedIcon.xpIcon{color:#a855f7}.feedIcon.coinsIcon{color:#f59e0b}.feedIcon.resetIcon{color:#64748b}.feedIcon.defaultIcon{color:#00d4ff}.feedText{min-width:0;color:inherit;word-break:break-word;flex:1;font-size:13px;line-height:1.35}.feedMetaGroup{box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:6px;padding-left:23px;display:flex}.feedMeta{color:#91a6b1;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.feedMeta.warn{color:#ffa94d}.feedMeta.selfSolved{color:#34d399;background:#10b98126;border:1px solid #10b9814d;border-radius:6px;padding:2px 6px;font-weight:600}.feedMeta.hintUsed{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:6px;padding:2px 6px;font-weight:600}:root.theme-light .feedMeta.selfSolved{color:#047857;background:#ecfdf5;border-color:#a7f3d0}:root.theme-light .feedMeta.hintUsed{color:#b45309;background:#fffbeb;border-color:#fde68a}.controlDock{grid-template-columns:1fr;gap:12px;display:grid}.dangerActive{background:#ff6b6b2e!important}.hintComposer{grid-template-columns:1fr 44px;gap:8px;display:grid}.hintComposer input{color:#fff;background:#00000038;border:1px solid #ffffff1a;border-radius:8px;min-width:0;min-height:42px;padding:0 12px}.adminLayout{align-items:start;gap:14px;display:grid}.adminLayout>.adminStats{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row}.contentManager{min-height:480px}.adminNavigation{border:1px solid var(--tone-border);border-radius:var(--radius-md);background:var(--tone-card-strong);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:8px;display:grid}.adminNavButton{border-radius:var(--radius-sm);min-height:58px;color:var(--tone-text-muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:9px;padding:0 12px;font-size:.84rem;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.adminNavButton:hover{border-color:var(--tone-border);background:var(--tone-primary-soft);color:var(--tone-text-strong)}.adminNavButton.active{border-color:var(--tone-primary);background:var(--tone-primary-soft);color:var(--tone-primary)}.adminNavButton:active{transform:translateY(1px)}.tableLike{gap:8px;display:grid}.tableHead,.tableRow{grid-template-columns:minmax(160px,1.6fr) .8fr .8fr .8fr auto;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:grid}.tableHead{color:#91a6b1;text-transform:uppercase;font-size:12px}.tableRow{background:#0000002e;border-radius:8px}.adminSide{gap:14px;display:grid}.configRow,.courseRow,.classRow{background:#0000002e;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:10px;display:flex}.classRow{margin-bottom:8px}.classCodeChip{letter-spacing:.12em;color:#b9f6e6;background:#20c99729;border-radius:999px;padding:4px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;font-weight:700}@media (width<=1280px){.studentLayout,.teacherLayout,.adminLayout{grid-template-columns:1fr}.playerPanel,.teacherSide,.adminSide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.productShell{background:linear-gradient(135deg,#0d1519 0%,#101820 54%,#15131f 100%);grid-template-columns:1fr}.sidebar{grid-template-rows:auto;height:auto;position:static}.sideNav button{justify-content:center}.workspaceHeader,.profileStrip,.playerPanel,.teacherSide,.adminSide,.adminStats,.adminLayout>.adminStats{grid-template-columns:1fr;grid-auto-flow:row}.workspaceHeader{display:grid}.adminNavigation{grid-template-columns:repeat(2,minmax(0,1fr))}.adminNavButton{min-height:52px;padding:0 10px;font-size:.78rem}.tableHead{display:none}.tableRow{grid-template-columns:1fr;padding:12px}}.authShell{background:linear-gradient(135deg,#0d1519 0%,#101820 54%,#15131f 100%);grid-template-columns:minmax(0,1.1fr) minmax(0,480px);min-height:100vh;display:grid}.appLoader{color:#f5f9fb;background:#081018;place-content:center;justify-items:center;gap:18px;min-height:100vh;padding:32px;display:grid;overflow:hidden}.appLoaderScene{width:204px;height:174px;position:relative}.appLoaderPeak{clip-path:polygon(50% 0,100% 100%,0 100%);display:block;position:absolute;bottom:0}.appLoaderPeakBack{background:#183440;width:156px;height:116px;left:2px}.appLoaderPeakFront{background:#0d7768;width:174px;height:136px;right:0;box-shadow:0 18px 34px #11c39633}.appLoaderTrail{gap:10px;display:grid;position:absolute;bottom:32px;right:67px;transform:rotate(-31deg)}.appLoaderTrail span{background:#d2f6e7;border-radius:50%;width:7px;height:7px;animation:1.55s ease-in-out infinite appLoaderTrail;display:block}.appLoaderTrail span:nth-child(2){animation-delay:.18s}.appLoaderTrail span:nth-child(3){animation-delay:.36s}.appLoaderBeacon{color:#071018;letter-spacing:.08em;background:#f4be4f;border:3px solid #f6c85f;border-radius:50%;place-items:center;width:52px;height:52px;font-size:13px;font-weight:900;animation:1.8s ease-in-out infinite appLoaderBeacon;display:grid;position:absolute;top:4px;right:48px;box-shadow:0 0 0 7px #f6c85f1f,0 0 28px #f6c85f6b}.appLoaderCopy{text-align:center;justify-items:center;gap:3px;display:grid}.appLoaderCopy strong{font-size:20px;line-height:1.2}.appLoaderCopy>span{color:#9eb0bc;font-size:14px}.appLoaderCopy p{color:#d9e7eb;margin:7px 0 0;font-size:15px}.appLoaderProgress{background:#20303b;border-radius:4px;width:min(190px,72vw);height:5px;display:block;overflow:hidden}.appLoaderProgress span{border-radius:inherit;transform-origin:0;background:#29cb9d;width:52%;height:100%;animation:1.7s ease-in-out infinite appLoaderProgress;display:block}@keyframes appLoaderTrail{0%,to{opacity:.28;transform:translateY(4px)}50%{opacity:1;transform:translateY(-4px)}}@keyframes appLoaderBeacon{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.04)}}@keyframes appLoaderProgress{0%{transform:scaleX(.24)}60%{transform:scaleX(1)}to{transform:scaleX(.55)}}@media (prefers-reduced-motion:reduce){.appLoaderTrail span,.appLoaderBeacon,.appLoaderProgress span{animation:none}.appLoaderProgress span{transform:scaleX(.78)}}@media (width<=860px){.authShell{grid-template-columns:1fr}.authHero{min-height:320px;padding:24px}}.authHero{align-items:flex-end;padding:48px;display:flex;position:relative;overflow:hidden}.authHeroSvg{width:100%;height:100%;position:absolute;inset:0}.authStar{animation:3.2s ease-in-out infinite authTwinkle}.s1{animation-delay:0s}.s2{animation-delay:.5s}.s3{animation-delay:1s}.s4{animation-delay:1.5s}.s5{animation-delay:2s}.s6{animation-delay:2.5s}@keyframes authTwinkle{0%,to{opacity:.25}50%{opacity:1}}.authHeroContent{gap:12px;max-width:420px;animation:.6s both authFadeUp;display:grid;position:relative}.authHeroBadge{color:#6ee7c4;background:#20c99726;border:1px solid #20c9974d;border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.authHeroContent h2{margin:0;font-size:32px;line-height:1.2}.authHeroContent p{color:#a7bbc5;margin:0;font-size:15px;line-height:1.5}.authHeroChips{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.authHeroChips span{color:#d7e4ea;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:inline-flex}.authCard{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0e;border:1px solid #ffffff1a;border-radius:16px;place-self:center;gap:14px;width:100%;max-width:420px;margin:24px;padding:32px;animation:.5s both authFadeUp;display:grid;box-shadow:0 24px 60px #00000059}.authCardTop{justify-content:space-between;align-items:center;gap:10px;display:flex}.authCardBrand{flex:1;margin-bottom:4px}@keyframes authFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.authCard h1{margin:0;font-size:24px}.authLead{color:#91a6b1;margin:-8px 0 4px;font-size:13px}.authCard label{color:#91a6b1;gap:6px;font-size:13px;display:grid}.authCard input{color:#ecf4f7;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;width:100%;padding:10px 12px;transition:border-color .15s}.authCard input:focus{border-color:#20c997;outline:none}.grecaptcha-badge{visibility:hidden}.recaptchaNotice{color:#91a6b1;text-align:center;margin:-2px 0 0;font-size:11px;line-height:1.45}.recaptchaNotice a{color:#42d6ac;text-underline-offset:2px;text-decoration:underline}.passwordField{display:flex;position:relative}.passwordField input{padding-right:40px}.passwordToggle{color:#91a6b1;background:0 0;border:0;place-items:center;padding:6px;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.passwordToggle:hover{color:#ecf4f7}.strengthMeter{align-items:center;gap:8px;margin-top:2px;display:flex}.strengthBars{flex:1;gap:4px;display:flex}.strengthBars span{background:#ffffff1a;border-radius:999px;flex:1;height:4px}.strengthBars span.filled.s1{background:#ff6b6b}.strengthBars span.filled.s2{background:#ffa94d}.strengthBars span.filled.s3{background:#ffd43b}.strengthBars span.filled.s4{background:#20c997}.strengthMeter small{color:#91a6b1;white-space:nowrap;font-size:11px}.authSubmit{justify-content:center}.forgotPasswordLink{color:#91a6b1;justify-self:end;margin-top:-6px;font-size:12px;text-decoration:none}.forgotPasswordLink:hover{color:#20c997}.languageSwitcher{color:#6b7d88;align-items:center;gap:4px;display:inline-flex}.sidebarLangSwitcher{justify-content:center;margin-top:10px}.landingShell{background:linear-gradient(135deg,#0d1519 0%,#101820 54%,#15131f 100%);grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.landingHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 32px;display:flex}.landingHeaderActions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.landingHeader .compactButton{align-items:center;gap:7px;text-decoration:none;display:inline-flex}.landingHero{min-height:0}.landingPanel{place-self:center;gap:14px;width:100%;max-width:480px;margin:24px;animation:.5s both authFadeUp;display:grid}.landingPanel h1{margin:0;font-size:40px;line-height:1.15}.landingPanel>p{color:#a7bbc5;margin:0;font-size:16px;line-height:1.55}.landingCtaRow{gap:12px;margin-top:4px;display:flex}.landingCtaRow a{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.landingFeatures{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.landingFeatureCard{color:#20c997;background:#ffffff0d;border:1px solid #ffffff17;border-radius:12px;gap:6px;padding:14px;display:grid}.landingFeatureCard strong{color:#ecf4f7;font-size:14px}.landingFeatureCard span{color:#91a6b1;font-size:12px;line-height:1.4}.landingFooter{text-align:center;color:#6b7d88;padding:18px;font-size:12px}@media (width<=860px){.landingFeatures{grid-template-columns:1fr}.landingPanel h1{font-size:30px}}.genAvatar{color:#06100e;border-radius:999px;flex-shrink:0;place-items:center;font-weight:800;display:grid}.genAvatarPhoto{object-fit:cover;display:block}.profileLayout{gap:14px;max-width:560px;display:grid}.profileCard{gap:14px;display:grid}.profilePreview{justify-content:center;display:flex}.profileHint{color:#91a6b1;margin:0;font-size:13px;line-height:1.5}.telegramLinkedRow{justify-content:space-between;align-items:center;gap:10px;display:flex}.badgeChip{color:#6ee7c4;background:#20c99726;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.sessionCardLink{color:inherit;cursor:pointer;text-decoration:none}.profileNavLink{color:#d7e4ea;background:#ffffff0f;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;margin-top:10px;font-size:13px;text-decoration:none;display:flex}.genAvatar.ring{border:3px solid #ffffff8c}.toastStack{z-index:80;gap:10px;max-width:320px;display:grid;position:fixed;top:20px;right:20px}.achievementToast{background:linear-gradient(135deg,#1a2027,#10161b);border:1px solid #ffd43b66;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;animation:.4s cubic-bezier(.34,1.56,.64,1) both toastSlideIn,.4s 4.1s forwards toastFadeOut;display:flex;box-shadow:0 20px 50px #0006,0 0 0 1px #ffd43b14}.achievementToastIcon{color:#ffd43b;background:#ffd43b26;border-radius:999px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.achievementToast strong{color:#ffe8a3;font-size:13px;display:block}.achievementToast span{color:#d7e4ea;margin-top:2px;font-size:12px;display:block}.achievementToast.success{border-color:#10b98194}.achievementToast.success .achievementToastIcon{color:#34d399;background:#10b9812e}.achievementToast.error{border-color:#ef444499}.achievementToast.error .achievementToastIcon{color:#f87171;background:#ef44442e}@keyframes toastSlideIn{0%{opacity:0;transform:translate(40px)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastFadeOut{to{opacity:0;transform:translate(20px)}}.languageSwitcher button{color:#91a6b1;background:0 0;border:0;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:700}.languageSwitcher button.active{color:#20c997;background:#20c99726}.authSwitch{text-align:center;color:#91a6b1;font-size:13px}.authSwitch a{color:#20c997;font-weight:600;text-decoration:none}.telegramWidgetBlock{border-top:1px solid #ffffff14;justify-items:center;gap:10px;padding-top:6px;display:grid}.logoutButton{justify-content:center;width:100%;margin-top:10px;font-weight:600;transition:background .15s,color .15s,border-color .15s;color:#fca5a5!important;background:#ef444426!important;border:1px solid #ef444459!important}.logoutButton:hover{color:#fff!important;background:#ef444447!important;border-color:#ef444499!important}:root.theme-light .logoutButton{color:#b91c1c!important;background:#dc262614!important;border-color:#dc262659!important}:root.theme-light .logoutButton:hover{color:#7f1d1d!important;background:#dc26262e!important}.dangerButton{flex:none;min-width:32px;color:#ff8080!important;background:#ff80801f!important;min-height:32px!important;padding:0!important}.inlineForm{gap:8px;margin-top:12px;display:grid}.inlineForm input,.inlineForm select,.inlineForm textarea{color:#ecf4f7;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:8px 10px}.inlineForm textarea{min-height:60px;font-family:ui-monospace,monospace;font-size:13px}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.badgeToast{color:#20c997;background:#20c99726;border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;font-size:13px;display:flex}.livePill.offline{color:#ff8080;border-color:#ff808066}.uploadResult{gap:8px;margin-top:10px;font-size:12px;display:grid}.uploadOk{color:#6ee7c4;margin:0}.uploadErrors{color:#ffa94d}.uploadErrors ul{margin:4px 0 0;padding-left:18px}.teacherHeaderActions{align-items:center;gap:10px;display:flex}.fullscreenPrompt{color:#6ee7c4;background:#20c9971f;border:1px solid #20c99759;border-radius:999px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 16px;font-size:13px;font-weight:700;animation:2s ease-in-out infinite fullscreenPulse;display:inline-flex}@keyframes fullscreenPulse{0%,to{box-shadow:0 0 #20c9974d}50%{box-shadow:0 0 0 8px #20c99700}}.mountainPath{gap:28px;display:grid}.worldBlock{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;padding:16px 16px 30px;box-shadow:0 18px 48px #0003}.worldBanner{background:#00000038;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.worldBannerRight{align-items:center;gap:10px;display:flex}.worldLangChip{color:#4dabf7;background:#4dabf726;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.worldLangChip.lang-javascript{color:#f0db4f;background:#f0db4f26}.studentAdjustList{gap:8px;max-height:320px;display:grid;overflow-y:auto}.studentAdjustCard{background:#00000038;border:1px solid #ffffff0d;border-radius:8px;gap:10px;padding:10px;display:grid}.studentAdjustHeader{align-items:center;gap:8px;display:flex}.studentAdjustInfo{flex:1;gap:2px;min-width:0;display:grid}.studentAdjustInfo strong{text-overflow:ellipsis;white-space:nowrap;color:#ecf4f7;font-size:13px;overflow:hidden}.studentAdjustInfo span{color:#91a6b1;font-size:11px}.studentAdjustControls{border-top:1px solid #ffffff0a;border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.studentClassSelect{color:#ecf4f7;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;flex:1;min-width:0;padding:5px 6px;font-size:11px}.studentActionButtons{align-items:center;gap:4px;display:flex}.studentAdjustInputs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.adjustField{align-items:center;gap:4px;display:flex}.studentAdjustLabel{color:#91a6b1;text-transform:uppercase;margin-right:2px;font-size:11px;font-weight:600}.adjustField input{color:#ecf4f7;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;flex:1;width:100%;min-width:0;padding:5px 6px;font-size:11px}.worldBanner h3{margin:2px 0 0;font-size:18px}.worldBanner strong{color:#20c997;font-size:16px}.pathCanvas{width:100%;max-width:460px;margin:0 auto;position:relative}.pathSvg{width:100%;height:100%;position:absolute;inset:0}.pathLine{fill:none;stroke:#ffffff29;stroke-width:10px;stroke-linecap:round}.pathNode{color:#6b7d88;cursor:pointer;background:#1a2027;border:3px solid #ffffff24;border-radius:999px;place-items:center;width:64px;height:64px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 18px #0000004d}.pathNode.locked{cursor:not-allowed;opacity:.55}.pathNode.done{color:#06100e;background:#20c997;border-color:#20c997}.pathNode.current{color:#06141f;background:#4dabf7;border-color:#a5d8ff;animation:1.8s ease-in-out infinite pathPulse}.pathNode.boss{color:#241900;background:#ffd43b;border-color:#ffe066;width:78px;height:78px}.pathNode.boss.locked{color:#6b7d88;background:#1a2027}.pathNode.boss.done{color:#06100e;background:#20c997}.pathNode.selected{outline-offset:3px;outline:3px solid #fff}.pathNodeLabel{text-align:center;color:#d7e4ea;width:120px;margin-top:6px;font-size:11px;font-weight:700;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes pathPulse{0%,to{box-shadow:0 0 #4dabf780}50%{box-shadow:0 0 0 12px #4dabf700}}.missionModal{z-index:40;background:#04080ab8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.missionModalCard{background:#10161b;border:1px solid #ffffff1f;border-radius:12px;gap:14px;width:min(760px,100%);max-height:88vh;padding:20px;display:grid;overflow-y:auto;box-shadow:0 30px 80px #00000080}.missionModalTop{justify-content:flex-end;align-items:center;gap:10px;display:flex}.missionModalClose{color:#edf6f8;background:#ffffff14;border:0;border-radius:8px;min-height:36px;padding:0 14px}.timerPill{color:#a5d8ff;font-variant-numeric:tabular-nums;background:#4dabf724;border-radius:999px;align-items:center;gap:7px;min-height:34px;margin-right:auto;padding:0 14px;font-weight:700;display:inline-flex}.timerPill.timeUp{color:#ff8080;background:#ff6b6b2e}.hintPanel{gap:8px;display:grid}.hintList{flex-wrap:wrap;gap:8px;display:flex}.hintChip{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px}.hintChip.unlocked{color:#ffe8a3;background:#ffd43b1a;border-color:#ffd43b59;align-items:center;gap:8px;max-width:320px;padding:8px 12px;font-size:13px;display:flex}.hintChip button{color:#d7e4ea;background:0 0;border:0;align-items:center;gap:7px;padding:8px 12px;font-size:13px;display:flex}.hintChip button:disabled{opacity:.45;cursor:not-allowed}.hintCost{color:#ffd43b;align-items:center;gap:3px;font-weight:700;display:inline-flex}.rxTooltipContent{color:#ecf4f7;z-index:300;background:#1a2027;border:1px solid #ffffff1f;border-radius:6px;padding:6px 10px;font-size:12px;animation:.15s both rxFadeIn;box-shadow:0 12px 30px #0006}.rxTooltipArrow{fill:#1a2027}.rxOverlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:300;background:#06090cb3;animation:.15s both rxFadeIn;position:fixed;inset:0}.rxDialogContent{z-index:301;background:linear-gradient(135deg,#171e24,#10161b);border:1px solid #ffffff1a;border-radius:14px;width:min(420px,100vw - 32px);padding:22px;animation:.18s cubic-bezier(.34,1.56,.64,1) both rxPopIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 70px #00000080}.rxDialogTitle{color:#ecf4f7;margin:0 0 8px;font-size:16px}.rxDialogDescription{color:#9fb0b8;margin:0 0 18px;font-size:13px;line-height:1.5}.rxDialogActions{justify-content:flex-end;gap:10px;display:flex}@keyframes rxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rxPopIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.classLockOverlay{z-index:20;text-align:center;-webkit-backdrop-filter:blur(12px);background:#0a0e14bf;border:1px solid #e74c3c40;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:2rem;animation:.4s ease-out lockFadeIn;display:flex;position:absolute;inset:0}.classLockOverlay svg{color:#e74c3c;filter:drop-shadow(0 0 12px #e74c3c80);animation:2s ease-in-out infinite lockPulse}.classLockOverlay h2{color:#f1f5f9;margin:0;font-size:1.2rem;font-weight:700}.classLockOverlay p{color:#94a3b8;max-width:320px;margin:0;font-size:.9rem;line-height:1.5}@keyframes lockFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@keyframes lockPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}.puzzlesShell{flex-direction:column;gap:24px;padding-top:8px;display:flex}.puzzlesHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.puzzlesHeader h1{color:#f1f5f9;margin:8px 0 4px;font-size:1.5rem}.puzzlesLead{color:#94a3b8;max-width:520px;margin:0;line-height:1.6}.puzzlesStats{gap:16px;display:flex}.puzzlesStats>div{text-align:center;background:#1e293b99;border:1px solid #94a3b826;border-radius:12px;min-width:90px;padding:12px 20px}.puzzlesStats strong{color:#34d399;font-size:1.6rem;display:block}.puzzlesStats span{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.puzzlesGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.puzzleCard{background:linear-gradient(135deg,#1e293bd9,#0f172ad9);border:1px solid #94a3b826;border-radius:16px;flex-direction:column;gap:12px;padding:18px;transition:transform .15s,border-color .15s;display:flex}.puzzleCard:hover{border-color:#34d39966;transform:translateY(-2px)}.puzzleCard.solvedCard{background:linear-gradient(135deg,#064e3b66,#0f172ad9);border-color:#34d39980}.puzzleHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.puzzleKindBadge{color:#34d399;background:#34d39926;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.puzzleKindBadge.kind-code_output{color:#a5b4fc;background:#818cf826}.puzzleKindBadge.kind-bug_spot{color:#fdba74;background:#fb923c26}.puzzleSolvedBanner{color:#34d399;background:#34d39926;border-radius:10px;align-items:center;gap:6px;width:fit-content;padding:6px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.puzzleQuestion{color:#e2e8f0;margin:0;font-size:.95rem;line-height:1.5}.puzzleCode{color:#cbd5e1;white-space:pre-wrap;background:#020617b3;border-radius:10px;margin:0;padding:12px;font-family:SF Mono,Menlo,monospace;font-size:.82rem;line-height:1.5;overflow-x:auto}.puzzleOptions{flex-direction:column;gap:6px;display:flex}.puzzleOption{color:#e2e8f0;cursor:pointer;text-align:left;background:#1e293b80;border:1px solid #94a3b826;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.9rem;transition:all .15s}.puzzleOption:hover:not(:disabled){background:#1e293bbf;border-color:#34d39966}.puzzleOption.selected{background:#34d3991f;border-color:#34d399}.puzzleOption.correct{color:#86efac;background:#34d39940;border-color:#34d399}.puzzleOption.wrong{color:#fca5a5;background:#ef444426;border-color:#ef4444;animation:.4s puzzleShake}.puzzleOption:disabled{cursor:default;opacity:.7}.puzzleSubmit{align-self:flex-start;margin-top:4px}@keyframes puzzleShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.langSwitcher{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.langChipButton{color:#cbd5e1;cursor:pointer;background:#1e293b80;border:1px solid #94a3b833;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:.86rem;font-weight:600;transition:all .15s}.langChipButton:hover{color:#f1f5f9;border-color:#34d39966}.langChipButton.active{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;box-shadow:0 4px 12px #10b9814d}.simulatorLabHeader{border-bottom:1px solid var(--tone-border);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;display:flex}.simulatorEyebrow{color:var(--tone-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:800;display:block}.simulatorLabHeader .sectionTitle{margin-bottom:7px}.simulatorLabHeader p{max-width:640px;color:var(--tone-text-muted);font-size:.92rem;line-height:1.5}.simulatorLabFacts{flex:none;grid-template-columns:repeat(2,minmax(112px,1fr));gap:8px;display:grid}.simulatorLabFacts>div{border:1px solid var(--tone-border);border-radius:var(--radius-sm);background:var(--tone-card-strong);grid-template-columns:18px 1fr;align-content:center;column-gap:8px;min-height:66px;padding:10px 12px;display:grid}.simulatorLabFacts svg{color:var(--tone-primary);grid-row:span 2}.simulatorLabFacts span{color:var(--tone-text-muted);font-size:.72rem}.simulatorLabFacts strong{color:var(--tone-text-strong);font-size:.92rem}.simulatorAlgorithmPicker{flex-wrap:wrap;gap:10px;margin:18px 0 14px;display:flex}.simulatorLessonStrip,.simulatorStatus,.simulatorKeyRule,.simulatorInputPanel{border:1px solid var(--tone-border);border-radius:var(--radius-sm);background:var(--tone-card-strong)}.simulatorLessonStrip{color:var(--tone-primary);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.simulatorLessonStrip div,.simulatorKeyRule div{gap:3px;display:grid}.simulatorLessonStrip span,.simulatorKeyRule strong,.simulatorStatus span{color:var(--tone-text-muted);font-size:.75rem;font-weight:700}.simulatorLessonStrip strong,.simulatorStatus strong{color:var(--tone-text-strong);font-size:.9rem;line-height:1.4}.simulatorGrid{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:20px;margin-top:20px;display:grid}.simulatorVisualColumn,.simulatorCodeColumn{align-content:start;gap:15px;min-width:0;display:grid}.simulatorStatus{justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.simulatorStatus>div:first-child{gap:3px;min-width:0;display:grid}.simulatorProgress{text-align:right;gap:6px;min-width:130px;display:grid}.simulatorProgress>div{background:var(--tone-border);border-radius:999px;width:100%;height:6px;overflow:hidden}.simulatorProgress i{border-radius:inherit;background:var(--tone-primary);height:100%;transition:width .2s;display:block}.simulatorCanvasLabel{color:var(--tone-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800;position:absolute;top:14px;left:16px}.simulatorControls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.simulatorControls>div:first-child{flex-wrap:wrap;display:flex}.simulatorSpeedValue{min-width:2.4rem;color:var(--tone-text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.simulatorInputPanel{gap:9px;padding:12px;display:grid}.simulatorInputPanel>strong{color:var(--tone-text-strong);font-size:.82rem}.simulatorKeyRule{align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.simulatorKeyRule svg{color:var(--tone-warning);flex:none}.simulatorKeyRule p{color:var(--tone-text-muted);font-size:.85rem;line-height:1.45}.simulatorSandboxGrid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;display:grid}:root.theme-light .simulatorInputPanel input{background:var(--tone-input-bg)!important;color:var(--tone-text)!important}@media (width<=980px){.simulatorLabHeader,.simulatorStatus{flex-direction:column;align-items:stretch}.simulatorGrid,.simulatorSandboxGrid{grid-template-columns:1fr}.simulatorLabFacts{max-width:360px}.simulatorProgress{text-align:left}}@media (width<=620px){.simulatorLabFacts{width:100%;max-width:none}.simulatorControls,.simulatorControls>div:first-child,.simulatorInputPanel>div{flex-direction:column;width:100%;align-items:stretch!important}.simulatorControls .compactButton,.simulatorInputPanel .compact{width:100%}}.puzzleRules{flex-wrap:wrap;gap:16px;margin-top:10px;display:flex}.puzzleRules span{color:#94a3b8;background:#1e293b80;border:1px solid #94a3b81a;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;display:inline-flex}.puzzleDiff{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;background:#0f172a99;border-radius:6px;padding:2px 8px;font-size:.7rem}.puzzleMeta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.puzzleReward{color:#cbd5e1;align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.puzzleReward svg{vertical-align:middle}.puzzleAttempts{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:600}.puzzleAttempts.danger{color:#fca5a5;background:#ef444426;border-color:#ef44444d}.puzzleWarn{color:#fdba74;background:#fb923c26;border:1px solid #fb923c4d;border-radius:12px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;font-size:.86rem;display:inline-flex}.studentAdjustCard .adjustRow,.studentAdjustCard .adjustButtons{margin-top:8px}.modalBackdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background:#020617a6;justify-content:center;align-items:center;animation:.18s ease-out modalFade;display:flex;position:fixed;inset:0}.modalCard{background:#0f172a;border:1px solid #94a3b833;border-radius:16px;min-width:320px;max-width:520px;padding:24px;box-shadow:0 12px 40px #00000080}.modalCard h3{color:#f1f5f9;margin:0 0 8px;font-size:1.05rem}@keyframes modalFade{0%{opacity:0}to{opacity:1}}.classCreateForm{background:#1e293b66;border:1px dashed #94a3b833;border-radius:12px;grid-template-columns:1fr;gap:10px;padding:12px;display:grid}.langMultiPicker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.langMultiLabel{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-right:4px;font-size:.78rem}.classLangChips{flex-wrap:wrap;gap:4px;display:inline-flex}.botDuelShell{flex-direction:column;gap:20px;max-width:780px;margin:0 auto;display:flex}.botDuelHero{text-align:center;background:linear-gradient(135deg,#8b5cf62e,#0f172ae6);border:1px solid #94a3b833;border-radius:20px;padding:32px}.botDuelHeroIcon{color:#a78bfa;background:#8b5cf640;border-radius:999px;margin-bottom:12px;padding:16px;display:inline-flex}.botDuelHero h1{color:#f1f5f9;margin:0 0 8px;font-size:1.5rem}.botDuelHero p{color:#94a3b8;max-width:520px;margin:0 auto;line-height:1.6}.botDuelOptions{grid-template-columns:1fr 1fr;gap:16px;display:grid}.botDuelBlock{background:#1e293b8c;border:1px solid #94a3b826;border-radius:14px;padding:16px}.botDuelBlock label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.botDuelStart{align-self:center;align-items:center;gap:8px;padding:12px 32px;font-size:1rem;display:inline-flex}.botDuelRunHeader{background:#1e293b99;border:1px solid #94a3b826;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.botDuelProgress{color:#f1f5f9;align-items:center;gap:8px;font-weight:700;display:inline-flex}.botDuelTimer{color:#34d399;font-variant-numeric:tabular-nums;background:#34d39926;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:700;display:inline-flex}.botDuelTimer.danger{color:#fca5a5;background:#ef44442e;animation:1s ease-in-out infinite pulse}.botDuelProgressBar{background:#94a3b826;border-radius:999px;height:6px;overflow:hidden}.botDuelProgressBar>span{background:linear-gradient(90deg,#10b981,#34d399);height:100%;transition:width .2s;display:block}.botDuelPenalty{align-self:stretch;align-items:flex-start;gap:10px;display:flex}.botDuelPenalty>div{gap:3px;display:grid}.botDuelPenalty strong{color:inherit}.botDuelPenalty span{opacity:.82;line-height:1.35}.botDuelCard{background:linear-gradient(135deg,#1e293be6,#0f172ae6)}.botDuelPracticeLab{gap:14px;display:grid}.practiceLabPreview{background:#0f172ab8;border:1px solid #60a5fa61;border-radius:8px;overflow:hidden}.practiceLabHeader{color:#dbeafe;background:#1e293bd1;border-bottom:1px solid #60a5fa40;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:9px 12px;font-size:.78rem;font-weight:700;display:flex}.practiceLabHeader span,.practiceLabHeader small{align-items:center;gap:6px;display:inline-flex}.practiceLabHeader small{color:#67e8f9;font-size:.72rem;font-weight:600}.practiceFlexBoard{background:#10233a;min-height:152px;padding:26px;position:relative}.practiceFlexTarget{border:2px dashed #facc15c2;border-radius:50%;width:38px;height:38px;position:absolute;top:50%;transform:translateY(-50%)}.practiceFlexTarget--start{left:26px}.practiceFlexTarget--center{left:calc(50% - 19px)}.practiceFlexTarget--end{right:26px}.practiceLabPreview--flex-end .practiceFlexTarget--start,.practiceLabPreview--flex-end .practiceFlexTarget--center,.practiceLabPreview--flex-center .practiceFlexTarget--center,.practiceLabPreview--flex-center .practiceFlexTarget--end{display:none}.practiceLabPreview--flex-center .practiceFlexTarget--start{top:50%}.practiceFlexTokens{z-index:1;justify-content:flex-start;align-items:center;gap:12px;min-height:100px;transition:justify-content .34s,align-items .34s,gap .34s;display:flex;position:relative}.practiceFlexToken{color:#082f49;background:#0ea5e9;border:2px solid #bae6fd;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.76rem;font-weight:800;transition:transform .34s,background .2s;display:inline-grid;box-shadow:0 0 0 5px #0ea5e926}.practiceLabPreview--flex-end.is-target .practiceFlexTokens{justify-content:flex-end}.practiceLabPreview--flex-center .practiceFlexBoard{align-items:flex-start;display:flex}.practiceLabPreview--flex-center.is-target .practiceFlexTokens{align-items:center}.practiceLabPreview--flex-between.is-target .practiceFlexTokens{justify-content:space-between}.practiceLabPreview.is-target .practiceFlexToken,.practiceLabPreview.is-target .practiceGridToken{color:#052e16;background:#22c55e;border-color:#bbf7d0}.practiceLabPreview.is-miss .practiceFlexToken,.practiceLabPreview.is-miss .practiceGridToken{color:#4c0519;background:#fb7185;border-color:#fecdd3}.practiceGridBoard{background:#10233a;grid-template-rows:repeat(2,minmax(52px,1fr));grid-template-columns:repeat(3,1fr);gap:7px;min-height:152px;padding:12px;display:grid;position:relative}.practiceLabPreview--grid-columns .practiceGridBoard{grid-template-columns:repeat(2,1fr)}.practiceLabPreview--grid-columns.is-target .practiceGridBoard{grid-template-columns:repeat(3,1fr)}.practiceGridCell{background:#1e293ba3;border:1px dashed #94a3b894;border-radius:5px}.practiceGridCell--2,.practiceGridCell--3,.practiceGridCell--5{border-color:#facc15c7}.practiceGridToken{z-index:1;color:#f5f3ff;background:#8b5cf6;border:2px solid #c4b5fd;border-radius:6px;grid-area:1/1;place-items:center;margin:7px;transition:grid-column .34s,grid-row .34s,transform .34s,background .2s;display:grid}.practiceLabPreview--grid-span.is-target .practiceGridToken{grid-column:2/4}.practiceLabPreview--grid-columns.is-target .practiceGridToken{grid-area:2/3}.practiceLabPreview--grid-center.is-target .practiceGridToken{grid-area:1/2/3;transform:scale(.84)}.practiceJavaScriptStage{background:#172554;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:116px;padding:18px;display:grid}.practiceJavaScriptOutput{color:#c7d2fe;overflow-wrap:anywhere;background:#0f172a;border:1px solid #818cf885;border-radius:6px;align-items:center;min-height:58px;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.84rem;display:flex}.practiceLabPreview--javascript.is-target .practiceJavaScriptOutput{color:#bbf7d0;border-color:#4ade80d9}.practiceRunButton{color:#eef2ff;min-height:40px;font:inherit;cursor:pointer;background:#4338ca;border:1px solid #818cf8;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.practiceRunButton:disabled{opacity:.55;cursor:not-allowed}.botDuelPracticeLab .puzzleOption{overflow-wrap:anywhere;text-align:left;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.botDuelNav{justify-content:space-between;gap:12px;display:flex}.botDuelNav .primaryButton,.botDuelNav .compactButton{align-items:center;gap:6px;display:inline-flex}.botDuelResult{text-align:center;align-items:center}.botDuelGradeBadge{background:#1e293bb3;border:2px solid #34d399;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:24px 32px;display:flex}.botDuelGradeBadge strong{color:#34d399;font-size:3rem;line-height:1}.botDuelGradeBadge span{color:#cbd5e1;font-size:.9rem}.botDuelGradeBadge.grade-A{border-color:#34d399}.botDuelGradeBadge.grade-A strong{color:#34d399}.botDuelGradeBadge.grade-B{border-color:#60a5fa}.botDuelGradeBadge.grade-B strong{color:#60a5fa}.botDuelGradeBadge.grade-C{border-color:#fbbf24}.botDuelGradeBadge.grade-C strong{color:#fbbf24}.botDuelGradeBadge.grade-D{border-color:#fb923c}.botDuelGradeBadge.grade-D strong{color:#fb923c}.botDuelGradeBadge.grade-F{border-color:#ef4444}.botDuelGradeBadge.grade-F strong{color:#ef4444}.botDuelResult h1{color:#f1f5f9;margin:0;font-size:1.4rem}.botDuelResultStats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;width:100%;max-width:640px;display:grid}.botDuelResultStats>div{background:#1e293b8c;border:1px solid #94a3b826;border-radius:12px;padding:16px}.botDuelResultStats strong{color:#f1f5f9;font-size:1.4rem;display:block}.botDuelResultStats span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.botDuelBreakdown{background:#1e293b66;border:1px solid #94a3b826;border-radius:12px;width:100%;max-width:640px;padding:12px}.botDuelBreakdown summary{cursor:pointer;color:#cbd5e1;font-weight:600}.botDuelBreakdown ol{text-align:left;margin:12px 0 0;padding:0;list-style:none}.botDuelBreakdown li{border-radius:8px;grid-template-columns:40px 1fr auto;gap:12px;margin-bottom:4px;padding:8px 10px;font-size:.85rem;display:grid}.botDuelBreakdown li.correct{background:#34d3991a}.botDuelBreakdown li.wrong{background:#ef44441a}.botDuelBreakdown li .num{color:#94a3b8;font-weight:700}.botDuelBreakdown li .student{color:#f1f5f9}.botDuelBreakdown li .answer{color:#cbd5e1;font-size:.78rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.antiCheatArea,.antiCheatArea *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.antiCheatArea img,.antiCheatArea pre,.antiCheatArea code{pointer-events:auto;-webkit-touch-callout:none}body.pygm-blur .antiCheatArea{filter:blur(10px);transition:filter .15s ease-out}.antiCheatArea::selection{color:inherit;background:0 0}.antiCheatArea ::selection{color:inherit;background:0 0}.dailyShell{flex-direction:column;gap:20px;max-width:780px;margin:0 auto;display:flex}.dailyHero{background:linear-gradient(135deg,#fb923c33,#0f172ae6);border:1px solid #fb923c4d;border-radius:20px;padding:24px}.dailyBadge{color:#fdba74;text-transform:uppercase;letter-spacing:.06em;background:#fb923c40;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.dailyHero h1{color:#f1f5f9;margin:12px 0 8px;font-size:1.4rem}.dailyMeta{color:#cbd5e1;flex-wrap:wrap;gap:18px;font-size:.86rem;display:flex}.dailyMeta span{align-items:center;gap:5px;display:inline-flex}.dailyCard{border-color:#fb923c4d}.puzzleSolvedBanner.wrong{color:#fca5a5;background:#ef44441f}.dailyRankCard{color:#34d399;background:#34d3991f;border:1px solid #34d39966;border-radius:14px;align-items:center;gap:16px;padding:14px 20px;display:flex}.dailyRankCard strong{font-size:1.4rem;display:block}.dailyRankCard span{color:#cbd5e1;font-size:.82rem}.dailyLeaderboard{background:#1e293b80;border:1px solid #94a3b826;border-radius:16px;padding:20px}.dailyLeaderHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dailyLeaderHeader h2{color:#f1f5f9;align-items:center;gap:8px;margin:0;font-size:1rem;display:inline-flex}.dailyLeaderList{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dailyLeaderList li{background:#0f172a8c;border-radius:10px;grid-template-columns:32px 26px 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;font-size:.9rem;display:grid}.dailyLeaderList li.me{background:#34d39926;border:1px solid #34d39959}.dailyLeaderList .rank{color:#94a3b8;font-weight:700}.dailyLeaderList .name{color:#f1f5f9}.dailyLeaderList .time{font-variant-numeric:tabular-nums;color:#cbd5e1}.dailyLeaderList .xp{color:#34d399;font-weight:700}.leaderShell{flex-direction:column;gap:20px;max-width:780px;margin:0 auto;display:flex}.leaderHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.leaderHeader h1{color:#f1f5f9;margin:6px 0 0;font-size:1.4rem}.leaderPodium{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:12px;display:grid}.podiumStep{text-align:center;background:#1e293b8c;border:1px solid #94a3b826;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:16px;display:flex}.podiumStep.rank-1{background:linear-gradient(135deg,#fbbf2440,#1e293be6);border-color:#fbbf2480;transform:translateY(-12px)}.podiumStep.rank-2{background:linear-gradient(135deg,#94a3b840,#1e293be6);border-color:#94a3b866}.podiumStep.rank-3{background:linear-gradient(135deg,#b4530940,#1e293be6);border-color:#b4530980}.podiumBadge{color:#fbbf24;background:#0f172ab3;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-weight:700;display:inline-flex}.podiumName{color:#f1f5f9;font-size:.95rem}.podiumClass{color:#94a3b8;font-size:.78rem}.podiumXp{color:#34d399;font-weight:700}.leaderList{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.leaderList li{background:#1e293b80;border:1px solid #94a3b81a;border-radius:10px;grid-template-columns:40px 30px 1fr auto auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.leaderList li.me{background:#34d3991f;border-color:#34d39959}.leaderList .rank{color:#94a3b8;font-weight:700}.leaderInfo{flex-direction:column;display:flex}.leaderInfo strong{color:#f1f5f9;font-size:.92rem}.leaderInfo span{color:#94a3b8;font-size:.75rem}.leaderList .lvl{color:#a5b4fc;font-size:.8rem}.leaderList .xp{color:#34d399;font-size:.9rem;font-weight:700}.leaderList .streak{color:#fdba74;font-size:.85rem}:root.theme-light body,:root.theme-light .productShell{background:var(--tone-bg);color:var(--tone-text)}:root.theme-light .sidebar{background:var(--tone-panel-solid);border-color:var(--tone-border);color:var(--tone-text)}:root.theme-light .sidebar .sessionCard,:root.theme-light .sidebar .sessionCardLink,:root.theme-light .sidebar .profileNavLink,:root.theme-light .sidebar .logoutButton,:root.theme-light .sidebar .sideNav button{border-color:var(--tone-border);color:var(--tone-text);background:0 0}:root.theme-light .sidebar .sessionCardLink strong,:root.theme-light .sidebar strong{color:var(--tone-text-strong)}:root.theme-light .sidebar .sessionCardLink small,:root.theme-light .sidebar small{color:var(--tone-text-muted)}:root.theme-light .workspace,:root.theme-light .workspaceHeader,:root.theme-light .authShell{background:var(--tone-bg);color:var(--tone-text)}:root.theme-light .workspaceHeader h1,:root.theme-light .workspace h1,:root.theme-light .workspace h2,:root.theme-light .workspace h3{color:var(--tone-text-strong)}:root.theme-light .screenLabel,:root.theme-light .profileHint,:root.theme-light p,:root.theme-light small{color:var(--tone-text-muted)}:root.theme-light .courseHeader,:root.theme-light .rewardGrid,:root.theme-light .challengeBox,:root.theme-light .playerPanel,:root.theme-light .avatarBlock,:root.theme-light .missionCard,:root.theme-light .puzzleCard,:root.theme-light .puzzleWarn,:root.theme-light .dailyCard,:root.theme-light .dailyRankCard,:root.theme-light .dailyLeaderboard,:root.theme-light .dailyHero,:root.theme-light .botDuelBlock,:root.theme-light .botDuelHero,:root.theme-light .botDuelRunHeader,:root.theme-light .botDuelCard,:root.theme-light .botDuelResultStats>div,:root.theme-light .botDuelBreakdown,:root.theme-light .leaderHeader,:root.theme-light .podiumStep,:root.theme-light .leaderList li,:root.theme-light .puzzlesStats>div,:root.theme-light .panelBlock,:root.theme-light .classRow,:root.theme-light .modalCard{background:var(--tone-card);border-color:var(--tone-border);color:var(--tone-text)}:root.theme-light .puzzleQuestion,:root.theme-light .puzzleOption,:root.theme-light .langChipButton{color:var(--tone-text);background:var(--tone-card-strong);border-color:var(--tone-border)}:root.theme-light .puzzleOption:hover:not(:disabled){border-color:var(--tone-primary);background:var(--tone-primary-soft)}:root.theme-light .puzzleOption.selected{background:var(--tone-primary-soft);border-color:var(--tone-primary);color:var(--tone-primary)}:root.theme-light .langChipButton.active{background:var(--tone-primary);color:var(--tone-text-inverse);border-color:var(--tone-primary)}:root.theme-light .puzzleCode,:root.theme-light .adminCode,:root.theme-light pre.puzzleCode{color:#0f172a;border:1px solid var(--tone-border);background:#f1f5f9}:root.theme-light input:not([type=checkbox]):not([type=radio]),:root.theme-light textarea,:root.theme-light select{background:var(--tone-input-bg);color:var(--tone-text);border-color:var(--tone-border)}:root.theme-light input:focus,:root.theme-light textarea:focus,:root.theme-light select:focus{border-color:var(--tone-primary);box-shadow:0 0 0 3px var(--tone-primary-ring);outline:none}:root.theme-light .compactButton,:root.theme-light .primaryButton{background:var(--tone-primary);color:var(--tone-text-inverse);border-color:#0000}:root.theme-light .compactButton:hover:not(:disabled),:root.theme-light .primaryButton:hover:not(:disabled){background:var(--tone-primary-hover)}:root.theme-light .compactButton.dangerButton{background:var(--tone-danger-soft);color:var(--tone-danger);border:1px solid var(--tone-danger)}:root.theme-light .puzzleSolvedBanner{background:var(--tone-success-soft);color:var(--tone-success)}:root.theme-light .puzzleReward,:root.theme-light .puzzleDiff,:root.theme-light .dailyMeta{color:var(--tone-text-muted)}:root.theme-light .modalBackdrop{background:#0f172a59}:root.theme-light .productShell .fullscreenPrompt,:root.theme-light .productShell .cheatBlockedShell{background:var(--tone-card);color:var(--tone-text);border-color:var(--tone-border)}:root.theme-light .brandBlock,:root.theme-light .brandBlock h1,:root.theme-light .brandBlock strong{color:var(--tone-text-strong)}:root.theme-light .metric{background:var(--tone-card-strong);border:1px solid var(--tone-border)}:root.theme-light .metric span{color:var(--tone-text-muted)}:root.theme-light .metric b{color:var(--tone-text-strong)}:root.theme-light .metric svg{color:var(--tone-primary)}:root.theme-light .metric.gold svg{color:var(--tone-warn)}:root.theme-light .leaderRow{background:var(--tone-card);border:1px solid var(--tone-border);box-shadow:var(--tone-shadow-sm)}:root.theme-light .leaderRow b{color:var(--tone-warn)}:root.theme-light .feed{background:var(--tone-card);border:1px solid var(--tone-border);color:var(--tone-text)}:root.theme-light .feedMeta{color:var(--tone-text-muted)}:root.theme-light .feedMeta.warn{color:var(--tone-warn)}:root.theme-light .activityRow{background:var(--tone-card);border:1px solid var(--tone-border);color:var(--tone-text)}:root.theme-light .activityRow small{color:var(--tone-text-muted)}:root.theme-light .tableRow{background:var(--tone-card);border:1px solid var(--tone-border)}:root.theme-light .tableHead{color:var(--tone-text-muted)}:root.theme-light .configRow,:root.theme-light .courseRow{background:var(--tone-card);border:1px solid var(--tone-border);color:var(--tone-text)}:root.theme-light .configRow span,:root.theme-light .courseRow span{color:var(--tone-text-muted)}:root.theme-light .adminPasswordCard input,:root.theme-light .hintComposer input{background:var(--tone-input-bg);border-color:var(--tone-border);color:var(--tone-text)}:root.theme-light .currentMissionRow{background:var(--tone-primary-soft);border-color:var(--tone-primary)}:root.theme-light .currentMissionRow small{color:var(--tone-text-muted)}:root.theme-light .classCodeChip{background:var(--tone-primary-soft);color:var(--tone-primary)}:root.theme-light .controlDock{background:var(--tone-card);border-color:var(--tone-border)}:root.theme-light .sessionCard,:root.theme-light .panelBlock{box-shadow:var(--tone-shadow-sm)}:root.theme-light .brandBlock,:root.theme-light .sessionCard,:root.theme-light .workspaceHeader,:root.theme-light .taskPanel,:root.theme-light .editorPanel,:root.theme-light .resultPanel,:root.theme-light .learningRail,:root.theme-light .playerPanel,:root.theme-light .tvMap,:root.theme-light .controlDock{border-color:var(--tone-border);background:var(--tone-card);box-shadow:var(--tone-shadow-sm)}:root.theme-light .tvStatPanel{background:var(--tone-card);border:1px solid var(--tone-border)}:root.theme-light .chatList{background:var(--tone-bg);border-color:var(--tone-border-strong)}:root.theme-light .chatBubble{background:var(--tone-card);border-color:var(--tone-border);box-shadow:var(--tone-shadow-sm)}:root.theme-light .chatComposerRow textarea{background:var(--tone-input-bg);border:1px solid var(--tone-border);color:var(--tone-text)}:root.theme-light .chatComposerRow textarea:focus{border-color:var(--tone-primary);box-shadow:0 0 0 3px var(--tone-primary-ring)}:root.theme-light .dangerActive{background:#dc26261a!important}:root.theme-light .missionItem{background:var(--tone-card);border:1px solid var(--tone-border);color:var(--tone-text)}:root.theme-light .missionItem small{color:var(--tone-text-muted)}:root.theme-light .missionItem:hover{border-color:var(--tone-primary);box-shadow:var(--tone-shadow-md)}:root.theme-light .tabDock{background:var(--tone-card-strong);border:1px solid var(--tone-border)}:root.theme-light .tabDock button{color:var(--tone-text-muted)}:root.theme-light .tabDock button.active{color:var(--tone-primary);background:var(--tone-card)}:root.theme-light .leaderHeader{border-bottom:1px solid var(--tone-border);background:0 0;margin-bottom:4px;padding-bottom:14px}:root.theme-light .leaderHeader h1{color:var(--tone-text-strong)}:root.theme-light .podiumStep{box-shadow:var(--tone-shadow-md)}:root.theme-light .podiumStep.rank-1{background:#fffbeb;border-color:#f59e0b}:root.theme-light .podiumStep.rank-2{background:#f8fafc;border-color:#94a3b8}:root.theme-light .podiumStep.rank-3{background:#fff7ed;border-color:#fb923c}:root.theme-light .podiumName{color:var(--tone-text-strong)}:root.theme-light .podiumClass{color:var(--tone-text-muted)}:root.theme-light .leaderList li{box-shadow:var(--tone-shadow-sm)}:root.theme-light .leaderList li.me{background:var(--tone-success-soft);border-color:var(--tone-success)}:root.theme-light .leaderInfo strong{color:var(--tone-text-strong)}:root.theme-light .leaderInfo span,:root.theme-light .leaderList .rank{color:var(--tone-text-muted)}:root.theme-light .leaderList .lvl{color:var(--tone-primary)}:root.theme-light .podiumXp,:root.theme-light .leaderList .xp{color:#047857}:root.theme-light .leaderList .streak{color:var(--tone-warning)}:root.theme-light .simulatorCanvas{background:var(--tone-card-strong)!important;border-color:var(--tone-border-strong)!important}:root.theme-light .stackItem{color:var(--tone-text-inverse)!important}:root.theme-light .worldBlock{background:var(--tone-card);border-color:var(--tone-border);box-shadow:var(--tone-shadow-sm)}:root.theme-light .worldBanner{background:var(--tone-card-strong);border-color:var(--tone-border)}:root.theme-light .worldBanner h3{color:var(--tone-text-strong)}:root.theme-light .pathNodeLabel{color:var(--tone-text)}:root.theme-light .pathLine{stroke:#0000002e}:root.theme-light .pathNode{color:#6b7d8a;background:#e8edf2;border-color:#00000026}:root.theme-light .pathNode.done{background:var(--tone-success);color:#fff;border-color:var(--tone-success)}:root.theme-light .pathNode.current{background:var(--tone-primary);color:#fff;border-color:var(--tone-primary)}:root.theme-light .resetBtn{background:var(--tone-danger-soft);color:var(--tone-danger);border:1px solid var(--tone-danger)}:root.theme-light .tabStrip{background:var(--tone-card-strong);border:1px solid var(--tone-border)}:root.theme-light .tabStrip button{color:var(--tone-text-muted)}:root.theme-light .tabStrip button:hover{background:var(--tone-primary-soft);color:var(--tone-text)}:root.theme-light .tabStrip button.activeTab{background:var(--tone-primary);color:var(--tone-text-inverse);box-shadow:var(--tone-shadow-sm)}:root.theme-light .duelFormSelects select,:root.theme-light .duelFormControls select,:root.theme-light .duelFormControls input{background:var(--tone-input-bg);color:var(--tone-text);border-color:var(--tone-border)}:root.theme-light .duelFormSelects select:focus,:root.theme-light .duelFormControls select:focus,:root.theme-light .duelFormControls input:focus{border-color:var(--tone-primary);box-shadow:0 0 0 3px var(--tone-primary-ring);outline:none}:root.theme-light ::-webkit-scrollbar-track{background:var(--tone-bg)}:root.theme-light ::-webkit-scrollbar-thumb{background:var(--tone-border-strong);border-radius:999px}:root.theme-light ::-webkit-scrollbar-thumb:hover{background:var(--tone-text-muted)}.sidebar{flex-direction:column;gap:20px;padding:20px 14px;display:flex}.sideNav{flex-direction:column;flex-grow:0;gap:4px;display:flex}.sideNavItem{border-radius:var(--radius-md);color:var(--tone-text-muted);border:1px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sideNavItem:hover{background:var(--tone-primary-soft);color:var(--tone-text)}.sideNavItem.active{background:var(--tone-primary-soft);color:var(--tone-primary);border-color:var(--tone-primary);font-weight:600}.sidebarFooter{border-top:1px solid var(--tone-border);flex-direction:column;gap:6px;margin-top:auto;padding-top:14px;display:flex}.themeToggleButton{cursor:pointer;border:1px solid var(--tone-border);text-align:left;background:0 0;font-family:inherit;transition:background .15s,border-color .15s}.themeToggleButton:hover{background:var(--tone-warn-soft);color:var(--tone-warn);border-color:var(--tone-warn)}.chatShell{flex-direction:column;gap:14px;max-width:880px;height:calc(100vh - 180px);min-height:420px;margin:0 auto;padding:20px;display:flex}.chatHeader h1{color:var(--tone-text-strong);margin:4px 0;font-size:1.35rem}.chatHeader p{color:var(--tone-text-muted);margin:0;font-size:.9rem}.chatList{background:var(--tone-card-strong);border-radius:var(--radius-md);border:1px solid var(--tone-border);flex-direction:column;flex:1;gap:10px;padding:8px;display:flex;overflow-y:auto}.chatEmpty{text-align:center;color:var(--tone-text-muted);margin:auto}.chatMessage{align-items:flex-start;gap:10px;display:flex}.chatMessage.mine{flex-direction:row-reverse}.chatBubble{border-radius:var(--radius-md);background:var(--tone-panel-solid);border:1px solid var(--tone-border);max-width:70%;box-shadow:var(--tone-shadow-sm);color:var(--tone-text);padding:10px 12px}.chatMessage.mine .chatBubble{background:var(--tone-primary-soft);border-color:var(--tone-primary);color:var(--tone-text)}.chatMessage.announcement .chatBubble{background:var(--tone-warn-soft);border-color:var(--tone-warn);width:fit-content;max-width:100%}.chatMeta{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:.75rem;display:flex}.chatMeta strong{color:var(--tone-text-strong);font-size:.82rem}.chatRole{color:var(--tone-text-muted);text-transform:capitalize}.chatTime{color:var(--tone-text-muted);font-variant-numeric:tabular-nums}.chatAnnounceBadge{border-radius:var(--radius-pill);background:var(--tone-warn);color:var(--tone-text-inverse);text-transform:uppercase;align-items:center;gap:3px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-flex}.chatDeleteBtn{color:var(--tone-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;padding:2px 4px}.chatDeleteBtn:hover{color:var(--tone-danger);background:var(--tone-danger-soft)}.chatBubble p{white-space:pre-wrap;word-break:break-word;color:var(--tone-text);margin:0;font-size:.9rem;line-height:1.4}.chatComposer{flex-direction:column;gap:6px;display:flex}.chatComposerRow{align-items:flex-end;gap:8px;display:flex}.chatComposerRow textarea{resize:vertical;flex:1;min-height:44px;max-height:140px;padding:8px 12px;font-family:inherit;font-size:.9rem}.chatAnnounceToggle{color:var(--tone-text-muted);cursor:pointer;align-items:center;gap:6px;width:fit-content;font-size:.8rem;display:inline-flex}.chatAnnounceToggle input{accent-color:var(--tone-warn)}:root.theme-light .classCreateForm{background:var(--tone-card-strong);border:1px dashed var(--tone-border-strong)}:root.theme-light .langMultiLabel{color:var(--tone-text)}:root.theme-light .worldLangChip{color:#1c7ed6;background:#4dabf72e}:root.theme-light .worldLangChip.lang-javascript{color:#857400;background:#f0db4f40}:root.theme-light .worldLangChip.lang-go{color:#0b7285;background:#00add833}:root.theme-light .worldLangChip.lang-php{color:#4c4f6e;background:#777bb433}:root.theme-light .worldLangChip.lang-cpp{color:#1c3d5a;background:#00599c33}:root.theme-light .worldLangChip.lang-django{color:#0c5436;background:#095c3e33}:root.theme-light .worldLangChip.lang-flask{color:#495057;background:#96969640}:root.theme-light .worldLangChip.lang-css{color:#1971c2;background:#264de433}:root.theme-light .livePill{background:var(--tone-success-soft);color:var(--tone-success)}:root.theme-light .livePill.offline{background:var(--tone-danger-soft);color:var(--tone-danger)}.tutorShell{flex-direction:column;gap:16px;max-width:1180px;margin:0 auto;display:flex}.tutorHomeHero{border-radius:var(--radius-xl);background:var(--tone-card);border:1px solid var(--tone-border);box-shadow:var(--tone-shadow-sm);padding:24px}.tutorHomeHero h1{color:var(--tone-text-strong);margin:6px 0;font-size:1.5rem}.tutorHomeHero p{color:var(--tone-text-muted);margin:0}.tutorGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.tutorTrackCard{border-radius:var(--radius-lg);background:var(--tone-card);border:1px solid var(--tone-border);color:var(--tone-text);text-align:left;cursor:pointer;align-items:center;gap:14px;padding:18px;font-family:inherit;transition:transform .15s,border-color .15s;display:flex}.tutorTrackCard:hover{border-color:var(--tone-primary);transform:translateY(-2px)}.tutorTrackCard>div:nth-child(2){flex:1;min-width:0}.tutorTrackCard h3{color:var(--tone-text-strong);margin:0 0 4px;font-size:1.05rem}.tutorTrackCard p{color:var(--tone-text-muted);margin:0 0 8px;font-size:.85rem}.tutorTrackAccent{border-radius:4px;align-self:stretch;width:4px}.tutorTrackMeta{color:var(--tone-text-muted);gap:12px;margin-bottom:6px;font-size:.78rem;display:flex}.tutorTrackMeta span{align-items:center;gap:4px;display:inline-flex}.tutorProgressBar{border-radius:var(--radius-pill);background:var(--tone-card-strong);height:5px;overflow:hidden}.tutorProgressBar>span{height:100%;transition:width .3s;display:block}.tutorHeader{border-radius:var(--radius-lg);background:var(--tone-card);border:1px solid var(--tone-border);align-items:center;gap:14px;padding:14px 16px;display:flex}.tutorHeader h1{color:var(--tone-text-strong);margin:0;font-size:1.1rem}.tutorHeader>div:nth-child(2){flex:1}.tutorHeaderStats{gap:6px;display:flex}.tutorStepStrip{background:var(--tone-card-strong);border-radius:var(--radius-md);flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.tutorStepPill{border-radius:var(--radius-pill);border:1px solid var(--tone-border);background:var(--tone-panel-solid);min-width:30px;height:30px;color:var(--tone-text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.tutorStepPill.lesson{border-color:var(--tone-info)}.tutorStepPill.exercise{border-color:var(--tone-primary)}.tutorStepPill.active{background:var(--tone-primary);color:var(--tone-text-inverse);border-color:var(--tone-primary)}.tutorStepPill.done{background:var(--tone-success-soft);color:var(--tone-success);border-color:var(--tone-success)}.tutorStepPill.locked{opacity:.35;border-color:var(--tone-border);background:var(--tone-card-strong);cursor:not-allowed!important}.tutorWorkspace{grid-template-columns:340px 1fr;align-items:stretch;gap:14px;display:grid}@media (width<=900px){.tutorWorkspace{grid-template-columns:1fr}}.tutorLesson{border-radius:var(--radius-lg);background:var(--tone-card);border:1px solid var(--tone-border);color:var(--tone-text);flex-direction:column;gap:10px;padding:18px;display:flex}.tutorLesson h2{color:var(--tone-text-strong);margin:0;font-size:1.05rem}.tutorBody,.tutorPrompt{color:var(--tone-text);margin:0;font-size:.9rem;line-height:1.55}.tutorPrompt{border-radius:var(--radius-md);background:var(--tone-warn-soft);border-left:3px solid var(--tone-warn);padding:10px 12px}.tutorExampleLabel{text-transform:uppercase;color:var(--tone-text-muted);letter-spacing:.08em;font-size:.72rem}.tutorExample{border-radius:var(--radius-md);background:var(--tone-card-strong);color:var(--tone-text);white-space:pre-wrap;margin:0;padding:10px 12px;font-family:SF Mono,Menlo,monospace;font-size:.82rem;overflow-x:auto}.tutorNavRow{justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px;display:flex}.tutorEditorPane{border-radius:var(--radius-lg);background:var(--tone-card);border:1px solid var(--tone-border);flex-direction:column;gap:8px;padding:14px;display:flex}.tutorEditorHead,.tutorPreviewHead{color:var(--tone-text-muted);justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;display:flex}.tutorEditor{border-radius:var(--radius-md);border:1px solid var(--tone-border);overflow:hidden}.tutorPreview{border:1px solid var(--tone-border);border-radius:var(--radius-md);background:#fff;width:100%;height:280px}.tutorLessonPreview{height:360px}.tutorLessonAck{border:1px solid var(--tone-border);border-radius:var(--radius-md);color:var(--tone-text);background:var(--tone-card-strong);align-items:center;gap:8px;padding:10px 12px;font-size:.86rem;display:flex}.tutorLessonAck input{accent-color:var(--tone-primary)}.tutorLessonComplete{align-self:flex-end}.tutorCoachButton{border:1px solid var(--tone-info);border-radius:var(--radius-md);background:var(--tone-info-soft);width:100%;min-height:40px;color:var(--tone-info);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:.86rem;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.tutorCoachButton:not(:disabled):hover{background:var(--tone-card);box-shadow:0 8px 18px color-mix(in srgb, var(--tone-info) 18%, transparent);transform:translateY(-1px)}.tutorCoachModal{z-index:160;background:color-mix(in srgb, var(--tone-bg) 72%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:24px;animation:.18s ease-out both tutorCoachOverlayIn;display:flex;position:fixed;inset:0}.tutorCoachDialog{border:1px solid var(--tone-info);border-top:4px solid var(--tone-info);background:var(--tone-card);width:min(760px,100%);max-height:min(760px,100dvh - 48px);color:var(--tone-text);box-shadow:0 28px 68px color-mix(in srgb, var(--tone-bg) 68%, transparent);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;animation:.26s cubic-bezier(.2,.84,.2,1) both tutorCoachDialogIn;display:grid;overflow:hidden}.tutorCoachDialogHead{border-bottom:1px solid var(--tone-border);justify-content:space-between;align-items:center;gap:14px;padding:17px 18px;display:flex}.tutorCoachIdentity{align-items:center;gap:11px;min-width:0;display:flex}.tutorCoachGlyph{border:1px solid var(--tone-info);background:var(--tone-info-soft);width:44px;height:44px;color:var(--tone-info);border-radius:50%;flex:0 0 44px;place-items:center;display:grid}.tutorCoachGlyph.thinking{animation:1.1s ease-in-out infinite tutorCoachGlyphPulse}.tutorCoachIdentity .screenLabel{max-width:480px;color:var(--tone-text-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.tutorCoachIdentity h2{color:var(--tone-text);margin:2px 0 0;font-size:1.18rem;line-height:1.2}.tutorCoachClose{border:1px solid var(--tone-border);background:var(--tone-card-strong);width:38px;height:38px;color:var(--tone-text-muted);cursor:pointer;border-radius:8px;flex:0 0 38px;place-items:center;transition:color .14s,border-color .14s,background .14s;display:grid}.tutorCoachClose:hover{border-color:var(--tone-danger);background:var(--tone-danger-soft);color:var(--tone-danger)}.tutorCoachDialogBody{min-height:0;padding:20px 22px 24px;overflow-y:auto}.tutorCoachAnswer{animation:.3s ease-out both tutorCoachAnswerIn}.tutorCoachAnswer p{color:var(--tone-text);white-space:pre-wrap;margin:0 0 17px;font-size:1rem;line-height:1.7}.tutorCoachAnswer p:last-child{margin-bottom:0}.tutorCoachThinking{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:260px;display:grid}.tutorCoachThinking strong{font-size:1.05rem}.tutorCoachThinking p{max-width:340px;color:var(--tone-text-muted);margin:0;line-height:1.5}.tutorCoachThinkingBars{align-items:center;gap:5px;height:34px;display:inline-flex}.tutorCoachThinkingBars i{background:var(--tone-info);border-radius:3px;width:5px;height:14px;animation:.78s ease-in-out infinite tutorCoachBars;display:block}.tutorCoachThinkingBars i:nth-child(2){animation-delay:.11s}.tutorCoachThinkingBars i:nth-child(3){animation-delay:.22s}.tutorCoachDialogFoot{border-top:1px solid var(--tone-border);background:var(--tone-card-strong);justify-content:flex-end;padding:14px 18px;display:flex}@keyframes tutorCoachOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes tutorCoachDialogIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tutorCoachAnswerIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes tutorCoachGlyphPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--tone-info) 28%, transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--tone-info) 0%, transparent)}}@keyframes tutorCoachBars{0%,to{opacity:.5;height:10px}50%{opacity:1;height:28px}}@media (width<=640px){.tutorCoachModal{padding:12px}.tutorCoachDialog{max-height:calc(100dvh - 24px)}.tutorCoachDialogHead{padding:14px}.tutorCoachDialogBody{padding:16px}.tutorCoachAnswer p{font-size:.95rem;line-height:1.62}.tutorCoachDialogFoot{padding:12px 14px}}@media (prefers-reduced-motion:reduce){.tutorCoachModal,.tutorCoachDialog,.tutorCoachAnswer,.tutorCoachGlyph.thinking,.tutorCoachThinkingBars i{animation:none}}.tutorFeedback{border-radius:var(--radius-md);align-items:center;gap:8px;padding:10px 12px;font-size:.86rem;font-weight:600;display:flex}.tutorFeedback.ok{background:var(--tone-success-soft);color:var(--tone-success);border:1px solid var(--tone-success)}.tutorFeedback.fail{background:var(--tone-danger-soft);color:var(--tone-danger);border:1px solid var(--tone-danger)}.tutorFeedback code{border-radius:var(--radius-sm);background:var(--tone-card-strong);color:var(--tone-text);padding:2px 6px;font-family:SF Mono,Menlo,monospace}.tutorQuizPanel{border:1px solid var(--tone-primary);border-radius:var(--radius-lg);background:var(--tone-card);box-shadow:var(--tone-shadow-sm);gap:14px;padding:18px;display:grid}.tutorQuizHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tutorQuizHeader h2,.tutorQuizQuestion h3{color:var(--tone-text-strong);margin:0}.tutorQuizHeader p{color:var(--tone-text-muted);margin:5px 0 0;font-size:.88rem}.tutorQuizQuestions,.foundationQuizList{gap:12px;display:grid}.tutorQuizQuestion,.foundationQuizCard{border:1px solid var(--tone-border);border-radius:var(--radius-md);background:var(--tone-card-strong);gap:10px;padding:14px;display:grid}.tutorQuizQuestion h3{font-size:.95rem}.tutorQuizOptions{gap:8px;display:grid}.tutorQuizOption,.quizOptionInput{min-width:0;color:var(--tone-text);align-items:center;gap:9px;display:flex}.tutorQuizOption{border:1px solid var(--tone-border);border-radius:var(--radius-md);cursor:pointer;padding:10px 12px}.tutorQuizOption:has(input:checked){border-color:var(--tone-primary);background:var(--tone-primary-soft)}.tutorQuizOption input,.quizOptionInput>input[type=radio]{accent-color:var(--tone-primary)}.tutorQuizResult{border-radius:var(--radius-md);background:var(--tone-card-strong);gap:10px;padding:12px;display:grid}.tutorQuizResultLine{color:var(--tone-text);font-size:.88rem}.tutorQuizResultLine.correct{color:var(--tone-success)}.tutorQuizResultLine.incorrect{color:var(--tone-danger)}.foundationQuizManager .sectionTitle>div{min-width:0}.foundationQuizManager .sectionTitle p{margin:4px 0 0}.quizCreateForm{margin-bottom:16px}.quizOptionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quizOptionInput input:not([type=radio]){width:100%;min-width:0}.foundationQuizCardTop,.foundationQuizControls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.foundationQuizCardTop small{color:var(--tone-text-muted);margin-left:auto}.foundationQuizControls label{color:var(--tone-text-muted);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.foundationQuizControls label input[type=number]{width:68px}.foundationQuizControls .toggleLabel{color:var(--tone-text)}@media (width<=640px){.tutorQuizHeader{flex-direction:column;align-items:stretch}.quizOptionGrid{grid-template-columns:1fr}}.vscodeLayout{color:#ccc;border-radius:var(--radius-lg);height:650px;box-shadow:var(--tone-shadow-lg);background:#1e1e1e;border:1px solid #3c3c3c;margin-top:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden}.vscodeLayout.fullscreenMode{z-index:9999;border:none;border-radius:0;width:100vw;height:100vh;margin-top:0;position:fixed;top:0;left:0}.vscodeActivityBar{background:#181818;border-right:1px solid #252526;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;width:50px;padding:10px 0;display:flex}.vscodeActivityBar .topIcons,.vscodeActivityBar .bottomIcons{flex-direction:column;align-items:center;gap:15px;width:100%;display:flex}.activityButton{color:#858585;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;justify-content:center;align-items:center;width:100%;padding:8px;transition:color .2s,border-left .2s;display:flex}.activityButton:hover{color:#fff}.activityButton.active{color:#fff;border-left-color:#007acc}.vscodeSidebar{background:#252526;border-right:1px solid #3c3c3c;flex-direction:column;flex-shrink:0;width:220px;display:flex}.vscodeSidebar .panelContent{flex-direction:column;height:100%;display:flex}.vscodeSidebar .panelHeader{text-transform:uppercase;letter-spacing:.5px;color:#bbb;border-bottom:1px solid #3c3c3c;padding:10px 12px;font-size:.72rem;font-weight:700}.folderNode{color:#eee;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;font-weight:600;display:flex}.folderIcon{color:#e2b347}.fileList{flex-direction:column;display:flex}.fileItem{color:#ccc;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 12px;font-size:.8rem;transition:background .15s,color .15s;display:flex}.fileItem:hover{color:#fff;background:#2a2d2e}.fileItem.active{color:#fff;background:#37373d}.fileIcon{color:#858585}.fileItem.active .fileIcon{color:#519aba}.extensionsList{flex-direction:column;gap:8px;padding:8px;display:flex;overflow-y:auto}.extensionCard{border-radius:var(--radius-sm);background:#1e1e1e;border:1px solid #3c3c3c;flex-direction:column;gap:8px;padding:10px;display:flex}.extInfo strong{color:#eee;margin-bottom:2px;font-size:.8rem;display:block}.extInfo p{color:#858585;margin:0;font-size:.72rem}.extToggle{color:#fff;cursor:pointer;text-align:center;background:#3c3c3c;border:none;border-radius:3px;padding:4px 8px;font-size:.72rem;transition:background .2s}.extToggle:hover{background:#4c4c4c}.extToggle.enabled{background:#0e639c}.extToggle.enabled:hover{background:#17b}.vscodeWorkspace{background:#1e1e1e;flex:1;display:flex;overflow:hidden}.vscodeEditorPane{border-right:1px solid #3c3c3c;flex-direction:column;flex:1.2;display:flex;overflow:hidden}.tabHeader{background:#2d2d2d;border-bottom:1px solid #252526;align-items:center;height:35px;display:flex}.tabItem{color:#969696;cursor:pointer;background:#2d2d2d;border:none;border-right:1px solid #252526;align-items:center;height:100%;padding:0 16px;font-size:.78rem;transition:background .15s,color .15s;display:flex}.tabItem:hover{color:#e0e0e0;background:#333}.tabItem.active{color:#fff;background:#1e1e1e;border-top:2px solid #007acc;font-weight:600}.runButton{color:#fff;cursor:pointer;background:#0e639c;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:background .2s;display:flex}.runButton:hover{background:#17b}.editorBody{flex:1;overflow:auto}.editorBody .cm-editor{height:100%;font-size:14px}.vscodePreviewPane{background:#1e1e1e;flex-direction:column;flex:1;display:flex;overflow:hidden}.previewContainer{border-bottom:1px solid #3c3c3c;flex-direction:column;flex:1.5;display:flex;overflow:hidden}.previewHeader,.terminalHeader{color:#ccc;background:#2d2d2d;border-bottom:1px solid #252526;justify-content:space-between;align-items:center;padding:6px 12px;font-size:.72rem;font-weight:700;display:flex}.terminalHeader button{color:#858585;cursor:pointer;background:0 0;border:none;align-items:center;display:flex}.terminalHeader button:hover{color:#fff}.previewIframe{background:#fff;border:none;flex:1;width:100%;height:100%}.previewDisabled{color:#858585;background:#1e1e1e;border-bottom:1px solid #3c3c3c;flex:1.5;justify-content:center;align-items:center;font-size:.86rem;display:flex}.terminalContainer{background:#181818;flex-direction:column;flex:1;display:flex;overflow:hidden}.terminalBody{color:#0f0;flex:1;padding:10px;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:.78rem;overflow-y:auto}.terminalLine{white-space:pre-wrap;margin-bottom:4px;line-height:1.4}.terminalLine.error{color:#f14c4c}.termEmpty{color:#858585;font-style:italic}.vscodeStatusBar{color:#fff;z-index:10;background:#007acc;justify-content:space-between;align-items:center;height:22px;padding:0 10px;font-size:.7rem;display:flex;position:absolute;bottom:0;left:0;right:0}.vscodeLayout.fullscreenMode .vscodeStatusBar{position:fixed;bottom:0}.vscodeLayout.fullscreenMode .vscodeWorkspace{height:calc(100vh - 22px)}.statusLeft,.statusRight{align-items:center;gap:12px;display:flex}.statusLeft .branch{background:#ffffff26;border-radius:2px;padding:1px 4px}.statusProblems{color:#f14c4c;align-items:center;font-weight:700;display:flex}.statusClean{color:#89d185;align-items:center;display:flex}.newFileBtn{color:#858585;cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;display:flex}.newFileBtn:hover{color:#fff;background:#37373d}.newFileForm{background:#202021;border:1px solid #007acc;border-radius:3px;align-items:center;gap:6px;margin:4px 8px 4px 0;padding:4px 6px;display:flex}.newFileInput{color:#fff;background:0 0;border:none;outline:none;width:100%;font-size:.78rem}.fileItemWrapper{justify-content:space-between;align-items:center;width:100%;padding-right:8px;display:flex}.fileItemWrapper:hover{background:#2a2d2e}.fileItemWrapper .deleteFileBtn{opacity:0;color:#858585;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;transition:opacity .2s,color .2s;display:flex}.fileItemWrapper:hover .deleteFileBtn{opacity:1}.fileItemWrapper .deleteFileBtn:hover{color:#f14c4c}.closeTabBtn{color:#858585;cursor:pointer;background:0 0;border:none;border-radius:2px;align-items:center;margin-left:8px;padding:2px;display:flex}.closeTabBtn:hover{color:#fff;background:#474747}.noTabsLabel{color:#858585;align-self:center;padding-left:16px;font-size:.78rem}.prettierFormatBtn{color:#ccc;cursor:pointer;background:#37373d;border:1px solid #474747;border-radius:3px;padding:2px 8px;font-size:.72rem}.prettierFormatBtn:hover{color:#fff;background:#474747}.emptyEditorState{color:#858585;text-align:center;background:#1e1e1e;justify-content:center;align-items:center;height:100%;padding:20px;display:flex}.welcomeContent h2{color:#eee;margin:0 0 8px;font-size:1.4rem;font-weight:500}.welcomeContent p{max-width:400px;margin:0 auto 24px;font-size:.86rem;line-height:1.5}.shortcutsList{border-radius:var(--radius-md);background:#252526;border:1px solid #2d2d2d;flex-direction:column;gap:10px;max-width:320px;margin:0 auto;padding:12px;display:flex}.shortcutRow{justify-content:space-between;font-size:.78rem;display:flex}.shortcutRow .action{color:#ccc}.shortcutRow .keys{color:#eee;background:#37373d;border-radius:3px;padding:2px 6px;font-family:monospace}.vscodeBottomPanel{background:#181818;border-top:1px solid #2d2d2d;flex-direction:column;height:200px;display:flex;overflow:hidden}.panelTabs{background:#1e1e1e;border-bottom:1px solid #2d2d2d;align-items:center;height:30px;display:flex}.panelTabItem{color:#858585;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;height:100%;padding:0 16px;font-size:.72rem;font-weight:600;display:flex}.panelTabItem:hover{color:#e0e0e0}.panelTabItem.active{color:#fff;border-bottom-color:#007acc}.panelBody{flex:1;overflow:hidden}.terminalView{background:#181818;flex-direction:column;height:100%;display:flex}.terminalOutput{flex:1;padding:8px 12px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.8rem;overflow-y:auto}.terminalInputLine{background:#1e1e1e;border-top:1px solid #2d2d2d;align-items:center;padding:4px 12px;display:flex}.termPrompt{color:#0f0;margin-right:8px;font-family:monospace;font-weight:700}.termInputField{color:#fff;background:0 0;border:none;outline:none;flex:1;font-family:monospace;font-size:.8rem}.problemsView{height:100%;padding:10px;font-family:system-ui,sans-serif;font-size:.8rem;overflow-y:auto}.problemLine{border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:4px;padding:4px 8px;display:flex}.problemLine.error{color:#f14c4c;background:#f14c4c1a}.problemLine.warning{color:#cca300;background:#cc99001a}.probIcon{flex-shrink:0}.problemsEmpty{color:#89d185;align-items:center;gap:8px;padding:10px;display:flex}.cleanIcon{color:#89d185}.outputLogsView{color:#ccc;height:100%;padding:10px;font-family:monospace;font-size:.8rem;overflow-y:auto}.outputLine{margin-bottom:4px}.outputEmpty{color:#858585;font-style:italic}.extBadge{color:#fff;background:#007acc;border-radius:10px;padding:1px 5px;font-size:.65rem;font-weight:700;position:absolute;top:4px;right:4px}.vscodeActivityBar .topIcons{position:relative}.extHeader{align-items:center;gap:10px;display:flex}.extIcon{color:#007acc}.extAuthor{color:#858585;font-size:.65rem;display:block}.extDesc{color:#ccc;margin:4px 0 8px;font-size:.72rem;line-height:1.4}.vscodeLayout{background:var(--vscode-bg,#1f1f1f);color:var(--vscode-fg,#ccc);border-color:#ffffff1a}.vscodeActivityBar{background:var(--vscode-activity-bg,#181818);border-right:1px solid #ffffff14}.vscodeSidebar{background:var(--vscode-sidebar-bg,#252526);border-right:1px solid #ffffff14}.vscodeSidebar .panelHeader{border-bottom:1px solid #ffffff14}.vscodeWorkspace{background:var(--vscode-bg,#1f1f1f)}.vscodeEditorPane{border-right:1px solid #ffffff14}.tabHeader{background:var(--vscode-tabs-bg,#2d2d2d);border-bottom:1px solid #ffffff14}.tabItem{background:var(--vscode-tabs-bg,#2d2d2d);border-right:1px solid #ffffff14}.tabItem.active{background:var(--vscode-active-tab-bg,#1f1f1f);color:var(--vscode-fg,#fff);border-top-color:var(--vscode-status-bg,#007acc)}.vscodeStatusBar{background:var(--vscode-status-bg,#007acc);color:var(--vscode-status-fg,#fff)}.previewHeader,.terminalHeader{background:var(--vscode-tabs-bg,#2d2d2d);border-bottom:1px solid #ffffff14}.previewContainer{border-bottom:1px solid #ffffff14}.extensionCard{background:#ffffff08;border-color:#ffffff14}.themeSelectField{outline:none;font-size:.8rem;transition:border-color .2s}.themeSelectField:focus{border-color:#007acc!important}.vscodeLayout.preview-normal .vscodeEditorPane{flex:1.2}.vscodeLayout.preview-normal .vscodePreviewPane{flex:1}.vscodeLayout.preview-wide .vscodeEditorPane{flex:.4}.vscodeLayout.preview-wide .vscodePreviewPane{flex:1.6}.vscodeLayout.preview-full .vscodeEditorPane{display:none!important}.vscodeLayout.preview-full .vscodePreviewPane{flex:1}.previewSizeControls{background:#ffffff14;border-radius:4px;padding:2px;display:flex;overflow:hidden}.sizeBtn{color:#858585;cursor:pointer;background:0 0;border:none;border-radius:2px;padding:2px 6px;font-size:.65rem;font-weight:700;transition:all .2s}.sizeBtn:hover{color:#fff}.sizeBtn.active{color:#fff;background:#007acc}.gitlensLineAnnotation{color:#858585;opacity:.7;pointer-events:none;z-index:5;background:#0006;border:1px solid #ffffff0d;border-radius:3px;padding:2px 6px;font-family:monospace;font-size:.68rem;animation:.3s fadeIn;position:absolute;bottom:8px;right:20px}.helpShell,.teacherZoneShell{flex-direction:column;gap:20px;width:100%;max-width:1100px;margin:0 auto;padding:24px 28px 40px;display:flex}.helpHeader,.teacherZoneHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.helpHeader h1,.teacherZoneHeader h1{margin:4px 0 6px;font-size:1.55rem}.helpHeader p,.teacherZoneHeader p{color:#e2e8f0b3;max-width:620px;line-height:1.4}.helpWalletStrip{gap:8px;display:flex}.helpWalletStrip .pill{background:#94a3b824;border:1px solid #94a3b833;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.helpCatalog{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.helpCard{background:#0f172a8c;border:1px solid #94a3b824;border-radius:14px;flex-direction:column;gap:12px;padding:16px 16px 18px;transition:border-color .2s,transform .2s;display:flex}.helpCard.hasInv{background:#14532d2e;border-color:#22c55e59}.helpCard:hover{border-color:#94a3b84d;transform:translateY(-2px)}.helpCardTop{align-items:flex-start;gap:10px;display:flex}.helpCardTop h3{margin:0;font-size:1rem}.helpCardTop p{color:#e2e8f0a6;margin:4px 0 0;font-size:.86rem;line-height:1.35}.helpCardMeta{flex-wrap:wrap;gap:10px;font-size:.82rem;display:flex}.helpCardMeta span{background:#94a3b81f;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.helpCardMeta .dim{color:#e2e8f099;background:0 0;padding:3px 4px}.helpOwned{color:#86eface6;margin:0;font-size:.8rem}.helpInventory{background:#0f172a66;border:1px solid #94a3b824;border-radius:14px;margin-top:12px;padding:16px 18px}.helpInventory h2{margin:0 0 10px;font-size:1.05rem}.helpInventory ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.helpInventory li{background:#94a3b812;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 10px;font-size:.9rem;display:grid}.helpInventory li .dim{color:#e2e8f08c}.teacherZoneStatus{border:1px solid #94a3b833;border-radius:14px;align-items:center;gap:14px;padding:16px 18px;display:flex}.teacherZoneStatus.active{background:#14532d59;border-color:#22c55e80}.teacherZoneStatus.locked{background:#7f1d1d40;border-color:#f8717159}.teacherZoneStatus strong{margin-bottom:2px;font-size:1.05rem;display:block}.teacherZoneStatus span{color:#e2e8f0cc;font-size:.9rem}.teacherZoneTiers{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.teacherZoneTier{background:#0f172a8c;border:1px solid #94a3b829;border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.teacherZoneTierTop{align-items:center;gap:8px;display:flex}.teacherZoneTierTop h3{margin:0;font-size:1.1rem}.teacherZoneTierMeta{color:#e2e8f0cc;gap:8px;font-size:.86rem;display:flex}.teacherZoneTierMeta span{background:#94a3b81f;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.teacherZoneLinks h2{margin:8px 0 12px;font-size:1.1rem}.teacherZoneLinksGrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.teacherZoneLink{color:inherit;background:#0f172a8c;border:1px solid #94a3b829;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:flex}.teacherZoneLink:hover{background:#3b82f624;transform:translateY(-1px)}:root.theme-light .helpCard,:root.theme-light .helpInventory,:root.theme-light .teacherZoneTier,:root.theme-light .teacherZoneLink{background:#fff;border-color:#0f172a1a}:root.theme-light .helpCardTop p,:root.theme-light .helpInventory li .dim,:root.theme-light .helpHeader p,:root.theme-light .teacherZoneHeader p,:root.theme-light .teacherZoneStatus span{color:#0f172aa6}.vscodeFileIcon{-webkit-user-select:none;user-select:none;margin-right:6px}.tabItem,.fileItem,.newFileForm{align-items:center}.vscodeLayout.fullscreenMode{z-index:99999!important;border-radius:0!important;width:100vw!important;max-width:none!important;height:100vh!important;margin:0!important;position:fixed!important;inset:0!important}:-webkit-any(.vscodeLayout:fullscreen,.vscodeLayout:-webkit-full-screen){background:var(--tone-surface,#0a0f13);width:100vw;height:100vh}:is(.vscodeLayout:fullscreen,.vscodeLayout:fullscreen){background:var(--tone-surface,#0a0f13);width:100vw;height:100vh}.controlsShell{flex-direction:column;gap:24px;width:100%;max-width:1100px;margin:0 auto;padding:24px 28px 40px;display:flex}.controlsHeader h1{margin:4px 0 6px;font-size:1.55rem}.controlsHeader p{color:#e2e8f0b3;max-width:620px;line-height:1.4}.controlsBlock{background:#0f172a66;border:1px solid #94a3b824;border-radius:16px;padding:20px 22px}.controlsBlock h2{align-items:center;gap:8px;margin:0 0 6px;font-size:1.1rem;display:flex}.controlsBlock .dim{color:#e2e8f0a6;margin:0 0 14px;font-size:.9rem}.controlsGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.controlCard{background:#0f172a8c;border:1px solid #94a3b829;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.controlCard.locked{background:#7f1d1d26;border-color:#ef444466}.controlCardTop{align-items:center;gap:8px;display:flex}.controlCardTop strong{font-size:.95rem}.controlsScheduleList{flex-direction:column;gap:12px;display:flex}.scheduleCard{background:#0f172a8c;border:1px solid #94a3b829;border-radius:12px;padding:14px 16px}.scheduleCardTop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.scheduleBadge{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.scheduleBadge.open{color:#86efac;background:#22c55e26;border:1px solid #22c55e59}.scheduleBadge.closed{color:#fca5a5;background:#ef444426;border:1px solid #ef444459}.scheduleFields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:12px;display:grid}.scheduleFields label{color:#e2e8f0bf;flex-direction:column;gap:4px;font-size:.82rem;display:flex}.scheduleFields label>svg{display:none}.scheduleFields input[type=datetime-local]{color:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0f172a99;border:1px solid #94a3b838;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:.9rem}.scheduleActions{flex-wrap:wrap;gap:8px;display:flex}.tutorTrackCard.trackLocked{opacity:.6;cursor:not-allowed}.tutorTrackCard.trackLocked h3,.tutorTrackCard.trackLocked p{color:#e2e8f08c}:root.theme-light .controlsBlock,:root.theme-light .controlCard,:root.theme-light .scheduleCard{background:#fff;border-color:#0f172a1a}:root.theme-light .controlsBlock .dim,:root.theme-light .controlsHeader p{color:#0f172aa6}:root.theme-light .scheduleFields input[type=datetime-local]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f8fafc;border-color:#0f172a26}html,body{max-width:100%;overflow-x:hidden}*,:before,:after{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--tone-primary,#22c55e);outline-offset:2px;border-radius:6px}h1,h2,h3,p,span,strong,small,li,label{overflow-wrap:break-word}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1024px){.tutorGrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.landingFeatures{grid-template-columns:repeat(2,minmax(0,1fr))}.vscodeLayout{height:560px}.vscodeSidebar{width:180px}}@media (width<=760px){.workspace{padding:12px}.sidebar{gap:12px;padding:12px;overflow-x:hidden}.sideNav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-flow:row;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.sideNav::-webkit-scrollbar{display:none}.sideNavItem{white-space:nowrap;border-radius:999px;flex:none;justify-content:center;gap:6px;min-height:44px;padding:10px 14px;font-size:.82rem}.sidebarFooter{grid-template-columns:1fr 1fr;align-items:stretch;gap:6px;display:grid}.sidebarFooter .sessionCard,.sidebarFooter .sessionCardLink,.sidebarFooter .logoutButton,.sidebarFooter .sidebarLangSwitcher{grid-column:1/-1}.profileNavLink,.themeToggleButton{justify-content:center;min-height:42px;font-size:.82rem}.workspaceHeader{gap:10px;min-height:0;padding:12px}.workspaceHeader h1{font-size:1.25rem}.profileStrip,.adminStats,.rewardGrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:8px;display:grid}.metric{min-height:52px}.activityRow,.leaderList li,.tableRow{grid-template-columns:1fr;align-items:start;gap:4px;padding:10px 12px}.helpInventory li{grid-template-columns:1fr auto}.helpInventory li .dim{grid-column:1/-1}.landingFeatures{grid-template-columns:1fr}.landingCtaRow{flex-direction:column;align-items:stretch}.landingCtaRow a{justify-content:center}.missionModal{place-items:stretch stretch;padding:0}.missionModalCard{border:none;border-radius:0;gap:10px;width:100%;height:100vh;max-height:100vh;padding:14px}.missionModalTop{flex-wrap:wrap}.taskTopline{flex-wrap:wrap;gap:6px}.editorToolbar{flex-wrap:wrap;gap:8px}.hintList,.tutorGrid{grid-template-columns:1fr}.tutorTrackCard{gap:10px;padding:14px}.tutorHomeHero{padding:16px}.tutorWorkspace{grid-template-columns:1fr}.tutorStepStrip{flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.botDuelHero{padding:20px 16px}.botDuelResultStats{grid-template-columns:repeat(2,minmax(0,1fr))}.botDuelOptions,.practiceJavaScriptStage{grid-template-columns:1fr}.practiceRunButton{width:100%}.puzzleOptions{grid-template-columns:1fr}.leaderHeader,.helpHeader,.teacherZoneHeader,.controlsHeader{flex-direction:column;align-items:flex-start}.chatShell{height:auto;min-height:0;padding:12px}.chatList{min-height:240px;max-height:58vh}.helpShell,.teacherZoneShell,.controlsShell{gap:16px;padding:14px 12px 28px}.helpCatalog,.controlsGrid,.teacherZoneTiers,.teacherZoneLinksGrid{grid-template-columns:1fr}.controlsBlock{padding:14px}.scheduleFields{grid-template-columns:1fr}.scheduleActions button{flex:1;justify-content:center}.vscodeLayout{flex-direction:column;height:auto;min-height:70vh;margin-top:10px}.vscodeActivityBar{border-bottom:1px solid #252526;border-right:none;flex-direction:row;justify-content:space-between;width:100%;padding:4px 8px}.vscodeActivityBar .topIcons,.vscodeActivityBar .bottomIcons{flex-direction:row;gap:4px;display:flex}.vscodeSidebar{border-bottom:1px solid #3c3c3c;border-right:none;width:100%;max-height:210px;overflow-y:auto}.vscodeWorkspace{flex-direction:column;overflow:visible}.vscodeEditorPane,.vscodePreviewPane{border-right:none;width:100%;flex:none!important}.vscodeEditorPane{border-bottom:1px solid #3c3c3c;min-height:300px}.vscodePreviewPane{min-height:260px}.vscodeLayout.preview-full .vscodeEditorPane{display:flex!important}.tabHeader{flex-wrap:nowrap;overflow-x:auto}.tabItem{flex:none}.vscodeLayout.fullscreenMode{min-height:100vh}.tvMap{min-height:320px}.controlDock{flex-wrap:wrap}.authHero{display:none}.authCard{padding:20px 16px}.compactButton,.runButton,.primaryButton,.langChipButton{min-height:42px}}@media (width<=420px){.workspaceHeader h1{font-size:1.1rem}.helpWalletStrip{flex-wrap:wrap}.botDuelResultStats{grid-template-columns:1fr}.scheduleCardTop{flex-direction:column;align-items:flex-start}.tutorStepPill{min-width:30px}.missionModalCard{padding:10px}}@media (width<=760px){.landingHeader{flex-wrap:wrap;gap:10px;padding:14px 16px}.landingHeaderActions{justify-content:space-between;width:100%}.landingPanel{gap:12px;width:auto;max-width:100%;margin:20px 16px}.landingPanel h1{font-size:28px;line-height:1.2}.landingPanel>p{font-size:15px}.landingFeatureCard{padding:14px 16px}.landingFooter{text-align:center;flex-direction:column;gap:8px;padding:16px}}@media (width<=420px){.landingPanel h1{font-size:24px}}.landingShell{color:#edf6f8;background:#071018;min-height:100vh;display:block;overflow:clip}.landingBackdrop{opacity:1}.landingHeader,.landingHero,.landingStats,.landingSection,.landingTeacherBand,.landingFinalCta,.landingFooter{width:min(1160px,100% - 48px);margin-inline:auto}.landingHeader{grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:84px;padding:14px 0;display:grid}.landingHeader .brandBlock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07101885}.landingNav{justify-content:center;gap:24px;display:flex}.landingNav a,.landingLoginLink{color:#b5c5ce;font-size:.88rem;font-weight:650;text-decoration:none}.landingNav a:hover,.landingLoginLink:hover{color:#fff}.landingHeaderActions{justify-content:flex-end;gap:16px}.landingHero{grid-template-columns:minmax(0,570px) 1fr;align-items:center;min-height:620px;padding-block:74px 70px;display:grid;position:relative}.landingHeroCopy{z-index:2;gap:20px;display:grid;position:relative}.landingEyebrow{color:#76e4c5;letter-spacing:0;text-transform:uppercase;align-items:center;gap:7px;width:fit-content;font-size:.77rem;font-weight:760;display:inline-flex}.landingHero h1{color:#fff;letter-spacing:0;max-width:650px;margin:0;font-size:4.25rem;line-height:.98}.landingHeroCopy>p{color:#b9c9d2;max-width:560px;font-size:1.07rem;line-height:1.65}.landingCtaRow{align-items:center;margin-top:4px}.landingPrimaryCta,.landingSecondaryCta{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:800;text-decoration:none;display:inline-flex}.landingPrimaryCta{color:#06100e;background:#20c997;box-shadow:0 12px 30px #20c99733}.landingPrimaryCta:hover{background:#49d8ae;transform:translateY(-1px)}.landingSecondaryCta{color:#e1edf2;background:#07101857;border:1px solid #e2f1f738}.landingSecondaryCta:hover{color:#fff;border-color:#7ee7cb}.landingTrustList{color:#bfd0d8;flex-wrap:wrap;gap:12px 18px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.landingTrustList li{align-items:center;gap:6px;display:inline-flex}.landingTrustList svg{color:#34d399}.landingSceneLabel{color:#d6e9f2;text-align:right;place-self:end;gap:12px;padding:14px 0;font-size:.82rem;display:grid}.landingSceneLabel>span,.landingSceneLegend{justify-content:flex-end;align-items:center;gap:7px;display:inline-flex}.landingSceneLabel>span{color:#a7f3d0;font-weight:700}.landingSceneLegend{color:#9ab1bd;font-size:.74rem}.sceneDot{background:#fbbf24;border-radius:50%;width:7px;height:7px}.sceneDot.active{background:#20c997;box-shadow:0 0 0 4px #20c99724}.landingStats{border-top:1px solid #cae1ea29;border-bottom:1px solid #cae1ea29;grid-template-columns:repeat(4,1fr);display:grid;position:relative}.landingStats>div{border-right:1px solid #cae1ea1f;align-content:center;justify-items:center;gap:5px;min-height:108px;display:grid}.landingStats>div:last-child{border-right:0}.landingStats strong{color:#fff;font-size:1.55rem;line-height:1}.landingStats span{color:#9fb4bf;text-align:center;font-size:.78rem}.landingSection{padding-block:108px;position:relative}.landingSectionIntro{gap:12px;max-width:680px;display:grid}.landingSection h2,.landingTeacherBand h2,.landingFinalCta h2{color:#fff;margin:0;font-size:2.55rem;line-height:1.08}.landingFeatureGrid{border-top:1px solid #cae1ea26;border-bottom:1px solid #cae1ea26;grid-template-columns:repeat(3,1fr);gap:0;margin-top:42px;display:grid}.landingFeatureItem{border-right:1px solid #cae1ea26;align-content:start;gap:12px;min-height:230px;padding:28px;display:grid}.landingFeatureItem:last-child{border-right:0}.landingFeatureItem>svg{color:#4ade80}.landingFeatureItem:nth-child(2)>svg{color:#60a5fa}.landingFeatureItem:nth-child(3)>svg{color:#fbbf24}.landingFeatureItem h3{color:#f3fbfe;margin:8px 0 0;font-size:1.08rem}.landingFeatureItem p{color:#9fb4bf;margin:0;font-size:.9rem;line-height:1.58}.landingLanguageRail{grid-template-columns:150px 1fr;align-items:start;gap:20px;padding-top:26px;display:grid}.landingLanguageRail>span{color:#8fa8b4;text-transform:uppercase;font-size:.78rem;font-weight:700}.landingLanguageRail>div{flex-wrap:wrap;gap:8px;display:flex}.landingLanguageRail b{color:#c8d9e1;border:1px solid #cae1ea29;border-radius:6px;padding:6px 9px;font-size:.76rem}.landingJourney{padding-top:30px}.landingStepList{grid-template-columns:repeat(3,1fr);gap:22px;margin:44px 0 0;padding:0;list-style:none;display:grid}.landingStepList li{border-top:1px solid #cae1ea2e;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding-top:18px;display:grid;position:relative}.landingStepNumber{color:#42616e;grid-column:1/-1;font-size:.78rem;font-weight:800}.landingStepList svg{color:#7ee7cb;margin-top:2px}.landingStepList h3{color:#f4fbfd;margin:0 0 6px;font-size:1rem}.landingStepList p{color:#9fb4bf;margin:0;font-size:.88rem;line-height:1.55}.landingTeacherBand{border-top:1px solid #cae1ea2b;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:center;gap:70px;padding-block:86px;display:grid;position:relative}.landingTeacherBand>div:first-child{gap:15px;display:grid}.landingTeacherBand p{color:#adc0c9;max-width:620px;margin:0;line-height:1.65}.landingTeacherPoints{gap:10px;display:grid}.landingTeacherPoints span{color:#dcebf0;border-bottom:1px solid #cae1ea24;align-items:center;gap:10px;padding:13px 0;font-size:.9rem;display:flex}.landingTeacherPoints svg{color:#4ade80}.landingFinalCta{border-top:1px solid #cae1ea2b;justify-content:space-between;align-items:center;gap:30px;padding:48px 0 66px;display:flex;position:relative}.landingFinalCta>div{gap:10px;display:grid}.landingFinalCta p{color:#9fb4bf;margin:0}.landingFooter{color:#78919d;text-align:left;border-top:1px solid #cae1ea1f;padding:22px 0 30px;position:relative}@media (width<=900px){.landingHeader{grid-template-columns:auto 1fr}.landingNav{display:none}.landingHero{grid-template-columns:minmax(0,1fr) minmax(240px,.6fr);min-height:580px}.landingHero h1{font-size:3.15rem}.landingSection h2,.landingTeacherBand h2,.landingFinalCta h2{font-size:2.2rem}.landingFeatureGrid,.landingStepList{grid-template-columns:1fr}.landingFeatureItem{border-bottom:1px solid #cae1ea26;border-right:0;min-height:0}.landingFeatureItem:last-child{border-bottom:0}.landingStepList{gap:16px}.landingTeacherBand{gap:32px}}@media (width<=640px){.landingHeader,.landingHero,.landingStats,.landingSection,.landingTeacherBand,.landingFinalCta,.landingFooter{width:min(100% - 32px,1160px)}.landingHeader{grid-template-columns:1fr auto;min-height:70px}.landingHeader .brandBlock{min-height:58px;padding:8px}.landingHeader .brandBlock span{display:none}.landingHeaderActions{gap:10px}.landingLoginLink{display:none}.landingHero{align-items:flex-start;min-height:625px;padding-block:70px 36px;display:flex}.landingHeroCopy{gap:17px;max-width:100%}.landingBackdrop{opacity:.72}.landingHero h1{overflow-wrap:anywhere;max-width:340px;font-size:2.55rem}.landingHeroCopy>p{max-width:410px;font-size:.96rem}.landingCtaRow{grid-template-columns:1fr;gap:9px;width:min(100%,330px);display:grid}.landingSceneLabel{position:absolute;bottom:20px;right:0}.landingStats{grid-template-columns:repeat(2,1fr)}.landingStats>div{min-height:88px}.landingStats>div:nth-child(2){border-right:0}.landingStats>div:nth-child(-n+2){border-bottom:1px solid #cae1ea1f}.landingSection{padding-block:70px}.landingFeatureGrid{margin-top:28px}.landingFeatureItem{padding:22px 0}.landingLanguageRail{grid-template-columns:1fr;gap:12px}.landingTeacherBand{grid-template-columns:1fr;padding-block:65px}.landingFinalCta{flex-direction:column;align-items:flex-start;padding-block:40px}.landingFinalCta .landingPrimaryCta{width:100%}.landingFooter{text-align:center}}.rangePicker{background:#94a3b81a;border-radius:8px;gap:4px;margin-left:auto;padding:3px;display:flex}.rangePicker button{color:#e2e8f0a6;cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:0;padding:5px 10px;font-family:inherit;font-size:.78rem;font-weight:600}.rangePicker button.active{background:var(--tone-primary,#22c55e);color:#04140a}.statCardRow{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.statCard{background:#94a3b814;border:1px solid #94a3b824;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.statCard span{text-transform:uppercase;letter-spacing:.04em;color:#e2e8f099;font-size:.72rem}.statCard strong{font-size:1.5rem;line-height:1}.statCard.danger{background:#ef44441a;border-color:#ef444447}.statCard.danger strong{color:#fca5a5}.chartBox{width:100%;overflow-x:auto}.chartSvg{width:100%;height:220px;display:block}.chartGrid{stroke:#94a3b829;stroke-width:1px}.chartAxisLabel{fill:#e2e8f080;font-family:inherit;font-size:10px}.chartEmpty{text-align:center;color:#e2e8f073;padding:24px}.chartLegend{color:#e2e8f0bf;flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:.8rem;display:flex}.chartLegend span{align-items:center;gap:6px;display:inline-flex}.chartLegend i{border-radius:3px;width:10px;height:10px;display:inline-block}.statsSplit{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.barList{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.barList li{grid-template-columns:minmax(0,120px) 1fr auto;align-items:center;gap:10px;font-size:.84rem;display:grid}.barListLabel{text-overflow:ellipsis;white-space:nowrap;color:#e2e8f0cc;overflow:hidden}.barListTrack{background:#94a3b824;border-radius:999px;height:8px;overflow:hidden}.barListFill{border-radius:999px;height:100%;transition:width .35s;display:block}.barListValue{font-variant-numeric:tabular-nums;text-align:right;min-width:34px;font-weight:600}.analyticsConnection{border-radius:999px;margin-left:auto;padding:5px 9px;font-size:.72rem;font-weight:700}.analyticsConnection.connected{color:#bbf7d0;background:#22c55e26}.analyticsConnection.pending{color:#fde68a;background:#f59e0b24}.acquisitionList{gap:7px;display:grid}.acquisitionRow{background:#94a3b812;border:1px solid #94a3b821;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 12px;display:grid}.acquisitionRow strong{color:var(--tone-text-strong)}.acquisitionRow span{color:var(--tone-text-muted);font-size:.78rem}.acquisitionRow b{text-align:right;min-width:34px;color:var(--tone-primary);font-variant-numeric:tabular-nums}.auditList{flex-direction:column;gap:4px;max-height:620px;display:flex;overflow-y:auto}.auditRow{background:#94a3b80f;border-left:3px solid #0000;border-radius:8px;grid-template-columns:22px minmax(0,1.4fr) minmax(0,1fr) minmax(0,120px) minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;font-size:.84rem;display:grid}.auditRow.ok{border-left-color:#22c55e99}.auditRow.fail{background:#ef444412;border-left-color:#ef4444b3}.auditRow.ok .auditIcon{color:#4ade80}.auditRow.fail .auditIcon{color:#f87171}.auditIcon{align-items:center;display:flex}.auditRow>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.auditWho strong,.auditMethod,.auditDevice{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.auditRow small{color:#e2e8f080;font-size:.7rem;display:block}.auditIp{color:#e2e8f0b3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.auditTime{color:#e2e8f08c;font-variant-numeric:tabular-nums;font-size:.75rem}:root.theme-light .statCard,:root.theme-light .auditRow{background:#0f172a0a;border-color:#0f172a14}:root.theme-light .statCard span,:root.theme-light .chartLegend,:root.theme-light .barListLabel,:root.theme-light .auditIp,:root.theme-light .auditTime,:root.theme-light .auditRow small{color:#0f172a9e}:root.theme-light .chartAxisLabel{fill:#0f172a8c}:root.theme-light .rangePicker button{color:#0f172a99}:root.theme-light .acquisitionRow{background:#0f172a0a;border-color:#0f172a1a}:root.theme-light .analyticsConnection.connected{color:#166534}:root.theme-light .analyticsConnection.pending{color:#92400e}@media (width<=760px){.auditRow{grid-template-columns:22px 1fr;row-gap:2px}.auditRow>span:not(.auditIcon):not(.auditWho){grid-column:2}.statCardRow{grid-template-columns:repeat(2,minmax(0,1fr))}.statsSplit{grid-template-columns:1fr}.sectionTitle .rangePicker{justify-content:space-between;width:100%;margin-left:0}.chartSvg{height:180px}.analyticsConnection{margin-left:0}}.scheduleToolbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.scheduleSearch{border:1px solid var(--tone-border,#94a3b838);min-width:0;color:inherit;background:#0f172a59;border-radius:8px;flex:1;padding:9px 12px;font-family:inherit;font-size:.9rem}.scheduleCount{color:#e2e8f099;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.schedulePager{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.schedulePager span{font-variant-numeric:tabular-nums;color:#e2e8f0b3;font-size:.85rem}:root.theme-light .scheduleSearch{background:#f8fafc;border-color:#0f172a26}:root.theme-light .scheduleCount,:root.theme-light .schedulePager span{color:#0f172a99}.marketShell{flex-direction:column;gap:18px;width:100%;max-width:1180px;margin:0 auto;padding:24px 28px 40px;display:flex}.marketHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.marketHeader h1{margin:4px 0 6px;font-size:1.6rem}.marketHeader p{color:#e2e8f0b3;max-width:640px;line-height:1.45}.marketWallet{gap:8px;display:flex}.marketWallet .pill{background:#94a3b824;border:1px solid #94a3b838;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-weight:700;display:inline-flex}.marketTabs{background:#94a3b814;border-radius:12px;flex-wrap:wrap;gap:6px;padding:5px;display:flex}.marketTabs button{color:#e2e8f0b3;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-family:inherit;font-size:.88rem;font-weight:600;display:inline-flex}.marketTabs button.active{background:var(--tone-primary,#22c55e);color:#04140a}.marketNote{color:#e2e8f0a6;margin:0 0 4px;font-size:.9rem}.marketGroup{flex-direction:column;gap:12px;display:flex}.marketGroup>h2{margin:6px 0 0;font-size:1.05rem}.cosmeticGrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.cosmeticCard{text-align:center;background:#0f172a8c;border:1px solid #94a3b829;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:18px 14px 14px;transition:transform .18s,border-color .18s;display:flex;position:relative}.cosmeticCard:hover{transform:translateY(-2px)}.cosmeticCard.equipped{background:#14532d33;border-color:#22c55e99}.cosmeticCard strong{font-size:.92rem}.cosmeticCard.rarity-rare{border-color:#3b82f659}.cosmeticCard.rarity-epic{border-color:#a855f766}.cosmeticCard.rarity-legendary{border-color:#f59e0b80;box-shadow:0 0 24px #f59e0b1f}.rarityTag{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:3px 7px;font-size:.62rem;font-weight:700;position:absolute;top:8px;right:8px}.rarityTag.rarity-common{color:#cbd5e1;background:#94a3b833}.rarityTag.rarity-rare{color:#93c5fd;background:#3b82f633}.rarityTag.rarity-epic{color:#d8b4fe;background:#a855f738}.rarityTag.rarity-legendary{color:#fcd34d;background:#f59e0b38}.cosmeticPreview{justify-content:center;align-items:center;min-height:56px;display:flex}.cosmeticCost{flex-wrap:wrap;justify-content:center;gap:8px;font-size:.82rem;display:flex}.cosmeticCost span{background:#94a3b81f;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.cosmeticCost .dim{color:#e2e8f099;background:0 0}.cosmeticCard button{justify-content:center;width:100%}.cosmeticFrame{isolation:isolate;flex:none;place-self:center;width:fit-content;height:fit-content;line-height:0;display:inline-flex;position:relative}.cosmeticFrame>*{border-radius:50%;display:block}.cosmeticFrame:before{content:"";background:var(--frame-paint,transparent);z-index:-1;border-radius:50%;position:absolute;inset:-3px}.cosmeticFrame.isPreview:before{inset:-4px}.framePreviewInner{color:#e2e8f0;background:#0f172a;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.05rem;font-weight:700;line-height:1;display:flex}.cosmeticName{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.titleChip{color:#e9d5ff;text-shadow:0 0 10px #a855f780;white-space:nowrap;letter-spacing:.01em;vertical-align:middle;background:linear-gradient(135deg,#a855f74d,#38bdf838);border:1px solid #c496ff73;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.titleChip.small{padding:2px 8px;font-size:.64rem}:root.theme-light .titleChip{color:#6b21a8;text-shadow:none;background:linear-gradient(135deg,#9333ea29,#0ea5e91f);border-color:#9333ea59}.rewardGridMarket{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.rewardCard{background:#0f172a8c;border:1px solid #94a3b829;border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.rewardCardTop{align-items:center;gap:9px;display:flex}.rewardCard p{color:#e2e8f0a6;margin:0;font-size:.85rem;line-height:1.4}.rewardCard button{justify-content:center}.redemptionHistory{margin-top:18px}.redemptionHistory h2{margin:0 0 10px;font-size:1rem}.redemptionHistory ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.redemption{background:#94a3b812;border-left:3px solid #0000;border-radius:9px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 12px;font-size:.86rem;display:grid}.redemption.approved{border-left-color:#22c55e99}.redemption.rejected{border-left-color:#ef444499}.redemption.pending{border-left-color:#f59e0b99}.redemption small{color:#e2e8f08c;grid-column:1/-1;font-size:.74rem}.redemptionStatus{align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.redemptionStatus.approved{color:#4ade80}.redemptionStatus.rejected{color:#f87171}.redemptionStatus.pending{color:#fbbf24}.treasuryPanel{background:#0f172a80;border:1px solid #94a3b829;border-radius:16px;flex-direction:column;gap:12px;padding:20px;display:flex}.treasuryHead{align-items:flex-start;gap:12px;display:flex}.treasuryHead h2{margin:0 0 4px;font-size:1.15rem}.treasuryHead p{color:#e2e8f0a6;margin:0;font-size:.88rem}.treasuryBar{background:#94a3b829;border-radius:999px;height:14px;overflow:hidden}.treasuryBar span{background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:999px;height:100%;transition:width .4s;display:block}.treasuryNumbers{align-items:baseline;gap:8px;display:flex}.treasuryNumbers strong{font-size:1.5rem}.treasuryNumbers span{color:#e2e8f0a6}.treasuryDone{color:#86efac;background:#22c55e2e;border-radius:999px;margin-left:auto;padding:4px 12px;font-weight:700}.treasuryContribute{gap:8px;display:flex}.treasuryContribute input{min-width:0;color:inherit;background:#0f172a80;border:1px solid #94a3b83d;border-radius:9px;flex:1;padding:10px 12px;font-family:inherit}.treasuryTop h3{align-items:center;gap:7px;margin:8px 0;font-size:.95rem;display:flex}.treasuryTop ol{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.treasuryTop li{background:#94a3b812;border-radius:8px;justify-content:space-between;gap:10px;padding:7px 11px;font-size:.87rem;display:flex}.walletBox{color:inherit;background:linear-gradient(135deg,#f59e0b24,#0f172a66);border:1px solid #f59e0b47;border-radius:12px;flex-direction:column;gap:8px;padding:14px;text-decoration:none;transition:transform .18s,border-color .18s;display:flex}.walletBox:hover{border-color:#f59e0b80;transform:translateY(-2px)}.walletBoxTop{align-items:center;gap:8px;display:flex}.walletBoxAmounts{gap:14px;font-size:1.05rem;font-weight:700;display:flex}.walletBoxAmounts span{align-items:center;gap:5px;display:inline-flex}.walletBox p{color:#e2e8f0a6;margin:0;font-size:.78rem;line-height:1.35}.pendingBox{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:12px;margin-bottom:14px;padding:14px}.pendingBox h3{margin:0 0 10px;font-size:.95rem}.pendingBox ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pendingBox li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;display:flex}.pendingBox small{color:#e2e8f099;font-size:.75rem;display:block}.pendingActions{gap:6px;display:flex}.rewardAdminList{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.rewardAdminCard{background:#94a3b812;border:1px solid #94a3b824;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.rewardAdminCard p{color:#e2e8f0a6;margin:3px 0;font-size:.82rem}.rewardAdminCard .dim{color:#e2e8f08c;font-size:.78rem}.rewardForm{flex-wrap:wrap;gap:8px;display:flex}.rewardForm input{min-width:130px;color:inherit;background:#0f172a59;border:1px solid #94a3b838;border-radius:8px;flex:1;padding:9px 12px;font-family:inherit;font-size:.88rem}:root.theme-light .cosmeticCard,:root.theme-light .rewardCard,:root.theme-light .treasuryPanel,:root.theme-light .rewardAdminCard{background:#fff;border-color:#0f172a1a}:root.theme-light .marketHeader p,:root.theme-light .marketNote,:root.theme-light .rewardCard p,:root.theme-light .walletBox p,:root.theme-light .treasuryHead p{color:#0f172aa6}:root.theme-light .marketTabs button{color:#0f172a99}:root.theme-light .framePreviewInner{color:#0f172a;background:#e2e8f0}:root.theme-light .treasuryContribute input,:root.theme-light .rewardForm input{background:#f8fafc;border-color:#0f172a26}@media (width<=760px){.marketShell{padding:14px 12px 28px}.cosmeticGrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.rewardGridMarket{grid-template-columns:1fr}.marketTabs{flex-wrap:nowrap;overflow-x:auto}.marketTabs button{flex:none}.redemption{grid-template-columns:1fr auto}.pendingBox li{flex-direction:column;align-items:flex-start}.rewardForm input{min-width:100%}}.offlineBanner{color:#fca5a5;background:#ef444426;border:1px solid #ef444466;border-radius:10px;align-items:center;gap:9px;margin-bottom:12px;padding:10px 14px;font-size:.88rem;font-weight:600;display:flex}:root.theme-light .offlineBanner{color:#b91c1c;background:#dc262614}:root.theme-light .studentAdjustCard,:root.theme-light .studentAdjustList,:root.theme-light .studentAdjustControls,:root.theme-light .studentAdjustInputs{background:var(--tone-card);border-color:var(--tone-border);color:var(--tone-text)}:root.theme-light .studentAdjustCard{box-shadow:var(--tone-shadow-sm)}:root.theme-light .studentAdjustInfo strong{color:var(--tone-text-strong)}:root.theme-light .studentAdjustInfo span,:root.theme-light .studentAdjustLabel{color:var(--tone-text-muted)}:root.theme-light .studentAdjustControls{border-top-color:var(--tone-border);border-bottom-color:var(--tone-border)}:root.theme-light .studentClassSelect,:root.theme-light .adjustField input{background:var(--tone-input-bg);border-color:var(--tone-border);color:var(--tone-text)}.certificateList{gap:8px;display:grid}.certificateRow{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:var(--tone-card-strong);border:1px solid var(--tone-border);width:100%;color:var(--tone-text);align-items:center;gap:10px;padding:10px 12px;display:flex}.certificateRow:hover{border-color:var(--tone-warn);background:var(--tone-warn-soft)}.certificateRow>svg{color:var(--tone-warn);flex:none}.certificateRow span{gap:2px;min-width:0;display:grid}.certificateRow strong{color:var(--tone-text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.certificateRow small,.certificateRow time{color:var(--tone-text-muted);font-size:.76rem}.certificateRow time{white-space:nowrap;margin-left:auto}.pwWarning{color:#fcd34d;background:#f59e0b1f;border:1px solid #f59e0b52;border-radius:10px;align-items:flex-start;gap:9px;margin:10px 0 14px;padding:11px 13px;font-size:.85rem;line-height:1.45;display:flex}:root.theme-light .pwWarning{color:#92400e;background:#f59e0b1a}.pwExportRow{flex-wrap:wrap;gap:8px;display:flex}.pwExportRow button{justify-content:center}@media (width<=760px){.pwExportRow button{flex:100%}}.teacherStudentManager{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:14px;display:grid}.teacherStudentList{align-content:start;gap:7px;max-height:540px;padding-right:3px;display:grid;overflow-y:auto}.teacherStudentRow{text-align:left;border-radius:var(--radius-md);background:var(--tone-card-strong);border:1px solid var(--tone-border);width:100%;color:var(--tone-text);justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.teacherStudentRow:hover:not(:disabled),.teacherStudentRow.selected{border-color:var(--tone-primary);background:var(--tone-primary-soft)}.teacherStudentRow>span:first-child,.teacherStudentRowStats{gap:3px;min-width:0;display:grid}.teacherStudentRow strong{color:var(--tone-text-strong)}.teacherStudentRow small{color:var(--tone-text-muted);font-size:.76rem}.teacherStudentRowStats{text-align:right;flex:none}.teacherStudentRowStats small:last-child{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.teacherStudentDetail{border-radius:var(--radius-md);background:var(--tone-card-strong);border:1px solid var(--tone-border);min-height:240px;color:var(--tone-text);padding:15px}.teacherStudentDetailHead{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.teacherStudentDetailHead>div{gap:3px;display:grid}.teacherStudentDetailHead strong{color:var(--tone-text-strong)}.teacherStudentDetailHead span{color:var(--tone-text-muted);font-size:.8rem}.teacherStudentDetailHead .compactButton{min-height:36px}.teacherLoginCard{border-radius:var(--radius-sm);background:var(--tone-card);border:1px solid var(--tone-border);gap:5px;margin-top:14px;padding:10px 12px;display:grid}.teacherLoginCard>span,.teacherLoginCard small{color:var(--tone-text-muted);font-size:.78rem}.teacherLoginCard code,.teacherTemporaryPassword code{color:var(--tone-text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.teacherTemporaryPassword{background:var(--tone-success-soft);border:1px solid var(--tone-success);border-radius:var(--radius-sm);color:var(--tone-text);align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.teacherTemporaryPassword>svg{color:var(--tone-success);flex:none}.teacherTemporaryPassword>div{gap:2px;min-width:0;display:grid}.teacherTemporaryPassword strong{font-size:.8rem}.teacherTemporaryPassword button{border-radius:var(--radius-sm);background:var(--tone-card);width:34px;height:34px;color:var(--tone-success);border:0;place-items:center;margin-left:auto;display:grid}.teacherWorldReset{border:1px solid color-mix(in srgb, var(--tone-warn) 42%, var(--tone-border));border-radius:var(--radius-sm);background:var(--tone-warn-soft);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:12px;padding:10px 12px;display:grid}.teacherWorldReset label{gap:5px;min-width:0;display:grid}.teacherWorldReset label>span{color:var(--tone-text-muted);font-size:.78rem;font-weight:700}.teacherWorldReset select{border:1px solid var(--tone-border);border-radius:var(--radius-sm);background:var(--tone-card);width:100%;min-width:0;min-height:36px;color:var(--tone-text);font:inherit;padding:0 9px}.teacherWorldResetButton{border-color:var(--tone-warn);min-height:36px;color:var(--tone-text-strong);background:var(--tone-card)}.teacherWorldResetButton:hover:not(:disabled){border-color:var(--tone-warn);background:color-mix(in srgb, var(--tone-warn) 18%, var(--tone-card))}.teacherWorldProgress{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;margin-top:14px;padding:0 2px;display:grid}.teacherWorldProgressHead{gap:3px;min-width:0;display:grid}.teacherWorldProgressHead>span,.teacherWorldProgressHead small,.teacherWorldProgressTotal>span,.teacherWorldProgressSummary{color:var(--tone-text-muted);font-size:.76rem}.teacherWorldProgressHead strong{color:var(--tone-text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.teacherWorldProgressTotal{text-align:right;align-content:start;justify-items:end;gap:2px;display:grid}.teacherWorldProgressTotal strong{color:var(--tone-primary);font-size:1.35rem;line-height:1}.teacherWorldProgressBar{background:var(--tone-border);border-radius:4px;grid-column:1/-1;height:7px;overflow:hidden}.teacherWorldProgressBar span{border-radius:inherit;background:var(--tone-primary);height:100%;transition:width .35s;display:block}.teacherWorldProgressSummary{grid-column:1/-1}.teacherAchievementColumns{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.teacherAchievementColumns h3{align-items:center;gap:6px;margin:0 0 7px;font-size:.88rem;display:flex}.teacherAchievementColumns h3 svg{color:var(--tone-warn)}.teacherAchievementColumns .dim{font-size:.8rem}.teacherAchievementList{gap:6px;margin:0;padding:0;list-style:none;display:grid}.teacherAchievementList li{border-radius:var(--radius-sm);background:var(--tone-card);border:1px solid var(--tone-border);gap:2px;padding:8px 9px;display:grid}.teacherAchievementList strong{color:var(--tone-text-strong);font-size:.8rem}.teacherAchievementList small{color:var(--tone-text-muted);font-size:.74rem}.teacherCertificateButton{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;display:grid}.teacherAchievementList li:has(.teacherCertificateButton){border-color:color-mix(in srgb, var(--tone-warn) 42%, var(--tone-border))}.teacherAchievementList li:has(.teacherCertificateButton):hover{background:var(--tone-warn-soft);border-color:var(--tone-warn)}.certificateVerifyShell{color:#0b1f3a;background:#edf4f9;place-items:center;min-height:100vh;padding:24px;display:grid}.certificateVerifyPanel{background:#fff;border:1px solid #d4e0ea;border-radius:8px;width:min(100%,460px);padding:32px;box-shadow:0 18px 48px #0b1f3a24}.certificateVerifyMark{color:#0e9f6e;background:#e6f7ef;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:16px;display:grid}.certificateVerifyPanel>span{color:#0e9f6e;letter-spacing:.12em;font-size:.75rem;font-weight:800}.certificateVerifyPanel h1{color:#0b1f3a;margin:8px 0}.certificateVerifyPanel>p{color:#50627a;margin:0 0 20px;line-height:1.5}.certificateVerifyPanel form{gap:13px;display:grid}.certificateVerifyPanel label{color:#33475f;gap:6px;font-size:.84rem;font-weight:700;display:grid}.certificateVerifyPanel input{color:#0b1f3a;min-height:43px;font:inherit;background:#fff;border:1px solid #b9c8d8;border-radius:6px;padding:0 11px}.certificateVerifyPanel button{color:#fff;min-height:43px;font:inherit;cursor:pointer;background:#0e9f6e;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.certificateVerifyPanel button:disabled{opacity:.55;cursor:not-allowed}.certificateVerifyError{align-items:center;gap:7px;display:flex;color:#b42318!important;margin-top:16px!important}.certificateVerifyResult{color:#087044;background:#edf9f2;border:1px solid #8bd9b7;border-radius:6px;gap:12px;margin-top:20px;padding:14px;display:flex}.certificateVerifyResult>div{gap:3px;display:grid}.certificateVerifyResult span,.certificateVerifyResult small{color:#335a49}@media (width<=760px){.teacherStudentManager,.teacherAchievementColumns{grid-template-columns:1fr}.teacherStudentList{max-height:320px}.teacherStudentDetailHead{flex-direction:column}.teacherStudentDetailHead .compactButton{width:100%}.teacherWorldReset{grid-template-columns:1fr}.teacherWorldResetButton{justify-content:center;width:100%}.teacherWorldProgress{grid-template-columns:1fr}.teacherWorldProgressTotal{text-align:left;justify-items:start}.teacherWorldProgressBar,.teacherWorldProgressSummary{grid-column:auto}}.teacherZoneClaim{background:#0f172a80;border:1px solid #94a3b82e;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.teacherZoneClaimInfo{align-items:center;gap:12px;display:flex}.teacherZoneClaimInfo strong{margin-bottom:2px;font-size:1.05rem;display:block}.teacherZoneClaimInfo span{color:#e2e8f0a6;font-size:.85rem}:root.theme-light .teacherZoneClaim{background:#fff;border-color:#0f172a1a}:root.theme-light .teacherZoneClaimInfo span{color:#0f172a9e}@media (width<=760px){.teacherZoneClaim{flex-direction:column;align-items:stretch}.teacherZoneClaim button{justify-content:center;width:100%}}.helpCardTop>svg,.cosmeticCardTop>svg,.rewardCardTop>svg,.controlCardTop>svg,.treasuryHead>svg,.walletBoxTop>svg,.teacherZoneClaimInfo>svg,.sectionTitle>svg,.auditIcon>svg,.pwWarning>svg,.offlineBanner>svg,.sideNavItem>svg,.marketTabs button>svg{flex:none}.avatarUploadWrap{line-height:0;display:inline-block;position:relative}.avatarUploadWrap.uploading>:first-child{opacity:.35;filter:blur(1px);transition:opacity .2s}.avatarSpinner{color:var(--tone-primary,#22c55e);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.avatarSpinner svg,.spin{animation:.9s linear infinite spinRotate}@keyframes spinRotate{to{transform:rotate(360deg)}}.avatarUploadButton{justify-content:center;align-items:center;gap:7px;display:inline-flex}.avatarUploadButton.isBusy{opacity:.75;cursor:progress}.avatarUploadHint{text-align:center;color:#e2e8f08c;margin:6px 0 0;font-size:.74rem}:root.theme-light .avatarUploadHint{color:#0f172a8c}@media (prefers-reduced-motion:reduce){.avatarSpinner svg,.spin{animation-duration:2.4s}}.genAvatar{text-align:center;line-height:1;overflow:hidden}.questPanel{background:#0f172a73;border:1px solid #94a3b829;border-radius:12px;padding:14px}.questPanelHead{align-items:center;gap:8px;margin-bottom:12px;font-size:.92rem;display:flex}.questPanelHead>svg{color:var(--tone-primary,#22c55e);flex:none}.questCount{font-variant-numeric:tabular-nums;color:#e2e8f099;margin-left:auto;font-size:.8rem}.questList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.questItem{background:#94a3b812;border-left:3px solid #94a3b84d;border-radius:10px;padding:10px 11px;transition:border-color .2s,background .2s}.questItem.ready{border-left-color:var(--tone-primary,#22c55e);background:#22c55e1a}.questItem.claimed{opacity:.6;border-left-color:#22c55e80}.questTop{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.questName{font-size:.84rem;font-weight:600}.questProgress{font-variant-numeric:tabular-nums;color:#e2e8f099;font-size:.78rem}.questBar{background:#94a3b833;border-radius:999px;height:5px;margin:7px 0 8px;overflow:hidden}.questBar span{background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:999px;height:100%;transition:width .4s;display:block}.questFoot{justify-content:space-between;align-items:center;gap:8px;display:flex}.questReward{color:#e2e8f0b3;gap:8px;font-size:.76rem;display:flex}.questReward span{align-items:center;gap:3px;display:inline-flex}.questClaimButton{cursor:pointer;background:var(--tone-primary,#22c55e);color:#04140a;border:none;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-family:inherit;font-size:.76rem;font-weight:700;display:inline-flex}.questClaimButton:disabled{color:#e2e8f073;cursor:default;background:#94a3b82e}.questClaimed{color:#4ade80;align-items:center;gap:4px;font-size:.76rem;font-weight:700;display:inline-flex}:root.theme-light .questPanel{background:#fff;border-color:#0f172a1a}:root.theme-light .questCount,:root.theme-light .questProgress,:root.theme-light .questReward{color:#0f172a99}.cosmeticCard.rarity-mythic{border-color:#f472b68c;box-shadow:0 0 30px #f472b629}.rarityTag.rarity-mythic{color:#fbcfe8;background:linear-gradient(135deg,#f472b64d,#22d3ee40)}.cosmeticFrame.frame-frame_pulse_nova:before{animation:2.4s ease-in-out infinite framePulse}.cosmeticFrame.frame-frame_ember:before{animation:3s ease-in-out infinite frameEmber}.cosmeticFrame.frame-frame_orbit:before{background-size:300% 100%;animation:3.5s linear infinite frameOrbit}@keyframes framePulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.5);transform:scale(1.14)}}@keyframes frameEmber{0%,to{filter:brightness()saturate()}50%{filter:brightness(1.45)saturate(1.5)}}@keyframes frameOrbit{0%{background-position:0%}to{background-position:300%}}@media (prefers-reduced-motion:reduce){.cosmeticFrame:before{animation:none!important}}.seasonBanner{background:linear-gradient(135deg,#a855f729,#22d3ee1a);border:1px solid #a855f752;border-radius:14px;margin-bottom:4px;padding:14px 16px}.seasonBannerHead{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.seasonBannerHead>svg{color:#d8b4fe;flex:none}.seasonBannerHead strong{font-size:1rem;display:block}.seasonBannerHead span{color:#e2e8f0b3;font-size:.82rem}.seasonMyRank{background:#ffffff1a;border-radius:999px;margin-left:auto;padding:5px 12px;font-weight:700;font-size:.85rem!important}.seasonPrizes{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.seasonPrize{background:#94a3b824;border:1px solid #94a3b833;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;display:flex}.seasonPrize.rank-1{color:#fcd34d;background:#fbbf242e;border-color:#fbbf2473}.seasonPrize.rank-2{color:#e2e8f0;background:#cbd5e129;border-color:#cbd5e166}.seasonPrize.rank-3{color:#fdba74;background:#d977062e;border-color:#d977066b}.seasonPrize small{opacity:.85;font-weight:500}:root.theme-light .seasonMyRank{background:#0f172a12}:root.theme-light .seasonBanner{background:#f5f3ff;border-color:#c4b5fd}:root.theme-light .seasonBannerHead>svg{color:#7e22ce}:root.theme-light .seasonBannerHead strong{color:#1e293b}:root.theme-light .seasonBannerHead span{color:#475569}:root.theme-light .seasonMyRank{color:#334155;background:#e2e8f0}:root.theme-light .seasonPrize.rank-1{color:#713f12;background:#fef3c7;border-color:#f59e0b}:root.theme-light .seasonPrize.rank-2{color:#334155;background:#e2e8f0;border-color:#94a3b8}:root.theme-light .seasonPrize.rank-3{color:#7c2d12;background:#ffedd5;border-color:#fb923c}:root.theme-light .seasonPrize small{color:inherit;opacity:.88}:root.theme-light .missionModalClose{color:#334155;background:#e2e8f0}:root.theme-light .timerPill{background:var(--tone-info-soft);color:#1d4ed8}:root.theme-light .timerPill.timeUp{background:var(--tone-danger-soft);color:var(--tone-danger)}:root.theme-light .taskTopline{color:var(--tone-text-muted)}:root.theme-light .taskTopline span{color:#475569;background:#f1f5f9}:root.theme-light .missionTask{color:#0f172a}:root.theme-light .missionExpected{color:#075985;background:#f0f9ff;border-left-color:#38bdf8}:root.theme-light .objectiveBox{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}:root.theme-light .learningGuide{background:#eff6ff;border-color:#bfdbfe}:root.theme-light .learningGuideHeader,:root.theme-light .learningGuideSteps li{color:#1e3a8a}:root.theme-light .learningGuideHeader p{color:#475569}:root.theme-light .learningGuideSteps li>span{color:#1d4ed8;background:#dbeafe}:root.theme-light .freeLessonStep{color:#854d0e;background:#fffbeb;border-color:#fcd34d}:root.theme-light .hintChip{border-color:var(--tone-border);background:#f8fafc}:root.theme-light .hintChip.unlocked{color:#854d0e;background:#fffbeb;border-color:#fcd34d}:root.theme-light .hintChip button{color:#475569}:root.theme-light .hintCost{color:#a16207}:root.theme-light .editorToolbar{border-color:var(--tone-border)}:root.theme-light .editorActions .runButton{background:var(--tone-primary);color:var(--tone-text-inverse)}:root.theme-light .editorActions .runButton:hover:not(:disabled){background:var(--tone-primary-hover)}:root.theme-light .achievementToast{background:var(--tone-card);box-shadow:var(--tone-shadow-lg);border-color:#cbd5e1}:root.theme-light .achievementToast strong{color:var(--tone-text-strong)}:root.theme-light .achievementToast span{color:var(--tone-text-muted)}:root.theme-light .achievementToastIcon{color:#a16207;background:#fef3c7}:root.theme-light .achievementToast.success{border-color:#6ee7b7}:root.theme-light .achievementToast.success .achievementToastIcon{color:#047857;background:#d1fae5}:root.theme-light .achievementToast.error{border-color:#fca5a5}:root.theme-light .achievementToast.error .achievementToastIcon{color:#b91c1c;background:#fee2e2}:root.theme-light .cosmeticName>span:first-child{text-shadow:0 1px #0f172a47}.missionPreview{flex-direction:column;gap:7px;display:flex}.missionPreview .screenLabel{align-items:center;gap:6px;display:inline-flex}.missionPreview .screenLabel>svg{flex:none}.missionPreviewFrame{background:#fff;border:1px solid #94a3b840;border-radius:10px;min-height:130px;max-height:220px;overflow:hidden}.missionPreviewFrame iframe{background:#fff;border:0;width:100%;height:200px;display:block}.missionPreviewEmpty{text-align:center;color:#94a3b8;margin:0;padding:34px 14px;font-size:.84rem}.updateBanner{color:#86efac;background:#22c55e24;border:1px solid #22c55e66;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:.88rem;font-weight:600;display:flex}.updateBanner>svg{flex:none}.updateBanner button{margin-left:auto}:root.theme-light .updateBanner{color:#166534;background:#22c55e1a}.graceGuard{z-index:90;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04080aed;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:fixed;inset:0}.graceGuard h2{margin:8px 0 0;font-size:1.35rem}.graceGuard p{color:#cbd5e1;max-width:420px;margin:0;line-height:1.5}.graceCountdown{font-variant-numeric:tabular-nums;color:#fbbf24;margin-top:6px;font-size:3.2rem;line-height:1}.logoutReasonNotice{color:#fcd34d;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:.86rem;display:flex}.logoutReasonNotice>svg{flex:none;margin-top:1px}.logoutReasonNotice strong{margin-bottom:2px;display:block}.logoutReasonNotice span{color:#fcd34dd9;line-height:1.45}:root.theme-light .logoutReasonNotice{color:#92400e;background:#f59e0b1a}:root.theme-light .logoutReasonNotice span{color:#92400ed9}.teacherSolutionsShell{flex-direction:column;gap:20px;width:100%;max-width:1200px;margin:0 auto;padding:24px 28px 48px;display:flex}.teacherSolutionsHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.teacherSolutionsHeader h1{letter-spacing:-.02em;margin:4px 0 6px;font-size:1.6rem}.teacherSolutionsHeader p{color:var(--text-muted,#e2e8f0b3);max-width:700px;margin:0;font-size:.95rem;line-height:1.45}.teacherSolutionsHeaderBtn{border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.teacherSolutionsTabs{border-bottom:1px solid #94a3b829;gap:10px;padding-bottom:12px;display:flex}.solutionsTabButton{color:var(--text-muted,#94a3b8);cursor:pointer;background:#0f172a66;border:1px solid #94a3b829;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:all .18s;display:inline-flex}.solutionsTabButton:hover{color:#fff;background:#0f172ab3;border-color:#94a3b859}.solutionsTabButton.active{color:#60a5fa;background:linear-gradient(135deg,#3b82f638,#9333ea38);border-color:#60a5fa99;box-shadow:0 0 15px #3b82f626}.solutionsSection{flex-direction:column;gap:18px;display:flex}.solutionsLanguageSelector{flex-direction:column;gap:8px;display:flex}.solutionsSelectorLabel{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.solutionsLangPills{flex-wrap:wrap;gap:8px;display:flex}.solutionsLangPill{color:var(--text-secondary,#cbd5e1);cursor:pointer;background:#0f172a80;border:1px solid #94a3b826;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:.9rem;transition:all .15s;display:inline-flex}.solutionsLangPill:hover{color:#fff;background:#1e293bb3;border-color:#94a3b84d}.solutionsLangPill.active{color:#93c5fd;background:#3b82f62e;border-color:#3b82f6}.solutionsLangPill .pillBadge{color:inherit;background:#94a3b826;border-radius:12px;padding:2px 7px;font-size:.75rem;font-weight:700}.solutionsWorldBar{background:#0f172a59;border:1px solid #94a3b81f;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.solutionsWorldTabs{flex-wrap:wrap;gap:6px;display:flex}.solutionsWorldTab{color:#94a3b8;cursor:pointer;background:#0f172a80;border:1px solid #94a3b824;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:all .15s}.solutionsWorldTab:hover{color:#fff;background:#1e293bcc}.solutionsWorldTab.active{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 0 10px #3b82f659}.solutionsSearchBar{background:#0f172a99;border:1px solid #94a3b833;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:260px;max-width:380px;padding:6px 12px;display:flex}.solutionsSearchBar input{color:#fff;background:0 0;border:0;outline:none;width:100%;font-size:.9rem}.solutionsSearchBar .searchIcon{color:#94a3b8;flex-shrink:0}.solutionsStepFilter{flex-wrap:wrap;gap:6px;display:flex}.stepFilterButton{color:#94a3b8;cursor:pointer;background:#0f172a80;border:1px solid #94a3b824;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600}.stepFilterButton:hover{color:#fff}.stepFilterButton.active{color:#fff;background:#6366f1;border-color:#6366f1}.solutionsMissionsGrid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px;display:grid}@media (width<=768px){.solutionsMissionsGrid{grid-template-columns:1fr}}.solutionMissionCard{background:#0f172a8c;border:1px solid #94a3b829;border-radius:16px;flex-direction:column;gap:14px;padding:18px 20px;transition:border-color .2s,box-shadow .2s;display:flex}.solutionMissionCard:hover{border-color:#60a5fa66;box-shadow:0 4px 20px #00000040}.solutionMissionCard.exerciseCard{border-left:4px solid #3b82f6}.solutionMissionCard.lessonCard{border-left:4px solid #10b981}.missionCardHead{flex-direction:column;gap:6px;display:flex}.missionCardBadges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.missionBadgeNumber{color:#93c5fd;background:#3b82f62e;border:1px solid #3b82f659;border-radius:6px;padding:3px 8px;font-size:.78rem;font-weight:700}.missionBadgeTopic{color:#94a3b8;text-transform:capitalize;background:#94a3b81f;border-radius:6px;padding:3px 8px;font-size:.78rem;font-weight:600}.missionBadgeReward{color:#fde047;background:#eab30824;border-radius:6px;margin-left:auto;padding:3px 8px;font-size:.78rem;font-weight:700}.badgeExercise{color:#60a5fa;background:#3b82f633;border-color:#3b82f666}.badgeLesson{color:#34d399;background:#10b98133;border-color:#10b98166}.missionCardHead h3{color:#f1f5f9;margin:0;font-size:1.15rem;font-weight:700}.missionCardStory p{color:#e2e8f0d9;margin:0;font-size:.92rem;line-height:1.5}.missionCodeBlock{background:#0a0f1ebf;border:1px solid #94a3b829;border-radius:12px;overflow:hidden}.codeBlockHead{color:#94a3b8;background:#0f172a99;border-bottom:1px solid #94a3b81a;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.8rem;font-weight:600;display:flex}.codeBlockHead.highlightHead{background:linear-gradient(90deg,#3b82f633,#9333ea26);border-bottom-color:#60a5fa40}.highlightTitle{color:#60a5fa;align-items:center;gap:6px;font-weight:700;display:inline-flex}.copyCodeButton{color:#cbd5e1;cursor:pointer;background:#94a3b81f;border:1px solid #94a3b833;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.copyCodeButton:hover{color:#fff;background:#94a3b838}.copyCodeButton.primaryCopy{color:#93c5fd;background:#3b82f640;border-color:#3b82f680}.copyCodeButton.primaryCopy:hover{color:#fff;background:#3b82f6}.missionCodeBlock pre{color:#e2e8f0;margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86rem;line-height:1.45;overflow-x:auto}.missionCodeBlock.solutionBlock{border-color:#3b82f666;box-shadow:0 0 16px #3b82f614}.solutionPre{background:#1e3a8a26;color:#bfdbfe!important}.missionHintsBox{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:10px;flex-direction:column;gap:6px;padding:10px 14px;font-size:.86rem;display:flex}.missionHintsBox strong{color:#fbbf24;align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.missionHintsBox ul{color:#fde68a;margin:0;padding-left:18px;line-height:1.45}.missionHintsBox li{margin-bottom:4px}.checksList{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.checkTag{color:#38bdf8;background:#0f172ab3;border:1px solid #94a3b833;border-radius:6px;padding:2px 8px;font-family:monospace;font-size:.78rem}.missionTestsAccordion{border-top:1px dashed #94a3b829;padding-top:8px}.testsAccordionToggle{color:#94a3b8;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:4px 0;font-size:.82rem;font-weight:600;display:flex}.testsAccordionToggle:hover{color:#cbd5e1}.testsAccordionBody{background:#0a0f1999;border-radius:8px;flex-direction:column;gap:8px;margin-top:8px;padding:10px;font-size:.8rem;display:flex}.testSubBlock small{color:#64748b;margin-bottom:4px;font-weight:600;display:block}.testSubBlock pre{color:#94a3b8;background:#0006;border-radius:6px;margin:0;padding:6px 8px;font-size:.78rem;overflow-x:auto}.solutionsLoading,.solutionsEmpty{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.solutionsSpinner{border:3px solid #94a3b833;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}:root.theme-light .teacherSolutionsHeader h1{color:#0f172a}:root.theme-light .teacherSolutionsHeader p{color:#475569}:root.theme-light .teacherSolutionsTabs{border-bottom-color:#e2e8f0}:root.theme-light .solutionsTabButton{color:#475569;background:#fff;border-color:#cbd5e1;box-shadow:0 1px 3px #0000000d}:root.theme-light .solutionsTabButton:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}:root.theme-light .solutionsTabButton.active{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 12px #3b82f62e}:root.theme-light .solutionsSelectorLabel{color:#64748b}:root.theme-light .solutionsLangPill{color:#334155;background:#fff;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000a}:root.theme-light .solutionsLangPill:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}:root.theme-light .solutionsLangPill.active{color:#1e40af;background:#dbeafe;border-color:#2563eb}:root.theme-light .solutionsLangPill .pillBadge{color:inherit;background:#64748b1f}:root.theme-light .solutionsWorldBar{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 4px #0000000a}:root.theme-light .solutionsWorldTab{color:#475569;background:#f1f5f9;border-color:#cbd5e1}:root.theme-light .solutionsWorldTab:hover{color:#0f172a;background:#e2e8f0}:root.theme-light .solutionsWorldTab.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 8px #2563eb4d}:root.theme-light .solutionsSearchBar{background:#fff;border-color:#cbd5e1}:root.theme-light .solutionsSearchBar input{color:#0f172a}:root.theme-light .solutionsSearchBar input::placeholder{color:#94a3b8}:root.theme-light .solutionsSearchBar .searchIcon{color:#64748b}:root.theme-light .stepFilterButton{color:#475569;background:#f1f5f9;border-color:#cbd5e1}:root.theme-light .stepFilterButton:hover{color:#0f172a;background:#e2e8f0}:root.theme-light .stepFilterButton.active{color:#fff;background:#4f46e5;border-color:#4f46e5}:root.theme-light .solutionMissionCard{background:#fff;border-color:#e2e8f0;box-shadow:0 2px 10px #0000000d}:root.theme-light .solutionMissionCard:hover{border-color:#93c5fd;box-shadow:0 6px 22px #00000014}:root.theme-light .missionCardHead h3{color:#0f172a}:root.theme-light .missionCardStory p{color:#334155}:root.theme-light .missionBadgeNumber{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}:root.theme-light .missionBadgeTopic{color:#475569;background:#f1f5f9}:root.theme-light .missionBadgeReward{color:#854d0e;background:#fef9c3}:root.theme-light .badgeExercise{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}:root.theme-light .badgeLesson{color:#047857;background:#ecfdf5;border-color:#a7f3d0}:root.theme-light .missionCodeBlock{background:#0f172a;border-color:#e2e8f0}:root.theme-light .codeBlockHead{color:#475569;background:#f8fafc;border-bottom-color:#e2e8f0}:root.theme-light .codeBlockHead.highlightHead{background:#eff6ff;border-bottom-color:#bfdbfe}:root.theme-light .highlightTitle{color:#1d4ed8}:root.theme-light .copyCodeButton{color:#334155;background:#fff;border-color:#cbd5e1}:root.theme-light .copyCodeButton:hover{color:#0f172a;background:#f1f5f9}:root.theme-light .copyCodeButton.primaryCopy{color:#fff;background:#2563eb;border-color:#2563eb}:root.theme-light .copyCodeButton.primaryCopy:hover{background:#1d4ed8}:root.theme-light .missionCodeBlock.solutionBlock{border-color:#93c5fd;box-shadow:0 2px 12px #3b82f61a}:root.theme-light .missionHintsBox{background:#fffbeb;border-color:#fde68a}:root.theme-light .missionHintsBox strong{color:#b45309}:root.theme-light .missionHintsBox ul{color:#78350f}:root.theme-light .checkTag{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}:root.theme-light .missionTestsAccordion{border-top-color:#e2e8f0}:root.theme-light .testsAccordionToggle{color:#475569}:root.theme-light .testsAccordionToggle:hover{color:#0f172a}:root.theme-light .testsAccordionBody{background:#f8fafc;border:1px solid #e2e8f0}:root.theme-light .testSubBlock small{color:#64748b}:root.theme-light .testSubBlock pre{color:#e2e8f0;background:#0f172a}.teacherActivityContainer{gap:20px;max-width:1360px;margin:0 auto;padding:24px;display:grid}.teacherActivityHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.teacherActivityBadge{background:color-mix(in srgb, var(--tone-primary) 12%, transparent);color:var(--tone-primary);border-radius:20px;align-items:center;gap:6px;margin-bottom:8px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.teacherActivityHeader h1{color:var(--tone-text-strong);margin:0 0 6px;font-size:1.6rem;font-weight:800}.teacherActivityControls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.teacherSelectGroup{border-radius:var(--radius-sm);background:var(--tone-card);border:1px solid var(--tone-border);align-items:center;gap:8px;padding:6px 12px;display:flex}.teacherClassSelect{color:var(--tone-text-strong);cursor:pointer;background:0 0;border:none;outline:none;font-size:.88rem;font-weight:600}.teacherAutoRefreshBtn{border-radius:var(--radius-sm);background:var(--tone-card);border:1px solid var(--tone-border);color:var(--tone-text-muted);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:.84rem;font-weight:600;transition:all .2s;display:inline-flex}.teacherAutoRefreshBtn.active{background:color-mix(in srgb, var(--tone-success) 15%, var(--tone-card));border-color:var(--tone-success);color:var(--tone-success)}.teacherActionBtn{border-radius:var(--radius-sm);background:var(--tone-card);border:1px solid var(--tone-border);width:36px;height:36px;color:var(--tone-text);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.teacherActionBtn:hover{background:var(--tone-surface);border-color:var(--tone-primary);color:var(--tone-primary)}.spinIcon{animation:1s linear infinite spin}.teacherMetricsGrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.teacherMetricCard{border-radius:var(--radius-md);background:var(--tone-card);border:1px solid var(--tone-border);align-items:center;gap:14px;padding:18px 20px;display:flex;box-shadow:0 4px 12px #00000008}.metricIconBox{border-radius:12px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.metricContent{flex-grow:1;gap:3px;min-width:0;display:grid}.metricLabel{color:var(--tone-text-muted);letter-spacing:.01em;font-size:.82rem;font-weight:700}.metricValue{align-items:baseline;gap:6px;display:flex}.metricValue strong{color:var(--tone-text-strong);font-size:1.5rem;font-weight:800;line-height:1.1}.metricSubtext{color:var(--tone-text-muted);font-size:.76rem}.metricProgressBar{background:var(--tone-border);border-radius:3px;width:100%;height:6px;margin-top:4px;overflow:hidden}.metricProgressBarFill{background:#a855f7;border-radius:3px;height:100%;transition:width .4s}.teacherTabsBar{border-bottom:1px solid var(--tone-border);gap:8px;padding-bottom:8px;display:flex}.teacherTabBtn{border-radius:var(--radius-sm);color:var(--tone-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.teacherTabBtn:hover{background:var(--tone-card);color:var(--tone-text-strong)}.teacherTabBtn.active{background:var(--tone-card);border-color:var(--tone-border);color:var(--tone-primary);box-shadow:0 2px 6px #0000000a}.tabCounter{background:var(--tone-surface);color:var(--tone-text-muted);border-radius:10px;padding:2px 7px;font-size:.74rem;font-weight:800;display:inline-block}.tabCounter.livePulse{background:color-mix(in srgb, var(--tone-primary) 18%, transparent);color:var(--tone-primary)}.teacherAnalyticsTabContent{gap:20px;display:grid}.teacherAnalyticsCard{border-radius:var(--radius-md);background:var(--tone-card);border:1px solid var(--tone-border);padding:22px;box-shadow:0 4px 16px #00000008}.cardHeaderFlex{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.cardHeaderFlex h2{color:var(--tone-text-strong);align-items:center;gap:8px;margin:0 0 4px;font-size:1.15rem;font-weight:800;display:flex}.languagesGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.languageCard{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);gap:8px;padding:14px 16px;display:grid}.languageCardHeader{justify-content:space-between;align-items:center;display:flex}.langBadgeWithDot{align-items:center;gap:7px;display:flex}.langDot{border-radius:50%;width:10px;height:10px}.langPctValue{font-size:1rem;font-weight:800}.langProgressTrack{background:var(--tone-border);border-radius:3px;width:100%;height:6px;overflow:hidden}.langProgressFill{border-radius:3px;height:100%;transition:width .4s}.languageCardFooter{justify-content:space-between;font-size:.75rem;display:flex}.analyticsTwoColGrid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=900px){.analyticsTwoColGrid{grid-template-columns:1fr}}.strugglesList{gap:10px;display:grid}.struggleItem{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);align-items:center;gap:12px;padding:12px 14px;display:flex}.struggleRank{color:var(--tone-text-muted);width:28px;font-size:.85rem;font-weight:800}.struggleDetails{flex-grow:1;gap:4px;display:grid}.struggleTitleRow{align-items:center;gap:8px;display:flex}.struggleTitleRow strong{color:var(--tone-text-strong);font-size:.88rem}.langTagMini{background:var(--tone-card);border:1px solid var(--tone-border);color:var(--tone-text-muted);border-radius:4px;padding:1px 6px;font-size:.68rem;font-weight:800;display:inline-block}.struggleMeta{align-items:center;gap:12px;font-size:.76rem;display:flex}.failBadge{color:#ef4444;font-weight:700}.topPerformersList{gap:8px;display:grid}.performerRow{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);cursor:pointer;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;display:flex}.performerRow:hover{background:var(--tone-card);border-color:var(--tone-primary);transform:translate(3px)}.performerRank{text-align:center;width:24px;font-size:1rem}.performerInfo{flex-grow:1;gap:2px;display:grid}.performerInfo strong{color:var(--tone-text-strong);font-size:.88rem}.performerStats{text-align:right;gap:2px;display:grid}.performerPctBadge{color:var(--tone-primary);font-size:.88rem;font-weight:800}.teacherTableCard{background:var(--tone-card);border:1px solid var(--tone-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 16px #00000008}.tableControlsBar{border-bottom:1px solid var(--tone-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.searchBox{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);align-items:center;gap:8px;width:320px;max-width:100%;padding:6px 12px;display:flex}.teacherSearchInput{color:var(--tone-text);background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.clearSearchBtn{color:var(--tone-text-muted);cursor:pointer;background:0 0;border:none;padding:2px}.filterButtonGroup{gap:6px;display:flex}.filterBtn{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);color:var(--tone-text-muted);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.filterBtn.active{background:var(--tone-card);border-color:var(--tone-primary);color:var(--tone-primary);font-weight:700}.tableWrapper{overflow-x:auto}.teacherDataTable{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.teacherDataTable th{background:var(--tone-surface);color:var(--tone-text-muted);letter-spacing:.01em;border-bottom:1px solid var(--tone-border);white-space:nowrap;padding:12px 16px;font-size:.8rem;font-weight:700}.teacherDataTable td{border-bottom:1px solid var(--tone-border);color:var(--tone-text);padding:12px 16px}.teacherDataTable tr:hover td{background:color-mix(in srgb, var(--tone-primary) 3%, transparent)}.emptyTableTd{text-align:center;color:var(--tone-text-muted);padding:36px 16px!important}.studentCell{align-items:center;gap:10px;display:flex}.studentCell strong{color:var(--tone-text-strong);font-size:.88rem;display:block}.classTag{background:var(--tone-surface);border:1px solid var(--tone-border);border-radius:4px;padding:2px 8px;font-size:.76rem;font-weight:600;display:inline-block}.levelCell{gap:2px;display:grid}.levelBadge{color:#3b82f6;background:#3b82f626;border-radius:4px;width:fit-content;padding:2px 6px;font-size:.74rem;font-weight:800;display:inline-block}.progressCell{gap:4px;min-width:120px;display:grid}.progressValueText{align-items:baseline;gap:4px;display:flex}.progressValueText strong{color:var(--tone-text-strong);font-size:.88rem}.miniProgressTrack{background:var(--tone-border);border-radius:3px;width:100%;height:5px;overflow:hidden}.miniProgressFill{border-radius:3px;height:100%;transition:width .35s}.langMiniBadgesRow{flex-wrap:wrap;gap:6px;display:flex}.langMiniBadge{background:var(--tone-surface);border:1px solid var(--tone-border);border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.72rem;display:inline-flex}.langDotMini{border-radius:50%;width:6px;height:6px}.badgesCountCell,.coinsCell{align-items:center;gap:5px;font-weight:700;display:flex}.certBadgeCount{color:#a855f7;background:#a855f726;border-radius:4px;align-items:center;gap:3px;margin-left:4px;padding:1px 5px;font-size:.7rem;display:inline-flex}.viewDetailsBtn{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);color:var(--tone-primary);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.viewDetailsBtn:hover{background:var(--tone-primary);border-color:var(--tone-primary);color:#fff}.timeCell{white-space:nowrap;font-size:.78rem}.missionCell{gap:3px;display:grid}.missionCell strong{color:var(--tone-text-strong);font-size:.86rem}.statusBadge{white-space:nowrap;border-radius:12px;align-items:center;gap:5px;padding:3px 8px;font-size:.74rem;font-weight:800;display:inline-flex}.statusBadge.passed{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.statusBadge.failed{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.outputCell{max-width:240px}.outputText{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.35;display:-webkit-box;overflow:hidden}.statsSmallCell{align-items:center;gap:6px;font-size:.76rem;display:flex}.hintCostTag{color:#eab308;background:#eab30826;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:.72rem;font-weight:700;display:inline-flex}.inspectCodeBtn{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);color:var(--tone-text-strong);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.inspectCodeBtn:hover{background:var(--tone-card);border-color:var(--tone-primary);color:var(--tone-primary)}.paginationBar{border-top:1px solid var(--tone-border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.pageBtn{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);color:var(--tone-text);cursor:pointer;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .2s}.pageBtn:disabled{opacity:.4;cursor:not-allowed}.pageIndicator{color:var(--tone-text-muted);font-size:.82rem}.teacherModalOverlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#000000a6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.teacherModalCard{background:var(--tone-card);border:1px solid var(--tone-border);border-radius:var(--radius-md);flex-direction:column;width:min(100%,680px);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 20px 48px #00000059}.teacherModalCard.studentOverviewModal{width:min(100%,600px)}.modalHeader{border-bottom:1px solid var(--tone-border);justify-content:space-between;align-items:flex-start;padding:18px 22px;display:flex}.modalTitleRow{align-items:center;gap:12px;display:flex}.codeIconBox{background:color-mix(in srgb, var(--tone-primary) 15%, transparent);width:40px;height:40px;color:var(--tone-primary);border-radius:10px;place-items:center;display:grid}.modalTitleRow h3{color:var(--tone-text-strong);margin:0 0 3px;font-size:1.1rem;font-weight:800}.modalCloseBtn{color:var(--tone-text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.modalBody{gap:16px;padding:20px 22px;display:grid;overflow-y:auto}.submissionStatusHeader{justify-content:space-between;align-items:center;display:flex}.statusGroup{align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.feedbackOutputBlock{border-radius:var(--radius-sm);background:color-mix(in srgb, #ef4444 10%, var(--tone-surface));border:1px solid #ef444440;gap:6px;padding:12px 14px;display:grid}.feedbackHeader{color:#ef4444;align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:flex}.feedbackContent{color:var(--tone-text);font-size:.84rem;line-height:1.45}.codeViewerSection{gap:8px;display:grid}.codeViewerHeader{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.copyCodeBtn{background:var(--tone-surface);border:1px solid var(--tone-border);color:var(--tone-text-strong);cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:.74rem;font-weight:700;display:inline-flex}.codeBlockPre{border-radius:var(--radius-sm);color:#e2e8f0;background:#0f172a;border:1px solid #ffffff1a;max-height:280px;margin:0;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;line-height:1.5;overflow-x:auto}.modalFooter{border-top:1px solid var(--tone-border);justify-content:flex-end;padding:14px 22px;display:flex}.modalSecondaryBtn{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);color:var(--tone-text-strong);cursor:pointer;padding:8px 18px;font-size:.84rem;font-weight:700}.studentModalMetrics{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;display:grid}.studentModalMetricItem{text-align:center;gap:2px;display:grid}.studentModalMetricItem span{font-size:.72rem}.studentModalMetricItem strong{font-size:1.05rem}.sectionModalTitle{color:var(--tone-text-strong);align-items:center;gap:6px;margin:8px 0 2px;font-size:.92rem;font-weight:800;display:flex}.modalLanguagesList{gap:8px;display:grid}.modalLangRow{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:8px 12px;display:grid}.modalLangInfo{align-items:center;gap:6px;font-size:.82rem;display:flex}.modalLangProgressWrapper{align-items:center;gap:8px;display:flex}.modalLangProgressBar{background:var(--tone-border);border-radius:3px;flex-grow:1;height:5px;overflow:hidden}.modalLangProgressBarFill{border-radius:3px;height:100%}.modalLangPctText{text-align:right;width:36px;font-size:.78rem;font-weight:800}.modalBadgesGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modalBadgeCard{border-radius:var(--radius-sm);background:var(--tone-surface);border:1px solid var(--tone-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.modalBadgeCard strong{color:var(--tone-text-strong);font-size:.8rem;display:block}.modalLoadingBox{color:var(--tone-text-muted);justify-content:center;align-items:center;gap:8px;padding:20px;font-size:.85rem;display:flex}:root,:root.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--tone-bg:#0f172a;--tone-bg-elev:#0b1220;--tone-panel:#1e293bb3;--tone-panel-solid:#1e293b;--tone-card:#1e293b99;--tone-card-strong:#0f172ad9;--tone-border:#94a3b82e;--tone-border-strong:#94a3b859;--tone-input-bg:#0f172ab3;--tone-text:#f1f5f9;--tone-text-muted:#94a3b8;--tone-text-strong:#fff;--tone-text-inverse:#0f172a;--tone-primary:#10b981;--tone-primary-hover:#059669;--tone-primary-soft:#10b98126;--tone-primary-ring:#10b98159;--tone-accent:#a5b4fc;--tone-accent-soft:#8b5cf626;--tone-warn:#fbbf24;--tone-warn-soft:#fbbf2426;--tone-danger:#ef4444;--tone-danger-soft:#ef444426;--tone-success:#34d399;--tone-success-soft:#34d39926;--tone-info:#60a5fa;--tone-info-soft:#60a5fa26;--tone-shadow-sm:0 2px 8px #02061759;--tone-shadow-md:0 8px 24px #02061780;--tone-shadow-lg:0 16px 48px #020617a6;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px}:root.theme-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--tone-bg:#f1f5f9;--tone-bg-elev:#fff;--tone-panel:#fff;--tone-panel-solid:#f8fafc;--tone-card:#fff;--tone-card-strong:#e2e8f0;--tone-border:#0f172a26;--tone-border-strong:#0f172a40;--tone-input-bg:#fff;--tone-text:#0f172a;--tone-text-muted:#475569;--tone-text-strong:#020617;--tone-text-inverse:#fff;--tone-primary:#059669;--tone-primary-hover:#047857;--tone-primary-soft:#0596691f;--tone-primary-ring:#0596694d;--tone-accent:#6366f1;--tone-accent-soft:#6366f11f;--tone-warn:#d97706;--tone-warn-soft:#d977061f;--tone-danger:#dc2626;--tone-danger-soft:#dc26261a;--tone-success:#059669;--tone-success-soft:#0596691a;--tone-info:#2563eb;--tone-info-soft:#2563eb1a;--tone-shadow-sm:0 1px 4px #0f172a1a;--tone-shadow-md:0 4px 16px #0f172a1f;--tone-shadow-lg:0 12px 32px #0f172a29}body{background:var(--tone-bg);color:var(--tone-text);transition:background .2s,color .2s}.tone-card{background:var(--tone-card);border:1px solid var(--tone-border);border-radius:var(--radius-lg);box-shadow:var(--tone-shadow-sm);transition:background .2s,border-color .2s}.tone-panel{background:var(--tone-panel);border:1px solid var(--tone-border);border-radius:var(--radius-lg)}.tone-input{background:var(--tone-input-bg);border:1px solid var(--tone-border);color:var(--tone-text);border-radius:var(--radius-md)}.tone-input:focus{border-color:var(--tone-primary);box-shadow:0 0 0 3px var(--tone-primary-ring);outline:none}.tone-button{background:var(--tone-primary);color:var(--tone-text-inverse);border-radius:var(--radius-md);cursor:pointer;border:none;padding:8px 14px;font-weight:600;transition:background .15s,transform .15s}.tone-button:hover:not(:disabled){background:var(--tone-primary-hover)}.tone-button.ghost{color:var(--tone-text);border:1px solid var(--tone-border);background:0 0}.tone-button.ghost:hover:not(:disabled){background:var(--tone-primary-soft);border-color:var(--tone-primary)}.tone-button.icon{aspect-ratio:1;justify-content:center;align-items:center;padding:6px;display:inline-flex}.tone-chip{border-radius:var(--radius-pill);background:var(--tone-card-strong);color:var(--tone-text);border:1px solid var(--tone-border);padding:4px 10px;font-size:.78rem;font-weight:600}.tone-chip.primary{background:var(--tone-primary-soft);color:var(--tone-primary);border-color:var(--tone-primary)}
