.login-page{height:100dvh;width:100%;min-width:0;display:flex;flex-direction:column;overflow:auto;background:radial-gradient(ellipse at 8% 30%,#d5ccff 0,transparent 47%),radial-gradient(ellipse at 90% 85%,#e5dcff 0,transparent 45%),#f1efff;color:#141151}.login-header{height:clamp(76px,9vh,100px);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(28px,4vw,76px);background:#ffffff63;border-bottom:1px solid #ffffff70}.login-brand{display:flex;align-items:center;gap:14px}.login-brand strong{font-size:clamp(23px,1.75vw,32px);display:block;letter-spacing:.4px}.login-brand span{display:block;color:#8680b3;font-size:13px;margin-top:4px}.login-header>p{color:#7760c9;font-size:15px;font-style:italic;line-height:1.6;transform:rotate(-5deg)}.login-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(430px,35vw,560px);gap:clamp(24px,3vw,64px);padding:clamp(14px,2.5vh,30px) clamp(28px,4vw,76px) 8px;align-items:stretch}.login-story{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;isolation:isolate}.login-story-copy{padding:clamp(12px,2vh,28px) 12px 0;z-index:2;flex-shrink:0}.login-eyebrow{color:#8063d3;font-weight:700;font-size:11px;letter-spacing:2.5px}.login-story h1{font-size:clamp(29px,2.8vw,48px);line-height:1.4;margin:12px 0 14px;letter-spacing:.5px}.login-story h1 span{position:relative;white-space:nowrap}.login-story h1 span:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:7px;background:#ffdc73;border-radius:100%;transform:rotate(-3deg);z-index:-1}.login-story-copy>p{color:#746ba6;font-size:clamp(14px,1.05vw,18px);line-height:1.75}.login-illustration{flex:1;min-height:120px;position:relative;display:flex;align-items:end;justify-content:center}.login-illustration:before{content:"";position:absolute;width:85%;height:85%;left:5%;bottom:0;background:radial-gradient(ellipse,#c3b2ff88,transparent 67%);z-index:-1}.login-illustration>img{position:absolute;height:112%;width:100%;object-fit:contain;object-position:center bottom;max-height:440px;bottom:-10px}.login-coding{position:absolute;right:2%;top:20%;font-size:clamp(18px,1.8vw,28px);font-weight:700;line-height:1.2;color:#8b65ed;transform:rotate(8deg);background:#ffffffdb;border-radius:22px;padding:14px 20px}.login-star{position:absolute;color:#ffc857;font-size:38px}.star-one{left:8%;top:28%}.star-two{right:20%;top:2%;font-size:24px}.login-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;position:relative;z-index:2;flex-shrink:0}.login-features>button{background:#ffffffe8;border:1px solid #ffffff;border-radius:19px;padding:clamp(12px,1.6vh,20px) 8px;display:flex;align-items:center;flex-direction:column;gap:9px;box-shadow:0 5px 20px #7051b708;transition:background .15s,box-shadow .15s}.login-features>button:hover{background:#fff;box-shadow:0 8px 24px #8052ff20}.login-features strong{font-size:clamp(12px,.94vw,17px);white-space:nowrap}.login-features>button>span{font-size:clamp(11px,.8vw,14px);color:#827aaa;line-height:1.6}.login-features>button>svg:last-child{width:24px;height:24px;padding:4px;background:#eee8ff;border-radius:50%;color:#885bff}.login-language-art{height:47px;display:flex;align-items:center;gap:4px}.login-language-art .art{max-width:30%}.login-features .feature-symbol{width:47px;height:47px;color:#895bff;padding:6px;background:#f1ecff;border-radius:50%}.login-card{min-height:0;align-self:center;width:100%;padding:clamp(22px,2.3vw,38px);border-radius:26px;background:#ffffffed;box-shadow:0 14px 60px #7961b412;border:1px solid white;display:flex;flex-direction:column;gap:clamp(9px,1.3vh,15px)}.login-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.login-card-heading h2{font-size:clamp(30px,2.8vw,44px);line-height:1.3;margin-bottom:5px}.login-card-heading p{font-size:clamp(13px,1vw,17px);color:#827bae;line-height:1.6}.login-robot{height:85px;width:95px;display:flex;align-items:center;justify-content:center}.login-robot .art{width:85px!important;height:85px!important;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent)}.login-role-tabs{display:flex;border-radius:12px;background:#f5f2ff;padding:3px;gap:3px}.login-role-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 5px;font-size:clamp(12px,.95vw,16px);font-weight:600;white-space:nowrap;color:#7162b1;border-radius:9px}.login-role-tabs button.active{background:linear-gradient(105deg,#a37aff,#7750f5);color:#fff;box-shadow:0 4px 12px #8052ff21}.login-card form{display:flex;flex-direction:column;gap:10px}.login-input{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 13px;background:#fff;border:1px solid #ddd7f9;border-radius:12px;color:#aaa2cb}.login-input:focus-within{border-color:#9168ff;box-shadow:0 0 0 3px #956dff12}.login-input input{border:0;background:transparent;padding:12px 0;flex:1;min-width:0;width:100%;font-size:14px;outline:none}.login-input>button{padding:5px;display:flex;color:#9c91c3}.login-options{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.login-options label{display:flex;align-items:center;gap:7px}.login-options button,.login-register button{color:#8657ff;font-weight:600;padding:3px}.login-error{min-height:16px;font-size:11px;color:#d7506c;line-height:1.4;margin-top:-6px}.login-submit,.login-quick{width:100%;min-height:48px;display:flex;justify-content:center;align-items:center;gap:14px;border-radius:11px;font-size:17px;font-weight:600}.login-submit{background:linear-gradient(105deg,#a17aff,#7750f5);color:#fff;border:1px solid transparent}.login-submit:hover{filter:brightness(1.04)}.login-quick{background:#fff;border:1px solid #946aff;color:#8657ff;font-size:16px}.login-quick:hover{background:#f8f5ff}.login-register{text-align:center;font-size:13px;color:#81789f;line-height:1.5}.login-demo-accounts{background:linear-gradient(130deg,#f3efff,#eef1fc);border-radius:13px;padding:12px 15px;display:flex;flex-direction:column;gap:4px}.login-demo-accounts strong{font-size:12px;line-height:1.5;margin-bottom:2px}.login-demo-accounts>button{display:flex;gap:9px;font-size:12px;color:#726c9a;text-align:left;padding:1px 3px;border-radius:4px}.login-demo-accounts>button:hover{background:#e7dfff}.login-demo-accounts>button>span:first-child{min-width:55px}.login-demo-accounts>small{font-size:10px;color:#938bad;margin-top:2px}.login-footer{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 0 12px;color:#9288b2;font-size:11px}.login-footer>div{display:flex}.login-footer button{color:#9288b2;padding:0 16px;font-size:11px;border-right:1px solid #cfc6ec}.login-footer button:last-child{border:0}.login-modal-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#21154f42;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-notice{position:relative;background:#fff;padding:30px;border-radius:20px;max-width:440px;width:100%;box-shadow:0 20px 80px #32205025}.login-close{position:absolute;top:12px;right:12px;display:flex}.login-notice h2{font-size:23px;margin-bottom:16px}.login-notice p{color:#776c9b;font-size:14px;margin-bottom:22px}@media(min-width:1000px)and (max-height:800px){.login-header{height:72px}.login-main{padding-top:12px;padding-bottom:4px;gap:28px;grid-template-columns:minmax(0,1fr) 440px}.login-card{padding:20px 26px;gap:8px}.login-card-heading h2{font-size:32px}.login-card-heading p{font-size:13px}.login-robot{height:64px}.login-robot .art{width:64px!important;height:64px!important}.login-role-tabs button{padding:10px 4px}.login-card form{gap:8px}.login-input{min-height:44px}.login-input input{padding:10px 0}.login-submit,.login-quick{min-height:43px}.login-demo-accounts{padding:9px 12px;gap:2px}.login-story-copy{padding-top:10px}.login-story h1{font-size:32px;margin:8px 0 12px}.login-illustration>img{height:105%;bottom:-8px}.login-features>button{gap:6px;padding:12px 6px}.login-features .feature-symbol,.login-language-art{height:38px}.login-footer{padding:7px 0 9px}.login-features strong{font-size:12px}}@media(max-width:1100px){.login-main{padding-inline:24px;grid-template-columns:minmax(0,1fr) 420px;gap:20px}.login-features{grid-template-columns:repeat(2,minmax(0,1fr))}.login-features>button{padding:10px;gap:5px}.login-features>button>span{display:block}.login-coding{right:0;font-size:17px}.login-story h1{font-size:28px}}@media(max-width:800px){.login-page{height:auto;min-height:100dvh;overflow:visible}.login-header{padding:14px 20px;height:auto}.login-header>p{display:none}.login-brand .art{width:44px!important;height:44px!important}.login-brand strong{font-size:20px}.login-brand span{font-size:10px}.login-main{display:flex;flex-direction:column;padding:20px;gap:22px}.login-story-copy{padding:0}.login-story h1{font-size:27px}.login-illustration{height:240px;flex:auto}.login-illustration>img{height:100%;max-height:240px}.login-features{gap:8px}.login-card{max-width:520px;margin:auto;padding:24px;gap:12px}.login-footer{padding:18px}}.real-loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px}.real-answer{display:flex;align-items:center;gap:12px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:14px;cursor:pointer}.real-answer:has(input:checked){border-color:var(--purple);background:#ece5ff}.real-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.real-summary h2{font-size:30px;color:var(--purple)}.real-mastery{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,3fr) 50px;align-items:center;gap:14px;padding:10px 0}.real-mastery span small{display:block;color:var(--muted)}.real-mastery>div{height:10px;border-radius:10px;background:#eeecf7;overflow:hidden}.real-mastery i{display:block;height:100%;background:linear-gradient(90deg,#8060ff,#57c99a);border-radius:inherit}.real-assignment{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.real-assignment>div:last-child{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.real-assignment:last-child{border-bottom:0}.real-loading .card{max-width:600px}.real-return{position:fixed;bottom:3px;left:16px;z-index:90;background:#f5f4ff;color:#7144ce;font-size:12px;padding:3px 8px;border:1px solid #ddd4ff;border-radius:6px}.real-platform .role-control{margin-left:auto}.real-platform .role-control small{display:block}.real-platform .profile-top h3{white-space:normal;overflow-wrap:anywhere}.real-platform .topbar nav{flex:1;justify-content:center}.real-workspace{display:flex;flex-direction:column;gap:14px}.real-workspace>.card,.real-workspace>.real-banner{flex-shrink:0}.real-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:linear-gradient(110deg,#e4ddff,#f0edff);border-radius:16px;min-height:115px}.real-banner h1{font-size:clamp(22px,2vw,32px)}.real-banner .art{max-width:36%;height:100px!important;-webkit-mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent)}.real-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.real-actions input:not([type=checkbox]):not([type=radio]){flex:1;min-width:150px}.real-question-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.real-question-row>div:nth-child(2){flex:1;min-width:0}.real-question-row>.real-actions{flex:0 0 auto;max-width:42%;justify-content:flex-end}.real-question-row:last-child{border-bottom:0}.real-excerpt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.real-notice{background:#ede7ff;padding:12px 16px;border-radius:10px;flex-shrink:0;display:flex;justify-content:space-between;gap:16px}.real-empty{text-align:center;padding:44px 12px}.real-editor{width:min(900px,95vw);max-height:90dvh;overflow:auto}.real-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.real-form-grid>label{display:flex;flex-direction:column;gap:6px}.real-form-grid .wide{grid-column:1/-1}.real-form-grid fieldset{border:1px solid var(--line);border-radius:10px;min-width:0;padding:12px}.real-check{display:inline-flex;align-items:center;gap:6px;margin:6px}.real-workspace pre{padding:16px;background:var(--soft);border-radius:10px;overflow-wrap:anywhere}.real-editor textarea{min-height:100px}@media(max-width:1300px){.real-platform .topbar nav{gap:2px}.real-platform .topbar nav button{padding:9px 7px;gap:4px}.real-platform .brand h2{font-size:19px}.real-question-row{gap:10px}.real-question-row>.real-actions{max-width:45%}}@media(max-width:900px){.real-platform .topbar nav{display:none}.real-form-grid{grid-template-columns:1fr}.real-question-row{flex-wrap:wrap}.real-question-row>.real-actions{max-width:100%}.real-summary{grid-template-columns:1fr}.real-mastery{grid-template-columns:1fr 50px}.real-mastery>div{grid-row:2;grid-column:1/-1}.real-assignment{grid-template-columns:1fr}.real-assignment>div:last-child{justify-content:flex-start}}.assessment-question-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto}.assessment-question-picker .real-answer{margin:0}.assessment-question-picker small{display:block;color:var(--muted);margin-top:4px}.assessment-card{display:grid;grid-template-columns:minmax(230px,1fr) minmax(320px,1.4fr);gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.assessment-card:last-child{border-bottom:0}.assessment-question-list{display:flex;flex-direction:column;align-items:stretch;gap:8px}.assessment-question-list .btn{text-align:left;justify-content:flex-start}@media(max-width:900px){.assessment-question-picker,.assessment-card{grid-template-columns:1fr}}.real-code-input{width:100%;min-height:260px;resize:vertical;font-family:monospace;-moz-tab-size:4;tab-size:4}.real-monaco-shell{width:100%;height:320px;min-height:260px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#1e1e1e}.real-editor-loading{height:100%;display:grid;place-items:center;color:var(--muted);background:#1e1e1e}.real-draft-status{min-height:1.35em;margin:6px 0;color:var(--muted);font-size:12px}.real-ai-text{white-space:pre-wrap;overflow-wrap:anywhere}.real-form-grid textarea{max-width:100%}.real-assignment details pre{white-space:pre-wrap;overflow-wrap:anywhere}.scratch-workbench{min-width:0}.scratch-workbench .real-actions{align-items:center}.scratch-workbench .real-actions button,.scratch-import{border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:#fff;color:#5e45ae;cursor:pointer}.scratch-import{display:inline-flex;align-items:center;gap:8px}.scratch-import input{max-width:190px}.scratch-workbench [role=status]{color:var(--muted);font-size:12px}.scratch-workbench iframe{display:block;width:100%;height:min(72vh,720px);min-height:520px;border:1px solid #ded8f4;border-radius:10px;background:#f7f6ff}.scratch-license{font-size:11px;color:var(--muted)}.scratch-license a{color:#6544ca}.roster-table-wrap{max-width:100%;overflow-x:auto}.roster-table{width:100%;border-collapse:collapse;font-size:13px}.roster-table th,.roster-table td{padding:12px 9px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.roster-table th{background:var(--soft);white-space:nowrap}.roster-table small{display:block;color:var(--muted);margin-top:4px}.roster-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:160px}.roster-actions .btn{white-space:nowrap}.student-import{padding:14px;background:var(--soft);border-radius:12px}.student-import input{display:block;margin:10px 0}.student-details details{padding:10px 0;border-bottom:1px solid var(--line)}.student-details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;background:var(--soft);padding:12px}.student-details h3{margin-top:20px}.student-details .card-head{position:sticky;top:0;background:#fff;z-index:1}.real-editor fieldset{min-width:0}.qb-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin:16px 0}.qb-filters label,.qb-upload label,.qb-criterion label,.qb-overall-feedback{display:flex;flex-direction:column;gap:6px;min-width:0}.qb-filters select,.qb-filters input,.qb-upload input,.qb-criterion select,.qb-criterion textarea,.qb-overall-feedback textarea{max-width:100%;min-width:0}.qb-search{grid-column:span 2}.qb-list{display:grid;gap:8px}.qb-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;color:inherit;cursor:pointer}.qb-row:hover,.qb-row:focus-visible{border-color:var(--purple);background:var(--soft)}.qb-row>span{min-width:0}.qb-row small,.qb-log-row small{display:block;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.qb-row b{white-space:nowrap;color:var(--purple)}.qb-question-modal{width:min(1000px,96vw);max-height:92dvh}.qb-question-modal .card-head{position:sticky;top:-1px;background:#fff;z-index:2;padding:6px 0 12px}.qb-question-modal .card-head h2{overflow-wrap:anywhere}.qb-stem{line-height:1.7;overflow-wrap:anywhere}.qb-stem img{display:block;max-width:100%;height:auto;max-height:65vh;object-fit:contain;margin:12px auto;cursor:zoom-in}.qb-stem pre,.qb-sample pre{white-space:pre-wrap;overflow-x:auto}.qb-images{display:flex;gap:10px;overflow-x:auto;margin:12px 0}.qb-images button{flex:0 0 min(260px,80%);border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;cursor:zoom-in}.qb-images img{display:block;max-width:100%;max-height:180px;object-fit:contain;margin:auto}.qb-images span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.qb-answer{border:0;border-top:1px solid var(--line);padding:14px 0}.qb-answer legend{font-weight:700}.qb-choices-note{border-left:3px solid var(--purple);padding-left:12px}.qb-feedback{padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.qb-image-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#120f1aeb;display:grid;place-items:center;padding:48px 16px 20px}.qb-image-overlay>button{position:absolute;right:16px;top:8px;font-size:32px;background:transparent;color:#fff;border:0;cursor:pointer}.qb-image-overlay img{max-width:100%;max-height:100%;object-fit:contain}.qb-upload{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px;background:var(--soft);border-radius:12px}.qb-upload label{font-weight:700}.qb-upload input{font-weight:400}.qb-import-summary{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fcfbff}.qb-import-summary>pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto;background:var(--soft);padding:12px;border-radius:8px}.qb-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.qb-metrics>div{padding:12px;background:#fff;border:1px solid var(--line);border-radius:9px}.qb-metrics small,.qb-metrics strong{display:block;overflow-wrap:anywhere}.qb-metrics small{color:var(--muted)}.qb-metrics strong{font-size:20px;color:var(--purple)}.qb-sample{padding:12px 0;border-top:1px solid var(--line)}.qb-log-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.qb-review-modal{width:min(920px,96vw);max-height:92dvh}.qb-criterion{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,2fr);gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0}.qb-criterion legend{font-weight:700;padding:0 5px}.qb-criterion>p,.qb-criterion>small{grid-column:1/-1;margin:0}.qb-criterion textarea,.qb-overall-feedback textarea{min-height:74px;resize:vertical}.qb-code{white-space:pre-wrap;max-height:350px;overflow:auto}.qb-overall-feedback{margin:14px 0}.qb-grade-history{padding:12px;background:var(--soft);border-radius:10px}@media(max-width:700px){.qb-filters{grid-template-columns:1fr}.qb-search{grid-column:auto}.qb-row{align-items:flex-start;padding:12px;gap:8px}.qb-row b{font-size:13px}.qb-question-modal{width:calc(100vw - 16px);max-height:94dvh;padding:14px}.qb-question-modal .card-head{align-items:flex-start}.qb-question-modal .card-head h2{font-size:20px}.qb-stem{font-size:15px}.qb-stem img{max-height:48vh}.qb-images button{flex-basis:85%}.qb-log-row{align-items:flex-start;flex-wrap:wrap}.qb-criterion{grid-template-columns:1fr}.qb-criterion>p,.qb-criterion>small{grid-column:auto}.qb-image-overlay{padding:48px 8px 10px}}.qb-stats-table-wrap{max-width:100%;overflow:auto;margin:12px 0}.qb-stats-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.qb-stats-table th,.qb-stats-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.qb-stats-table thead th{color:var(--muted);font-size:13px;background:var(--soft)}.qb-stats-table tbody th{white-space:nowrap}.qb-stats-table td{font-variant-numeric:tabular-nums}.qb-stats-summary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.qb-stats-summary>span{padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}.question-pagination{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding:12px 0;color:var(--muted);font-size:14px}.question-pagination>span{margin-right:auto}.question-pagination label{display:flex;align-items:center;gap:6px}.question-pagination select{border:1px solid var(--line);border-radius:8px;padding:7px 9px;color:inherit;background:#fff}.question-pagination .btn:disabled{opacity:.5;cursor:not-allowed}.question-preview{width:min(920px,96vw);max-height:92dvh;overflow:auto}.question-preview .card-head{position:sticky;top:-1px;background:#fff;z-index:2;padding:6px 0 12px}.question-preview .card-head h2{overflow-wrap:anywhere}.question-preview-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:55dvh;overflow:auto;background:var(--soft);border-radius:10px;padding:14px;line-height:1.7}.teacher-question-picker{min-width:0}.teacher-question-filters{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr);gap:12px;margin:12px 0}.teacher-question-filters label{display:flex;flex-direction:column;gap:6px;min-width:0}.teacher-question-filters input,.teacher-question-filters select{min-width:0;width:100%}.selected-question-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.selected-question-summary>strong{color:var(--purple);margin-right:4px}.selected-question-chip{border:1px solid #d9cff7;border-radius:999px;background:#fff;color:#5634b4;padding:5px 9px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.teacher-question-list{display:grid;gap:10px;max-height:min(58vh,620px);overflow-y:auto;padding:2px}.teacher-question-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.teacher-question-select{display:flex;align-items:flex-start;gap:11px;flex:1;min-width:0;cursor:pointer}.teacher-question-select>input{flex:0 0 auto;margin:4px 0 0;width:18px;height:18px;accent-color:var(--purple)}.teacher-question-select>span{display:block;min-width:0}.teacher-question-select strong,.teacher-question-select small,.teacher-question-select em{display:block}.teacher-question-select strong{overflow-wrap:anywhere}.teacher-question-select small{color:var(--muted);margin:4px 0}.teacher-question-select em{font-style:normal;color:#595466;font-size:13px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.teacher-question-card:focus-within,.teacher-question-card:hover{border-color:#b6a4ec;background:#fcfbff}.assessment-picker-row{display:flex;align-items:stretch;gap:10px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff}.assessment-picker-row .real-answer{flex:1;min-width:0;align-items:flex-start}.assessment-picker-row .real-answer>span{min-width:0;overflow-wrap:anywhere}.assessment-picker-row .real-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow:hidden;margin-top:5px}.assessment-picker-row>.text-link{flex:0 0 auto;align-self:center;overflow-wrap:anywhere;max-width:100px}.assessment-selected{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.assessment-selected summary{cursor:pointer;color:#5e45ae;font-weight:650}.assessment-selected .qb-log-row{min-width:0;align-items:flex-start}.assessment-selected .qb-log-row span{min-width:0;white-space:normal;overflow-wrap:anywhere}.assessment-question-list .btn{height:auto;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.45}@media(max-width:700px){.question-pagination{justify-content:flex-start}.question-pagination>span{flex:1 0 100%}.teacher-question-filters{grid-template-columns:1fr}.teacher-question-card{align-items:flex-start}.teacher-question-card>.btn{flex:0 0 auto}.question-preview{width:calc(100vw - 16px);max-height:94dvh;padding:14px}}@media(max-width:700px){.assessment-picker-row{align-items:flex-start;flex-wrap:wrap}.assessment-picker-row>.text-link{max-width:none;margin-left:28px}.assessment-question-picker{grid-template-columns:1fr}.assessment-question-list .btn{justify-content:flex-start;text-align:left}}.qb-stem-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:12px 0;background:var(--soft);border-radius:10px;padding:14px;max-height:60vh;overflow:auto}.real-question-row h3,.teacher-question-select strong,.assessment-picker-row strong,.qb-row strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.55;overflow-wrap:anywhere}.question-preview .card-head h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.5}:root{font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#171653;background:#f5f4ff;font-synthesis:none;--purple: #8052ff;--dark: #11104f;--muted: #8585b1;--line: #eceafd;--soft: #f5f3ff;--green: #27b787;--orange: #ffac42;--red: #fa5970;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b49aff;outline-offset:3px}button{border:0;background:none}a{color:var(--purple);text-decoration:none}h1,h2,h3,h4,p{margin:0}h1{font-size:32px;line-height:1.45;letter-spacing:.3px}h2{font-size:22px}h3{font-size:17px;line-height:1.5}h4{font-size:14px}p{line-height:1.85}small{font-size:12px}hr{border:0;border-top:1px solid var(--line);margin:16px 0}input[type=checkbox],input[type=radio]{accent-color:var(--purple);width:16px;height:16px;cursor:pointer;flex-shrink:0}input,select,textarea{border:1px solid #e1dcff;color:#4d4c89;background:#fbfaff;border-radius:8px;padding:9px 12px;min-width:0}select{cursor:pointer;max-width:100%}textarea{width:100%;resize:vertical;line-height:1.8;min-height:140px}input::placeholder,textarea::placeholder{color:#9e9ec0}code,pre{font-family:Consolas,Courier New,monospace}pre{white-space:pre-wrap;line-height:1.7}code{color:#554594}svg{flex-shrink:0;vertical-align:middle}.art{display:inline-block;flex-shrink:0;background-repeat:no-repeat;overflow:hidden;vertical-align:middle;pointer-events:none}.muted{color:var(--muted)}.center{text-align:center}.green-text{color:var(--green)}.error-text{color:var(--red)}.text-link{display:inline-flex;gap:5px;align-items:center;color:var(--purple);font-size:12px;padding:4px 0;white-space:nowrap}.text-link:hover{color:#5423d3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;min-height:41px;padding:10px 21px;background:linear-gradient(105deg,#9168ff,#7446ff);color:#fff;font-weight:500;border:1px solid transparent;transition:transform .16s,background .16s;white-space:nowrap}.btn:hover{transform:translateY(-1px);background:#7546f2}.btn:active{transform:translateY(0)}.btn:disabled{transform:none}.btn.soft{color:var(--purple);background:#faf9ff;border-color:#d7ccff}.btn.soft:hover{background:#f0ebff}.btn.small{font-size:12px;min-height:30px;padding:6px 13px;border-radius:9px}.btn.wide{width:100%;margin-top:12px}.btn small{font-weight:400;opacity:.85;margin-left:8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:8px;color:#776ac1}.icon-btn:hover{background:#eee9ff}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;min-height:25px}.card-head h3{display:flex;align-items:center;gap:7px;white-space:nowrap}.card-head h3>svg{color:var(--purple)}.badge{font-size:11px;color:#7a5be5;background:#f0ebff;border-radius:6px;padding:3px 8px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;line-height:1.55}.badge.green{color:#129f71;background:#e1f8ee}.badge.orange{color:#d68923;background:#fff1d8}.badge.red{color:#f0435e;background:#ffe6eb}.badge.blue{color:#407beb;background:#e9f1ff}.badge.gray{color:#7d7c9d;background:#f0f0f8}.tabs{display:flex;background:#f2f1fc;padding:3px;border-radius:9px;gap:4px;min-width:0}.tabs button{border-radius:7px;padding:7px 17px;flex:1;color:#50517f;white-space:nowrap;font-size:13px;transition:background .2s}.tabs button.active{background:linear-gradient(110deg,#996bff,#774bfc);color:#fff}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.progress{display:block;height:10px;background:#edecf5;border-radius:10px;overflow:hidden;min-width:35px;flex:1}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#bba1ff,#9975ff);transition:width .75s ease}.progress.blue>span{background:linear-gradient(90deg,#adc7ff,#7294fc)}.progress.green>span{background:linear-gradient(90deg,#81ddb8,#38bb8d)}.progress.orange>span{background:linear-gradient(90deg,#ffd36a,#ffad42)}.progress.pink>span{background:linear-gradient(90deg,#ffb3cf,#fc739e)}.ring{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;padding:9px;flex-shrink:0;transform:rotate(-1deg)}.ring>div{width:100%;height:100%;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring strong{font-size:22px;line-height:1.4}.ring strong small{font-size:14px}.ring span{font-size:11px;color:#8280a8}.topbar{height:83px;padding:0 22px 0 16px;display:flex;align-items:center;gap:20px;background:#eeebff;border-bottom:1px solid #eae7ff;position:relative;z-index:20}.brand{display:flex;align-items:center;text-align:left;gap:7px;padding:0;flex-shrink:0}.brand strong{display:block;font-size:23px;color:#111051;letter-spacing:.3px}.brand small{display:block;color:#8783b6;font-size:11px;margin-top:2px;letter-spacing:1px}.topbar nav{display:flex;gap:7px;flex:1;justify-content:center}.topbar nav button{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;padding:13px 15px;white-space:nowrap;color:#5653a1;border-radius:10px}.topbar nav button.selected{color:#fff;background:linear-gradient(105deg,#9569ff,#7748ff)}.topbar nav button:hover:not(.selected){background:#e4ddff}.global-search{display:flex;align-items:center;border:1px solid #dad3ff;border-radius:13px;padding:0 12px;color:#8d79d5;background:#f6f4ff;max-width:275px;width:18%}.global-search input{border:0;background:none;width:100%;font-size:12px;padding:12px 8px}.notification{position:relative;color:#6660aa}.notification b{position:absolute;right:0;top:-6px;color:#fff;background:#ff566f;border-radius:50%;font-size:10px;min-width:16px;padding:2px}.role-control{display:flex;align-items:center;gap:9px;flex-shrink:0}.role-control strong{font-size:13px;display:block}.role-control select{border:0;background:none;font-size:11px;padding:3px 0;color:#7c78a4;max-width:143px}.app-layout{display:grid;grid-template-columns:239px minmax(0,1fr);gap:14px;padding:12px 14px 43px;max-width:2100px;margin:auto;align-items:start}.sidebar{background:#ffffffcf;border:1px solid var(--line);border-radius:16px;padding:16px 13px;display:flex;flex-direction:column;min-height:calc(100vh - 135px);position:sticky;top:12px}.profile{padding:3px 3px 0}.profile-top{display:flex;gap:9px;align-items:center}.profile-top h3{font-size:16px;margin-top:9px;white-space:nowrap}.profile-top .badge{font-size:12px;padding:3px 12px;color:#fff;background:linear-gradient(90deg,#8b60ff,#b093ff);border-radius:12px}.crown{display:block;font-size:33px;color:#ffb92e;text-align:right;line-height:1.2}.profile>p{font-size:12px;color:#7778ab;margin:17px 0 11px}.exp{display:flex;align-items:center;gap:7px}.exp small{font-size:9px;color:#8c79cf;white-space:nowrap}.profile-stats{display:flex;justify-content:space-around;text-align:center;margin:20px 0 0}.profile-stats span{color:#9291b0;font-size:10px;flex:1;border-right:1px solid #f1edff}.profile-stats span:last-child{border:0}.profile-stats strong{display:block;color:#201b75;font-size:17px;margin-bottom:5px}.profile blockquote{margin:24px 0 17px;border-radius:12px;background:#f6f4ff;text-align:center;font-size:15px;line-height:1.65;color:#7a73b2;padding:12px 5px}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:6px}.sidebar nav button{display:flex;align-items:center;text-align:left;gap:18px;color:#56539d;padding:13px 18px;border-radius:10px;font-size:16px}.sidebar nav button svg{width:23px;height:23px}.sidebar nav button.selected{color:#fff;background:linear-gradient(100deg,#a37aff,#8c62fb)}.sidebar nav button:hover:not(.selected){background:#f3efff}.footer-art{position:relative;background:linear-gradient(145deg,#f1edff,#f8f6ff 60%,#e6ddff);border-radius:13px;padding:15px 8px;display:flex;align-items:center;justify-content:center;gap:2px;min-height:128px;overflow:hidden}.footer-art>span:not(.art){color:#7060b9;font-size:13px;line-height:1.8;transform:rotate(-5deg);position:relative}.footer-art b{font-weight:500;color:#8157dd}.sidebar>.footer-art{margin-top:auto;padding-top:23px}.sidebar nav+.footer-art{margin-top:35px}.workspace{min-width:0}.with-right{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:13px;align-items:start}.main-column,.right-column{min-width:0;display:flex;flex-direction:column;gap:13px}.right-column .card{padding:16px}.right-column h3{font-size:18px}.banner{border-radius:14px;background:linear-gradient(110deg,#e1dbff,#f0edff 65%,#e7e0ff);height:135px;display:flex;align-items:center;position:relative;overflow:hidden;padding:22px 24px;isolation:isolate;min-width:0}.banner>div:first-child{z-index:2;position:relative;max-width:75%}.banner h1{color:#121054;font-size:31px;margin-bottom:7px}.banner p{color:#69619f;font-size:15px}.banner>.art{position:absolute;right:0;top:4px;z-index:-1}.banner-note{position:absolute;left:49%;top:23px;font-size:14px;line-height:1.7;font-style:italic;color:#886aca;transform:rotate(-8deg);z-index:0}.banner:after{content:"";position:absolute;left:-100px;bottom:-90px;width:420px;height:130px;border-radius:50%;background:#fff4;z-index:0}.language-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.language-card{border:1px solid #e9e4fc;border-radius:14px;padding:20px 17px 16px;overflow:hidden;transition:transform .2s}.language-card:hover{transform:translateY(-3px)}.lang-0{background:linear-gradient(130deg,#fff0dc,#fffaf2)}.lang-1{background:linear-gradient(130deg,#dce9ff,#f0faff)}.lang-2{background:linear-gradient(130deg,#e6ddff,#f7f5ff)}.language-card-title{display:flex;gap:12px;align-items:center}.language-card-title h2{font-size:29px;line-height:1.3}.language-card-title p{font-size:12px;white-space:nowrap;margin-top:4px}.lang-0 .language-card-title{color:#a14717}.lang-1 .language-card-title{color:#2e60c3}.lang-2 .language-card-title{color:#5650a8}.language-progress{display:flex;align-items:center;gap:14px;margin:9px 0 12px;justify-content:center}.language-progress p{font-size:11px;color:#83849f;white-space:nowrap;line-height:2.1}.language-progress b{color:#46456d}.language-card-bottom{display:flex;align-items:center;gap:7px;justify-content:space-between}.language-card-bottom>span{font-size:10px;color:#9e8dac;font-style:italic}.language-card-bottom .btn{font-size:12px;padding:8px 15px;min-height:35px;border-radius:23px}.lang-0 .btn{background:linear-gradient(90deg,#ffb438,#ff794c)}.lang-1 .btn{background:linear-gradient(90deg,#739aff,#5747ff)}.home-panels{display:grid;grid-template-columns:1.14fr 1fr 1fr;gap:12px;align-items:stretch}.home-panels .card{padding:17px}.home-panels .card-head{margin-bottom:7px}.home-panels .card-head h3{font-size:17px}.home-panels .muted{font-size:11px;margin-bottom:12px}.recommend-row{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #f0eefb}.recommend-row:last-child{border:0}.recommend-row>div{min-width:0;flex:1}.recommend-row strong{font-size:12px;line-height:1.5;display:block}.recommend-row small{display:block;color:#9090b6;margin-top:4px}.recommend-row .btn{padding:5px 9px;font-size:11px}.mastery{display:flex;flex-direction:column;gap:12px;margin-top:20px}.mastery>button{display:flex;gap:9px;align-items:center;text-align:left;padding:0;width:100%;font-size:12px;min-width:0}.mastery>button>span:nth-child(2){width:66px;flex-shrink:0}.mastery .progress{height:11px}.mastery>button>span:last-child{width:31px;text-align:right;font-size:11px;color:#717198}.mini-icon{width:19px;height:19px;border-radius:5px;display:grid;place-items:center;color:#fff;font-weight:700}.color-0{background:#a485ff}.color-1{background:#7f9cfc}.color-2{background:#63cfa3}.color-3{background:#ffc257}.color-4{background:#fc8fb9}.color-5{background:#b19aef}.chart{width:100%;min-width:0}.trend{height:238px;margin-top:13px}.quote-banner{display:flex;align-items:center;justify-content:center;gap:15px;background:#ebe4ff;border-radius:12px;padding:17px;color:#6e5aae;font-style:italic;font-size:15px;overflow:hidden}.quote-banner svg{color:#efa92d}.quote-banner>span{font-size:12px}.assistant>.muted{font-size:12px}.assistant-art{height:180px;display:flex;align-items:center;justify-content:flex-end;position:relative;margin:6px 0 0;overflow:hidden}.assistant-art>span:not(.art){background:#e9f1ff;color:#52509f;font-size:14px;border-radius:50% 50% 10% 45%;padding:15px 11px;position:absolute;left:0;top:26px;z-index:1;transform:rotate(-5deg)}.chat-prompts{border-radius:12px;background:#f3f3ff;padding:10px;display:flex;flex-direction:column;gap:8px}.chat-prompts>button{display:flex;align-items:center;gap:8px;background:#ffffffd9;border-radius:20px;font-size:11px;text-align:left;padding:9px 10px}.chat-prompts svg{color:#8d86de}.chat-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:24px;padding:3px;margin-top:12px;background:#fbfaff}.chat-input input{width:100%;border:0;background:none;font-size:12px;padding:8px}.chat-input button{height:37px;width:39px;flex-shrink:0;background:#9365ff;color:#fff;border-radius:50%}.chat-log{max-height:210px;overflow:auto}.chat-log p{font-size:12px;background:#f6f2ff;padding:9px;border-radius:8px;margin-bottom:7px}.simulation-note{font-size:10px;color:#a09bb9;line-height:1.5;margin-top:8px;text-align:left;display:block}.demo-toolbar{position:fixed;bottom:0;left:0;right:0;height:27px;display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:0 20px;background:#f5f3fff2;border-top:1px solid #e8e2ff;color:#8b80ac;font-size:10px;z-index:30}.demo-toolbar>span{display:flex;align-items:center;gap:5px}.demo-toolbar i{height:5px;width:5px;background:#52c7a1;border-radius:50%}.demo-toolbar button{font-size:10px;color:#8066bc}.toast{position:fixed;top:96px;left:50%;transform:translate(-50%,-15px);display:flex;align-items:center;gap:10px;color:#fff;background:#51417f;padding:14px 24px;border-radius:12px;box-shadow:0 10px 35px #4e316526;z-index:110;opacity:0;pointer-events:none;transition:.2s;font-size:13px;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#19123e50;display:grid;place-items:center;z-index:100;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(590px,95vw);max-height:86vh;overflow:auto;border-radius:19px;background:#fff;padding:26px;box-shadow:0 25px 90px #22124a40;animation:enter .2s ease}.modal h2{font-size:21px}.modal-body{padding:5px 0 22px;line-height:1.9;color:#605978}.modal-body p+p{margin-top:12px}.modal>p{margin-bottom:16px}.modal textarea{margin-top:10px}.modal label{display:block}.tip{background:#fff7e9;border-radius:8px;color:#9a8658;padding:10px 12px;margin:13px 0;font-size:12px;line-height:1.7}.section-label{margin:16px 0 10px}.language-tabs{display:flex;gap:12px;margin-bottom:14px}.language-tab{flex:1;display:flex;align-items:center;justify-content:center;text-align:left;gap:18px;border:2px solid transparent;border-radius:12px;padding:9px 12px;min-width:0}.language-tab.active{border-color:#9a73ff;background:#fffcff}.language-tab strong{font-size:25px;display:block}.language-tab small{font-size:11px;color:#8581a9;display:block;margin-top:3px;white-space:nowrap}.filters{display:flex;align-items:center;gap:8px;background:#fdfcff;border:1px solid var(--line);padding:8px;border-radius:10px}.filters>label{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;flex:1}.filters select{font-size:11px;padding:9px 5px;width:100%;max-width:112px}.search-field{display:flex;align-items:center;border:1px solid #e3dcff;border-radius:8px;padding-left:8px;max-width:200px;color:#9281cf;flex:1}.search-field input{border:0;width:100%;background:none;padding:8px;font-size:11px}.topic-chips{display:flex;gap:8px;margin-bottom:12px}.topic-chips button{display:flex;align-items:center;gap:11px;background:#f4f1ff;border-radius:10px;padding:12px;flex:1;text-align:left;font-size:12px}.topic-chips button>span{font-size:27px}.topic-chips small{display:block;color:#928aad;font-size:10px;margin-top:5px}.mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.mode-grid button{display:flex;justify-content:center;align-items:center;gap:12px;border-radius:10px;background:#efebff;padding:13px 8px;color:#6960a7}.mode-grid button.active{color:#fff;background:linear-gradient(105deg,#9a70ff,#7c50ff)}.mode-grid strong,.mode-grid small{display:block;text-align:left}.mode-grid small{font-size:11px;font-weight:400;opacity:.75;margin-top:4px}.question-bank{display:grid;grid-template-columns:205px minmax(0,1fr);gap:14px}.knowledge-tree{border-right:1px solid var(--line);padding-right:12px}.knowledge-tree h3{margin-bottom:12px}.knowledge-tree p{font-size:12px;color:#7370a3;margin-bottom:9px}.knowledge-tree button{width:100%;padding:10px 8px;border-radius:7px;display:flex;align-items:center;gap:9px;font-size:12px;text-align:left}.knowledge-tree button.active{background:#eee9ff;color:#7554d8}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.question-list{min-width:0}.list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;color:#8070ce;font-size:12px}.list-toolbar b{font-size:17px}.list-toolbar select{padding:6px;font-size:11px}.question-row{border:1px solid var(--line);border-radius:12px;padding:11px;display:flex;align-items:center;gap:12px;margin-bottom:9px;transition:border-color .2s}.question-row:hover{border-color:#c9b8ff}.question-thumb{background:#edf2ff;width:115px;align-self:stretch;min-height:98px;border-radius:9px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex-shrink:0}.question-thumb>small{font-size:10px;color:#7c7caa}.question-info{min-width:0;flex:1}.question-info>small{color:#a8a0bc;font-size:10px}.question-info h3{font-size:17px;margin:3px 0}.question-info p{font-size:11px;line-height:1.6;color:#8985a6}.question-actions{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:107px;padding-left:13px;border-left:1px solid var(--line)}.question-actions>small{font-size:11px;color:#8d86ab}.stars{color:#ffb33e;font-size:17px;letter-spacing:1px}.stars span{color:#e1e0e9}.learning-progress{display:flex;align-items:center;gap:14px;padding:8px 0}.learning-progress .ring{width:103px;height:103px}.learning-progress p{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;line-height:2.4;color:#8983a7}.learning-progress b{color:#3e3b86}.goal-item{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:16px}.empty-state{text-align:center;padding:40px 12px;color:#9b92b0;display:flex;flex-direction:column;align-items:center;gap:15px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.stat{border:1px solid var(--line);background:#f6f2ff;border-radius:12px;padding:18px 15px;display:flex;align-items:flex-start;gap:12px;min-width:0}.stat.green{background:linear-gradient(115deg,#e4f9f0,#f8fefd)}.stat.blue{background:linear-gradient(115deg,#e6f0ff,#f8fcff)}.stat.orange{background:linear-gradient(115deg,#fff0dc,#fffbf5)}.stat.pink{background:linear-gradient(115deg,#ffe8ed,#fff6f8)}.stat-icon{background:#986afa;color:#fff;border-radius:12px;width:47px;height:47px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.green .stat-icon{background:#39be91}.blue .stat-icon{background:#639aff}.orange .stat-icon{background:#ffa341}.pink .stat-icon{background:#ff758c}.stat>div{min-width:0}.stat strong{font-size:29px;display:block;color:#20145c;line-height:1.6;word-break:keep-all}.stat>div>span{font-size:12px;font-weight:600;color:#67608a}.stat small{display:block;font-size:10px;line-height:1.8;color:#9a8daa}.stat.orange strong{color:#b57b22}.stat.green strong{color:#137659}.stats .stat:last-child strong{font-size:25px}.full-layout{display:block}.code-heading{display:flex;gap:14px;align-items:center;min-height:60px;padding:0 5px 10px}.code-heading>h2{font-size:21px;display:flex;gap:10px;align-items:center;margin-left:20px}.code-heading>h2 svg{color:#eab347}.code-heading .muted{font-size:12px}.code-timer{margin-left:auto;background:#ffffffaf;border-radius:12px;display:flex;gap:10px;align-items:center;padding:15px 20px;color:#8b81b5;font-size:13px}.code-timer b{color:#7250e9;font-size:18px}.code-grid{display:grid;grid-template-columns:minmax(300px,26%) minmax(0,1fr) 290px;gap:12px;align-items:start}.problem-description{padding:19px 17px}.problem-description p{font-size:14px;color:#565478;margin-bottom:17px}.problem-description h3{margin:10px 0}.example{padding:12px 14px;border-radius:10px;background:#f5f5ff;margin-bottom:10px;font-size:12px}.example pre{margin:4px 0 0;color:#4e4d83}.example small{font-size:11px;color:#777297}.editor-column{display:flex;flex-direction:column;gap:11px;min-width:0}.editor-card{padding:12px}.editor-card .card-head{padding:0 5px;margin-bottom:9px}.editor-tools{display:flex;align-items:center;gap:12px}.editor-tools .tabs button{font-size:12px;padding:6px 18px}.monaco-shell{height:365px;border-radius:10px;overflow:hidden;background:#1e1e1e}.editor-loading{color:#b8adcf;padding:30px}.run-actions{display:flex;align-items:center;gap:9px;margin-top:11px;flex-wrap:wrap}.run-actions .btn{min-width:164px}.run-actions>small{font-size:11px}.hints{display:flex;flex-direction:column;gap:8px}.hints>div>button{width:100%;border:1px solid #e3dbff;border-radius:10px;background:#f7f4ff;display:flex;align-items:center;padding:13px;gap:12px;text-align:left;color:#8864e7}.hints button>span{flex:1}.hints strong{color:#40317c;display:block;font-size:14px}.hints small{display:block;margin-top:5px;color:#9b8eb8;font-size:11px}.hint-response{background:#f1edff;border-radius:0 0 9px 9px;padding:12px;margin:0 5px;font-size:12px;color:#73638f;animation:enter .25s ease}.hints .tip{margin-top:5px;background:#fffdf6}.result-card{padding:13px}.result-card .tabs{background:#f8f5ff}.result-card .tabs button{padding:7px 16px}.only-failed{display:flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}thead{background:#f4f2ff;color:#8880aa}th{font-weight:500;padding:10px 9px;white-space:nowrap}td{padding:11px 9px;border-bottom:1px solid #f1effa;color:#58537c}tbody tr:last-child td{border:0}tr.error-row{background:#fff0f3}td code{font-size:11px}.result-info{padding:28px 15px;line-height:1.9;min-height:160px;color:#72648c}.result-info h3{margin-bottom:10px}.run-empty{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9b8abf;gap:11px;font-size:12px}.score-feedback{background:#fff8eb;border:1px solid #ffecd0;border-radius:12px;padding:16px;display:flex;align-items:center;gap:20px;animation:enter .3s}.score-feedback>div:first-child{flex-shrink:0}.score-feedback strong{font-size:36px;color:#d3872c;display:block}.score-feedback strong small{font-size:16px}.score-feedback h3{font-size:14px}.score-feedback p{font-size:11px;color:#9a8265}.score-feedback>.btn{margin-left:auto;font-size:12px;padding:9px 12px}.knowledge-link{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border-bottom:1px solid #f0ecff;padding:13px 0;font-size:12px;color:#77659d}.knowledge-link>span{flex:1}.knowledge-link small{font-size:10px;display:block;color:#a197b7;margin-top:5px}.editor-full .code-grid{grid-template-columns:1fr}.editor-full .problem-description,.editor-full .code-grid>.right-column{display:none}.editor-full .monaco-shell{height:62vh}.objective-card{padding:27px}.objective-stem{font-size:19px;margin:20px 0;color:#494069}.code-snippet{background:#282633;color:#e9daff;padding:24px;border-radius:12px;font-size:17px;margin:24px 0}.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0}.answer-options>button{display:flex;align-items:center;text-align:left;gap:14px;padding:18px;background:#f9f8ff;border:1px solid #e8e0f7;border-radius:11px;font-size:15px}.answer-options>button>span:first-child{background:#eeebfa;border-radius:7px;padding:6px 9px;color:#8d79b5}.option-circle{margin-left:auto;color:#b7aad4}.answer-options>button.chosen{border:2px solid #9568ff;background:#f4edff}.answer-options>button.correct{border:2px solid #45c494;background:#effbf6;opacity:1}.answer-options>button.incorrect{border:2px solid #ef8ca2;background:#fff1f5;opacity:1}.answer-feedback{padding:24px;border-radius:12px;margin-top:23px;animation:enter .3s}.answer-feedback.success{background:#edf9f1;color:#327d60}.answer-feedback.error{background:#fff2f3;color:#b56b7b}.answer-feedback h2{margin-bottom:10px}.answer-feedback .button-row{margin-top:16px}.mastery-change{color:#209f73;font-size:16px;margin-top:12px}.mastery-change b{font-size:25px}.mastery-change del{color:#a59aa7}.scratch-requirements{display:grid;grid-template-columns:1.05fr 1fr;gap:25px;font-size:13px}.scratch-requirements>div:first-child{border-right:1px dashed #e7dcff;padding-right:20px}.scratch-requirements h3{margin-bottom:10px}.scratch-requirements p{line-height:2.1;color:#676087}.scratch-main{display:grid;grid-template-columns:1.35fr 1fr;gap:12px}.scratch-main .card-head h3{font-size:16px}.scratch-main .tabs button{padding:6px 10px;font-size:11px}.game-layout{display:flex;gap:11px;min-width:0}.space-game{width:100%;aspect-ratio:1.35;min-height:240px;border-radius:11px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 15%,#49355e 0%,transparent 35%),radial-gradient(ellipse at 0 100%,#7961c6 0%,transparent 40%),#141c47;background-image:radial-gradient(1px 1px at 10% 20%,white 98%,transparent),radial-gradient(2px 2px at 80% 50%,#b6d4ff 98%,transparent),radial-gradient(1px 1px at 30% 70%,white 98%,transparent),radial-gradient(2px 2px at 65% 85%,white 98%,transparent),linear-gradient(160deg,#14253c,#272253);background-size:70px 100px,140px 110px,90px 80px,120px 120px,100% 100%;outline-offset:2px}.game-score{position:absolute;left:10px;top:10px;background:#fff;border-radius:8px;font-size:12px;padding:5px 8px;z-index:2}.game-score b{background:#ffb240;color:#fff;border-radius:4px;padding:1px 12px;margin-left:6px}.game-controls{position:absolute;right:8px;top:8px;background:#fff;border-radius:6px;z-index:3}.game-controls button{padding:5px;font-size:17px}.game-cat{position:absolute;transform:translate(-10%,-20%);z-index:2;transition:top .1s,left .1s}.game-cat .art{border-radius:50%;background-color:#fff1da}.game-star{position:absolute;font-size:28px;z-index:3;transition:transform .15s}.game-star:hover{transform:scale(1.25)}.game-star:disabled{opacity:1}.game-star:active{transform:scale(.7)}.asteroid{position:absolute;font-size:32px}.a1{top:19%;left:55%}.a2{top:64%;left:72%;font-size:40px}.planet{position:absolute;top:35%;right:-6px;font-size:60px;opacity:.7}.game-caption{position:absolute;bottom:0;left:0;right:0;background:#181338ab;color:#cecaef;text-align:center;font-size:10px;padding:7px;z-index:4}.playing .asteroid{animation:float 3s ease-in-out infinite alternate}.game-win{position:absolute;top:60px;right:15px;bottom:60px;left:15px;background:#221b62dd;border-radius:15px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;font-size:29px;z-index:7}.game-win small{font-size:12px;margin-top:13px}.game-instructions{width:129px;flex-shrink:0;background:#f4f4ff;border-radius:9px;padding:10px;font-size:10px;color:#9590b2}.game-instructions h4{color:#7663ab;font-size:12px}.game-instructions p{font-size:10px;line-height:1.8;margin:9px 0}.game-instructions small{font-size:9px;line-height:1.6}.scratch-blocks{width:100%;min-height:245px;background:#f3f3ff;border-radius:10px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.scratch-blocks span{padding:7px 12px;background:#f4a32c;color:#fff;border:1px solid #d99329;border-radius:5px;font-size:12px}.scratch-blocks span:nth-child(2){background:#f5833c}.scratch-blocks span:nth-child(n+4){margin-left:15px}.upload-zone{border:2px dashed #c8b6ff;border-radius:12px;background:#fcfaff;min-height:205px;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:20px;color:#9370ef}.upload-zone h3{font-size:15px;color:#54428a}.upload-zone h2{font-size:21px;color:#2d2169}.upload-zone p{font-size:11px;color:#a091be}.upload-zone:hover{background:#f6f1ff}.upload-hint{display:flex;justify-content:space-between;gap:5px;margin:10px 0;font-size:10px}.upload-hint small{font-size:10px;color:#a49abd}.file-chip{display:flex;align-items:center;gap:10px;border:1px solid #e5e4f7;border-radius:10px;padding:10px;margin:10px 0;color:#6d648a;min-width:0}.file-chip>svg{color:#5bbd95;flex-shrink:0}.file-chip>span,.file-chip>div{flex:1;min-width:0;word-break:break-all;font-size:11px}.file-chip small{display:block;color:#a59bc1;font-size:10px;margin-top:5px}.file-chip .badge{font-size:10px;padding:2px 5px}.file-chip strong{font-size:12px}.agreement{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:#8c83a7;margin:13px 0}.score-rubric{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.score-rubric>div{background:#faf8ff;border:1px solid #ece7fc;border-radius:9px;padding:12px 7px;display:flex;flex-direction:column;gap:9px;align-items:center;min-width:0}.score-rubric strong{font-size:11px;white-space:nowrap}.score-rubric>div>span:not(.rubric-icon):not(.progress){font-size:10px;color:#9486b4}.score-rubric .progress{width:100%;flex:none;height:7px}.rubric-icon{width:29px;height:29px;border-radius:8px;color:#fff;text-align:center;font-size:23px}.topic-overview{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px}.topic-overview>div{flex:1}.topic-overview h2{margin:12px 0}.topic-metrics{display:flex;gap:34px;margin:24px 0;font-size:12px;color:#9d93ae}.topic-metrics strong{display:block;font-size:25px;color:#6d49b7;margin:6px 0}.training-steps{display:flex;gap:13px;margin:18px 0 25px}.training-steps>div{display:flex;align-items:center;flex-direction:column;gap:8px;background:#faf8ff;border-radius:11px;padding:17px;flex:1;color:#a09ab1}.training-steps>div.active{background:#f0eaff;color:#8055c8}.training-steps span{background:#d3c3f7;color:#fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.training-steps .active span{background:#9367f6}.training-steps small{font-size:10px}.training-row{display:flex;align-items:center;gap:18px;padding:15px 5px;border-top:1px solid #f0ecf8}.question-number{font-size:20px;color:#b3a5cd;font-weight:600}.training-row>div{flex:1}.training-row strong{font-size:13px}.training-row .badge{font-size:10px}.assessment-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:15px}.assessment-intro h2{margin:15px 0}.radar{height:275px}.report-score{display:flex;align-items:center;gap:24px;padding:6px 5px}.big-score-ring{position:relative}.big-score-ring .ring{width:176px;height:176px;padding:14px}.big-score-ring .ring strong{font-size:47px}.big-score-ring .ring strong small{display:none}.big-score-ring .ring span{font-size:11px}.score-unit{display:none}.report-score-content{flex:1;min-width:0}.encourage{position:relative;border-radius:40px;background:#f5efff;padding:13px 85px 14px 26px;color:#8c6ccd;margin-bottom:14px}.encourage p{font-size:12px}.encourage .art{position:absolute;right:0;bottom:0}.encourage h3{font-style:italic;font-size:20px}.report-score-content .stats{grid-template-columns:repeat(3,1fr)}.report-score-content .stat{padding:12px;align-items:center;gap:9px}.report-score-content .stat-icon{width:36px;height:36px;border-radius:50%}.report-score-content .stat-icon svg{width:20px}.report-score-content .stat strong{font-size:22px}.report-score-content .stat small{display:none}.report-letter{align-self:stretch;min-width:145px;background:#f3f0ff;border-radius:30px 12px 40px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#9877d8;font-size:17px;font-style:italic;line-height:1.8;transform:rotate(-5deg);padding:15px}.report-letter span{font-size:40px}.report-language{display:flex;align-items:center;justify-content:space-between}.report-language .tabs{width:63%;padding:0;background:#ebe6fb}.report-language .tabs button{padding:12px 25px;font-size:16px}.report-grid{display:grid;grid-template-columns:1fr 1fr 1.08fr;gap:12px}.report-grid .card{padding:15px}.report-grid .mastery{gap:15px;margin:20px 0}.topic-report-list button{display:flex;align-items:center;gap:8px;width:100%;font-size:11px;padding:10px 0;border-top:1px solid #eee8f9}.topic-report-list button>span:first-child{width:65px}.topic-report-list b{color:#ae9055}.weak-report{display:flex;align-items:center;width:100%;padding:12px 8px;gap:10px;background:#f7f4fd;border-radius:9px;margin-bottom:7px;font-size:12px}.weak-report>span{border-radius:50%;background:#ff687b;color:#fff;width:23px;height:23px;display:grid;place-items:center;flex-shrink:0}.weak-report small{margin-left:auto;font-size:10px;white-space:nowrap;color:#9b8bae}.weak-report b{color:#f36b81}.special-recommend{display:flex;gap:8px;margin-top:10px}.special-recommend button{background:#f4efff;border:1px solid #e9e0fc;border-radius:10px;flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:13px 4px;min-width:0;color:#9973e8}.special-recommend strong{color:#59447e;font-size:12px}.special-recommend .badge{font-size:10px}.report-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}.report-bottom .trend{height:140px;margin:0}.advice-item{display:flex;gap:10px;padding:15px 10px;border:1px solid #ede7fb;border-radius:10px;margin:10px 0}.advice-item>span{flex-shrink:0;background:#9d78fc;width:25px;height:25px;border-radius:50%;color:#fff;display:grid;place-items:center}.advice-item p{font-size:12px;color:#827099;line-height:1.9}.submission-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #f0eafa;font-size:12px}.submission-row strong{font-size:12px}.submission-row small{display:block;color:#b0a2bd;font-size:10px;margin-top:5px}.improvement-banner{border:1px solid #c4ead6;background:#eefaf3;color:#379670;padding:13px 18px;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:13px;animation:enter .3s}.wrong-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.wrong-filters h4{margin:22px 0 10px}.filter-pills{display:flex;gap:5px;flex-wrap:wrap}.filter-pills button{font-size:11px;padding:6px 9px;border:1px solid #e4dcfa;border-radius:6px;background:#faf7ff;color:#7d6a9d}.filter-pills button.active{background:#9164f5;color:#fff}.field{width:100%}.filter-radio{display:flex;align-items:center;gap:7px;padding:7px 0;font-size:12px;color:#807394}.wrong-layout .stats{margin-bottom:12px;gap:8px}.wrong-layout .stat{padding:15px 10px;gap:7px}.wrong-layout .stat-icon{width:28px;height:28px;border-radius:8px}.wrong-layout .stat-icon svg{width:18px}.wrong-layout .stat strong{font-size:23px}.wrong-layout .stat small{font-size:9px}.wrong-layout .stat>div>span{font-size:11px}.wrong-row{display:flex;align-items:center;gap:11px;border:1px solid #efe9fa;border-radius:12px;padding:17px 12px;margin:9px 0}.wrong-row>div{flex:1;min-width:0}.wrong-row h3{font-size:14px}.wrong-row .tags .badge{font-size:9px}.review-date{color:#9c82c5;font-size:11px;display:flex;align-items:center;gap:5px;white-space:nowrap}.heatmap{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.heatmap button{height:73px;border-radius:9px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.heatmap b{font-size:18px}.heat-0{background:#d9f6e9;color:#318d74}.heat-1{background:#fff1c9;color:#a58134}.heat-2{background:#dfefff;color:#5977b2}.heat-3{background:#ffe3df;color:#b36763}.heat-4{background:#ece2ff;color:#9168bc}.teacher-sidebar{padding:20px 14px}.teacher-sidebar .card-head h3{font-size:18px}.teacher-sidebar .text-link{font-size:11px}.class-item{display:flex;align-items:center;gap:14px;padding:20px 15px;background:#f7f6fe;border:1px solid transparent;border-radius:10px;margin:5px 0 8px;text-align:left}.class-item svg{color:#b4a3ee}.class-item.active{border-color:#a47bff;background:#f0eaff}.class-item.active svg{color:#9570ed}.class-item strong{display:block;font-size:14px}.class-item small{display:block;font-size:11px;color:#a292bc;margin-top:7px}.join-class{padding:15px;background:#f5f1ff;color:#9c6af7;border-radius:10px;font-size:16px;margin-top:5px}.teacher-sidebar>.footer-art{margin-top:auto}.teacher-main{display:flex;flex-direction:column;gap:13px}.teacher-main .banner{height:144px}.teacher-main .banner>div:first-child{max-width:70%}.teacher-main>.stats .stat{padding:23px 20px;min-height:138px}.teacher-main>.stats .stat strong{font-size:38px}.teacher-main>.stats .stat:last-child strong{font-size:19px;margin-top:7px}.teacher-panels{display:grid;grid-template-columns:1.1fr 1fr;gap:13px}.bar-chart{height:263px;margin-top:14px}.student-table td{padding:9px 8px}.student-table tbody tr{cursor:pointer}.student-table tbody tr:hover{background:#faf7ff}.student-name{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px}.student-table th{font-size:11px}.teacher-weak{display:flex;align-items:center;gap:10px;padding:14px 0;font-size:12px}.teacher-weak strong{min-width:92px;font-size:12px}.teacher-weak small{font-size:10px;white-space:nowrap;color:#9685aa}.teacher-weak .badge{font-size:9px;padding:3px 5px}.teacher-weak .btn{font-size:10px;padding:6px 9px}.weak-number{border-radius:50%;background:#ff8ba0;color:#fff;display:grid;place-items:center;width:22px;height:22px;flex-shrink:0}.teaching-tip{display:flex;align-items:center;gap:5px}.teaching-tip h3{font-size:13px;color:#8e67cf;margin:13px 0}.teaching-tip p{font-size:12px;color:#9686a8;margin:0 0 16px}.student-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.student-roster>button{display:flex;align-items:center;gap:12px;background:#f9f5ff;padding:15px;border-radius:10px}.student-roster>button>span:last-child{font-size:10px;color:#9477ba}.drawer-shade{position:fixed;top:83px;right:0;bottom:27px;left:0;background:#33274f1a;z-index:39}.student-drawer{position:fixed;right:12px;top:92px;bottom:39px;width:380px;background:#fff;border:1px solid #e8dafa;border-radius:16px;padding:20px;z-index:40;box-shadow:-10px 8px 45px #25154420;overflow-y:auto;animation:slide-in .23s ease}.drawer-student{display:flex;align-items:center;gap:11px;margin:12px 0 16px}.drawer-student h2{font-size:19px}.drawer-student p{font-size:11px;color:#927eaa;margin:9px 0}.drawer-student strong{font-size:12px;color:#9571bd}.student-drawer .tabs button{padding:9px 10px;font-size:12px}.student-drawer .radar{height:247px}.student-drawer .card{padding:12px}.student-drawer .card-head h3{font-size:15px}.student-drawer .text-link{font-size:10px}.student-drawer textarea{min-height:115px;font-size:12px}.char-count{display:block;text-align:right;color:#b5a4c5;font-size:10px}.comment-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:10px}.comment-tags button{font-size:9px;color:#9b77d1;border:1px solid #ece3fb;border-radius:6px;padding:5px}.drawer-actions{display:flex;gap:12px;position:sticky;bottom:-20px;background:#fff;padding:15px 0 2px}.drawer-actions .btn{flex:1;font-size:12px}.drawer-records{min-height:215px}.assignment-inline{display:flex;gap:8px;flex-wrap:wrap}.admin-page .with-right{grid-template-columns:minmax(0,1fr) 255px}.import-grid{display:grid;grid-template-columns:1.25fr 1fr .76fr;gap:10px}.import-grid .card{padding:13px}.import-upload .upload-zone{height:100%;min-height:287px;padding:14px}.upload-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:11px}.upload-links button{font-size:10px;color:#a07bdb}.import-upload .button-row{justify-content:center}.import-upload .btn{font-size:12px;padding:10px 16px}.progress-label{display:flex;align-items:center;gap:9px;color:#9c78dd;font-size:12px;margin:14px 0}.import-grid .muted{font-size:11px}.import-step{display:flex;align-items:center;gap:11px;font-size:12px;margin-top:13px}.import-step>span{width:22px;height:22px;border-radius:50%;background:#e9e4f1;color:#b0a6c2;display:grid;place-items:center}.import-step .complete{color:#fff;background:#9b73f7}.import-step strong{font-weight:400}.import-step small{font-size:10px;color:#b1a3c8;margin-left:auto}.validation-stat{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;margin:8px 0;font-size:12px;background:#f4fbf7;color:#60987c}.validation-stat>div{position:relative;flex:1}.validation-stat strong{font-size:27px;display:inline-block;margin-right:8px}.validation-stat small{font-size:9px;display:block;line-height:1.5}.validation-stat.pink{background:#fff1f4;color:#e57286}.validation-stat.orange{background:#fff8eb;color:#d39a4e}.admin-page .stats{gap:10px}.admin-page .stat{padding:18px 16px}.admin-page .stat strong{font-size:29px}.admin-page .stat:last-child strong{font-size:24px}.admin-table-card .card-head{flex-wrap:wrap}.admin-filters{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.admin-filters select,.admin-filters input{font-size:11px;padding:7px;max-width:170px}.admin-table-card td,.admin-table-card th{font-size:11px;padding:10px 8px}.admin-table-card td .badge{font-size:9px}.table-language{display:flex;align-items:center;gap:6px;white-space:nowrap}.stem-cell{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-actions{display:flex;gap:12px;white-space:nowrap}.table-actions button{font-size:11px;padding:0;color:#9870df}.table-actions button:hover{text-decoration:underline}.table-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 0 0;font-size:10px;color:#a08eb7;gap:10px}.admin-ai{display:flex;align-items:center;gap:11px;padding:13px 9px;border:1px solid #eee7fa;border-radius:11px;width:100%;margin:8px 0;text-align:left}.admin-ai-icon{display:grid;place-items:center;color:#fff;background:#9670f5;border-radius:10px;width:42px;height:42px;flex-shrink:0}.admin-ai>span:nth-child(2){flex:1}.admin-ai strong{font-size:12px;display:block}.admin-ai small{font-size:10px;color:#a297b5;display:block;line-height:1.6;margin-top:5px}.tag-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.tag-columns>div{background:#fcfaff;padding:25px;border-radius:13px}.tag-columns h2{margin:15px 0}.main-column>.card,.teacher-main>.card,.main-column>.language-cards{animation:enter .3s ease}.report-meta{font-size:11px}.practice-card{padding:13px}.wrong-list .wrong-row .btn{padding:8px 12px}.admin-table-card .table-scroll{min-height:160px}@keyframes enter{0%{opacity:.55;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translate(25px)}to{opacity:1;transform:translate(0)}}@keyframes float{to{transform:translate(-10px,25px) rotate(18deg)}}@media(min-width:1800px){:root{font-size:15px}.topbar{gap:25px;height:90px}.topbar nav button{font-size:16px;padding:14px 21px}.brand strong{font-size:26px}.brand small{font-size:12px}.app-layout{grid-template-columns:265px minmax(0,1fr);gap:16px;padding:14px 16px 44px}.with-right{grid-template-columns:minmax(0,1fr) 290px;gap:15px}.banner{height:145px}.banner h1{font-size:34px}.sidebar{min-height:calc(100vh - 144px);padding:20px 17px}.sidebar nav{gap:9px}.sidebar nav button{padding:15px 19px;font-size:18px}.profile-top{gap:20px}.profile-top h3{font-size:18px}.profile-stats strong{font-size:20px}.profile>p{font-size:13px}.language-card{padding:22px 20px}.language-card-title h2{font-size:33px}.language-card-title p{font-size:13px}.language-progress{margin:15px 0}.language-progress .ring{width:105px;height:105px}.language-progress p{font-size:12px}.home-panels .card{padding:20px}.home-panels .card-head h3{font-size:18px}.recommend-row{padding:18px 0}.recommend-row strong{font-size:13px}.mastery{gap:17px;margin-top:24px}.trend{height:270px}.assistant-art{height:190px}.assistant>.muted{font-size:13px}.chat-prompts>button{font-size:12px;padding:11px}.banner>.art{right:8px;top:10px}.profile blockquote{margin:26px 0 23px;padding:18px;font-size:16px}.quote-banner{padding:19px;font-size:16px}.language-card-bottom>span{font-size:11px}.code-grid{grid-template-columns:27% minmax(0,1fr) 310px}.monaco-shell{height:440px}.problem-description p{font-size:16px}.example{font-size:13px;padding:15px}.example pre{font-size:13px}.code-heading{min-height:64px}.result-card td{padding:12px 9px}.code-grid>.right-column .assistant-art{height:160px}.wrong-row{padding:24px 13px}.teacher-main>.stats .stat{min-height:160px;padding:27px}.teacher-main .bar-chart{height:320px}.teacher-panels>.card{padding:22px}.student-table td{padding:13px 8px}.student-drawer{width:410px;top:103px}.student-drawer .radar{height:278px}.import-upload .upload-zone{min-height:315px}.import-grid .card{padding:16px}.scratch-main .space-game{min-height:310px}.upload-zone{min-height:230px}.scratch-requirements{font-size:14px}.scratch-main .upload-zone{min-height:246px}.score-rubric>div{padding:15px 8px}.report-grid .radar{height:310px}.report-bottom .trend{height:160px}.report-score{padding:12px}.big-score-ring .ring{width:190px;height:190px}.report-score-content .stat{padding:15px}.report-grid .mastery{gap:18px}.advice-item p{font-size:14px}.right-column h3{font-size:20px}.teacher-weak{padding:20px 0}.import-step{margin-top:17px}.validation-stat{padding:15px}.admin-table-card td{padding:12px 8px}}@media(max-width:1500px){.topbar{gap:12px;padding:0 13px}.brand strong{font-size:20px}.brand small{font-size:10px}.brand .art{width:53px!important;height:53px!important}.topbar nav{gap:2px}.topbar nav button{padding:11px 10px;font-size:12px;gap:5px}.topbar nav button svg{width:17px}.global-search{max-width:200px}.app-layout{grid-template-columns:210px minmax(0,1fr);gap:10px;padding:10px 10px 40px}.with-right{grid-template-columns:minmax(0,1fr) 235px;gap:10px}.sidebar{padding:13px 10px}.profile-top .art{width:92px!important;height:100px!important}.profile-top{gap:3px}.profile-top h3{font-size:14px}.sidebar nav button{font-size:15px;padding:12px 15px;gap:13px}.banner{height:125px;padding:18px}.banner h1{font-size:27px}.banner p{font-size:12px}.banner-note{display:none}.banner>.art{right:-70px}.language-card{padding:15px 11px}.language-card-title{gap:5px}.language-card-title .art{width:65px!important;height:82px!important}.language-card-title h2{font-size:25px}.language-card-title p{font-size:10px;white-space:normal}.language-progress{gap:7px}.language-progress .ring{width:82px;height:82px;padding:7px}.language-progress p{font-size:10px}.language-card-bottom>span{display:none}.language-card-bottom{justify-content:flex-end}.home-panels{grid-template-columns:1.1fr 1fr}.home-panels>.card:last-child{grid-column:1/-1}.home-panels>.card:last-child .trend{height:180px}.home-panels .card-head h3{font-size:16px}.quote-banner{font-size:12px}.quote-banner>span{display:none}.right-column .card{padding:13px}.right-column h3{font-size:16px}.right-column .card-head{gap:5px}.right-column .badge{font-size:9px}.assistant-art>span:not(.art){font-size:12px;padding:12px 8px}.assistant-art{height:160px}.assistant-art .art{width:139px!important;height:144px!important}.language-tab{gap:10px}.language-tab strong{font-size:22px}.language-tab .art{width:48px!important;height:59px!important}.language-tab small{font-size:10px;white-space:normal}.filters{flex-wrap:wrap}.filters .search-field{flex-basis:100%;max-width:none}.topic-chips button{gap:7px;padding:9px;font-size:10px}.topic-chips button>span{font-size:22px}.question-bank{grid-template-columns:165px 1fr}.question-thumb{width:87px}.question-info p{font-size:10px}.question-actions{min-width:93px;padding-left:6px}.question-actions .btn{font-size:10px;padding:6px 9px}.question-row{gap:8px}.question-info h3{font-size:15px}.learning-progress{gap:8px}.learning-progress .ring{width:87px;height:87px;padding:7px}.learning-progress p{font-size:10px;gap:5px}.code-grid{grid-template-columns:26% minmax(0,1fr) 240px}.code-heading>h2{font-size:18px;margin-left:5px}.code-heading .muted{font-size:10px}.code-timer{padding:12px;gap:6px;font-size:11px}.code-timer b{font-size:15px}.editor-tools{gap:7px}.editor-tools .text-link{font-size:10px}.editor-tools .tabs button{padding:6px 10px}.editor-card .card-head h3{font-size:15px}.monaco-shell{height:338px}.run-actions .btn{min-width:0;padding:10px 15px;font-size:12px}.result-card .tabs button{padding:7px 9px;font-size:11px}.result-card th,.result-card td{font-size:10px;padding:9px 5px}.score-feedback{gap:12px;flex-wrap:wrap}.score-feedback h3{font-size:13px}.score-feedback>.btn{margin-left:0}.scratch-main{grid-template-columns:1.1fr 1fr}.game-instructions{display:none}.scratch-requirements{font-size:11px;gap:15px}.scratch-main .card-head{flex-wrap:wrap}.upload-zone{padding:12px}.score-rubric{gap:5px}.score-rubric strong{font-size:10px}.score-rubric>div>span:not(.rubric-icon):not(.progress){font-size:9px}.wrong-layout{grid-template-columns:160px 1fr}.wrong-layout .stats{grid-template-columns:repeat(2,1fr)}.wrong-row{flex-wrap:wrap;padding:13px 10px}.wrong-row>div{min-width:110px}.wrong-row .review-date{font-size:10px}.wrong-row .btn{margin-left:auto}.report-letter{display:none}.big-score-ring .ring{width:147px;height:147px}.big-score-ring .ring strong{font-size:37px}.report-score{gap:13px}.report-score-content .stat{padding:9px;gap:7px}.report-score-content .stat-icon{width:30px;height:30px}.report-score-content .stat strong{font-size:18px}.report-score-content .stat>div>span{font-size:10px}.report-grid{grid-template-columns:1fr 1fr}.report-grid>.card:last-child{grid-column:1/-1}.special-recommend{margin-top:12px}.special-recommend button{flex-direction:row;justify-content:center}.radar{height:255px}.report-bottom{grid-template-columns:1fr 1fr}.teacher-main>.stats .stat{padding:19px 14px;gap:10px}.teacher-main>.stats .stat strong{font-size:30px}.teacher-main>.stats .stat:last-child strong{font-size:16px}.teacher-main>.stats .stat-icon{width:40px;height:40px}.teacher-weak{flex-wrap:wrap;gap:7px}.teacher-weak .progress{max-width:100px}.teacher-weak .btn{margin-left:auto}.teaching-tip .art{width:100px!important;height:130px!important}.import-grid{grid-template-columns:1.1fr 1fr}.import-grid>.card:last-child{grid-column:1/-1;display:flex;align-items:center;gap:10px}.import-grid>.card:last-child .card-head{margin:0;display:block}.validation-stat{flex:1;margin:0}.validation-stat strong{font-size:23px}.import-grid .simulation-note{max-width:100px}.admin-page .stat{padding:13px 10px;gap:8px}.admin-page .stat-icon{width:35px;height:35px}.admin-page .stat strong{font-size:24px}.admin-page .stat:last-child strong{font-size:21px}.import-upload .upload-zone{min-height:280px}.admin-table-card .card-head h3{font-size:15px}.stem-cell{max-width:130px}.admin-table-card th,.admin-table-card td{font-size:10px;padding:9px 6px}}@media(max-width:1200px){.topbar{flex-wrap:wrap;height:auto;min-height:80px;padding:10px;gap:12px}.topbar nav{order:5;flex-basis:100%;justify-content:flex-start;overflow-x:auto}.topbar nav button{flex:1}.brand{margin-right:auto}.global-search{width:210px;max-width:210px}.app-layout{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:10px}.profile-top .art{display:none}.profile-top{justify-content:center}.profile-top>div{display:flex;align-items:center;gap:9px}.profile-top .crown{font-size:22px}.profile-top h3{margin:0;font-size:13px}.profile-top .badge{font-size:9px;padding:3px 6px}.profile>p{font-size:10px}.profile-stats{margin:15px 0}.profile-stats span{font-size:9px}.profile blockquote{font-size:12px}.sidebar nav button{font-size:13px;gap:10px;padding:12px 10px}.sidebar .footer-art>.art{display:none}.sidebar .footer-art{min-height:130px}.with-right{grid-template-columns:minmax(0,1fr)}.right-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.right-column>.footer-art{display:none}.right-column>.assistant{max-width:none}.right-column .assistant-art{display:none}.right-column .assistant>.muted{margin-bottom:10px}.right-column .assistant .chat-prompts{display:flex;flex-direction:row;flex-wrap:wrap}.right-column .assistant .chat-prompts>button{flex:1;min-width:120px}.home-panels{grid-template-columns:1.15fr 1fr 1fr}.home-panels>.card:last-child{grid-column:auto}.home-panels>.card:last-child .trend{height:250px}.home-panels .card{padding:13px}.home-panels .card-head{flex-wrap:wrap}.recommend-row{gap:6px;flex-wrap:wrap}.recommend-row>.btn{margin-left:auto}.code-grid{grid-template-columns:30% 1fr}.code-grid>.right-column{grid-column:1/-1;grid-template-columns:1fr 1fr}.code-heading .muted{display:none}.code-heading>h2{margin:0}.code-timer{padding:10px;font-size:10px}.code-grid .score-feedback .btn{margin-left:auto}.teacher-panels{grid-template-columns:1fr 1fr}.teacher-main>.stats .stat{padding:15px 10px;min-height:120px}.teacher-main>.stats .stat-icon{display:none}.teacher-weak strong{min-width:85px}.teacher-panels .card{padding:14px}.teacher-panels .card-head h3{font-size:15px}.teacher-panels .tabs button{padding:7px 8px;font-size:11px}.student-drawer{top:140px}.drawer-shade{top:130px}.teacher-sidebar .card-head{flex-wrap:wrap}.class-item{padding:15px 8px;gap:8px}.class-item strong{font-size:12px}.class-item small{font-size:10px}.class-item svg{width:21px}.import-grid{grid-template-columns:1.15fr 1fr .75fr}.import-grid>.card:last-child{grid-column:auto;display:block}.import-grid>.card:last-child .card-head{display:flex;margin-bottom:10px}.validation-stat{margin:8px 0}.import-grid .simulation-note{max-width:none}.import-upload .upload-zone h2{font-size:17px}.import-upload .btn{font-size:10px;padding:8px 11px}.score-rubric{grid-template-columns:repeat(7,1fr)}.admin-page>.right-column{grid-template-columns:1fr 1fr}.admin-page>.right-column .assistant-art{display:none}}@media(max-width:900px){.home-panels{grid-template-columns:1fr 1fr}.home-panels>.card:last-child{grid-column:1/-1}.home-panels>.card:last-child .trend{height:180px}.language-card-title>.art{display:none}.language-progress{flex-direction:column}.language-card-title h2{font-size:23px}.banner>.art{right:-135px;opacity:.55}.banner h1{font-size:24px}.banner>div:first-child{max-width:85%}.question-bank{grid-template-columns:140px 1fr}.question-thumb{display:none}.topic-chips{flex-wrap:wrap}.topic-chips button{min-width:100px}.mode-grid button{gap:5px}.mode-grid button>svg{width:21px}.mode-grid strong{font-size:11px}.mode-grid small{font-size:9px}.filters>label{flex-basis:40%}.filters select{max-width:none}.scratch-main,.scratch-requirements{grid-template-columns:1fr}.scratch-requirements>div:first-child{border-right:0;border-bottom:1px dashed #ded5f3;padding-bottom:15px}.game-instructions{display:block}.score-rubric{grid-template-columns:repeat(4,1fr)}.wrong-layout{grid-template-columns:1fr}.wrong-filters{display:none}.report-score-content .stats{grid-template-columns:repeat(3,1fr)}.report-score-content .stat-icon{display:none}.encourage{padding:10px 12px}.encourage .art{display:none}.big-score-ring .ring{width:132px;height:132px}.report-grid{grid-template-columns:1fr 1fr}.report-grid .card-head h3{font-size:14px}.teacher-panels{grid-template-columns:1fr}.teacher-main>.stats{grid-template-columns:1fr 1fr}.teacher-main>.stats .stat-icon{display:flex}.import-grid{grid-template-columns:1fr 1fr}.import-grid>.card:last-child{grid-column:1/-1;display:flex}.admin-page .stats{grid-template-columns:1fr 1fr}.admin-filters{width:100%}.admin-filters input{max-width:140px}.import-grid>.card:last-child .simulation-note{display:none}.teacher-main .banner h1{font-size:26px}.training-steps{gap:8px}.training-steps>div{padding:13px 6px}.training-steps small{font-size:9px}.topic-overview>.art{display:none}.topic-metrics{gap:20px}.topic-metrics strong{font-size:21px}.assessment-intro{grid-template-columns:1fr}.tag-columns{gap:10px}.tag-columns>div{padding:14px}.code-heading{flex-wrap:wrap}.code-timer{margin-left:auto}.code-grid{grid-template-columns:1fr}.problem-description{max-height:280px;overflow:auto}.monaco-shell{height:400px}.code-grid>.right-column{grid-column:1;display:grid}.objective-card{padding:20px}.answer-options{grid-template-columns:1fr}.student-roster{grid-template-columns:1fr 1fr}}@media(max-width:800px){.topbar{gap:9px}.brand strong{font-size:17px}.brand .art{width:44px!important;height:48px!important}.brand small{font-size:8px;letter-spacing:0}.role-control>.art{display:none}.role-control strong{font-size:11px}.role-control select{font-size:9px;max-width:110px}.global-search,.notification{display:none}.topbar nav{gap:2px}.topbar nav button{padding:8px 5px;font-size:10px;gap:4px;flex-direction:column;border-radius:7px}.topbar nav button svg{width:17px;height:17px}.app-layout{display:block;padding:9px 8px 43px}.sidebar{display:none}.banner{height:124px;padding:16px}.banner h1{font-size:23px;line-height:1.5;max-width:95%}.banner p{font-size:11px;line-height:1.6;max-width:90%}.banner>.art{opacity:.25;right:-100px}.banner>div:first-child{max-width:100%}.language-cards{gap:7px}.language-card{padding:13px 8px}.language-card-title{justify-content:center}.language-card-title h2{font-size:20px}.language-card-title p{display:none}.language-progress{margin:12px 0}.language-progress .ring{width:73px;height:73px;padding:6px}.language-progress p{font-size:9px;line-height:1.85}.language-progress p:last-child{display:none}.language-card-bottom{justify-content:center}.language-card-bottom .btn{font-size:10px;padding:7px 9px;gap:4px;min-height:30px}.language-card-bottom .btn svg{width:13px}.home-panels{grid-template-columns:1fr}.home-panels>.card:last-child{grid-column:auto}.home-panels .card-head{flex-wrap:nowrap}.home-panels .mastery{gap:14px}.home-panels .card:last-child .trend{height:210px}.recommend-row{flex-wrap:nowrap;padding:15px 0}.right-column{grid-template-columns:1fr}.right-column>.card{display:block}.quote-banner{font-size:11px;padding:14px;gap:10px}.language-tab{padding:10px 5px;gap:5px}.language-tab .art{display:none}.language-tab strong{font-size:20px}.language-tab small{display:none}.language-tabs{gap:7px}.topic-chips button{flex:1;min-width:29%;padding:9px;gap:6px}.topic-chips button>span{font-size:20px}.topic-chips{gap:6px}.mode-grid{grid-template-columns:1fr 1fr;gap:6px}.mode-grid button{padding:11px;gap:10px}.mode-grid strong{font-size:12px}.mode-grid small{font-size:10px}.question-bank{grid-template-columns:1fr}.knowledge-tree{display:none}.question-actions{min-width:96px}.question-row{padding:11px 8px}.question-info h3{font-size:15px}.question-info .tags .badge{font-size:9px}.filters>label{font-size:11px}.filters select{padding:8px 5px}.banner .banner-note{display:none}.objective-stem{font-size:16px}.objective-card{padding:16px}.answer-options>button{font-size:14px;padding:13px}.code-heading{gap:9px}.code-heading>h2{font-size:17px}.code-heading>.text-link{font-size:11px}.code-timer{width:100%;justify-content:center}.editor-tools .text-link{font-size:0}.editor-card .card-head{gap:7px;flex-wrap:wrap}.editor-card .card-head h3{font-size:15px}.editor-tools{margin-left:auto}.editor-tools .tabs button{padding:5px 9px}.editor-tools .icon-btn{width:26px}.monaco-shell{height:370px}.run-actions{gap:6px}.run-actions .btn{font-size:12px;padding:9px 11px;flex:1}.run-actions .btn small{font-size:9px;margin:0}.run-actions>.muted{width:100%;font-size:10px}.result-card .card-head{flex-wrap:wrap}.result-card .tabs{width:100%}.result-card .tabs button{font-size:10px;padding:7px 5px}.only-failed{margin-left:auto}.code-grid>.right-column{grid-template-columns:1fr}.problem-description{max-height:230px}.score-feedback{padding:14px;gap:10px}.score-feedback>div:nth-child(2){flex:1;min-width:180px}.score-feedback>.btn{width:100%}.game-instructions{display:none}.space-game{min-height:255px}.scratch-requirements{font-size:12px}.scratch-requirements h3{font-size:16px}.upload-hint{font-size:10px}.score-rubric{grid-template-columns:repeat(3,1fr)}.training-steps{flex-wrap:wrap}.training-steps>div{min-width:40%;padding:14px}.training-row{gap:10px;flex-wrap:wrap}.training-row>.btn{margin-left:auto}.training-row>div{min-width:165px}.training-row>.badge{font-size:9px}.topic-overview{padding:20px}.topic-overview h2{font-size:19px}.topic-overview p{font-size:12px}.topic-metrics{gap:20px}.topic-metrics>span{font-size:10px;flex:1}.topic-metrics strong{font-size:20px}.report-score{gap:12px}.big-score-ring .ring{width:118px;height:118px;padding:9px}.big-score-ring .ring strong{font-size:35px}.big-score-ring .ring span{font-size:9px}.encourage{padding:5px;background:none;margin:0 0 5px}.encourage h3{font-size:17px}.encourage p{font-size:10px}.report-score-content .stats{gap:4px}.report-score-content .stat{padding:6px 4px}.report-score-content .stat strong{font-size:16px}.report-score-content .stat>div>span{font-size:8px}.report-meta{display:none}.report-grid{grid-template-columns:1fr}.report-grid>.card:last-child{grid-column:auto}.report-grid .card-head h3{font-size:16px}.report-bottom{grid-template-columns:1fr}.report-language .tabs{width:68%}.report-language .tabs button{font-size:12px;padding:9px 10px}.report-language>.text-link{font-size:9px}.report-language>.text-link svg{width:13px}.improvement-banner{font-size:11px;padding:10px}.wrong-row{gap:8px}.wrong-row>div{min-width:165px}.wrong-row>.badge{margin-left:auto}.wrong-row>.review-date{margin-left:48px}.wrong-row .btn{font-size:11px}.teacher-main>.stats .stat strong{font-size:28px}.teacher-main>.stats .stat:last-child strong{font-size:14px}.teacher-main>.stats .stat{gap:8px;padding:13px 10px}.teacher-main>.stats .stat-icon{width:32px;height:32px}.teacher-main>.stats .stat-icon svg{width:20px}.teacher-weak .progress,.teacher-weak .badge,.teaching-tip .art{display:none}.student-drawer{top:10px;bottom:35px;width:calc(100vw - 16px);right:8px;padding:16px}.drawer-shade{top:0;right:0;bottom:0;left:0}.student-drawer .radar{height:215px}.student-drawer .card{padding:11px}.student-drawer .drawer-actions{bottom:-16px}.import-grid{grid-template-columns:1fr}.import-grid>.card:last-child{grid-column:auto;display:block}.import-grid>.card:last-child .card-head{display:flex}.validation-stat{display:inline-flex;vertical-align:top;width:31%;padding:10px 6px;gap:6px;margin:0 1% 0 0}.validation-stat svg{width:19px;height:19px}.validation-stat>div{font-size:10px}.validation-stat strong{font-size:21px;display:block;line-height:1.5}.validation-stat small{font-size:8px}.admin-filters{gap:6px}.admin-filters select{max-width:115px;flex:1}.admin-filters input{max-width:none;flex:1;min-width:100px}.admin-page>.right-column{grid-template-columns:1fr}.admin-page .stat strong{font-size:24px}.table-bottom{align-items:flex-start;flex-direction:column}.table-bottom .button-row{margin-left:auto}.tag-columns{grid-template-columns:1fr}.tag-columns>div{padding:18px}.student-roster{grid-template-columns:1fr}.teacher-main .card>table{display:block;overflow-x:auto}.demo-toolbar{gap:12px;font-size:9px;padding:0 10px}.demo-toolbar button{font-size:9px}.modal{padding:20px}.modal h2{font-size:19px}.modal-body{font-size:13px}.toast{top:25px;font-size:12px;padding:12px 18px;width:max-content;max-width:90vw}.stat small{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.language-card{display:flex;flex-direction:column}.language-card-title{height:100px}.language-card-bottom{margin-top:auto}.art{mix-blend-mode:multiply}.banner>.art{height:100%!important;width:350px!important;top:0;right:0;background-size:1778px 1001px!important;background-position:-1101px -93px!important;-webkit-mask-image:linear-gradient(to right,transparent,#000 15%);mask-image:linear-gradient(to right,transparent,#000 15%)}.footer-art>.art{margin-right:10px}.footer-art>span:not(.art){font-size:12px}.report-score-ring{flex-shrink:0}.report-score{padding:4px}.report-grid .card-head h3{font-size:16px}.report-grid .radar{height:245px}.report-grid .mastery{gap:13px}.report-grid .card{padding:14px}.report-grid .weak-report{padding:9px 7px}.report-grid .tip{margin:8px 0}.special-recommend button{padding:10px 4px;gap:7px}.report-bottom .trend{height:132px}.report-bottom .card{padding:13px}.report-letter{font-size:15px;min-width:145px}.big-score-ring .ring{width:165px;height:165px}.language-card-title .art{object-fit:contain}.sidebar .footer-art{margin-top:22px}.sidebar{min-height:calc(100vh - 138px)}.profile blockquote{margin:20px 0 16px}.stats .stat strong{font-variant-numeric:tabular-nums}.mobile-class-select{display:none}@media(min-width:1800px){.home-panels .trend{height:235px}.home-panels .recommend-row{padding:14px 0}.home-panels .mastery{gap:15px}.language-card{padding:15px 18px}.language-progress{margin:9px 0 12px}.language-card-title{height:91px}.language-card-title h2{font-size:31px}.language-progress .ring{height:96px;width:96px}.home-panels .card{padding:17px}.home-panels .recommend-row strong{font-size:13px}.quote-banner{padding:14px}.sidebar{padding:16px;min-height:calc(100vh - 139px)}.sidebar nav{gap:5px}.sidebar nav button{padding:13px 18px}.profile blockquote{margin:22px 0 15px;padding:14px;font-size:15px}.sidebar .footer-art{margin-top:auto}.report-grid .radar{height:249px}.report-grid .mastery{gap:14px;margin-top:15px}.report-score-content .stat{padding:12px}.report-letter{min-width:170px}.report-score{padding:6px}.report-score-content .encourage{padding-top:10px;padding-bottom:10px}.report-score .big-score-ring .ring{width:174px;height:174px}.report-grid>.card:last-child>h3{font-size:15px}.report-bottom .trend{height:126px}.report-bottom .submission-row{padding:10px 0}}@media(max-width:1200px){.banner>.art{right:-40px}.language-card-title{height:83px}}@media(max-width:800px){.language-card-title{height:auto}.banner>.art{opacity:.24;right:-80px}.big-score-ring .ring{width:115px;height:115px}.report-letter{display:none}.mobile-class-select{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:10px;border-radius:10px}.mobile-class-select select{flex:1}.home-panels .card-head h3{font-size:17px}}@media(min-width:1501px){.teacher-main.has-detail{margin-right:425px}.drawer-shade{background:transparent;pointer-events:none}.teacher-main>.stats .stat{min-height:113px;padding:17px 15px}.teacher-main>.stats .stat strong{font-size:32px}.teacher-main>.stats .stat:last-child strong{font-size:16px}.teacher-main>.stats .stat-icon{width:40px;height:40px}.teacher-main .bar-chart{height:235px}.teacher-panels>.card{padding:15px}.teacher-weak{padding:11px 0;gap:8px}.teacher-weak strong{min-width:82px;font-size:11px}.teacher-weak .badge{display:none}.teacher-weak .btn{padding:6px 8px;font-size:10px}.teacher-main .student-table td{padding:10px 8px}.teacher-main .banner{height:128px}.teacher-main .teaching-tip p{font-size:11px}.teacher-main .teaching-tip .art{max-width:110px}.teacher-main.has-detail .teacher-panels{grid-template-columns:1.05fr 1fr}.teacher-main.has-detail .stats .stat{gap:9px}.teacher-main.has-detail .stat small{font-size:9px}.teacher-main.has-detail .teacher-weak .progress{min-width:35px}.teacher-main.has-detail .teacher-panels .card-head h3{font-size:16px}.teacher-main.has-detail .teacher-panels .tabs button{padding:7px 12px;font-size:12px}}@media(min-width:1501px){.admin-page .banner{height:122px}.import-upload .upload-zone{min-height:232px}.import-grid .card{padding:11px}.import-upload .upload-zone>svg{width:45px;height:45px}.import-upload .upload-zone h2{font-size:21px}.import-upload .upload-zone .btn{min-height:36px;padding:8px 13px}.import-step{margin-top:9px}.import-grid .file-chip{margin:7px 0;padding:9px}.import-grid .progress-label{margin:9px 0}.validation-stat{padding:8px 12px}.validation-stat strong{font-size:25px}.validation-stat small{font-size:9px}.import-grid .card-head{margin-bottom:8px}.admin-page .stats .stat{padding:14px 15px}.admin-page .stat strong{font-size:26px}.admin-table-card .table-scroll{max-height:255px;overflow:auto}.admin-table-card thead{position:sticky;top:0;z-index:1}.admin-table-card td{padding:8px 7px}.admin-table-card{padding:14px}.admin-table-card .card-head{margin-bottom:10px}.admin-page>.right-column>.card:nth-child(2){padding:12px}.admin-page>.right-column>.footer-art{min-height:125px}}.art[aria-label=���è��־],.art[aria-label=ѧ��ͷ��]{border-radius:50%}.assistant-art>.art{-webkit-mask-image:linear-gradient(to right,transparent,#000 12%);mask-image:linear-gradient(to right,transparent,#000 12%)}@media(min-width:1000px){html,body,#root{width:100%;height:100%;min-width:0;overflow:hidden}.viewport-shell{width:100%;height:100dvh;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:0 0 72px;height:72px;min-width:0;gap:10px;padding-inline:12px}.topbar nav{min-width:0;gap:3px}.topbar nav button{padding:10px clamp(6px,.65vw,13px);gap:5px}.brand strong{font-size:clamp(19px,1.4vw,24px)}.global-search{flex:0 1 240px;min-width:80px}.app-layout{flex:1;width:100%;max-width:none;margin:0;min-height:0;height:auto;grid-template-columns:clamp(185px,15vw,240px) minmax(0,1fr);gap:12px;padding:12px;align-items:stretch}.app-layout>.sidebar{height:100%;min-height:0;position:static;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding:12px}.sidebar>*{flex-shrink:0}.profile-top .art{width:82px!important;height:88px!important}.profile>p{margin:10px 0}.profile-stats{margin:12px 0 0}.profile blockquote{margin:12px 0;padding:8px 4px;font-size:13px}.sidebar nav{gap:4px}.sidebar nav button{padding:10px;font-size:14px;gap:10px}.sidebar .footer-art{margin-top:auto;min-height:120px}.sidebar nav+.footer-art{margin-top:16px}.sidebar .footer-art>.art{display:inline-block}.workspace{height:100%;min-height:0;min-width:0;overflow:auto;scrollbar-width:thin;padding-right:3px}.with-right,.admin-page .with-right{grid-template-columns:minmax(0,1fr) clamp(230px,19vw,310px);gap:12px;align-items:start}.main-column,.right-column{height:auto;min-height:0;display:flex;flex-direction:column;gap:12px}.main-column>*,.right-column>*{flex-shrink:0}.right-column{grid-column:auto}.right-column .assistant-art{display:flex}.right-column>.footer-art{display:flex}.right-column .assistant .chat-prompts{display:flex;flex-direction:column}.banner{height:120px;padding:18px}.banner h1{font-size:clamp(23px,1.7vw,31px)}.card{padding:clamp(12px,1vw,20px)}.home-panels{grid-template-columns:1.1fr 1fr 1fr;align-items:stretch}.home-panels>.card:last-child{grid-column:auto}.home-panels .card{min-height:360px;overflow:visible}.home-panels>.card:last-child .trend{height:235px}.home-panels .recommend-row{padding:11px 0;flex-wrap:wrap}.home-panels .recommend-row>.btn{margin-left:auto}.report-grid{grid-template-columns:1fr 1fr 1.15fr;align-items:stretch}.report-grid>.card:last-child{grid-column:auto}.report-grid>.card{min-height:350px}.teacher-main{min-height:0;height:auto}.teacher-panels{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.teacher-panels>.card{height:auto;min-height:0;overflow:visible}.teacher-main .bar-chart{height:270px}.student-table{display:table}.student-table tbody,.student-table thead{display:table-row-group}.student-drawer{top:84px;bottom:39px;height:auto;max-height:none;overflow:auto}.student-drawer .drawer-actions{position:sticky;bottom:-20px}.code-grid{grid-template-columns:minmax(230px,.85fr) minmax(0,1.8fr) clamp(230px,18vw,300px)}.code-grid>.right-column{grid-column:auto;display:flex}.coding-page,.code-grid,.editor-column{height:auto;min-height:0}.monaco-shell{height:380px}.result-card{max-height:none;overflow:visible}.game-instructions{display:block}.scratch-main{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.scratch-main .game-layout{flex-wrap:wrap}.scratch-main .space-game{width:100%;height:280px;min-height:240px;flex:auto}.scratch-main .game-instructions{width:100%}.import-grid{grid-template-columns:1.1fr 1fr}.import-grid>.card:last-child{grid-column:1/-1;display:flex;align-items:center;gap:10px}.import-grid>.card:last-child .validation-stat{flex:1;margin:0}.demo-toolbar{position:relative;flex:0 0 27px}.class-item{padding:14px 10px}}@media(min-width:1000px){.app-layout.full-layout{grid-template-columns:minmax(0,1fr)}.sidebar .profile-top .art{width:64px!important;height:68px!important;border-radius:50%}.sidebar .profile-top{gap:6px}.sidebar .profile-top .crown{font-size:23px}.sidebar .profile-top h3{font-size:14px;margin-top:5px}.sidebar .profile>p{margin:7px 0;font-size:11px}.sidebar .profile-stats{margin-top:8px}.sidebar .profile-stats strong{font-size:16px;margin-bottom:3px}.sidebar .profile blockquote{font-size:12px;padding:6px 3px;margin:9px 0}.sidebar nav button{padding-block:9px}.sidebar .footer-art{padding:10px 5px}.language-card-title .art,.footer-art>.art,.assistant-art>.art{-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.sidebar,.workspace{scrollbar-gutter:stable;scroll-behavior:smooth}}
