@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,400,0,0&display=block";.app-shell--teacher{background:0 0}.app-icon{vertical-align:middle;flex-shrink:0;width:1em;height:1em;font-size:24px;display:inline-block}.app-shell--teacher .top-nav{background:#fffe;border-color:#e2e7ef;gap:16px;height:88px}.app-shell--teacher .top-nav__links{gap:10px;height:100%;display:inline-flex}.app-shell--teacher .teacher-nav-link{white-space:nowrap;border-bottom:3px solid #0000;border-radius:0;align-items:center;gap:9px;height:100%;padding:0 18px;display:inline-flex}.app-shell--teacher .teacher-nav-link--active{color:#265fc0;background:#f4f7ff;border-bottom-color:#477ce3}.app-shell--teacher .top-nav__brand-logo{height:52px}.teacher-page{gap:24px;width:min(1440px,100%);margin:0 auto;padding:32px 36px 56px;display:grid}.teacher-page__heading,.teacher-card__heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.teacher-page__heading h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(1.5rem,2.3vw,2rem)}.teacher-page__heading p{color:#667387;margin:0;font-size:.88rem;line-height:1.7}.teacher-page__heading .eyebrow{letter-spacing:.12em;color:#5880b6;margin-bottom:8px;font-size:.65rem}.teacher-page__heading button,.teacher-text-link,.teacher-card h2{align-items:center;gap:8px;display:inline-flex}.teacher-page__heading button{flex-shrink:0;width:auto;min-width:0}.teacher-card{background:#ffffffed;border:1px solid #e0e6f0;border-radius:18px;min-width:0;padding:24px;box-shadow:0 3px 12px #243b6711}.teacher-card h2{color:#24324a;margin:0 0 16px;font-size:1rem;line-height:1.5}.teacher-card__heading{margin-bottom:20px}.teacher-card__heading h2{margin:0}.teacher-card__heading p{color:#748095;margin:7px 0 0;font-size:.82rem}.teacher-card__heading>span{color:#667387;font-size:.8rem}.teacher-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.teacher-stat{align-items:center;gap:14px;padding:20px 16px;display:flex}.teacher-stat p{color:#667387;margin:0 0 8px;font-size:.74rem;line-height:1.4}.teacher-stat strong{font-size:1.85rem;font-weight:700;line-height:1}.teacher-stat small{color:#94621c;margin-top:8px;font-size:.68rem;display:block}.teacher-stat__icon{border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.teacher-stat__icon .material-symbols-outlined{font-size:28px}.teacher-tone--violet{color:#8061dc;background:#ece8ff}.teacher-tone--blue{color:#4c88d5;background:#e6f0ff}.teacher-tone--amber{color:#d49b22;background:#fff1d1}.teacher-tone--green{color:#54a478;background:#e3f4e9}.teacher-tone--red{color:#d65b51;background:#ffebe8}.teacher-stat--action{background:#fffdf7;border-color:#ebd8aa}.teacher-stat--action:hover,.teacher-class:hover{border-color:#82a9e7;box-shadow:0 5px 18px #365fba20}.teacher-dashboard-grid{grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);align-items:start;gap:20px;display:grid}.teacher-dashboard-main,.teacher-dashboard-aside{gap:20px;min-width:0;display:grid}.teacher-chart-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.teacher-donut-layout{align-items:center;gap:18px;min-height:185px;display:flex}.teacher-donut{border-radius:50%;flex-shrink:0;width:142px;height:142px;padding:23px}.teacher-donut>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;display:flex}.teacher-donut strong{font-size:1.5rem}.teacher-donut span{color:#758097;font-size:.72rem}.teacher-legend{flex:1;min-width:0}.teacher-legend p{white-space:nowrap;align-items:center;gap:6px;font-size:.72rem;display:flex}.teacher-legend strong{margin-left:auto}.teacher-legend small{color:#8090a5;margin-top:20px;font-size:.65rem;line-height:1.7;display:block}.teacher-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px;display:inline-block}.teacher-dot--green{background:#55ad7c}.teacher-dot--amber{background:#f7c965}.teacher-bars{background:repeating-linear-gradient(0deg,#0000 0 39px,#eaf0f7 40px);border-bottom:1px solid #e1e8f2;justify-content:space-around;align-items:flex-end;gap:12px;height:171px;display:flex}.teacher-bar{flex-direction:column;align-items:center;gap:7px;width:55px;font-size:.7rem;display:flex}.teacher-bar>div{background:linear-gradient(#8ab7f1,#528be0);border-radius:7px 7px 0 0;width:100%;max-width:48px}.teacher-bar span{white-space:nowrap;background:#fff;padding-top:3px}.teacher-chart-empty{color:#7a8798;place-items:center;min-height:155px;font-size:.85rem;display:grid}.teacher-footnote{color:#7c899c;margin:16px 0 0;font-size:.7rem;line-height:1.6}.teacher-companion{background:linear-gradient(140deg,#edf4ff,#fff 78%);padding-top:28px;position:relative;overflow:hidden}.teacher-companion img{object-fit:contain;float:right;width:100px;height:115px;margin:-12px -10px 0 5px}.teacher-companion h2{color:#2d589c;font-size:1.2rem;line-height:1.5;display:block}.teacher-companion>p:not(.teacher-kicker){color:#65748a;clear:both;margin-bottom:20px;font-size:.83rem;line-height:1.85}.teacher-kicker{color:#6d8bb5;letter-spacing:.04em;margin:0 0 8px;font-size:.64rem;line-height:1.6}.teacher-companion .primary-action{align-items:center;gap:10px;display:inline-flex}.teacher-priorities{display:grid}.teacher-priorities a{border-top:1px solid #edf0f5;align-items:center;gap:10px;padding:16px 0;display:flex}.teacher-priorities a>.material-symbols-outlined{color:#7295c4}.teacher-priorities a>span:nth-child(2){flex:1;min-width:0}.teacher-priorities strong{overflow-wrap:anywhere;font-size:.8rem;line-height:1.6;display:block}.teacher-priorities small{color:#8692a3;margin-top:4px;font-size:.7rem;display:block}.teacher-priorities>p{color:#77859a;font-size:.85rem}.teacher-text-link{color:#326fc2;font-size:.78rem;font-weight:600;line-height:1.6}.teacher-text-link:hover{text-decoration:underline}.teacher-text-link .material-symbols-outlined{font-size:19px}.teacher-table-scroll{max-width:100%;position:relative;overflow-x:auto}.teacher-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.78rem}.teacher-data-table th{color:#637087;white-space:nowrap;background:#f5f7fc;font-weight:500}.teacher-data-table th,.teacher-data-table td{padding:14px 12px}.teacher-data-table td{vertical-align:middle;border-bottom:1px solid #edf1f6}.teacher-data-table tr:last-child td{border-bottom:0}.teacher-data-table td strong{overflow-wrap:anywhere;min-width:120px;max-width:340px;font-weight:500;line-height:1.6;display:block}.teacher-data-table td small{color:#8190a3;margin-top:3px;font-size:.69rem;display:block}.teacher-data-table td>.teacher-text-link{white-space:nowrap}.teacher-data-table .status-pill{white-space:nowrap;font-size:.7rem}.teacher-student-name{align-items:center;gap:9px;display:inline-flex}.teacher-avatar{color:#547bc0;background:#edf3ff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:.8rem;display:grid}.teacher-toolbar{align-items:center;gap:20px;margin:0 0 20px;display:flex}.teacher-search{color:#8090a5;background:#fafcff;border:1px solid #dfe6f1;border-radius:10px;flex:1;align-items:center;gap:10px;max-width:560px;padding:10px 14px;display:flex}.teacher-search input{color:#293f5f;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:.83rem}.teacher-search:focus-within{outline-offset:2px;outline:2px solid #699add}.teacher-select{color:#667387;align-items:center;gap:10px;font-size:.78rem;display:inline-flex}.teacher-select select{color:#32455f;background:#fff;border:1px solid #dfe6f1;border-radius:9px;max-width:100%;padding:10px 12px}.teacher-status-tabs{flex-wrap:wrap;justify-content:flex-start;margin-bottom:24px}.teacher-status-tabs button{align-items:center;gap:10px;display:inline-flex}.teacher-status-tabs button span{background:#edf2f9;border-radius:6px;padding:2px 6px;font-size:.7rem}.teacher-status-tabs .filter-tabs__item--active span{color:#255ea4}.teacher-exercises{gap:14px;display:grid}.teacher-exercise{border:1px solid #e2e9f2;border-radius:14px;align-items:flex-start;gap:18px;padding:22px;display:flex}.teacher-exercise__icon{color:#5188d2;background:#edf3ff;border-radius:12px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.teacher-exercise__body{flex:1;min-width:0}.teacher-exercise h3{overflow-wrap:anywhere;margin:0 0 8px;font-size:1rem;line-height:1.6}.teacher-exercise__body>p:not(.teacher-kicker),.teacher-exercise__body small{color:#78869a;font-size:.75rem}.teacher-exercise__progress{background:#edf1f7;border-radius:10px;max-width:230px;height:5px;margin:16px 0 8px;overflow:hidden}.teacher-exercise__progress span{background:#67b68a;height:100%;display:block}.teacher-exercise__action{flex-shrink:0;justify-items:end;gap:22px;display:grid}.teacher-exercise__action .status-pill{font-size:.7rem}.teacher-class-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;display:grid}.teacher-class{gap:12px;display:grid}.teacher-class h2,.teacher-class p{margin:0}.teacher-class p,.teacher-class small{color:#708199;font-size:.8rem}.teacher-class--active{background:#f2f7ff;border-color:#6897db}.teacher-scope-note{color:#718097;align-items:flex-start;gap:8px;margin:0;font-size:.78rem;line-height:1.8;display:flex}.teacher-scope-note .material-symbols-outlined{flex-shrink:0;font-size:20px}.teacher-report-filter{justify-content:flex-end;display:flex}.teacher-score-bands{gap:22px;margin:28px 0;display:grid}.teacher-score-bands>div{grid-template-columns:155px 1fr 60px;align-items:center;gap:24px;font-size:.8rem;display:grid}.teacher-score-bands strong{font-weight:500}.teacher-score-track{background:#f0f3f8;border-radius:5px;height:16px;overflow:hidden}.teacher-score-track div{border-radius:5px;height:100%}.teacher-state{text-align:center;color:#7a879a;padding:48px 20px}.teacher-state>.material-symbols-outlined{color:#93b0d7;font-size:42px}.teacher-state h3{color:#425773;font-size:1rem}.teacher-state p{font-size:.85rem;line-height:1.8}.teacher-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell--teacher :is(button,a,input,select):focus-visible{outline-offset:3px;outline:3px solid #679bdf}.app-shell--teacher .teacher-v2__feedback-actions{flex-wrap:wrap}.teacher-breadcrumb{color:#6282b4;flex-wrap:wrap;align-items:center;gap:10px;font-size:.8rem;display:flex}.teacher-ai-insights{background:#fffffff0}.teacher-ai-insights>img{float:right;object-fit:contain;width:68px;height:68px;margin:-14px -8px 8px 8px}.teacher-ai-insights h2{color:#245ca7;display:flex}.teacher-insight-scope{clear:both;color:#6f8197;border-bottom:1px solid #e7edf6;padding-bottom:14px;font-size:.75rem;line-height:1.7}.teacher-insight-bullets{gap:14px;margin:0;padding-left:20px;display:grid}.teacher-insight-bullets li{color:#51637b;padding-left:3px;font-size:.8rem;line-height:1.85}.teacher-insight-bullets li::marker{color:#568add}.teacher-insight-bullets strong{color:#354d6b;font-weight:600}.teacher-priority-panel h3{color:#53739c;margin:24px 0 12px;font-size:.8rem;line-height:1.7}.teacher-assignment-list{gap:10px;margin-bottom:14px;display:grid}.teacher-assignment,.teacher-support-group{background:#fcfdff;border:1px solid #e1e9f3;border-radius:12px}.teacher-support-group{margin-bottom:12px}.teacher-assignment summary,.teacher-support-group summary{cursor:pointer;align-items:center;gap:10px;padding:14px;list-style:none;display:flex}.teacher-assignment summary::-webkit-details-marker{display:none}.teacher-support-group summary::-webkit-details-marker{display:none}.teacher-assignment summary>span,.teacher-support-group summary>span{flex:1;min-width:0}.teacher-assignment summary strong,.teacher-support-group summary strong{overflow-wrap:anywhere;font-size:.79rem;line-height:1.65;display:block}.teacher-assignment summary small,.teacher-support-group summary small{color:#8390a2;margin-top:4px;font-size:.7rem;display:block}.teacher-assignment summary svg,.teacher-support-group summary svg{color:#648ed0;font-size:20px}.teacher-assignment[open]>summary>svg:last-child,.teacher-support-group[open]>summary>svg:last-child{transform:rotate(90deg)}.teacher-assignment__detail,.teacher-support-group__body{border-top:1px solid #e8edf5;padding:14px}.teacher-assignment__detail p,.teacher-support-group__body p{white-space:pre-wrap;overflow-wrap:anywhere;color:#66778e;margin:0 0 10px;font-size:.77rem;line-height:1.85}.teacher-assignment__detail h4,.teacher-support-group__body h4{color:#37577f;margin:12px 0;font-size:.8rem;line-height:1.7}.teacher-name-list{gap:8px;padding-left:18px;font-size:.78rem;display:grid}.teacher-evidence-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.teacher-evidence-list li small{color:#557bac;font-size:.72rem}.teacher-exercise-suggestion{background:#edf5ff;border-radius:10px;margin-top:18px;padding:14px}.teacher-priority-grading{color:#7b879a;border-top:1px solid #e6ecf5;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;font-size:.76rem;display:flex}.teacher-assignment-form fieldset{border:0;gap:22px;min-width:0;margin:0;padding:0;display:grid}.teacher-assignment-form label,.student-assignment-picker label{gap:8px;font-size:.85rem;display:grid}.teacher-assignment-form input:not([type=checkbox]),.teacher-assignment-form select,.teacher-assignment-form textarea,.student-assignment-picker select{color:#304e76;background:#fff;border:1px solid #cfdaeb;border-radius:10px;width:100%;min-width:0;padding:12px}.teacher-form-columns{grid-template-columns:1fr 1fr 1.5fr;gap:20px;display:grid}.teacher-recipient-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;max-height:360px;padding:4px;display:grid;overflow:auto}.teacher-recipient-grid label{border:1px solid #e1e8f3;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.teacher-recipient-grid input{flex-shrink:0;width:18px;height:18px}.student-assignment-picker{background:#f5f9ff;border:1px solid #d4e3f7;border-radius:14px;gap:10px;margin:20px 0;padding:20px;display:grid}.student-assignment-picker p{margin:0;font-size:.8rem;line-height:1.7}.student-assignment-prompt{white-space:pre-wrap;line-height:1.9}.teacher-student-name--link{color:inherit;border-radius:8px}.teacher-student-name--link:hover strong{color:#326fc2;text-decoration:underline}.student-profile-hero{grid-template-columns:minmax(245px,auto) 1fr auto;align-items:center;gap:28px;display:grid}.student-profile-identity{align-items:center;gap:18px;display:flex}.student-profile-avatar{color:#416cae;background:linear-gradient(145deg,#dceaff,#f4e8ff);border:5px solid #edf4ff;border-radius:50%;flex:0 0 82px;place-items:center;width:82px;height:82px;font-size:2rem;font-weight:800;display:grid}.student-profile-identity h2{color:#1e2f4a;margin:0 0 6px;font-size:1.35rem;display:block}.student-profile-identity p{color:#76849a;margin:0 0 10px;font-size:.78rem}.student-progress-badge{color:#398359;background:#e6f6e9;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.student-progress-badge .material-symbols-outlined{font-size:15px}.student-progress-badge--watch{color:#98670d;background:#fff1d5}.student-profile-summary{grid-template-columns:repeat(4,minmax(100px,1fr));display:grid}.student-profile-summary>span{text-align:center;border-left:1px solid #e5eaf2;align-content:center;place-items:center;gap:8px;min-height:72px;padding:4px 18px;display:grid}.student-profile-summary small{color:#758196;font-size:.7rem;line-height:1.4}.student-profile-summary strong{color:#263953;white-space:nowrap;font-size:1.18rem}.student-profile-hero>.secondary{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.student-detail-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.student-detail-stat{align-items:center;gap:12px;padding:17px 14px;display:flex}.student-detail-stat small{color:#748196;margin-bottom:7px;font-size:.69rem;line-height:1.4;display:block}.student-detail-stat strong{color:#263a58;font-size:1.22rem;line-height:1.2;display:block}.student-detail-grid{grid-template-columns:minmax(0,1.75fr) minmax(315px,.85fr);align-items:start;gap:20px;display:grid}.student-detail-main,.student-detail-aside{gap:20px;min-width:0;display:grid}.student-progress-chart{min-width:0}.student-progress-chart svg{width:100%;min-height:210px;display:block;overflow:visible}.student-progress-chart line{stroke:#e7edf5;stroke-width:1px}.student-progress-chart polyline{fill:none;stroke:#4388e0;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.student-progress-chart circle{fill:#fff;stroke:#4388e0;stroke-width:4px}.student-progress-chart text{fill:#8591a2;font-size:11px}.student-progress-chart__score{text-anchor:middle;font-weight:700;fill:#334d73!important}.student-progress-chart__label{text-anchor:middle}.student-progress-chart>p{color:#7c899c;text-align:right;margin:4px 0 0;font-size:.68rem}.student-radar-layout svg{width:min(310px,100%);margin:0 auto;display:block;overflow:visible}.student-radar-grid{fill:none;stroke:#dfe7f1;stroke-width:1px}.student-radar-data{fill:#4c94e62b;stroke:#448de3;stroke-width:2.5px}.student-radar-layout text{fill:#63738b;font-size:9px}.student-skill-values{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.student-skill-values span{background:#f7f9fc;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.student-skill-values small{color:#718097;font-size:.67rem}.student-skill-values strong{color:#315d9a;font-size:.8rem}.student-skill-compare{grid-template-columns:repeat(5,minmax(100px,1fr));align-items:end;gap:18px;min-height:190px;display:grid}.student-skill-compare>div{gap:8px;display:grid}.student-skill-compare>div>strong{color:#5d6d84;text-align:center;min-height:34px;font-size:.7rem;font-weight:600}.student-skill-compare>div>div{background:#f0f3f7;border-radius:5px;align-items:center;height:26px;display:flex;position:relative;overflow:hidden}.student-skill-compare>div>div>span:last-child{color:#304967;font-size:.66rem;font-weight:700;position:absolute;right:7px}.student-skill-bar{min-width:2px;height:100%;display:block}.student-skill-bar--initial{background:#bdc7d5}.student-skill-bar--current{background:#4d8fe4}.student-ai-note{background:linear-gradient(145deg,#f5f9ff,#fff)}.student-ai-note h2{color:#2862ad}.student-ai-note ul,.student-interventions ul{gap:12px;margin:0;padding-left:19px;display:grid}.student-ai-note li{color:#53657d;font-size:.76rem;line-height:1.75}.student-ai-note li::marker{color:#4d8edf}.student-ai-note>p,.student-interventions>p{color:#758398;font-size:.78rem;line-height:1.7}.student-interventions ul{padding:0;list-style:none}.student-interventions li{color:#53657d;align-items:flex-start;gap:9px;font-size:.76rem;line-height:1.7;display:flex}.student-interventions li .material-symbols-outlined{color:#4a91dc;margin-top:2px;font-size:17px}.student-next-goals ol{counter-reset:goals;gap:12px;margin:0;padding:0;list-style:none;display:grid}.student-next-goals li{counter-increment:goals;color:#53657d;align-items:flex-start;gap:10px;font-size:.76rem;line-height:1.7;display:flex}.student-next-goals li:before{content:counter(goals);color:#fff;background:#4b8fe4;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:.67rem;font-weight:700;display:grid}@media (width<=700px){.teacher-form-columns{grid-template-columns:1fr}}@media (width<=1250px){.app-shell--teacher .teacher-nav-link{padding:0 10px;font-size:.83rem}.app-shell--teacher .top-nav__links{gap:2px}.teacher-page{padding:28px 24px 48px}.teacher-stat{gap:10px;padding:16px 12px}.teacher-stat__icon{width:40px;height:40px}.teacher-dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}.teacher-chart-grid{grid-template-columns:1fr}.teacher-donut-layout{justify-content:center}.teacher-legend{flex:0 200px}.student-profile-hero{grid-template-columns:minmax(225px,auto) 1fr}.student-profile-hero>.secondary{grid-column:1/-1;justify-self:end}.student-profile-summary{grid-template-columns:repeat(2,minmax(100px,1fr))}.student-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){.app-shell--teacher .top-nav{grid-template-columns:1fr auto;gap:10px;height:auto;min-height:88px;padding-top:14px}.app-shell--teacher .top-nav__links{grid-area:2/1/auto/-1;justify-content:center}.app-shell--teacher .teacher-nav-link{padding:14px 20px}.app-shell--teacher .top-nav__actions{grid-area:1/2}.teacher-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-dashboard-grid{grid-template-columns:1fr}.teacher-chart-grid,.teacher-dashboard-aside{grid-template-columns:1fr 1fr}.student-detail-grid{grid-template-columns:1fr}.student-detail-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.student-detail-aside>:first-child{grid-row:span 2}}@media (width<=650px){.app-shell--teacher .top-nav{padding:12px 12px 0}.app-shell--teacher .top-nav__brand{gap:6px;font-size:.95rem}.app-shell--teacher .top-nav__brand-logo{height:40px}.app-shell--teacher .top-nav__actions>.material-symbols-outlined,.app-shell--teacher .top-nav__user{display:none}.app-shell--teacher .teacher-nav-link{justify-content:center;gap:5px;padding:12px 8px;font-size:.73rem}.app-shell--teacher .teacher-nav-link .material-symbols-outlined{font-size:19px}.app-shell--teacher .top-nav__links{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.teacher-page{gap:18px;padding:24px 14px 40px}.teacher-page__heading{align-items:flex-start}.teacher-page__heading .eyebrow{font-size:.55rem}.teacher-page__heading p{font-size:.78rem}.teacher-page__heading button{gap:3px;padding:8px;font-size:.68rem}.teacher-page__heading button .material-symbols-outlined{font-size:17px}.teacher-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-stat{padding:16px 12px}.teacher-stat:last-child{grid-column:1/-1}.teacher-stat strong{font-size:1.5rem}.teacher-card{border-radius:14px;padding:18px}.teacher-chart-grid,.teacher-dashboard-aside{grid-template-columns:1fr}.teacher-card__heading,.teacher-toolbar{flex-wrap:wrap;gap:14px}.teacher-search{min-width:100%}.teacher-page .filter-tabs{flex-wrap:wrap}.teacher-status-tabs button{gap:5px;padding:8px;font-size:.7rem}.teacher-exercise{flex-wrap:wrap;gap:12px;padding:16px}.teacher-exercise__icon{width:36px;height:36px}.teacher-exercise__action{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.teacher-exercise h3{font-size:.9rem}.teacher-score-bands>div{grid-template-columns:120px 1fr 40px;gap:10px;font-size:.7rem}.student-profile-hero{grid-template-columns:1fr;gap:20px}.student-profile-summary{width:100%}.student-profile-summary>span{padding:8px}.student-profile-hero>.secondary{grid-column:auto;justify-content:center;justify-self:stretch}.student-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-detail-stat:last-child{grid-column:1/-1}.student-detail-aside{grid-template-columns:1fr}.student-detail-aside>:first-child{grid-row:auto}.student-skill-compare{grid-template-columns:1fr;min-height:0}.student-skill-compare>div>strong{text-align:left;min-height:0}}@media (width<=400px){.app-shell--teacher .teacher-nav-link{gap:4px;padding:12px 4px;font-size:.7rem}.app-shell--teacher .teacher-nav-link .material-symbols-outlined{font-size:18px}}:root{--surface:#f9f9ff;--surface-dim:#d3daea;--surface-bright:#f9f9ff;--surface-container-lowest:#fff;--surface-container-low:#f0f3ff;--surface-container:#e7eefe;--surface-container-high:#e2e8f8;--surface-container-highest:#dce2f3;--on-surface:#151c27;--on-surface-variant:#434654;--outline:#737686;--outline-variant:#c3c5d7;--primary:#003fb1;--primary-container:#1a56db;--on-primary:#fff;--secondary:#006c49;--secondary-container:#6cf8bb;--tertiary:#694100;--tertiary-fixed:#ffddb8;--tertiary-fixed-dim:#ffb95f;--error:#ba1a1a;color:var(--on-surface);font-family:Be Vietnam Pro,sans-serif}*{box-sizing:border-box}body{background-color:var(--surface);background-image:linear-gradient(#ffffff2e,#f0f3ff52),url(/assets/bg-BCehiaR7.png);background-position:50%,50%;background-size:auto,cover;background-attachment:fixed;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--outline-variant);background:#f9f9ffa8;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;height:64px;padding:0 24px;display:grid;position:sticky;top:0}.top-nav__brand{flex-shrink:0;align-items:center;display:inline-flex}.top-nav__brand-logo{width:auto;height:44px;display:block}.top-nav__links{color:var(--on-surface-variant);justify-content:center;align-items:center;gap:18px;display:inline-flex}.top-nav__links a{border-radius:999px;padding:8px 12px;font-weight:600;transition:background-color .2s,color .2s}.top-nav__links a:hover{color:var(--primary);background:var(--surface-container-low)}.top-nav__actions{align-items:center;gap:8px;display:inline-flex}.top-nav__user{gap:2px;min-width:0;display:grid}.top-nav__user strong,.top-nav__user small{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.top-nav__user small{color:var(--on-surface-variant);font-size:.78rem}.top-nav__actions span{background:var(--surface-container-low);border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.home-page{gap:28px;width:min(1100px,100%);margin:0 auto;padding:28px 24px 40px;display:grid}.glass-card{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#ffffff94;border:1px solid #c3c5d7b3;border-radius:24px;box-shadow:0 14px 34px #1a56db17}.hero-grid{grid-template-columns:1.7fr 1fr;gap:20px;display:grid}.hero-main{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:16px;padding:28px;display:grid}.hero-main h1{color:var(--primary);margin:0;font-size:clamp(1.8rem,2.5vw,2.5rem);line-height:1.2}.hero-main__title{letter-spacing:-.02em;align-items:baseline;gap:10px;margin:0;display:inline-flex}.hero-main__title-main{background:linear-gradient(145deg,#003fb1 0%,#1a56db 52%,#3a86ff 100%);color:#0000;text-shadow:0 10px 26px #1a56db3d;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,3.2vw,3rem);font-weight:800;line-height:1.05}.hero-main__title-accent{color:#fff;background:linear-gradient(145deg,#006c49,#00a46d);border-radius:12px;padding:6px 12px;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:800;line-height:1;box-shadow:0 8px 16px #006c4940}.hero-main__lead{max-width:64ch;color:var(--on-surface-variant);margin:14px 0 0;line-height:1.7}.hero-main__content{min-width:0}.hero-main__robot{align-self:stretch;place-items:center;display:grid;position:relative}.hero-main__robot:before{content:"";filter:blur(1px);background:radial-gradient(circle at 35% 35%,#e9f3ff,#dce7ff);border-radius:50%;width:190px;height:190px;position:absolute}.hero-main__robot img{z-index:1;object-fit:contain;filter:drop-shadow(0 12px 20px #003fb12e);width:min(100%,200px);height:auto;position:relative}.hero-main__chips{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.hero-main__chip{background:linear-gradient(160deg, #fff, var(--surface-container-low));border:1px solid var(--outline-variant);border-radius:16px;align-items:center;gap:8px;padding:10px 14px;font-size:.93rem;font-weight:600;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex;box-shadow:0 6px 14px #1a56db14}.hero-main__chip:hover{border-color:#9fb3ef;transform:translateY(-2px);box-shadow:0 10px 18px #1a56db24}.hero-main__chip-icon{background:#e9f1ff;border-radius:8px;place-items:center;width:24px;height:24px;font-size:.92rem;display:grid}.hero-side{color:#fff;background:linear-gradient(145deg,#0840b5,#2864e8);padding:24px}.hero-side__kicker{text-transform:uppercase;letter-spacing:.09em;opacity:.85;margin:0;font-size:.72rem}.hero-side h2{margin:10px 0 16px;font-size:1.5rem}.hero-side ol{gap:8px;margin:0;padding-left:18px;line-height:1.55;display:grid}.hero-side__steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hero-side__steps li{background:#ffffff1f;border-radius:12px;grid-template-columns:26px 1fr;align-items:center;gap:10px;padding:8px 10px;display:grid}.hero-side__steps li span{background:#ffffff38;border-radius:9px;place-items:center;width:26px;height:26px;font-size:.84rem;font-weight:700;display:grid}.hero-side__steps li p{margin:0;line-height:1.4}.hero-side__note{background:#ffffff24;border-radius:12px;margin:16px 0 0;padding:10px 12px;font-size:.92rem;font-weight:600}.eyebrow{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;margin:0 0 10px;font-size:.79rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--secondary);border-radius:50%;width:8px;height:8px}.panel{padding:24px}.panel--form{background:0 0}.panel__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel__header h2{color:var(--on-surface);margin:0;font-size:1.7rem}.hint{color:var(--on-surface-variant);margin:8px 0 0}.analysis-form{background:0 0;gap:16px;margin-top:18px;display:grid}.step-block{border:1px solid var(--outline-variant);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff29;border-radius:20px;padding:16px}.step-block__title{align-items:center;gap:10px;margin-bottom:12px;display:inline-flex}.step-block__title h3{margin:0;font-size:1.05rem}.step-number{background:var(--primary);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:grid}.grade-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.grade-tile,.task-tile,.task-card{border:1px solid var(--outline-variant);color:var(--on-surface);cursor:pointer;background:#ffffff24;border-radius:16px;padding:12px;transition:transform .18s,box-shadow .18s,border-color .18s}.grade-tile:hover,.task-tile:hover,.task-card:hover{border-color:#8da7f0;transform:translateY(-2px);box-shadow:0 9px 20px #1a56db1f}.grade-tile__title{font-size:1rem;font-weight:700}.grade-tile small{color:var(--on-surface-variant);margin-top:4px;font-size:.79rem;display:block}.grade-tile--active,.task-tile--active{background:linear-gradient(155deg, var(--primary), var(--primary-container));border-color:var(--primary);color:#fff}.grade-tile--active small{color:#ffffffdb}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.task-tile{text-align:left;align-items:center;min-height:56px;font-weight:600;display:grid}.task-card{text-align:center;border:2px dashed var(--secondary);background:#6cf8bb1f;align-content:center;justify-items:center;gap:8px;min-height:180px;padding:18px;display:grid;position:relative}.task-card__check{color:#fff;background:0 0;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.85rem;font-weight:800;display:grid;position:absolute;top:10px;right:10px}.task-card__icon{background:#6cf8bb38;border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.4rem;display:grid}.task-card__title{text-transform:uppercase;color:var(--secondary);font-size:1.05rem;font-weight:800}.task-card__subtitle{color:var(--on-surface-variant);margin-top:2px;font-size:.82rem;line-height:1.45}.task-card--active{border:3px solid var(--tertiary-fixed-dim);background:linear-gradient(#ffddb852,#ffb95f29);box-shadow:0 12px 24px #89560029}.task-card--active .task-card__check{background:var(--secondary)}.task-card--active .task-card__icon{background:#ffffff42}.task-card--active .task-card__title{color:var(--tertiary)}.prompt-input{border:1px solid var(--outline-variant);width:100%;min-height:96px;color:var(--on-surface);resize:vertical;background:#ffffff1f;border-radius:14px;padding:12px 14px}.prompt-input:focus{border-color:var(--primary-container);outline:2px solid #1a56db40}.upload-area{background:#ffffff1f;border-style:dashed}.upload-trigger{background:var(--primary);min-height:48px;color:var(--on-primary);cursor:pointer;border:none;border-radius:14px;width:fit-content;padding:12px 18px;font-weight:700}.upload-file-name{color:var(--on-surface);margin:12px 0 0;font-weight:600}.upload-box__note{color:var(--on-surface-variant);margin:8px 0 0;line-height:1.55}.visually-hidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-actions{justify-content:flex-end;display:flex}.analysis-progress{gap:12px;padding:16px 0 4px;display:grid}.analysis-progress__heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.analysis-progress__heading strong{color:var(--on-surface);font-size:1rem}.analysis-progress__heading p{color:var(--on-surface-variant);margin:4px 0 0;line-height:1.45}.analysis-progress__percent{color:var(--primary);font-variant-numeric:tabular-nums;flex:none;font-weight:800}.analysis-progress__track{background:#1a56db1a;border:1px solid #1a56db29;border-radius:7px;height:14px;overflow:hidden}.analysis-progress__bar{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #00a878, #f59e0b);height:100%;transition:width .5s;display:block}.analysis-progress__steps{color:var(--on-surface-variant);text-align:center;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;font-size:.78rem;display:grid}.analysis-progress__steps span{overflow-wrap:anywhere}.analysis-progress__steps .is-active{color:var(--primary);font-weight:700}.upload-trigger--disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.form-validation{color:var(--error);background:#ffededd1;border:1px solid #ba1a1a47;border-radius:12px;padding:12px 14px;line-height:1.5}.form-validation ul{margin:8px 0 0;padding-left:20px}.primary-action,.secondary{cursor:pointer;border-radius:999px;min-height:48px;padding:12px 20px;font-weight:700;transition:transform .18s,box-shadow .18s,background-color .18s}.primary-action{border:1px solid var(--primary);background:var(--primary);color:#fff;box-shadow:0 8px 20px #003fb147}.secondary{border:1px solid var(--outline-variant);color:var(--on-surface);background:#fff}.primary-action--small,.secondary--small{min-height:38px;padding:8px 12px;font-size:.88rem}.primary-action:hover,.secondary:hover{transform:translateY(-1px)}.primary-action:disabled,.secondary:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.error-text{color:var(--error);margin:8px 0 0;font-weight:700}.state-text{color:var(--on-surface-variant);margin:12px 0 0;font-weight:600}.auth-page{place-items:start center}.auth-panel{border:1px solid var(--outline-variant);background:#fffffff0;border-radius:20px;gap:14px;width:min(520px,100%);padding:24px;display:grid;box-shadow:0 14px 34px #1a56db1a}.auth-panel h1{color:var(--primary);margin:0}.auth-panel--registration{width:min(620px,100%)}.registration-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.registration-role{appearance:none;border:2px solid var(--outline-variant);background:var(--surface);min-height:76px;color:var(--on-surface);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:14px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.registration-role>.material-symbols-rounded{background:var(--surface-container);width:42px;height:42px;color:var(--primary);border-radius:13px;flex:0 0 42px;place-items:center;font-size:25px;display:grid}.registration-role span:not(.material-symbols-rounded){gap:3px;display:grid}.registration-role strong,.registration-role small{display:block}.registration-role small{color:var(--on-surface-variant);font-weight:600}.registration-role--active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 7%, white);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.registration-notice{color:#315681;background:#eef5ff;border-radius:12px;align-items:flex-start;gap:9px;margin:0;padding:11px 13px;font-size:.9rem;line-height:1.5;display:flex}.registration-notice .material-symbols-rounded{color:var(--primary)}.teacher-pending-page{place-items:start center;min-height:calc(100vh - 82px);padding-top:clamp(48px,9vh,100px)}.teacher-pending-card{border:1px solid var(--outline-variant);text-align:center;background:#fffffff2;border-radius:24px;justify-items:center;gap:13px;width:min(620px,100%);padding:clamp(28px,5vw,48px);display:grid;box-shadow:0 18px 48px #1a56db1f}.teacher-pending-card h1,.teacher-pending-card p{margin:0}.teacher-pending-card>p:not(.eyebrow){max-width:510px;color:var(--on-surface-variant);line-height:1.65}.teacher-pending-card__icon{color:#a86800;background:#fff5d9;border-radius:22px;place-items:center;width:68px;height:68px;display:grid}.teacher-pending-card__icon .material-symbols-rounded{font-size:34px}.teacher-pending-card__icon--rejected{color:var(--error);background:#ffebea}.teacher-pending-card__actions{justify-content:center;gap:10px;margin-top:8px;display:flex}.teacher-pending-card__actions .primary-action{justify-content:center;align-items:center;gap:7px;display:inline-flex}.auth-form{gap:12px;display:grid}.auth-form label{gap:7px;font-weight:700;display:grid}.auth-form input,.auth-form select{border:1px solid var(--outline-variant);background:var(--surface);border-radius:12px;min-height:46px;padding:10px 12px}.auth-switch{color:var(--on-surface-variant);margin:0}.auth-switch a{color:var(--primary);font-weight:800}.auth-divider{color:var(--on-surface-variant);align-items:center;gap:12px;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--outline-variant);flex:1;height:1px}.auth-guest-action{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.auth-guest-note{color:var(--on-surface-variant);text-align:center;margin:-4px 0 0;font-size:.85rem}.submission-list,.teacher-table{gap:10px;margin-top:16px;display:grid}.submission-row,.teacher-table__row{border:1px solid var(--outline-variant);background:#ffffffe6;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.teacher-table__row{grid-template-columns:1fr 1.6fr .6fr auto auto}.submission-row p,.teacher-table__row p{color:var(--on-surface-variant);margin:4px 0 0;font-size:.88rem}.status-pill{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:800}.status-pill--ungraded{color:#4b5565;background:#edf0f6}.status-pill--draft{color:#8d5a00;background:#fff4dc}.status-pill--completed{color:#006c49;background:#ddf8ed}.filter-tabs{border:1px solid var(--outline-variant);background:#fff;border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.filter-tabs__item{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 12px;font-weight:800}.filter-tabs__item--active{background:var(--primary);color:#fff}.result-modal{z-index:40;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.result-modal__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1c3573;position:absolute;inset:0}.result-modal__panel{z-index:1;width:min(1020px,100%);max-height:90vh;position:relative;overflow:auto}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;line-height:1}.result-html{gap:18px;width:100%;max-width:980px;margin:0 auto;padding:6px 0 24px;display:grid}.result-html__topbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.result-html__topbar h1{color:var(--primary);margin:0;font-size:clamp(1.7rem,2.4vw,2.15rem)}.result-html__notice{background:var(--primary-fixed);color:var(--on-primary-fixed-variant);border-radius:12px;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;display:inline-flex}.result-html__notice p{margin:0;font-size:.92rem;line-height:1.45}.result-html__wait-pill{border:2px solid var(--tertiary-fixed);color:var(--tertiary);background:#ffffffeb;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:700;display:inline-flex}.result-html__bento{grid-template-columns:2fr 1fr;gap:14px;display:grid}.feedback-card{border:1px solid var(--outline-variant);background:#fffffff5;border-radius:24px;align-items:center;gap:12px;padding:18px;display:flex;box-shadow:0 12px 30px #1a56db1f}.feedback-card__content{flex:1}.feedback-card__heading{color:var(--secondary);align-items:center;gap:6px;display:inline-flex}.feedback-card__heading h2{margin:0;font-size:1.15rem}.feedback-card p{color:var(--on-surface-variant);margin:10px 0 0;line-height:1.62}.speech-action{min-height:42px;color:var(--secondary);cursor:pointer;background:#6cf8bb33;border:1px solid #006c4947;border-radius:999px;align-items:center;gap:8px;margin-top:14px;padding:9px 14px;font-weight:800;display:inline-flex}.speech-action:hover{background:#6cf8bb52}.speech-action:disabled{cursor:wait;opacity:.72}.speech-action__robot{object-fit:cover;border-radius:50%;flex:0 0 30px;width:30px;height:30px}.speech-error{color:var(--error);margin-top:8px;font-size:.9rem}.feedback-card__mascot{flex-shrink:0;width:150px;height:150px;transition:filter .2s,transform .2s}.feedback-card__mascot img{object-fit:contain;width:100%;height:100%}.feedback-card__mascot--speaking{filter:drop-shadow(0 8px 12px #1a56db38);transform:translateY(-2px)}.score-card{background:linear-gradient(165deg, var(--primary-container), #2a69ed);color:var(--on-primary-container);text-align:center;border-radius:24px;align-content:center;justify-items:center;gap:8px;padding:16px;display:grid}.score-card__chip{color:#d9e6ff;text-transform:uppercase;letter-spacing:.04em;background:#ffffff29;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.score-card h3{color:#f3f6ff;margin:0;font-size:1.1rem}.score-card__score{color:#fff;font-size:3rem;font-weight:800;line-height:1}.score-card__score span{opacity:.82;font-size:1.4rem}.score-card p{color:#d9e6ff;margin:0;font-size:.92rem}.annotated-status{color:#fff;border-radius:999px;margin-top:6px;padding:6px 12px;font-size:.82rem;font-weight:700}.annotated-status--none{background:#727b8b}.annotated-status--pending{background:#cf7d11}.annotated-status--ready{background:#1b986a}.annotated-status--failed{background:#b92525}.annotated-status--disabled{background:#5f6472}.criteria-title{color:var(--on-surface);margin:0;font-size:1.2rem}.criteria-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.criteria-heading>p{color:var(--on-surface-variant);margin:0;font-size:.86rem}.criteria-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.metric-card{border:1px solid var(--surface-container-highest);background:#fff;border-radius:18px;gap:11px;padding:15px;display:grid;box-shadow:0 8px 20px #1a56db14}.metric-card__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.metric-card__title-wrap{align-items:flex-start;gap:10px;display:flex}.metric-card__icon-wrap{width:46px;height:46px;color:var(--primary);background:#eaf1ff;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.metric-card__icon{font-size:26px}.metric-card h3{margin:0;font-size:1rem}.metric-card__title-wrap p{color:var(--on-surface-variant);margin:3px 0 0;font-size:.89rem;line-height:1.45}.metric-badge{border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:.8rem;font-weight:700}.metric-badge--need-support{color:#9f2323;background:#ffe4e4}.metric-badge--partial{color:#8d5a00;background:#ffedcf}.metric-badge--met{color:#006c49;background:#d9f7ec}.metric-badge--exceeded{color:#0b4acc;background:#dce8ff}.metric-meter{background:var(--surface-container);border-radius:999px;width:100%;height:10px;overflow:hidden}.metric-meter__fill{border-radius:inherit;height:100%;transition:width .4s}.metric-meter__fill--need_support{background:#ef4444}.metric-meter__fill--partial{background:#f59e0b}.metric-meter__fill--met{background:#4edea3}.metric-meter__fill--exceeded{background:#1a56db}.metric-note{border:1px solid;border-radius:12px;align-items:flex-start;gap:7px;padding:8px 10px;display:inline-flex}.metric-note p{margin:0;font-size:.89rem;line-height:1.45}.metric-note--need_support{color:#a02626;background:#fff0f0;border-color:#ffcaca}.metric-note--partial{color:#8d5a00;background:#fff8eb;border-color:#ffdca7}.metric-note--met,.metric-note--exceeded{color:#006c49;background:#ecfff5;border-color:#baf0d8}.indicator-details{border-top:1px solid var(--outline-variant);padding-top:10px}.indicator-details__heading{justify-content:space-between;align-items:center;gap:8px;font-size:.88rem;display:flex}.indicator-details__heading strong{color:var(--on-surface);font-weight:800}.indicator-details__heading span{color:var(--on-surface-variant);font-weight:700}.indicator-list{border-top:1px solid var(--surface-container-highest);gap:0;margin-top:10px;display:grid}.indicator-row{border-bottom:1px solid var(--surface-container-highest);padding:10px 0}.indicator-row__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.indicator-row__heading strong{color:var(--on-surface);font-size:.86rem;line-height:1.4}.indicator-row__heading span{color:var(--primary);flex-shrink:0;font-size:.82rem;font-weight:800}.criteria-empty,.result-video{border:1px solid var(--outline-variant);background:var(--surface-container-low);border-radius:16px;padding:14px}.criteria-empty p{color:var(--on-surface-variant);margin:0}.result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.result-actions__home{align-items:center;gap:6px;display:inline-flex}.result-video h3{margin:0 0 10px}.result-video video{background:#101724;border-radius:12px;width:100%}.result-footer{border-top:1px solid var(--outline-variant);color:var(--on-surface-variant);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.result-footer p{margin:4px 0 0;font-size:.9rem}.result-footer__links{gap:14px;display:inline-flex}.teacher-done-page h1{color:var(--primary);margin:0;font-size:clamp(1.45rem,2.2vw,2rem)}.teacher-v2{gap:18px;width:min(1100px,100%);margin:0 auto;display:grid}.teacher-v2__hero{border:1px solid var(--surface-container);background:#ffffffeb;border-radius:24px;justify-content:space-between;align-items:center;gap:14px;padding:20px;display:flex;position:relative;overflow:hidden}.teacher-v2__hero-text{z-index:2}.teacher-v2__hero-text h1{color:var(--primary);margin:0;font-size:clamp(1.5rem,2.3vw,2rem)}.teacher-v2__hero-sub{color:var(--on-surface-variant);align-items:center;gap:7px;margin-top:8px;display:inline-flex}.teacher-v2__hero-sub p{margin:0}.teacher-v2__hero-mascot{z-index:2;width:132px;height:132px}.teacher-v2__hero-mascot img{object-fit:contain;width:100%;height:100%}.teacher-v2__hero-glow{filter:blur(30px);opacity:.35;border-radius:999px;width:180px;height:180px;position:absolute}.teacher-v2__hero-glow--one{background:#1a56db59;top:-50px;right:-20px}.teacher-v2__hero-glow--two{background:#6cf8bb59;bottom:-70px;left:-30px}.teacher-v2__info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.teacher-v2__field{border:1px solid var(--surface-container);background:#ffffffe6;border-radius:16px;gap:7px;padding:12px;display:grid}.teacher-v2__field>span{color:var(--on-surface-variant);font-size:.9rem;font-weight:600}.teacher-v2__field-wrap{border:1px solid var(--outline-variant);background:var(--surface);border-radius:12px;grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:8px 10px;display:grid}.teacher-v2__field-wrap .material-symbols-outlined{color:var(--primary);font-size:20px}.teacher-v2__field-wrap input,.teacher-v2__field-wrap select{font:inherit;color:var(--on-surface);background:0 0;border:0;outline:0;width:100%}.teacher-v2__form{gap:16px;display:grid}.teacher-v2__score-layout{grid-template-columns:280px 1fr;align-items:stretch;gap:16px;display:grid}.teacher-v2__score-overview{background:var(--surface-container-low);text-align:center;border:1px solid #1a56db33;border-radius:20px;align-content:center;justify-items:center;gap:8px;height:100%;padding:16px;display:grid}.teacher-v2__score-overview .secondary{justify-content:center;width:100%}.teacher-v2__score-icon{width:58px;height:58px;color:var(--primary);background:#fff;border-radius:16px;place-items:center;display:grid;box-shadow:0 8px 14px #1a56db1f}.teacher-v2__score-icon .material-symbols-outlined{font-size:32px}.teacher-v2__score-label,.teacher-v2__score-overview p{color:var(--on-surface-variant);margin:0}.teacher-v2__score-value{justify-content:center;align-items:baseline;gap:3px;display:inline-flex}.teacher-v2__score-value strong{color:var(--primary);font-size:2.3rem;line-height:1}.teacher-v2__score-value span{color:var(--on-surface-variant);font-weight:700}.teacher-v2__score-progress{background:#ffffffb3;border-radius:999px;align-self:center;padding:6px 10px;font-size:.85rem}.teacher-v2__score-note{text-align:center;background:#1a56db14;border-radius:12px;align-content:center;justify-items:center;gap:6px;width:100%;padding:8px;display:grid}.teacher-v2__score-note .material-symbols-outlined{color:var(--primary);font-size:18px}.teacher-v2__score-note p{margin:0;font-size:.78rem;line-height:1.4}.teacher-v2__criteria-list{gap:10px;display:grid}.teacher-v2__criterion{border:1px solid var(--surface-container);background:#fffffff0;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.teacher-v2__criterion-main{flex:1;align-items:flex-start;gap:10px;display:flex}.teacher-v2__criterion-icon{width:42px;height:42px;color:var(--secondary);background:#6cf8bb3d;border-radius:999px;flex-shrink:0;place-items:center;display:grid}.teacher-v2__criterion-icon .material-symbols-outlined{font-size:20px}.teacher-v2__criterion h3{margin:0;font-size:1rem}.teacher-v2__criterion p{color:var(--on-surface-variant);margin:2px 0 0;font-size:.88rem;line-height:1.4}.teacher-v2__criterion-score{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.teacher-v2__criterion-score label{align-items:center;gap:6px;display:inline-flex}.teacher-v2__criterion-score input{border:1px solid var(--outline-variant);background:var(--surface);width:76px;font:inherit;text-align:right;color:var(--primary);border-radius:10px;padding:8px 10px;font-weight:700}.teacher-v2__criterion-score label span{color:var(--on-surface-variant);font-weight:600}.teacher-v2__need-data{background:var(--tertiary-fixed);color:var(--on-tertiary-fixed);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.teacher-v2__need-data .material-symbols-outlined{font-size:14px}.teacher-v2__feedback{border:1px solid var(--surface-container);background:#ffffffeb;border-radius:20px;gap:12px;padding:16px;display:grid}.teacher-v2__feedback label{gap:8px;display:grid}.teacher-v2__feedback label>span{font-size:1rem;font-weight:700}.teacher-v2__feedback textarea{border:1px solid var(--outline-variant);background:var(--surface);font:inherit;resize:vertical;border-radius:14px;padding:12px}.teacher-v2__feedback-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.teacher-v2__feedback-actions button{align-items:center;gap:6px;display:inline-flex}.teacher-materials{border:1px solid var(--outline-variant);background:#fffffff0;border-radius:18px;grid-template-columns:1fr 1fr;gap:14px;padding:14px;display:grid}.teacher-materials video{background:#101724;border-radius:12px;width:100%}.teacher-materials h2{color:var(--primary);margin:0 0 8px;font-size:1rem}.teacher-materials p{color:var(--on-surface-variant);margin:0 0 12px;line-height:1.55}.audio-recorder{border:1px solid var(--outline-variant);background:var(--surface-container-low);border-radius:14px;gap:10px;padding:12px;display:grid}.audio-recorder__actions{flex-wrap:wrap;gap:8px;display:flex}.audio-recorder audio,.teacher-feedback-card audio{width:100%}.teacher-feedback-card{background:#ecfff5eb;border:1px solid #006c4938;border-radius:18px;gap:10px;padding:16px;display:grid}.teacher-feedback-card h2{color:var(--secondary);margin:0}.teacher-feedback-card p{color:var(--on-surface-variant);margin:0;line-height:1.55}.teacher-feedback-card__score{color:var(--secondary);align-items:baseline;gap:4px;display:inline-flex}.teacher-feedback-card__score strong{font-size:2rem}.teacher-done-page{text-align:center;gap:10px;display:grid}.teacher-done-page__icon{font-size:2.2rem}.teacher-done-page p{color:var(--on-surface-variant);margin:0}.teacher-done-page blockquote{border:1px solid var(--outline-variant);background:var(--surface-container-low);color:var(--on-surface-variant);border-radius:12px;margin:0;padding:10px;font-style:italic}.teacher-done-page__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.app-footer{border-top:1px solid var(--outline-variant);background:#e2e8f8c7;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding:16px 24px;display:flex}.app-footer p{color:var(--on-surface-variant);margin:6px 0 0;font-size:.9rem}.app-footer__links{color:var(--on-surface-variant);flex-wrap:wrap;gap:12px;display:inline-flex}.camera-page{width:min(1100px,100%);margin:0 auto;padding:24px}.camera-shell,.camera-permission,.camera-preview,.camera-result{gap:12px;display:grid}.camera-live,.camera-recorded{background:#0e1522;border-radius:12px;width:100%;min-height:300px}.camera-timer{border:1px solid var(--outline-variant);background:var(--surface-container-low);border-radius:999px;width:fit-content;padding:6px 10px;font-weight:700}.camera-actions{gap:10px;display:flex}.permission-modal{z-index:50;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.permission-modal__backdrop{background:#151c2773;position:absolute;inset:0}.permission-modal__panel{z-index:1;border:1px solid var(--outline-variant);background:#fff;border-radius:18px;gap:10px;width:min(560px,100%);padding:18px;display:grid;position:relative;box-shadow:0 16px 42px #1a56db33}@media (width<=980px){.hero-grid,.result-html__bento,.criteria-grid,.teacher-materials,.hero-main{grid-template-columns:1fr}.hero-main__title{gap:8px}.hero-main__title-accent{border-radius:10px;padding:5px 10px}.hero-main__robot{order:-1;justify-content:flex-start}.hero-main__robot:before{width:150px;height:150px}.hero-main__robot img{width:140px}.grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-v2__info-grid,.teacher-v2__score-layout{grid-template-columns:1fr}}@media (width<=760px){.top-nav{grid-template-columns:auto auto;justify-content:space-between;padding:0 14px}.top-nav__links{display:none}.home-page{padding:18px 14px 28px}.panel,.hero-main,.hero-side,.result-html,.feedback-card,.score-card{padding:16px}.criteria-heading,.indicator-row__heading,.panel__header,.result-html__topbar,.result-footer,.metric-card__head,.app-footer,.submission-row,.teacher-table__row{flex-direction:column;align-items:flex-start}.submission-row,.teacher-table__row{grid-template-columns:1fr}.task-grid,.grade-grid,.camera-actions{flex-direction:column;grid-template-columns:1fr}.form-actions,.upload-trigger,.primary-action,.secondary{width:100%}.teacher-v2__hero,.teacher-v2__criterion,.teacher-v2__feedback-actions,.teacher-done-page__actions{flex-direction:column;align-items:stretch}.teacher-v2__criterion-score{justify-content:flex-start}.result-actions{flex-direction:column}.registration-role-grid{grid-template-columns:1fr}.teacher-pending-card__actions{flex-direction:column;width:100%}.feedback-card__mascot{width:92px;height:92px}.analysis-progress__heading{gap:10px}.analysis-progress__steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:6px}}@media (prefers-reduced-motion:reduce){.analysis-progress__bar,.feedback-card__mascot{transition:none}}.score-card--pending{background:linear-gradient(165deg, var(--tertiary-fixed-dim), var(--tertiary-fixed));color:var(--tertiary)}.score-card--pending h3,.score-card--pending p{color:var(--tertiary)}.score-card--pending .score-card__chip{color:var(--tertiary);background:#0000001a}.score-card__score--pending{color:var(--tertiary);letter-spacing:.08em}.not-scored-panel{border:1px solid var(--outline-variant);background:var(--surface-container-low);color:var(--on-surface);border-radius:20px;gap:10px;margin:20px 0;padding:16px;display:grid}.not-scored-panel__head{align-items:center;gap:10px;display:flex}.not-scored-panel__head h2{color:var(--on-surface);margin:0;font-size:1.05rem}.not-scored-panel__head .material-symbols-outlined{color:var(--primary)}.not-scored-panel p{color:var(--on-surface-variant);margin:0;line-height:1.55}.not-scored-panel__hint{font-size:.92rem}
