:root{--feedback-success: #236c4b;--feedback-success-bg: #edf8f1;--feedback-success-border: #b8dfc8;--feedback-error: #a53243;--feedback-error-bg: #fff3f4;--feedback-error-border: #eac3cb;--feedback-pending: #5247a0;--feedback-pending-bg: #f4f2fd;--feedback-pending-border: #d8d2f0}.action-feedback{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:12px 0;border:1px solid var(--feedback-pending-border);border-radius:8px;background:var(--feedback-pending-bg);color:var(--feedback-pending);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.action-feedback>svg,.action-feedback-spinner{flex:0 0 auto}.action-feedback.is-success{color:var(--feedback-success);background:var(--feedback-success-bg);border-color:var(--feedback-success-border)}.action-feedback.is-error{color:var(--feedback-error);background:var(--feedback-error-bg);border-color:var(--feedback-error-border)}.action-feedback .text-button{flex:0 0 auto;margin-left:auto;color:inherit}.action-feedback-spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:feedback-spin .8s linear infinite}@keyframes feedback-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.action-feedback-spinner{animation:none}}.feedback-skeleton{padding:24px}.feedback-skeleton-row{height:42px;margin:12px 0;border-radius:8px;background:#eef0f7}.experiment-catalog{display:grid;gap:20px}.experiment-catalog>.catalog-toolbar{padding:8px 20px;border:1px solid var(--line);border-radius:12px}.experiment-catalog .catalog-toolbar>.search-field{width:300px;margin:0}.experiment-catalog .catalog-toolbar>.tabs>button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:12px 0}.experiment-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}.experiment-card-grid>li{min-width:0}.experiment-card{display:flex;flex-direction:column;align-items:stretch;height:100%;border:1px solid #d9dfed;border-radius:14px;background:#fff;color:var(--ink);text-align:left;transition:border-color .18s ease,background-color .18s ease}.experiment-card:has(.experiment-card-open:hover:not(:disabled)){border-color:#a7afc4}.experiment-card-open{display:flex;flex:1;flex-direction:column;padding:0;border:0;border-radius:13px;background:transparent;color:inherit;text-align:left}.experiment-card-open:disabled{opacity:1}.experiment-card-cover{--experiment-cover-height: 144px;display:grid;place-items:center;width:100%;height:var(--experiment-cover-height);overflow:hidden;border-radius:13px 13px 0 0;background:#cbd9ed}.experiment-card-cover img{display:block;width:auto;max-width:100%;height:var(--experiment-cover-height);object-fit:contain;object-position:center;-webkit-mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to right,transparent,#000 14%,#000 86%,transparent);transition:filter .22s ease,opacity .22s ease}.experiment-card-body{display:flex;flex:1;flex-direction:column;gap:8px;min-height:128px;padding:18px 20px 16px}.experiment-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.experiment-card-title-row>svg{flex:0 0 auto;margin-top:6px;color:#6d5c9c}.experiment-card-title{font-size:20px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.experiment-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:#526078;font-size:14px;line-height:1.7}.experiment-card-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:46px;margin:0 20px;padding:4px 0;border-top:1px solid #e8ebf2}.experiment-card-number{display:flex;align-items:baseline;gap:8px;color:#526078;font-size:13px;font-weight:550}.experiment-card-number strong{color:#6150c6;font:650 26px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-shadow:0 0 7px #9484ff50,0 0 16px #8d7af529}.experiment-card.is-inactive .experiment-card-number strong{color:#667286;text-shadow:none}.experiment-card-controls .experiment-card-archive{width:34px;height:34px;color:#606c80}.experiment-visibility-switch{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:52px;height:34px;padding:4px;border:0;border-radius:8px;background:transparent}.experiment-switch-track{display:inline-flex;align-items:center;width:42px;height:24px;padding:3px;border-radius:20px;background:#838d9d;transition:background-color .18s ease}.experiment-switch-thumb{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #18263c30;transition:transform .18s ease}.experiment-visibility-switch[aria-checked=true] .experiment-switch-track{background:#6251bf}.experiment-visibility-switch[aria-checked=true] .experiment-switch-thumb{transform:translate(18px)}.experiment-switch-spinner{width:12px;height:12px;border:2px solid #b9c0d0;border-top-color:#6251bf;border-radius:50%;animation:experiment-switch-spin .7s linear infinite}.experiment-card[aria-busy=true] .experiment-card-controls button{cursor:progress;opacity:1}.experiment-card.is-inactive{border-color:#d2d6dd;background:#e9ecf0;box-shadow:none}.experiment-card.is-inactive .experiment-card-cover{background:#d0d5dc}.experiment-card.is-inactive .experiment-card-cover img{filter:grayscale(1);opacity:.42}.experiment-card.is-inactive .experiment-card-controls{border-top-color:#d1d7df}.experiment-card.is-inactive .experiment-card-title-row>svg{color:#606c80}.experiment-card.is-archived{border-style:dashed}.experiment-card-feedback{margin:0 16px 16px}.experiment-catalog>.empty-state{padding:40px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}@keyframes experiment-switch-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.experiment-card,.experiment-card-cover img,.experiment-switch-track,.experiment-switch-thumb{transition:none}.experiment-switch-spinner{animation:none}}@media(max-width:1500px){.experiment-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.todo-panel.student-experiment-panel{padding-bottom:0}.student-experiment-panel .panel-header.compact{padding:18px 24px 0;border-bottom:0}.student-experiment-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px 24px}.student-experiment-identity{min-width:0}.student-experiment-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:6px;color:#5d6a82;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}.student-experiment-identity h3{margin:0;color:#202d45;font-size:18px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.student-experiment-feedback{margin:6px 0 0;color:#5d6a82;font-size:14px;line-height:1.5}.student-experiment-entry.btn.primary{flex-shrink:0;min-height:40px;padding:0 16px;gap:10px;font-size:14px;box-shadow:none;white-space:nowrap}.teacher-class-summary{display:flex;align-items:center;gap:14px;flex-shrink:0;padding:16px 20px;border:1px solid #ded8f5;border-radius:12px;background:#f6f3ff;color:#23334e;font:inherit;text-align:left;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.teacher-class-summary>svg{color:#6550be}.teacher-class-summary-label{font-size:15px;font-weight:600}.teacher-class-summary-count{display:flex;align-items:baseline;gap:6px;font-size:13px}.teacher-class-summary-count strong{font-size:30px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums}.teacher-class-summary:hover{background:#efebfc;border-color:#a797db}.teacher-class-summary:active{background:#e7e0fa}.admin-overview{--dash-ink: #15213b;--dash-muted: #53617b;--dash-card-text: #16332f;--dash-card-muted: #365d56}.admin-overview .overview-stat-grid{gap:16px;padding-top:8px}.admin-overview .overview-stat{--stat-accent: #087f5b;--stat-rgb: 20, 184, 130;--stat-fill: #bdf5d8;--stat-light: #e3fff0;--stat-border: #91e4bc;position:relative;isolation:isolate;overflow:hidden;min-height:172px;padding:22px 24px;border:1px solid var(--stat-border);border-radius:14px;background:linear-gradient(120deg,var(--stat-light),var(--stat-fill));color:var(--dash-card-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.admin-overview .overview-stat-cyan{--stat-accent: #087c97;--stat-rgb: 6, 182, 212;--stat-fill: #b4efff;--stat-light: #ddfaff;--stat-border: #89dcef;--dash-card-text: #133d4b;--dash-card-muted: #315c6b}.admin-overview .overview-stat-blue{--stat-accent: #315dce;--stat-rgb: 74, 124, 245;--stat-fill: #c6d8ff;--stat-light: #e7efff;--stat-border: #a9c2f9;--dash-card-text: #203b70;--dash-card-muted: #3d5680}.admin-overview .overview-stat-violet{--stat-accent: #7745ca;--stat-rgb: 155, 102, 235;--stat-fill: #e4caff;--stat-light: #f3e8ff;--stat-border: #d2aff5;--dash-card-text: #492775;--dash-card-muted: #67478a}.admin-overview .overview-stat:after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:2px;background:var(--stat-accent);opacity:.55;pointer-events:none}.admin-overview .overview-stat:hover{border-color:var(--stat-accent);box-shadow:0 4px 18px rgba(var(--stat-rgb),.14)}.admin-overview .overview-stat:active{background:var(--stat-fill)}.admin-overview .overview-stat:focus-visible{box-shadow:none}.admin-overview .overview-stat-label{display:flex;width:fit-content;margin-bottom:20px;gap:10px;padding-right:28px;color:var(--dash-card-text);font-size:15px;font-weight:550}.admin-overview .overview-stat-label>svg{color:var(--stat-accent)}.admin-overview .overview-stat-arrow{position:absolute;right:24px;top:24px;color:var(--dash-card-muted)}.admin-overview .overview-stat:hover .overview-stat-arrow{color:var(--stat-accent)}.admin-overview .overview-stat strong{color:var(--dash-card-text);font-size:40px;line-height:1.1;font-weight:650;font-variant-numeric:tabular-nums}.admin-overview .overview-stat small{margin-top:8px;color:var(--dash-card-muted);font-size:13px}.admin-overview .admin-config-card{background:#fff;border-color:#dee4f2;transition:background-color .18s ease,border-color .18s ease}.admin-overview .admin-config-card:hover{background:#f5f3ff;border-color:#9982f0;transform:none}.admin-overview .admin-config-card strong{color:var(--dash-ink);font-size:15px}.admin-overview .admin-config-card p{color:var(--dash-muted);font-size:13px}.admin-overview .admin-config-icon.teal{color:#087f88;background:#dcfaff}.admin-overview .admin-config-icon.blue{color:#305dc7;background:#e8efff}.admin-overview .admin-config-icon.purple{color:#7240c6;background:#f0e8ff}.admin-overview .admin-config-icon.green{color:#187452;background:#defbed}@media(prefers-reduced-motion:reduce){.teacher-class-summary,.admin-overview :is(.overview-stat,.admin-config-card){transition:none}}.records-panel{overflow:hidden}.records-toolbar{display:flex;align-items:center;gap:18px;padding:20px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}.records-count{display:flex;align-items:center;gap:10px;margin-right:auto}.records-count h2{margin:0;font-size:17px}.records-count>span{font-size:13px;color:var(--muted)}.records-search{flex:0 1 360px;min-width:260px}.records-filter{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.records-filter select{max-width:240px;height:38px;color:var(--ink);border:1px solid var(--control-border);border-radius:8px;padding:0 10px;background:var(--surface)}.records-table{table-layout:fixed;width:100%}.records-table th:first-child{width:175px}.records-table th:nth-child(2){width:140px}.records-table th:nth-child(4){width:29%}.records-table th:last-child{width:155px}.records-table td{vertical-align:middle;padding-top:15px;padding-bottom:15px}.records-table td:first-child{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.records-table td>strong{display:block;font-size:14px;line-height:1.6}.records-table small{display:block;margin-top:5px;font-size:13px;color:var(--muted);line-height:1.5}.records-table small.records-test-label{color:#735b25}.records-question{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%;padding:0;border:0;background:none;text-align:left;color:var(--ink);font-size:14px;line-height:1.7;cursor:pointer}.records-question:hover{color:var(--purple)}.records-model{overflow-wrap:anywhere}.records-outcome{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13px;color:var(--muted)}.records-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:5px;font-size:13px;line-height:1.65;color:var(--muted)}.records-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap;font-size:13px}.records-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.records-pagination>div,.records-pagination label{display:flex;align-items:center;gap:10px}.records-pagination select{min-width:56px;height:32px;border:1px solid var(--control-border);border-radius:6px;background:var(--surface);color:var(--ink);padding:0 6px}.records-message{padding:24px;font-size:14px;color:var(--muted)}.records-detail-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 0;color:var(--muted);font-size:13px}.records-detail-modal .record-detail{margin:18px 24px 24px;background:transparent;padding:0;gap:16px}.records-detail-modal .record-detail>div{grid-template-columns:100px minmax(0,1fr);padding-bottom:14px;border-bottom:1px solid var(--line)}.records-detail-modal .record-detail dt{color:var(--muted);font-size:14px;line-height:1.8}.records-detail-modal .record-detail dd{color:var(--ink);font-size:14px;line-height:1.8}.records-detail-footer{display:flex;justify-content:flex-end;padding:0 24px 24px}@media(max-width:1200px){.records-table{min-width:900px}.records-toolbar{gap:12px}}.admin-workspace-scope{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px 24px;color:#34405c;font-size:14px}.admin-workspace-scope>.custom-select{width:260px}.class-roster-stack{display:grid;gap:24px}.class-management-panel>.panel-header{align-items:center}.class-management-panel .panel-header p{color:#46546b;font-size:14px;margin-top:8px}.class-heading-actions{display:flex;align-items:center;gap:18px}.class-archive-filter{display:flex;gap:8px;align-items:center;font-size:13px;color:#46546b;white-space:nowrap}.class-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 24px 24px}.class-card{border:1px solid #dce1ef;border-radius:16px;padding:16px;background:#fff;color:#17243a;min-width:0}.class-card.selected{border-color:#8272ee;background:#f8f6ff;box-shadow:0 0 0 1px #bfb6ff}.class-card-select{border:0;background:none;display:grid;gap:8px;text-align:left;padding:0;width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:6px;min-height:60px}.class-card-select>.class-card-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.class-card-select strong{font-size:16px;overflow-wrap:anywhere}.class-card-select>span,.class-teacher-line{font-size:14px;color:#46546b;line-height:1.6}.class-teacher-line{display:grid;gap:8px;margin:10px 0 0;min-height:22px;pointer-events:auto}.class-teacher-line-label{font-size:13px;color:#46546b}.class-teacher-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.class-teacher-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:3px 10px 3px 3px;border:1px solid #dce1ef;border-radius:10px;background:#f4f6fc;color:#17243a;font:inherit;line-height:1.2;text-decoration:none}.class-teacher-chip.is-action{cursor:pointer}.class-teacher-chip.is-action:hover{border-color:#c5cbe0;background:#eef1f8}.class-teacher-chip-avatar{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;background:#e8edf7;color:#4d5d78;font-size:12px;font-weight:650;overflow:hidden}.class-teacher-chip-avatar img{width:100%;height:100%;object-fit:cover}.class-teacher-chip-text{display:grid;gap:1px;min-width:0;text-align:left}.class-teacher-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:#17243a}.class-teacher-chip-id{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#46546b}.class-teacher-link{display:inline;border:0;background:none;padding:0;margin:0;color:#5140b3;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.class-teacher-link:hover{color:#3d2fa0}.class-teacher-id{color:#46546b;text-decoration:none}.class-card-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #e2e4f0;padding-top:12px;margin-top:12px;cursor:default;pointer-events:auto}.class-card-actions .btn.small{font-size:13px}.class-card-all{display:flex;flex-direction:column;gap:12px}.class-card-all>.class-card-actions{margin-top:auto}.class-roster-anchor{outline:none}.class-teacher-picker-label{display:block;padding:0 0 6px;margin:0;font-size:13px;font-weight:500;color:#46546b}.class-management-form{display:grid;gap:12px;padding:0;color:#17243a;font-size:14px;line-height:1.55}.class-management-form>.field,.class-management-form>.ex-field{margin-bottom:0}.class-management-form p{margin:0}.class-management-form>.form-error{margin:0}.class-management-form>.form-actions{margin-top:4px;padding-top:14px}.class-teacher-picker{display:grid;margin:0;padding:0;border:1px solid #dce1ef;border-radius:12px;overflow:hidden;min-width:0}.class-teacher-picker-header{display:grid;gap:10px;padding:12px;border-bottom:1px solid #e2e4f0;background:#fff}.class-teacher-picker-header .class-teacher-picker-label{padding:0}.class-teacher-search{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #dce1ef;border-radius:8px;background:#f8f9fd;color:#46546b}.class-teacher-search input{width:100%;min-width:0;height:38px;padding:0;border:0;outline:none;background:transparent;color:#17243a;font:inherit}.class-teacher-search input::placeholder{color:#65738a}.class-teacher-search>svg{flex-shrink:0}.class-teacher-search button{display:grid;place-items:center;flex:0 0 28px;height:28px;border:0;border-radius:5px;background:transparent;color:#46546b;cursor:pointer}.class-teacher-search button:hover{background:#e8edf7}.class-teacher-selected{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#46546b;font-size:13px}.class-teacher-selected button{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #ded7fc;border-radius:6px;background:#f4f1ff;color:#5140a3;font:inherit;cursor:pointer}.class-teacher-selected button:hover{background:#ebe5ff}.class-teacher-options{max-height:220px;overflow-y:auto}.class-teacher-option{display:flex;gap:10px;align-items:flex-start;padding:8px 12px;border-bottom:1px solid #e2e4f0;font-size:14px}.class-teacher-option:last-child{border-bottom:0}.class-teacher-option>span{display:grid;gap:2px;flex:1;min-width:0}.class-teacher-picker small{font-size:12px;color:#46546b;line-height:1.4}.class-teacher-picker-empty{margin:0;padding:12px;font-size:13px;color:#46546b}.class-teacher-picker input[type=checkbox],.class-archive-filter input{accent-color:#6655e6;width:16px;height:16px}.class-readonly-note{padding:14px 20px;border:1px solid #dccb9e;border-radius:12px;background:#fffaf0;color:#705625;font-size:14px}.class-management-form input{font-size:14px}.admin-inline-actions{display:flex;align-items:center;gap:14px}.admin-inline-actions .admin-action{white-space:nowrap}.avatar-editor{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid #e2e4f0;margin-bottom:20px}.avatar-editor-preview{display:grid;place-items:center;flex:0 0 80px;height:80px;border-radius:22px;background:#e9e5ff;color:#5140b3;font-size:26px;font-weight:700;overflow:hidden}.avatar-editor-preview img{width:100%;height:100%;object-fit:cover}.avatar-editor-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.avatar-editor-actions p{flex-basis:100%;margin:0;font-size:13px;color:#46546b}.avatar-editor-actions input[type=file]{display:none}.settings-avatar{overflow:hidden}.settings-avatar img{width:100%;height:100%;object-fit:cover}.class-archive-stats{margin:0;padding:10px 12px;border-radius:10px;background:#f4f6fc;color:#46546b;font-size:13px}.directory-operation-fields{display:contents;border:0;margin:0;padding:0;min-width:0}.action-feedback.class-operation-feedback{margin:0 24px 16px}.admin-import-result.directory-import-has-errors>span,.roster-import-result.directory-import-has-errors .roster-success-icon{color:#a53243;background:#fff3f4}.custom-select{display:inline-block;position:relative;min-width:160px;max-width:100%;font:inherit}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:42px;border:1px solid #c9d1e1;border-radius:9px;padding:10px 13px;background:#fff;color:#17243a;font:inherit;font-size:14px;line-height:1.5;text-align:left;cursor:pointer}.custom-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-trigger>svg{flex-shrink:0;color:#596780;transition:transform .16s ease}.custom-select-trigger>svg.is-open{transform:rotate(180deg)}.custom-select-trigger:hover{border-color:#9381d7;background:#fcfbff}.custom-select-trigger[aria-expanded=true]{border-color:#7d68ce}.custom-select-trigger:disabled{background:#f1f3f7;color:#657085;cursor:not-allowed}.custom-select-placeholder{color:#626f83}.custom-select-menu{position:fixed;z-index:10000;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #d6d9e7;border-radius:11px;background:#fff;box-shadow:0 12px 40px #17243a26,0 2px 8px #17243a0a;font-family:PingFang SC,Microsoft YaHei,sans-serif;color:#17243a;font-size:14px;line-height:1.5}.custom-select-option{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:10px 11px;border-radius:7px;cursor:pointer;color:#24344c}.custom-select-option>span{overflow-wrap:anywhere}.custom-select-option.is-active{background:#f2eefb;color:#463083}.custom-select-option.is-selected{color:#4f359c;font-weight:600}.custom-select-option.is-selected.is-active{background:#eee8fb}.custom-select-option>svg{flex-shrink:0;color:#6545ba}.field>.custom-select,.ex-field>.custom-select{width:100%}.admin-page{color:#34425f}.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.admin-metric{display:flex;align-items:center;gap:17px;padding:25px}.admin-metric-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:14px;flex-shrink:0}.admin-metric-icon.purple{color:#a38bce;background:#f0eafa}.admin-metric-icon.blue{color:#8ba5ce;background:#eaf1fc}.admin-metric-icon.green{color:#80ac98;background:#eaf6ef}.admin-metric>div>span{display:block;color:#65718a;font-size:12px;margin-bottom:7px}.admin-metric strong{font-size:28px;line-height:1.25;font-weight:650;color:#40516d}.admin-metric small{font-size:11px;color:#65718a;font-weight:400;margin-left:8px}.admin-account-panel{overflow:hidden}.admin-account-panel .panel-header{padding:24px 26px 19px}.admin-account-panel .panel-header h2,.admin-permissions .panel-header h2{font-size:16px;margin:0}.admin-account-panel .panel-header p,.admin-permissions .panel-header p{font-size:11px;margin-top:7px;color:#65718a}.admin-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;margin-left:6px;border-radius:5px;background:#f0eaf8;color:#a391bc;font-size:10px;vertical-align:1px;padding:0 5px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 26px 21px}.admin-toolbar .search-field{width:305px;min-height:38px;padding:8px 12px}.admin-toolbar .search-field .icon-button{width:20px;height:20px}.admin-teacher-panel .admin-table th:last-child,.admin-teacher-panel .admin-table td:last-child{width:1%;white-space:nowrap;text-align:right}.admin-teacher-panel .admin-inline-actions{justify-content:flex-end}@media(min-width:1280px){.admin-teacher-panel .admin-directory-header{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;padding:20px 26px}.admin-teacher-panel .panel-header{padding:0;gap:16px;flex-shrink:0}.admin-teacher-panel .admin-toolbar{padding:0;margin-left:auto;align-items:center;gap:12px}.admin-teacher-panel .admin-toolbar>.search-field{flex:0 1 305px}}.admin-role-filter{display:flex;align-items:center;gap:10px;color:#65718a;font-size:11px}.admin-role-filter select{border:1px solid #e5e8f1;border-radius:8px;background:#fff;color:#77839c;font-size:11px;padding:9px 20px 9px 10px}.admin-table tr.admin-row-focus td{background:#f3f0ff}.admin-table tr.admin-row-focus{outline:2px solid #8272ee;outline-offset:-2px}.admin-table th{color:#65718a;padding-top:14px;padding-bottom:14px;font-size:11px}.admin-table th:first-child,.admin-table td:first-child{padding-left:27px}.admin-table th:last-child,.admin-table td:last-child{padding-right:27px}.admin-table td{height:77px;padding-top:17px;padding-bottom:17px;font-size:12px}.admin-person{display:flex;align-items:center;gap:11px}.admin-avatar{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;border-radius:10px;background:#f1edf8;color:#a58dc4}.admin-avatar.teacher{background:#edf2fc;color:#8fa6c6}.admin-avatar.student{background:#edf7f1;color:#87ac97}.admin-person strong{display:block;color:#62718b;font-size:12px;font-weight:550}.admin-person small{display:block;color:#65718a;font-size:9px;margin-top:4px}.admin-username{color:#65718a;font-variant-numeric:tabular-nums;font-size:11px}.admin-account-status{display:inline-flex;gap:7px;align-items:center;color:#7c9f8c;font-size:11px;white-space:nowrap}.admin-account-status>span{width:5px;height:5px;background:#94b29e;border-radius:50%}.admin-account-status.suspended{color:#aaa3b2}.admin-account-status.suspended>span{background:#b7b1c0}.admin-self-lock{display:inline-flex;align-items:center;gap:5px;color:#b5b4c4;font-size:10px;white-space:nowrap}.admin-action{display:inline-flex;align-items:center;gap:5px;background:transparent;color:#ae909e;border:0;padding:6px 0;font-size:11px;white-space:nowrap}.admin-action:hover{color:#946579}.admin-action.restore{color:#8f80b4}.admin-action.restore:hover{color:#756497}.admin-table-footer{display:flex;justify-content:space-between;gap:12px;padding:17px 26px;border-top:1px solid #edf0f6;font-size:10px;color:#a4aabd}.admin-permissions .panel-header{padding:24px 26px 20px}.admin-permissions .panel-header>svg{color:#b0a5c9}.admin-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 26px 25px}.admin-role-card{padding:17px 18px;border:1px solid #edeaf5;background:#fcfbfe;border-radius:12px}.admin-role-card>div{display:flex;align-items:center;gap:10px}.admin-role-symbol{color:#b29aca}.admin-role-symbol.teacher{color:#97aed1}.admin-role-symbol.student{color:#92b4a0}.admin-role-card strong{font-size:12px;color:#817390;font-weight:550}.admin-role-card p{margin:11px 0 0;font-size:11px;color:#9f98ad;line-height:1.9}.admin-local-note{display:flex;align-items:center;gap:7px;color:#adb0c2;font-size:10px;line-height:1.8;margin:-7px 0 0}.admin-form-description{color:#959cb0;font-size:12px;margin:0 0 24px}.admin-role-options{border:0;padding:0;margin:0 0 19px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-role-options legend{font-size:12px;color:#7e879e;margin-bottom:10px}.admin-role-options label{display:flex;align-items:center;gap:10px;border:1px solid #e7e8f2;border-radius:10px;padding:14px 12px;cursor:pointer}.admin-role-options label.selected{border-color:#c0afd9;background:#faf7fd}.admin-role-options input{accent-color:#9b83c2;margin:0;width:13px;height:13px}.admin-role-options label>svg{color:#b3a0c8}.admin-role-options strong{display:block;font-size:12px;color:#8d7b9e;font-weight:500}.admin-role-options small{display:block;font-size:9px;color:#b3a8bf;margin-top:6px}.admin-form-note{background:#f8f6fb;color:#a295b1;padding:12px 14px;border-radius:9px;line-height:1.85;font-size:11px;margin:0 0 19px}.admin-form .form-actions{margin-top:23px}.admin-created{text-align:center}.admin-created-check{display:grid;place-items:center;width:67px;height:67px;margin:4px auto 18px;color:#99b9a4;background:#eff7f1;border-radius:50%}.admin-created>h3{font-size:18px;font-weight:600;color:#678574;margin:0 0 9px}.admin-created>p:not(.admin-form-note){color:#9aa89f;font-size:12px;margin:0 0 21px}.admin-created dl{text-align:left;background:#faf9fc;border:1px solid #eeeaf5;border-radius:10px;padding:3px 16px;margin:0 0 19px}.admin-created dl>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:51px;border-bottom:1px solid #eeebf4}.admin-created dl>div:last-child{border:0}.admin-created dt{font-size:11px;color:#a59bb1}.admin-created dd{margin:0;font-size:12px;color:#9584a8;font-variant-numeric:tabular-nums}.admin-created-password{display:flex;align-items:center;gap:7px}.admin-created-password code{font-size:13px;-webkit-user-select:all;user-select:all}.admin-created .admin-form-note{text-align:left}.admin-status-dialog>p{font-size:13px;color:#8f8c9e;margin:21px 0 10px;line-height:1.9}.admin-status-dialog>small{display:block;font-size:11px;color:#aaa1b5;margin-bottom:23px}.admin-target{display:flex;gap:13px;align-items:center;padding:15px 16px;background:#f8f6fc;border-radius:11px}.admin-target strong{font-size:13px;font-weight:550;color:#8d7d9f;display:block}.admin-target>div>span{display:block;font-size:11px;color:#aa9cba;margin-top:6px}.admin-heading-actions{display:flex;gap:10px;flex-shrink:0}.admin-toolbar{align-items:flex-end;gap:14px}.admin-toolbar>.search-field{flex:1;min-width:190px;max-width:305px;min-height:43px}.admin-filters{display:flex;gap:9px}.admin-filters .custom-select{min-width:120px}.admin-filters .custom-select-trigger{font-size:12px;gap:10px}.admin-filter-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 26px;margin-top:-5px;color:#78829a;background:#f8f7fd;font-size:12px}.admin-filter-summary strong{color:#7e66ae;margin:0 4px}.admin-class-cell{color:#74819b;font-size:11px!important;max-width:170px;line-height:1.8!important}.admin-create-class{display:grid;gap:10px;margin:0 0 21px}.admin-teacher-details{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-teacher-details .custom-select{width:100%}.admin-teacher-details .custom-select-trigger{min-height:var(--control-height, 42px);font-size:14px;border-color:#c9d2e2;color:#17243a}.admin-teacher-details input[readonly]{background:#f8f9fc}.admin-create-class>span{color:#59667e;font-size:12px}.admin-create-class .custom-select{width:100%}.admin-create-class small{font-size:11px;line-height:1.7;color:#8190a6}.admin-teacher-classes{display:flex;gap:13px;padding:0;margin:0 0 22px;border:0}.admin-teacher-classes legend{font-size:12px;color:#5d6a81;margin-bottom:12px}.admin-teacher-classes legend span{color:#8993a5;font-size:11px}.admin-teacher-classes label{display:flex;align-items:center;gap:8px;flex:1;border:1px solid #e2e4ef;border-radius:9px;padding:13px;font-size:12px;color:#69768e}.admin-teacher-classes input{accent-color:#9175c0}.admin-import{font-size:12px;color:#67758d}.admin-import-steps{display:flex;list-style:none;gap:25px;padding:0;margin:0 0 25px}.admin-import-steps li{display:flex;align-items:center;gap:9px;color:#98a0b4;font-size:12px}.admin-import-steps li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f1f1f7;color:#9890a8;font-size:11px}.admin-import-steps li.active{color:#7d639f;font-weight:550}.admin-import-steps li.active>span{background:#9d85bf;color:#fff}.admin-import-schema{padding:16px 18px;background:#f8f6fc;border:1px solid #ebe6f4;border-radius:11px;margin-bottom:20px}.admin-import-schema strong{color:#71617f;font-size:12px;font-weight:550}.admin-import-schema p{color:#8e819f;font-size:11px;line-height:1.9;margin:8px 0}.admin-source-tabs{display:flex;margin-bottom:16px;width:fit-content}.admin-source-tabs>button{display:flex;gap:7px;align-items:center;font-size:12px;padding:9px 16px}.admin-import-upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:190px;border:1.5px dashed #cfbfdf;border-radius:12px;background:#fdfbff;cursor:pointer}.admin-import-upload:hover{background:#f9f5fd}.admin-import-upload>span{display:grid;place-items:center;width:48px;height:48px;color:#a58aba;border-radius:13px;background:#f0e9f7}.admin-import-upload strong{font-size:13px;color:#8a759b;font-weight:550}.admin-import-upload small{font-size:11px;color:#9f8eae}.admin-import-upload input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.admin-paste-field textarea{min-height:180px;font-size:12px;line-height:1.9}.admin-import-demo{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f7f9fc;border-radius:10px;padding:15px 17px;margin:18px 0 22px}.admin-import-demo strong{color:#6c7b94;font-size:12px;font-weight:550}.admin-import-demo p{color:#8c99ae;font-size:11px;margin:5px 0 0}.admin-import-source{display:flex;gap:10px;align-items:center;color:#9b83af;background:#f8f5fc;border:1px solid #eee7f5;border-radius:9px;padding:12px 14px;margin-bottom:18px}.admin-import-source strong{font-size:12px;font-weight:550;color:#867293;overflow-wrap:anywhere}.admin-import-source>span{color:#a38eb0;font-size:11px;white-space:nowrap}.admin-import-source>.text-button{margin-left:auto}.admin-sheet-select{margin:0 0 18px}.admin-import-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:17px}.admin-import-counts>div{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #e3eee8;border-radius:10px;background:#f5faf7;color:#759883}.admin-import-counts strong{font-size:24px;font-weight:600}.admin-import-counts span{font-size:11px}.admin-import-counts>div:nth-child(2){background:#f6f7fb;color:#9195a6;border-color:#e9ebf2}.admin-import-counts>div.has-errors{background:#fff6ef;color:#b68a68;border-color:#f4e8dc}.admin-preview-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.admin-preview-note p{font-size:11px;line-height:1.8;color:#919aad;margin:0;max-width:500px}.admin-import-table{max-height:335px;overflow:auto;border:1px solid #e7eaf2;border-radius:10px;margin:0 0 22px}.admin-import-table table{min-width:590px}.admin-import-table th{padding:12px;position:sticky;top:0;z-index:1;background:#f9f9fd;font-size:11px}.admin-import-table td{padding:13px 12px;font-size:11px;vertical-align:top}.admin-import-table td:last-child{max-width:255px;line-height:1.8}.admin-import-table td strong{display:block;font-size:11px;font-weight:550;color:#66758d;overflow-wrap:anywhere}.admin-import-table td small{display:block;font-size:10px;line-height:1.7;color:#99a0b0;margin-top:5px}.admin-import-table .has-error td{background:#fffcf9}.admin-import-local{margin-right:auto;font-size:10px;color:#a0a6b7}.admin-import-result{text-align:center;padding:14px 0 4px}.admin-import-result>span{display:grid;place-items:center;width:75px;height:75px;border-radius:50%;color:#8fae9a;background:#eef7f1;margin:0 auto 19px}.admin-import-result h3{font-size:21px;color:#5d7a69;margin:0 0 10px}.admin-import-result>p{font-size:12px;color:#8c9c94}.admin-result-chips{display:flex;justify-content:center;gap:27px;margin:22px 0;color:#839586;font-size:12px}.admin-import-result .admin-form-note{text-align:left;color:#9584a5;margin-top:23px}.admin-import-result code{color:#78618d;font-size:12px}@media(max-width:1100px){.admin-toolbar{align-items:stretch;flex-direction:column}.admin-toolbar>.search-field{max-width:none;width:100%}.admin-filters{justify-content:flex-end}}@media(max-width:700px){.admin-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}.admin-heading-actions .btn{padding:9px 10px;font-size:11px}.admin-page>.page-heading{flex-direction:column}.admin-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-filters .custom-select{min-width:0}.admin-filters .custom-select-trigger{padding:9px;gap:6px;font-size:11px}.admin-table{min-width:760px}.admin-import-counts{gap:8px}.admin-import-counts>div{flex-direction:column;gap:6px;padding:12px 8px}.admin-import-counts span{font-size:10px}.admin-preview-note{flex-direction:column;gap:8px}.admin-import-demo{flex-direction:column;align-items:flex-start}.admin-import-local{width:100%;margin-bottom:7px}.admin-import .form-actions,.admin-import-source{flex-wrap:wrap}.admin-import-steps{gap:14px}.admin-import-steps li{font-size:11px}}@media(max-width:1000px){.admin-metric{padding:21px}.admin-role-grid{gap:13px}}@media(max-width:700px){.admin-metrics{gap:9px}.admin-metric{padding:17px 12px;gap:9px}.admin-metric-icon{display:none}.admin-metric>div>span{font-size:10px}.admin-metric strong{font-size:24px}.admin-account-panel .panel-header,.admin-permissions .panel-header{padding:21px 19px 17px}.admin-account-panel .panel-header>.tag{display:none}.admin-toolbar{flex-direction:column;align-items:stretch;padding:0 19px 18px;gap:12px}.admin-toolbar .search-field{width:100%}.admin-role-filter{justify-content:space-between}.admin-table{min-width:650px}.admin-table th:first-child,.admin-table td:first-child{padding-left:19px}.admin-table-footer{padding:16px 19px;font-size:9px}.admin-role-grid{grid-template-columns:1fr;gap:12px;padding:0 19px 20px}.admin-role-card{padding:15px 16px}.admin-role-card p{margin-top:8px}.admin-local-note{align-items:flex-start;font-size:9px}.admin-local-note svg{margin-top:2px}.admin-role-options{gap:8px}.admin-role-options label{padding:13px 9px;gap:7px}.admin-role-options label>svg{display:none}}.admin-audit-panel{overflow:hidden}.admin-audit-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;padding:16px 20px 12px;border-bottom:1px solid #edf0f9}.admin-audit-head>h2{margin:0;font-size:17px;font-weight:650;color:#1c263e}.admin-audit-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-left:auto}.admin-audit-toolbar .custom-select{width:min(280px,100%);flex:0 1 280px;min-width:180px}.admin-audit-toolbar-meta{display:flex;align-items:center;gap:10px}.admin-audit-toolbar-meta .muted{margin:0;white-space:nowrap;font-size:13px}.admin-audit-error{margin:12px 20px 0}.admin-audit-table-wrap{overflow-x:auto}.admin-audit-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.admin-audit-table th,.admin-audit-table td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid rgba(40,48,78,.08);color:#1d2437}.admin-audit-table th{font-size:13px;font-weight:600;color:#3a4460;background:#f4f6fce6}.admin-audit-table th:nth-child(1),.admin-audit-table td:nth-child(1){width:168px}.admin-audit-table th:nth-child(2),.admin-audit-table td:nth-child(2){width:22%}.admin-audit-table th:nth-child(3),.admin-audit-table td:nth-child(3){width:26%}.admin-audit-time{white-space:nowrap;font-variant-numeric:tabular-nums}.admin-audit-table code{font-size:12px;word-break:break-all}.admin-audit-table small.muted{display:inline-block;margin-top:2px}.admin-audit-pager{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px 14px;border-top:1px solid #edf0f9}.admin-audit-panel>.empty-state.compact{padding:36px 20px 40px}.feedback-page{width:100%;max-width:680px;align-content:start;justify-items:stretch}.feedback-page-admin{max-width:920px}.feedback-compose-panel,.feedback-history-panel{height:auto;min-height:0;align-self:start}.feedback-compose{display:grid;gap:14px;margin:0;padding:18px 25px 22px}.feedback-compose .field{margin-bottom:0;gap:8px}.feedback-compose textarea{display:block;box-sizing:border-box;width:100%;height:132px;min-height:120px;max-height:280px;resize:vertical;padding:12px 14px;border:1px solid rgba(40,48,78,.14);border-radius:12px;font:inherit;font-size:14px;color:#1d2437;background:#fbfcfe;line-height:1.55}.feedback-compose textarea:focus{border-color:#aca1eb}.feedback-compose-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}.feedback-compose-footer>.muted{margin:0;flex:1 1 auto;min-width:0;line-height:1.4}.feedback-compose-footer>.btn{flex:0 0 auto;align-self:center}.feedback-admin-toolbar{margin:0;padding:12px 25px 20px}.feedback-history-panel>.panel-header{padding-bottom:12px}.feedback-history-panel .feedback-list{padding:0 25px 8px}.feedback-history-panel .empty-state{padding:28px 24px 32px}.feedback-history-panel .admin-audit-table-wrap{padding:0 12px 12px}.feedback-pager{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:8px 25px 20px}.feedback-list{list-style:none;margin:0;padding:0}.feedback-list-item{padding:14px 0;border-bottom:1px solid rgba(40,48,78,.08)}.feedback-list-item:last-child{border-bottom:none}.feedback-list-item p{margin:6px 0 0;font-size:14px;line-height:1.55;color:#1d2437;white-space:pre-wrap}.feedback-list-meta{font-size:12px;color:#65718a}.feedback-body{margin:0;white-space:pre-wrap;line-height:1.55}.ops-panel>.settings-section-intro{border-bottom:1px solid #edf0f9}.ops-section-bar{padding:20px 24px 4px}.ops-section-bar>h3{margin:0;font-size:15px;font-weight:650;color:#1c263e}.ops-panel .ex-error{margin:16px 24px 0}.ops-panel>.settings-section-intro+.ex-error,.ops-panel>.settings-section-intro+.ex-editor,.ops-panel>.ops-section-bar+.ex-error,.ops-panel>.ops-section-bar+.ex-editor{margin-top:12px}.ops-conn-form,.ops-stage-form{padding-bottom:16px;border-bottom:1px solid #e8ecf5}.ops-form-grid{display:grid;grid-template-columns:repeat(var(--ex-field-cols, 2),minmax(0,1fr));gap:var(--field-row-gap, 14px 20px);width:100%;align-items:start}@media(max-width:900px){.ops-form-grid{grid-template-columns:1fr}}.ops-form-grid>.ex-field{margin-bottom:0;max-width:none;width:100%;min-width:0}.ops-form-grid>.ops-models-field,.ops-form-grid>.ex-field-span-all{grid-column:1 / -1}.ops-conn-form .ex-inline-controls .ex-field{max-width:none;flex:1 1 220px}.ops-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.ops-chip-input{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;cursor:text;height:auto;min-height:var(--control-height, 42px)}.ops-chip-input>input{flex:1 1 140px;min-width:120px;font-size:12px;color:var(--control-fg, #2d3b55);line-height:1.5}.ops-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 8px;border-radius:999px;background:#f0eefc;color:#4a3f9c;font-size:12px}.ops-chip>code{font-size:12px;background:transparent;color:inherit;padding:0}.ops-chip-remove{border:0;background:transparent;color:#6b63c4;cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;border-radius:999px}.ops-chip-remove:hover{background:#e4e0fa}.ops-key-reveal{display:inline-flex;align-items:center;gap:6px;max-width:280px}.ops-key-text{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;background:#f4f6fb;border-radius:6px;padding:3px 7px;color:#40516d}.ops-usage-list{margin-top:12px}.ops-tags-body{padding:0 24px 20px}.ops-category-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:20px;margin-bottom:8px}.ops-category-count,.ops-category-policy{color:#526078;font-size:14px}.ops-category-toolbar .btn{display:inline-flex;align-items:center;gap:6px}.ops-category-create{padding:4px}.ops-category-create .ops-category-create-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.ops-category-create .field{margin:0;gap:8px}.ops-category-create .field:first-child{grid-column:1 / -1}.ops-category-create :is(input,select){min-width:0;width:100%;height:42px;font-size:14px}.ops-category-form-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}.ops-category-form-heading h3{margin:0;font-size:17px;color:#26364f}.ops-category-form-heading .text-button{display:inline-flex;align-items:center;gap:6px}.ops-category-create .form-error{margin:16px 0 0}.ops-category-create-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:20px;border-top:1px solid #e8ecf2}.ops-category-list-heading{display:grid;grid-template-columns:minmax(0,1fr) 180px 180px;gap:24px;padding:12px 0;border-bottom:1px solid #e8ecf2;font-size:13px;color:#526078}.ops-category-list-heading>:last-child{text-align:right}.ops-category-list{padding:0;margin:0;list-style:none}.ops-category-row+.ops-category-row{border-top:1px solid #edf0f5}.ops-category-main{display:grid;grid-template-columns:minmax(0,1fr) 180px 180px;align-items:center;gap:24px;min-height:72px}.ops-category-policy{display:grid;gap:4px;font-size:13px}.ops-category-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;min-width:0}.ops-category-name strong{font-size:15px;font-weight:550;color:#26364f;overflow-wrap:anywhere}.ops-category-name>span{color:#607088;font-size:13px}.ops-category-row.is-inactive .ops-category-name strong{color:#607088}.ops-category-actions{display:grid;grid-template-columns:44px 56px 40px;align-items:center;justify-content:end;gap:12px}.ops-category-actions .text-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;font-size:14px}.ops-category-delete-confirm{display:flex;align-items:center;gap:8px;padding:0 0 16px}.ops-category-delete-confirm>span{margin-right:auto;color:#5b3b40;font-size:14px}.ops-models-field{max-width:none}.ops-form-fields{border:0;padding:0;margin:0;min-width:0}.ops-remote-model{display:inline-flex;align-items:center;gap:6px}.ops-chip.is-tested-success,.ops-models-field .ops-remote-model.is-tested-success,.btn.is-test-success{color:var(--feedback-success);background:var(--feedback-success-bg);border-color:var(--feedback-success-border)}.ops-remote-model.is-tested-success.is-selected{border-color:var(--feedback-success)}.ops-chip.is-tested-error,.ops-models-field .ops-remote-model.is-tested-error{color:var(--feedback-error);background:var(--feedback-error-bg);border-color:var(--feedback-error-border)}.ops-remote-model.is-tested-error.is-selected{border-color:var(--feedback-error)}.model-test-status{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;line-height:1.5;color:var(--feedback-pending)}.model-test-status.is-success,.text-button.is-test-success{color:var(--feedback-success)}.model-test-status.is-error,.model-test-error{color:var(--feedback-error)}.ops-chip .model-test-status{margin-left:6px}.ops-chip-retest{display:inline-flex;align-items:center;justify-content:center;border:0;padding:3px;margin-left:4px;color:inherit;background:transparent;border-radius:4px;cursor:pointer}.ops-chip-retest:hover{background:#fffa}.model-test-results{display:grid;gap:8px;max-height:280px;overflow:auto}.model-test-result{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 12px;border:1px solid var(--feedback-pending-border);border-radius:8px;background:var(--feedback-pending-bg)}.model-test-result.is-success{border-color:var(--feedback-success-border);background:var(--feedback-success-bg)}.model-test-result.is-error{border-color:var(--feedback-error-border);background:var(--feedback-error-bg)}.model-test-result>code{font-size:14px;overflow-wrap:anywhere}.model-test-result>.text-button{margin-left:auto;flex-shrink:0}.model-test-error{overflow-wrap:anywhere;font-size:13px}.model-test-cell{display:grid;gap:4px;margin-top:6px;max-width:340px}.model-test-cell:empty{display:none}.ops-result-row .action-feedback{margin:0}.ops-model-search-row{display:flex;align-items:center;gap:14px;margin-bottom:10px}.ex-control-shell.ops-model-search{width:360px;max-width:100%;gap:0;padding:0 8px 0 12px;color:#65718a}.ops-model-search input{min-width:0;width:100%;font-size:14px;color:#34425f}.ops-model-search input::-webkit-search-cancel-button{-webkit-appearance:none}.ops-model-search-count{flex-shrink:0;font-size:13px;color:#52617b}.ops-model-search-empty{margin:0;padding:8px 0;font-size:14px;color:#52617b}.ops-remote-models{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;max-height:160px;overflow:auto;padding:2px 0}.ops-remote-model{border:1px solid #d8deea;background:#fff;color:#40516d;border-radius:8px;padding:4px 10px;cursor:pointer;font-size:14px;line-height:1.4}.ops-remote-model>code{background:transparent;padding:0;color:inherit;font-size:14px}.ops-remote-model:hover{border-color:#b8b0e8;background:#f7f5ff}.ops-remote-model.is-selected{border-color:#6b63c4;background:#f0eefc;color:#4a3f9c}.ops-remote-models-empty{margin:0 0 8px;font-size:13px}.ops-secret-input{width:100%;padding-right:8px}.ops-secret-input input{font-size:12px;color:var(--control-fg, #2d3b55)}.ex-inline-controls .ex-field .ops-secret-input{min-height:var(--control-height, 42px)}.ops-conn-list{margin-top:22px;padding:0 24px 24px}.ops-conn-table{width:100%;table-layout:fixed}.ops-connection-table-wrap{overflow:visible}.ops-conn-table th:nth-child(1){width:20%}.ops-conn-table th:nth-child(2){width:19%}.ops-conn-table th:nth-child(3){width:16%}.ops-conn-table th:nth-child(4){width:12%}.ops-conn-table th:nth-child(5){width:5%}.ops-conn-table th:nth-child(6){width:8%}.ops-conn-table th:nth-child(7){width:5%}.ops-conn-table th:nth-child(8){width:15%}.ops-conn-table td{overflow-wrap:anywhere}.ops-conn-table .ops-model-code{white-space:normal;background:transparent;padding:0;font-size:14px}.ops-connection-toolbar{display:flex;align-items:center;gap:24px;justify-content:space-between;margin-bottom:16px}.ops-new-connection{margin-left:auto}.ops-connection-toolbar h3{display:flex;align-items:baseline;gap:10px;margin:0;font-size:16px}.ops-connection-toolbar h3 span{font-size:13px;font-weight:400;color:var(--muted)}.ops-expand-groups{white-space:nowrap}.ops-grouped-conn-table>thead th{font-size:13px}.ops-grouped-conn-table>thead th:nth-child(1){width:40%}.ops-grouped-conn-table>thead th:nth-child(2){width:8%}.ops-grouped-conn-table>thead th:nth-child(3){width:12%}.ops-grouped-conn-table>thead th:nth-child(4){width:10%}.ops-grouped-conn-table>thead th:nth-child(5){width:30%}.ops-grouped-conn-table .ops-connection-group-heading th{width:auto;padding:12px;background:#f5f6fb;border-bottom:1px solid #e4e8f1;font-weight:400}.ops-connection-group-bar{display:grid;grid-template-columns:minmax(210px,1fr) minmax(240px,1.25fr) auto auto auto;align-items:center;gap:20px;min-height:34px}.ops-connection-group-toggle{display:flex;align-items:center;gap:8px;min-width:0;min-height:36px;padding:4px 0;border:0;border-radius:4px;background:transparent;color:#35435e;text-align:left;cursor:pointer}.ops-connection-group-toggle:disabled{cursor:wait}.ops-connection-group-toggle strong{overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:600}.ops-connection-group-toggle>svg,.ops-connection-group-toggle>span{flex-shrink:0}.ops-connection-group-toggle>span,.ops-connection-group-label{color:#58677f;font-size:13px}.ops-connection-group-endpoint,.ops-connection-group-key{display:flex;align-items:center;gap:10px;min-width:0;font-size:14px;color:#40516d}.ops-connection-group-label{flex-shrink:0}.ops-connection-group-endpoint>span:last-child{overflow:hidden;text-overflow:ellipsis}.ops-connection-group-key .ops-key-text{font-size:13px}.ops-edit-group-models,.ops-delete-group-models{white-space:nowrap}.new-connection-dialog .ops-conn-form{margin:0;padding:0;border:0;background:transparent}.new-connection-dialog .saved-model-picker-heading{margin-top:18px}.new-connection-dialog .saved-model-picker-columns{height:min(360px,40vh)}.ops-group-delete p{margin-top:0}.ops-group-delete-impact{display:grid;gap:4px;color:var(--muted);font-size:13px}.ops-group-delete-list{max-height:300px;overflow-y:auto;padding:0;margin:16px 0;list-style:none}.ops-group-delete-list li{display:grid;gap:4px;padding:9px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.ops-group-delete-list strong{font-weight:500}.ops-group-delete-list del{color:var(--muted)}.ops-grouped-conn-table .ops-connection-group-models td:first-child:not([colspan]){padding-left:38px}.ops-grouped-conn-table .ops-connection-group-models td{padding-top:12px;padding-bottom:12px;font-size:14px}.ops-monitor-controls{display:flex;align-items:center;gap:12px}.ops-monitor-controls>label{font-size:13px;color:var(--muted);white-space:nowrap;flex:0 0 auto}.ops-monitor-controls .custom-select{min-width:134px}.ops-monitor-controls .custom-select-trigger{min-height:36px;font-size:13px}.ops-conn-table .ops-health-cell,.ops-conn-table .ops-enabled-cell{text-align:center}.ops-conn-table .ops-latency-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ops-latency-value{font-size:14px}.ops-latency-value small{font-size:13px;color:var(--muted)}.ops-health-indicator{position:relative;display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;vertical-align:middle;border-radius:6px;cursor:help}.ops-health-indicator:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.ops-health-dot{display:grid;place-items:center;width:13px;height:13px;border:1.5px solid #8b96a8;border-radius:50%;color:#fff;background:#fff}.ops-health-indicator.is-success .ops-health-dot{background:#16845b;border-color:#16845b;box-shadow:0 0 0 3px #16845b12}.ops-health-indicator.is-error .ops-health-dot{background:#c64949;border-color:#c64949;box-shadow:0 0 0 3px #c6494912}.ops-health-indicator.is-pending .ops-health-dot{border-color:#c58a15;border-top-color:transparent;background:#fff4d5;animation:model-health-spin 1.1s linear infinite}.ops-health-indicator:is(.is-demo,.is-disabled) .ops-health-dot{background:#e3e7ef;color:#65728a;border-color:#a1aaba}.ops-health-tooltip{position:absolute;z-index:20;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);width:max-content;max-width:300px;padding:8px 11px;border-radius:6px;background:#23334e;color:#fff;font-size:13px;line-height:1.6;font-weight:400;text-align:left;white-space:normal;visibility:hidden;opacity:0;pointer-events:none}.ops-health-indicator:is(:hover,:focus-visible) .ops-health-tooltip{visibility:visible;opacity:1}.ops-enable-switch{display:inline-flex;align-items:center;width:34px;height:21px;padding:2px;border-radius:20px;border:1px solid #b8c0ce;background:#d6dce6;cursor:pointer}.ops-enable-switch span{display:block;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .14s ease}.ops-enable-switch.on{background:#6956d8;border-color:#6956d8}.ops-enable-switch.on span{transform:translate(13px)}.ops-enable-switch:disabled{cursor:wait;opacity:.6}@keyframes model-health-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ops-health-indicator.is-pending .ops-health-dot{animation:none;border-top-color:#c58a15}.ops-enable-switch span{transition:none}}.ops-conn-table th{font-size:11px;color:#65718a;text-align:left;padding:10px 12px;border-bottom:1px solid #e8ecf5;white-space:nowrap}.ops-conn-table td{padding:14px 12px;vertical-align:middle;border-bottom:1px solid #eef1f8;font-size:13px;color:#34425f}.ops-conn-table tr.is-disabled td{color:#8a93a8}.ops-conn-table tr.is-disabled .ops-model-code{opacity:.75}.ops-model-code{font-size:12px;background:#f4f6fb;border-radius:6px;padding:3px 7px;color:#40516d}.ops-endpoint-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#5a6a86}.ops-actions{display:table-cell;white-space:nowrap}.ops-row-actions{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;white-space:nowrap}.ops-actions .text-button{padding:0;min-height:30px}.ops-actions .text-button.danger{color:#b42318}.ops-status-toggle{border:1px solid #e0e5f1;background:#f7f8fc;color:#54617b;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;line-height:1.4}.ops-status-toggle.on{background:#eef8f1;border-color:#cfe8d7;color:#2f7a4d}.ops-status-toggle.off{background:#f7f7f9;border-color:#e2e5ee;color:#8a93a8}.ops-inline-row td{background:#fafbfe;padding:16px 12px 18px}.ops-inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px}.ops-inline-form .ex-field{flex:1 1 160px;max-width:none;margin:0;min-width:0}.ops-inline-form .ex-field.ops-grow{flex:1 1 280px;max-width:none}.ops-inline-form .ops-secret-input{min-height:var(--control-height, 42px)}.ops-inline-actions{display:flex;gap:8px;align-items:center;padding-bottom:2px}.ops-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#40516d;margin:0 0 12px}.ops-model-picker{margin:0 0 16px;padding:12px 14px 4px;border:1px solid #e8ecf5;border-radius:10px;background:#fbfcfe}.ops-model-picker legend{padding:0 6px;font-size:12px;font-weight:550;color:#54617b}.ops-model-chips{display:flex;flex-wrap:wrap;gap:6px}.ops-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;background:#f0f3fa;color:#40516d;font-size:12px}.admin-teacher-panel .admin-assigned-classes{max-width:300px;color:#46546b;font-size:14px!important;line-height:1.7!important;overflow-wrap:anywhere}.admin-audit-reference{margin-top:6px;color:#526078;font-size:13px}.admin-audit-reference summary{cursor:pointer;width:fit-content}.admin-audit-reference dl{margin:8px 0 0;display:grid;gap:6px}.admin-audit-reference dt{font-weight:600}.admin-audit-reference dd{margin:0;overflow-wrap:anywhere}.feedback-admin-toolbar>.muted{margin-left:auto}.modal.wide.saved-model-dialog{width:min(1120px,calc(100vw - 64px))}.modal.saved-model-dialog>.modal-content{padding:20px 24px 18px}.saved-model-picker{padding:0;color:var(--ink, #202c43);font-size:14px;line-height:1.5}.saved-model-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.saved-model-picker-heading span{color:var(--muted, #53627c);font-size:13px;overflow-wrap:anywhere}.saved-model-picker-heading>.btn{flex-shrink:0}.saved-model-picker-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:24px 40px 36px minmax(240px,1fr);column-gap:24px;height:min(440px,48vh)}.saved-model-catalog,.saved-model-selection{display:grid;grid-template-rows:subgrid;grid-row:1 / span 4;min-width:0;min-height:0}.saved-model-catalog{grid-column:1}.saved-model-selection{position:relative;grid-column:2}.saved-model-selection:before{content:"";position:absolute;top:0;bottom:0;left:-12px;border-left:1px solid var(--line, #dce2ee);pointer-events:none}.saved-model-search.ex-control-shell{display:flex;align-items:center;gap:8px;height:40px;min-height:40px;padding:0 10px;border:1px solid var(--line, #dce2ee);border-radius:7px;color:var(--muted, #53627c);background:#fff}.saved-model-search input{flex:1;min-width:0;width:100%;border:0;padding:0;border-radius:0;background:transparent;color:inherit;font:inherit}.saved-model-search .icon-button{width:28px;height:28px;flex:0 0 28px}.saved-model-options{display:grid;align-content:start;gap:2px;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.saved-model-options label{display:flex;align-items:center;gap:9px;min-height:34px;padding:6px;border-radius:5px;cursor:pointer}.saved-model-options label:hover{background:#f1f2f8}.saved-model-options label:has(input:checked){background:#f0edfc}.saved-model-options input{flex:0 0 16px;width:16px;height:16px;margin:0;accent-color:var(--primary, #6757e8)}.saved-model-options span{min-width:0;overflow-wrap:anywhere}.saved-model-options small{margin-left:auto;flex-shrink:0;color:var(--muted, #53627c);font-size:13px}.saved-model-options>p{margin:8px 0;color:var(--muted, #53627c);font-size:13px}.saved-model-field-title{display:block;font-weight:500;line-height:20px}.saved-model-manual{display:flex;align-items:center;gap:8px}.saved-model-manual input{flex:1;min-width:0;width:100%;height:40px;border:1px solid var(--line, #dce2ee);border-radius:7px;padding:0 10px;background:#fff;color:inherit;font:inherit}.saved-model-manual .btn{flex-shrink:0;min-height:40px}.saved-model-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted, #53627c);font-size:13px}.saved-model-list-heading .text-button{min-height:28px;padding:2px 0;font-size:13px}.saved-model-selected{list-style:none;min-height:0;padding:0;margin:0;overflow-y:auto;scrollbar-gutter:stable}.saved-model-selected>li{padding:9px 8px;border-bottom:1px solid var(--line, #dce2ee)}.saved-model-selected>li.is-tested{background:#eef8f1}.saved-model-selected>li.is-removing{background:#f4f5f8;color:var(--muted, #53627c)}.saved-model-new{color:var(--primary, #6757e8);font-size:13px}.saved-model-change-count{margin-right:auto;color:var(--muted, #53627c);font-size:13px}.saved-model-delete-confirm{flex:1;display:grid;gap:2px}.saved-model-delete-confirm strong{font-weight:500;color:var(--danger, #b83f50)}.saved-model-delete-confirm span,.saved-model-empty{font-size:13px;color:var(--muted, #53627c)}.saved-model-picker-actions>.btn{flex-shrink:0}.saved-model-selected>li:last-child{border-bottom:0}.saved-model-selected-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.saved-model-selected-row strong{min-width:0;flex:1;font-size:14px;font-weight:500;overflow-wrap:anywhere}.saved-model-selected-row .icon-button{width:28px;height:28px;flex:0 0 28px}.saved-model-selected .action-feedback{margin:5px 0 0}.saved-model-test-button{flex-shrink:0;min-height:28px;padding:2px 4px;font-size:13px}.saved-model-test-result{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-size:13px}.saved-model-test-error{color:var(--danger, #b83f50);overflow-wrap:anywhere}.saved-model-test-unavailable,.saved-model-adding{color:var(--muted, #53627c);font-size:13px}.saved-model-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line, #dce2ee);background:#fff}.stage-model-selector{color:var(--text, #202c43);font-size:14px;line-height:1.5}.stage-model-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr) auto}.stage-model-column{display:grid;grid-template-rows:subgrid;grid-row:1 / span 5;min-width:0;padding:0 24px}.stage-model-column:first-child{grid-column:1;padding-left:0}.stage-model-column:nth-child(2){grid-column:2;padding-right:0;border-left:1px solid var(--line, #dce2ee)}.stage-model-columns.has-verification-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-model-columns.has-verification-settings>.stage-model-column:nth-child(2){padding-right:24px}.stage-model-columns.has-verification-settings .stage-model-groups{max-height:260px}.stage-model-columns.has-verification-settings .stage-model-selected ul{max-height:132px}.stage-verification-column{display:grid;grid-template-rows:subgrid;grid-column:3;grid-row:1 / span 5;min-width:0;padding-left:24px;border-left:1px solid var(--line, #dce2ee)}.stage-verification-column>.experiment-config-verification{display:grid;grid-template-rows:subgrid;grid-row:1 / span 5}.stage-verification-column .experiment-verification-form{grid-row:2 / span 4;display:grid;grid-template-rows:subgrid;gap:0}.stage-verification-column .experiment-verification-fields{grid-row:1 / span 3}.stage-verification-column .experiment-inline-actions{grid-row:4;align-items:flex-start;margin-top:auto;padding-top:14px;border-top:1px solid var(--line, #dce2ee)}.stage-verification-column .experiment-config-heading{min-height:40px;margin-bottom:12px}.stage-verification-column .experiment-config-heading h2{font-size:17px}.stage-model-columns.has-system-prompts{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}.stage-model-columns.has-system-prompts>:is(.stage-model-column,.stage-verification-column){grid-row:1 / span 6}.stage-model-prompt-settings{grid-row:6;margin-top:20px;padding-top:16px;border-top:1px solid var(--line, #dce2ee)}.stage-model-prompt-settings .experiment-system-prompt{margin-top:0}.stage-model-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.stage-model-title>span{color:var(--muted, #53627c);font-size:13px}.stage-model-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;min-height:40px;margin-bottom:12px}.stage-model-heading h3{margin:0;font-size:17px;line-height:1.4}.stage-model-repeats{display:grid;justify-items:end;gap:4px;min-width:0;font-size:13px}.stage-model-repeats label{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--muted, #53627c)}.stage-model-repeats input{width:72px;height:34px;padding:5px 8px;border:1px solid var(--line, #dce2ee);border-radius:6px;margin:0;background:#fff;color:var(--text, #202c43);font:inherit;font-variant-numeric:tabular-nums}.stage-model-repeats input[aria-invalid=true]{border-color:var(--danger, #b83f50)}.stage-model-repeats>[role=alert]{color:var(--danger, #b83f50);font-size:13px}.stage-model-selected{min-height:100px;padding-bottom:14px}.stage-model-selection-label{margin-bottom:8px;color:var(--muted, #53627c);font-size:13px}.stage-model-selected ul{list-style:none;margin:0;padding:0;max-height:176px;overflow-y:auto;scrollbar-gutter:stable}.stage-model-selected li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:6px 0}.stage-model-selected li>div{display:grid;gap:1px;min-width:0}.stage-model-selected strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.stage-model-selected small,.stage-model-group-heading small{color:var(--muted, #53627c);font-size:13px}.stage-model-selected .icon-button{width:30px;height:30px;flex:0 0 30px}.stage-model-issue{display:flex;align-items:center;gap:4px;color:#a14d21;font-size:13px}.stage-model-search{display:flex;align-items:center;gap:8px;height:40px;border:1px solid var(--line, #dce2ee);border-radius:7px;padding:0 10px;color:var(--muted, #53627c)}.stage-model-search input{flex:1;min-width:0;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--text, #202c43);font:inherit}.stage-model-search .icon-button{flex:0 0 28px;width:28px;height:28px}.stage-model-groups{min-height:180px;max-height:380px;overflow-y:auto;scrollbar-gutter:stable;margin-top:10px}.stage-model-group{padding:14px 0;border-bottom:1px solid var(--line, #dce2ee)}.stage-model-group:last-child{border-bottom:0}.stage-model-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.stage-model-group-heading>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}.stage-model-group-heading strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.stage-model-options{display:grid;gap:2px}.stage-model-options label{display:flex;align-items:center;gap:9px;min-height:34px;padding:5px 6px;border-radius:5px;cursor:pointer}.stage-model-options label:hover{background:#f3f3fb}.stage-model-options label:has(input:checked){background:#f0edfc}.stage-model-options input{flex:0 0 16px;width:16px;height:16px;margin:0;accent-color:var(--primary, #6757e8)}.stage-model-options span{min-width:0;overflow-wrap:anywhere}.stage-model-options small{margin-left:auto;color:var(--muted, #53627c);font-size:13px;white-space:nowrap}.stage-model-options .is-unavailable{cursor:default;color:var(--muted, #53627c)}.stage-model-footer{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px;border-top:1px solid var(--line, #dce2ee);padding-top:14px;margin-top:auto}.stage-model-footer>.action-feedback{flex:1;margin:0}.stage-model-footer>.btn{flex:0 0 auto}.stage-model-empty{margin:8px 0;color:var(--muted, #53627c);font-size:13px}.stage-model-loading{padding:24px 0;color:var(--muted, #53627c)}.stage-model-blocked{margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line, #dce2ee);color:var(--muted, #53627c);font-size:14px}@media(max-width:1100px){.stage-model-columns.has-verification-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-model-columns.has-verification-settings>.stage-model-column:nth-child(2){padding-right:0}.stage-verification-column{display:block;grid-column:1 / -1;grid-row:6;margin-top:24px;padding:20px 0 0;border-left:0;border-top:1px solid var(--line, #dce2ee)}.stage-verification-column>.experiment-config-verification,.stage-verification-column .experiment-verification-form{display:grid;grid-template-rows:auto;grid-row:auto;gap:20px}.stage-verification-column .experiment-verification-fields,.stage-verification-column .experiment-inline-actions{grid-row:auto}.stage-model-columns.has-system-prompts>.stage-verification-column{grid-row:7}}.ex-field select,select.ex-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%2365718a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;padding-right:34px}.role-preview{position:fixed;bottom:16px;right:16px;z-index:80;color:#17243a;font-size:14px;pointer-events:none}.role-preview>*{pointer-events:auto}.role-preview.is-collapsed{bottom:12px;right:12px}.role-preview-fab{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;border:1px solid #c6c0e8;background:#fff;color:#5743bd;box-shadow:0 4px 16px #18284e18}.role-preview-bar{display:flex;align-items:center;gap:6px}.role-preview-trigger{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;color:#25344e;background:#fff;border:1px solid #c6c0e8;border-radius:12px;box-shadow:0 4px 16px #18284e18;font-size:13px}.role-preview-minimize{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 10px;border:1px solid #c6c0e8;border-radius:12px;background:#fff;color:#46546b;font-size:13px}.role-preview-trigger>svg:first-child{color:#5743bd}.role-preview-trigger strong{color:#5743bd;font-size:13px;background:#eeeaff;border-radius:5px;padding:3px 6px}.role-preview-trigger:hover,.role-preview-trigger.is-open{border-color:#7863d8;background:#fcfbff}.role-preview-panel{width:370px;margin-bottom:8px;padding:12px;border:1px solid #d7deec;border-radius:14px;background:#fff;box-shadow:0 12px 40px #13254e24}.role-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.role-preview-heading strong{font-size:15px;line-height:1.2}.role-preview-count{margin-left:6px;color:#5b6780;font-size:13px;font-weight:400}.role-preview-search{display:block;box-sizing:border-box;width:100%;min-height:40px;margin:12px 0 10px;padding:8px 10px;border:1px solid #d7deec;border-radius:8px;background:#fbfcff;color:#24344e;font:inherit}.role-preview-panel>p{margin:6px 0 8px;color:#46546b;font-size:13px;line-height:1.5}.role-preview-options{display:grid;gap:6px;max-height:min(52vh,360px);overflow:auto;padding:4px;margin:-4px;overscroll-behavior:contain}.role-preview-options>button{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:10px 8px;background:#fff;border:1px solid transparent;border-radius:11px;color:#24344e}.role-preview-options>button:hover{background:#f6f4fd}.role-preview-options>button[aria-pressed=true]{background:#f0ecff;border-color:#d1c7f4}.role-preview-options>button:disabled{opacity:.55}.role-preview-options>button[aria-pressed=true]:disabled{opacity:1}.role-preview-info{flex:1;min-width:0}.role-preview-preferred{color:#5743bd;font-size:13px;white-space:nowrap}.role-preview-icon{color:#5743bd;width:31px;display:grid;place-items:center}.role-preview-options strong{font-size:14px;display:block;margin-bottom:4px}.role-preview-role{margin-left:6px;font-style:normal;font-size:13px;font-weight:600;color:#5743bd;background:#eeeaff;border-radius:4px;padding:1px 5px;vertical-align:middle}.role-preview-options small{font-size:13px;color:#46546b;display:block}.role-preview-error{margin:0 0 10px!important;color:#b42318!important;font-size:13px!important}.role-preview-options>button>svg:last-child{margin-left:auto;color:#5743bd}.role-preview-foot{display:block;font-size:13px;color:#5b6780;border-top:1px solid #e4e8f0;padding-top:10px;margin-top:10px}.main-content{padding-bottom:48px}.toast-region{bottom:64px;right:16px;max-width:min(360px,calc(100vw - 360px))}.class-select{width:142px}.class-select .custom-select-trigger{min-width:0}.class-select.custom-select{min-width:142px}.experiment-config-form{display:grid;gap:20px}.experiment-config-type{display:flex;align-items:center;gap:12px;color:#46546b;font-size:13px}.experiment-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.experiment-config-form .field{margin:0;gap:8px;color:#17243a;font-size:14px}.experiment-config-form textarea{min-height:100px;padding:12px 14px;border:1px solid #d6deee;border-radius:12px;background:#fff;color:#17243a;font:inherit;line-height:1.6;resize:vertical}.experiment-config-classes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px;border:1px solid #d6deee;border-radius:14px}.experiment-config-classes legend{padding:0 8px;color:#17243a;font-size:14px;font-weight:600}.experiment-config-classes label{display:flex;align-items:center;gap:10px;padding:10px;background:#f6f7fc;border-radius:9px;color:#17243a;font-size:14px}.experiment-config-classes input{width:17px;height:17px;accent-color:#6551ee}.experiment-config-note{margin:0;border-radius:10px;padding:12px 14px;color:#46546b;background:#f4f6fc;font-size:13px;line-height:1.7}.sidebar-profile .avatar{overflow:hidden}.experiment-access-empty{padding:35px}.experiment-schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.experiment-schedule-heading h3{margin:0;color:#17243a;font-size:15px;font-weight:650}.experiment-schedule-heading>span{color:#46546b;font-size:13px}.experiment-quick-windows{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}.experiment-quick-windows>span{color:#46546b;font-size:12px;margin-right:4px}.experiment-schedule-list{display:grid;gap:14px}.experiment-schedule-card{padding:18px;border:1px solid #d6deee;border-radius:14px;background:#f8f9fd}.experiment-schedule-card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.experiment-schedule-card-heading h4{margin:0;color:#17243a;font-size:15px;font-weight:650}.experiment-schedule-card-heading .custom-select{width:176px}.experiment-schedule-card .experiment-config-grid{margin-top:18px}.experiment-schedule{margin:0;padding:16px 18px;border:1px solid #d6deee;border-radius:14px;background:#f8f9fd;display:grid;gap:12px}.experiment-schedule legend{padding:0 8px;color:#17243a;font-size:14px;font-weight:650}.experiment-schedule-times{display:grid;grid-template-columns:1fr 1fr;gap:16px}.experiment-config-form input[type=number]{width:120px;padding:10px 12px;border:1px solid #cbd5e5;border-radius:10px;background:#fff;color:#17243a;font:inherit}.experiment-config-form input[type=datetime-local]{width:100%;min-width:0;padding:10px 12px;border:1px solid #cbd5e5;border-radius:10px;background:#fff;color:#17243a;font:inherit;color-scheme:light}.experiment-config-form input[type=datetime-local]:focus-visible{border-color:#6551ee}.experiment-action-fields{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}.roster-page{color:#24314e}.roster-page h2,.roster-page h3,.roster-page p{margin-top:0}.roster-topline{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}.roster-eyebrow{display:block;color:#8a8ead;font-size:10px;font-weight:750;letter-spacing:1.8px;margin-bottom:10px}.roster-topline h2{font-size:26px;letter-spacing:-.8px;margin-bottom:0;font-weight:750}.roster-topline p{margin-bottom:0;font-size:13px}.roster-top-actions{display:flex;gap:10px;flex-shrink:0}.roster-prototype-note{display:flex;align-items:center;gap:8px;color:#7c819a;font-size:11px;margin-bottom:25px;line-height:1.7}.roster-prototype-note svg{flex-shrink:0}.roster-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px}.roster-summary{display:flex;align-items:center;gap:14px;padding:24px 21px;background:#fff;border:1px solid #e9eaf3;border-radius:15px;position:relative;box-shadow:0 4px 17px #42458903}.roster-summary-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.roster-summary-icon.lavender{background:#efedff;color:#7565d5}.roster-summary-icon.mint{background:#e6f6f1;color:#44a98a}.roster-summary-icon.peach{background:#fff2e6;color:#d99658}.roster-summary>div>span{color:#8a8ea3;font-size:12px}.roster-summary strong{display:block;font-size:29px;line-height:1.45;font-weight:700}.roster-summary strong small{font-size:12px;margin-left:7px;color:#9294a6;font-weight:400}.roster-summary-foot{margin-left:auto;align-self:flex-end;color:#999db1;font-size:10px;white-space:nowrap;padding-bottom:4px}.roster-panel{overflow:visible}.roster-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px 24px}.roster-panel-title{display:flex;align-items:center;gap:16px;min-width:0}.roster-panel-title h3{flex-shrink:0;white-space:nowrap}.roster-panel-heading h3{font-size:16px;margin-bottom:0}.roster-panel-heading p{font-size:11px;margin-bottom:0;padding-left:16px;border-left:1px solid #e2e6f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-count{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:21px;margin-left:7px;padding:0 7px;border-radius:6px;color:#8172cb;background:#f0edfc;font-size:11px;vertical-align:1px}.roster-toolbar{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.roster-toolbar>.btn{white-space:nowrap}.roster-search{display:flex;align-items:center;gap:9px;background:#f8f9fc;border:1px solid #edeef5;border-radius:8px;padding:0 13px;width:315px;color:#9a9fb4;height:38px}.roster-search input{border:none!important;box-shadow:none!important;min-width:0;width:100%;background:transparent!important;outline:none;color:#39445f;padding:0!important;font-size:12px}.roster-search input::placeholder{color:#a2a6b7}.roster-search button{border:0;background:none;padding:3px;color:#8a8ea3;cursor:pointer}.roster-status-filter{display:flex;align-items:center;gap:9px;font-size:11px;color:#8f93a8;white-space:nowrap}.roster-status-filter select{background:#fff;border:1px solid #e9eaf2;border-radius:8px;color:#5f6782;padding:9px 24px 9px 10px;font-size:11px}.roster-table-wrap{overflow:visible}.roster-table{width:100%;border-collapse:collapse;font-size:12px}.roster-table th{font-weight:500;color:#9095ab;background:#fafafe;padding-top:14px;padding-bottom:14px;text-align:left;font-size:11px}.roster-table td{height:70px;padding-top:14px;padding-bottom:14px;border-bottom:1px solid #f0f1f6}.roster-table .is-selected td{background:#f9f7ff}.roster-table tr:last-child td{border-bottom:0}.roster-table .roster-check-cell{width:53px;padding-left:26px;padding-right:12px}.roster-table input[type=checkbox]{width:14px;height:14px;accent-color:#8d7bdd;cursor:pointer}.roster-student{display:flex;align-items:center;gap:11px;min-width:106px}.roster-avatar{display:grid;place-items:center;width:33px;height:33px;flex-shrink:0;border-radius:10px;font-size:10px;font-weight:600}.roster-avatar-0{color:#8c75c3;background:#f0eafa}.roster-avatar-1{color:#539cab;background:#e8f3f6}.roster-avatar-2{color:#b5896e;background:#f9efe7}.roster-avatar-3{color:#688db1;background:#eaf0f8}.roster-student-name{color:#43506b;font-weight:550}.roster-sid{font-variant-numeric:tabular-nums;color:#7a829a;font-size:11px}.roster-class{color:#46536c;font-size:14px}.roster-participation{display:inline-flex;gap:6px;align-items:center;color:#a0a5b7;font-size:11px;white-space:nowrap}.roster-participation>span{height:5px;width:5px;background:#bac0cf;border-radius:50%}.roster-participation.submitted{color:#789685}.roster-participation.submitted>span{background:#90b5a1}.roster-profile-cell{color:#46546b;font-size:13px;white-space:nowrap}.class-usage-page .roster-topline{align-items:flex-start;gap:12px}.class-usage-page .roster-topline h2{margin-top:10px}.roster-usage-chip{border:0;background:transparent;color:#a0a5b7;font:inherit;font-size:12px;font-variant-numeric:tabular-nums;padding:0;cursor:pointer;white-space:nowrap}.roster-usage-chip.has-usage{color:#3b3f63;text-decoration:underline;text-decoration-color:#c8cbe0;text-underline-offset:3px}.roster-usage-chip:hover{color:#5b4fcf}.roster-usage-detail{display:grid;gap:16px}.roster-usage-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.roster-usage-totals>div{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:#f4f5fb}.roster-usage-totals span{color:#8a8ead;font-size:12px}.roster-usage-totals strong{font-size:18px;font-variant-numeric:tabular-nums}.roster-usage-table{font-size:13px}.roster-usage-table small,.roster-usage-model-id,.roster-usage-flag,.roster-usage-split{display:block;color:#8a8ead;font-size:11px;margin-top:2px}.roster-usage-time{white-space:nowrap;font-variant-numeric:tabular-nums}.roster-table .roster-actions-head{text-align:left}.roster-row-actions{width:1%;white-space:nowrap;padding-right:20px!important}.roster-row-action-list{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.roster-row-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:4px 6px;border:0;border-radius:6px;background:transparent;color:#665198;font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}.roster-row-button:hover:not(:disabled){background:#f1edfc}.roster-row-button:disabled{opacity:.5;cursor:not-allowed}.roster-row-danger{margin-left:6px;color:#9b344b}.roster-row-danger:hover:not(:disabled){background:#fff0f2}.roster-table-footer{display:flex;justify-content:space-between;gap:15px;padding:18px 26px;border-top:1px solid #f0f1f6;font-size:10px;color:#a0a3b5}.roster-page .roster-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 26px;background:#f7f8fc;color:#4e5872;font-size:14px}.roster-selection-bar>div{display:flex;align-items:center;gap:8px}.roster-selection-bar .roster-text-button{font-size:14px}.roster-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#8771c5;font:inherit;font-size:11px;border:none;background:transparent;padding:3px 0;cursor:pointer;white-space:nowrap}.roster-text-button:hover{color:#665198;text-decoration:underline}.roster-form{display:grid;gap:18px;font-size:13px;color:#69718a;line-height:1.8}.roster-form p{margin:0}.roster-edit-context{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;font-size:14px}.roster-edit-context dt{color:#69718a}.roster-edit-context dd{margin:4px 0 0;color:#34405c;overflow-wrap:anywhere}.roster-access-count,.roster-access-scope{font-size:14px}.roster-access-targets{list-style:none;max-height:280px;overflow-y:auto;padding:0;margin:0;color:#34405c;font-size:14px}.roster-access-targets li{display:grid;grid-template-columns:minmax(80px,1fr) minmax(100px,1fr) minmax(100px,1.3fr);align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid #e9ecf4;overflow-wrap:anywhere}.roster-access-options{display:flex;align-items:center;gap:24px;padding:0;margin:0;border:0;color:#34405c;font-size:14px}.roster-access-options legend{padding:0;margin-bottom:10px;font-weight:600}.roster-access-options label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.roster-form .roster-access-options input{width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:#7867bc}.roster-form .field,.roster-import .field{display:flex;flex-direction:column;gap:9px;margin:0}.roster-form .field label,.roster-import .field label{font-size:12px;color:#646d86;font-weight:500}.roster-form input,.roster-import select{min-height:42px;padding:10px 12px;color:#4e5872;border-radius:8px;border:1px solid #e4e5ef;background:#fff;font:inherit;font-size:12px;width:100%}.roster-required{color:#b08bae}.roster-person-card{display:flex;gap:13px;align-items:center;padding:15px;border-radius:11px;background:#f7f6fc}.roster-person-card .roster-avatar{width:40px;height:40px}.roster-person-card p{font-size:11px;margin:4px 0 0}.roster-person-card strong{color:#424d68}.roster-soft-note{background:#f7f6fc;color:#8c86a4;border-radius:9px;padding:12px 14px;font-size:11px;line-height:1.8}.roster-danger-button{background:#bd737b!important;color:#fff!important;border-color:#bd737b!important}.roster-password-box{display:grid;gap:11px;padding:18px;border-radius:10px;background:#f8f7fc;border:1px solid #ece8f5}.roster-password-box>span{color:#9b96ac;font-size:11px}.roster-password-box code{color:#7763ab;font-size:23px;letter-spacing:2px;-webkit-user-select:all;user-select:all}.roster-password-box small{font-size:11px;color:#a09bae}.roster-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid #eeeef5;padding-top:20px;margin-top:7px}.roster-error{display:flex;align-items:flex-start;gap:7px;border-radius:8px;font-size:12px;line-height:1.7;padding:11px 13px;background:#fff2f0;color:#ba676c;margin:16px 0 0}.roster-error svg{flex-shrink:0;margin-top:2px}.roster-import{color:#64708a;font-size:12px}.roster-import-context{display:flex;align-items:center;gap:8px;font-size:12px;color:#8b8da5;margin:0 0 25px}.roster-import-context strong{color:#64708a;font-weight:500}.roster-import-context .tag{margin-left:auto}.roster-import-steps{padding:0;margin:0 0 28px;display:flex;list-style:none;justify-content:space-between;gap:9px}.roster-import-steps li{display:flex;align-items:center;gap:8px;flex:1;font-size:12px;color:#b1adbf;position:relative}.roster-import-steps li:not(:last-child):after{content:"";background:#eeecf4;height:1px;width:25px;margin-left:auto;margin-right:12px}.roster-import-steps li>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#f2f0f7;color:#b6b0c6;font-size:10px}.roster-import-steps li.current{color:#8771bb;font-weight:650}.roster-import-steps li.current>span{color:#fff;background:#9b85d0;box-shadow:0 0 0 4px #f3effa}.roster-import-steps li.done{color:#9b88bf}.roster-import-steps li.done>span{color:#9b88bf;background:#eee8f7}.roster-upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:27px;gap:12px;background:#fbfaff;border:1.5px dashed #d5c9ea;border-radius:13px;cursor:pointer;transition:background .15s}.roster-upload-zone:hover,.roster-upload-zone:focus-within{background:#f4f0fb;border-color:#a895cf}.roster-upload-zone strong{font-size:14px;color:#776789;font-weight:550}.roster-upload-zone>span:not(.roster-upload-icon){color:#aaa1b9;font-size:11px}.roster-upload-icon{display:grid;place-items:center;width:56px;height:56px;background:#ede6f7;border-radius:15px;color:#a68dca;margin-bottom:5px}.roster-upload-zone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.roster-upload-zone.is-loading{opacity:.6}.roster-import-help{padding:18px 3px;font-size:11px;line-height:1.7}.roster-import-help strong{font-size:12px;color:#68728b;font-weight:550}.roster-import-help p{margin:6px 0 8px;color:#9697ac}.roster-demo-callout{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f7f8fc;padding:15px 17px;border-radius:10px;margin-bottom:22px}.roster-demo-callout strong{font-size:12px;color:#747e97;font-weight:550}.roster-demo-callout p{margin:5px 0 0;font-size:10px;color:#a0a4b6}.roster-file-line{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:9px;background:#f6f5fb;margin-bottom:18px;color:#9b8aba}.roster-file-line>div{display:grid;gap:5px}.roster-file-line strong{font-size:12px;color:#7a6d91;font-weight:550}.roster-file-line span{font-size:10px;color:#a8a1b4}.roster-file-line>button{margin-left:auto}.roster-mapping-intro{font-size:11px;margin:18px 0 16px;line-height:1.7}.roster-mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.roster-preview-title{font-size:12px;font-weight:550;margin:25px 0 10px;color:#788199}.roster-preview-title span{color:#aba9bb;font-weight:400;font-size:10px;margin-left:7px}.roster-raw-preview,.roster-import-preview{overflow:auto;border:1px solid #ecebf3;border-radius:9px;margin-bottom:21px}.roster-raw-preview .data-table,.roster-import-preview .data-table{width:100%;border-collapse:collapse;font-size:11px}.roster-raw-preview th,.roster-import-preview th{text-align:left;font-size:10px;font-weight:500;color:#9997aa;background:#f9f8fc;white-space:nowrap;padding:12px}.roster-raw-preview td,.roster-import-preview td{padding:13px 12px;border-top:1px solid #f1eff6;white-space:nowrap;color:#7f819a}.roster-import-preview{max-height:315px}.roster-import-preview thead{position:sticky;top:0;z-index:1}.roster-import-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:16px}.roster-import-stats>div{display:flex;align-items:center;gap:11px;background:#f5f8f7;border:1px solid #e8f0eb;border-radius:10px;padding:15px}.roster-import-stats strong{font-size:23px;color:#77a48f;font-weight:650}.roster-import-stats span{color:#8f9d94;font-size:10px}.roster-import-stats>div:nth-child(2){background:#f7f7fa;border-color:#ededf2}.roster-import-stats>div:nth-child(2) strong,.roster-import-stats>div:nth-child(2) span{color:#9a97ad}.roster-import-stats>div.has-error{background:#fff7f0;border-color:#faecdf}.roster-import-stats>div.has-error strong,.roster-import-stats>div.has-error span{color:#c49573}.roster-preview-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:14px}.roster-preview-heading p{margin:0;font-size:10px;color:#aaa4b5;line-height:1.8;max-width:390px}.roster-import-preview .roster-error-row td{background:#fffcf9}.roster-import-preview .roster-row-detail{font-size:10px;max-width:260px;min-width:160px;line-height:1.7;white-space:normal}.roster-import-result{text-align:center;padding:12px 0 10px}.roster-success-icon{display:grid;place-items:center;margin:0 auto 16px;width:75px;height:75px;color:#86b59b;border-radius:50%;background:#eef7f1}.roster-import-result h3{margin:0 0 10px;font-size:20px;color:#627a6c}.roster-import-result>p{font-size:12px;color:#a1aa9f}.roster-result-summary{display:flex;align-items:center;justify-content:center;gap:30px;margin:23px 0;color:#9b9dac;font-size:11px}.roster-result-summary strong{margin-left:7px;color:#777b93}.roster-result-errors{display:flex;align-items:flex-start;gap:11px;text-align:left;padding:15px;background:#fff9f2;border-radius:10px;color:#c9a078;margin-bottom:18px}.roster-result-errors strong{font-size:12px;font-weight:550}.roster-result-errors p{margin:5px 0 8px;font-size:11px;color:#bda889}.roster-result-errors svg{flex-shrink:0}.roster-footer-hint{margin-right:auto;font-size:10px;color:#b0a9bf}.roster-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1150px){.roster-summary-foot{display:none}.roster-summary{padding:20px 16px}.roster-class{max-width:100px}}@media(max-width:760px){.roster-topline{align-items:flex-start;flex-direction:column;gap:18px}.roster-top-actions{width:100%}.roster-top-actions .btn{flex:1}.roster-summary-grid{gap:8px}.roster-summary{padding:15px 11px;gap:9px}.roster-summary-icon{display:none}.roster-summary>div>span{font-size:10px}.roster-summary strong{font-size:25px}.roster-panel-heading{padding:20px 17px 17px;align-items:flex-start}.roster-panel-heading p{font-size:10px;line-height:1.7}.roster-toolbar{align-items:stretch;flex-direction:column;padding:0 17px 17px;gap:11px}.roster-search{width:100%}.roster-status-filter{justify-content:space-between}.roster-table-wrap{overflow-x:auto;padding-bottom:145px;margin-bottom:-135px}.roster-table{min-width:660px}.roster-table .roster-check-cell{padding-left:16px}.roster-table-footer{padding:17px;font-size:9px;position:relative;pointer-events:none}.roster-selection-bar{padding:11px 16px;flex-direction:column;align-items:flex-start}.roster-selection-bar .btn{font-size:10px}.roster-import-steps{gap:6px}.roster-import-steps li{flex-direction:column;gap:7px;font-size:10px}.roster-import-steps li:after{display:none}.roster-demo-callout{align-items:flex-start;flex-direction:column}.roster-mapping-grid{grid-template-columns:1fr}.roster-import-stats{gap:7px}.roster-import-stats>div{padding:13px 9px;flex-direction:column;gap:5px}.roster-import-stats span{font-size:9px}.roster-preview-heading{flex-direction:column;gap:7px}.roster-modal-footer{flex-wrap:wrap}.roster-footer-hint{width:100%}.roster-import-context{flex-wrap:wrap;font-size:10px}.roster-import-context .tag{margin-left:0}.roster-result-summary{gap:17px}}.action-feedback.roster-operation-feedback{margin:0 24px 16px}.ex-workspace{--ex-purple: #6958ed;--ex-ink: #1c263c;--ex-muted: #78849d;--ex-border: #e4e8f3;--ex-soft: #f6f7fd;color:var(--ex-ink);min-width:0}.ex-workspace h1,.ex-workspace h3,.ex-workspace h4{margin:0}.ex-workspace h1{font-size:28px;font-weight:650;letter-spacing:-.6px;line-height:1.4}.ex-workspace h3{font-size:16px;font-weight:650;line-height:1.6}.ex-workspace p{line-height:1.85}.ex-workspace button,.ex-workspace input,.ex-workspace textarea,.ex-workspace select{font:inherit}.ex-page-breadcrumb{display:flex;gap:10px;align-items:center;color:#8790a6;font-size:12px;margin:0 0 12px}.ex-page-breadcrumb button{border:0;background:none;padding:0;color:#6b63c4;cursor:pointer}.ex-workspace-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.ex-student-briefing-toggle{display:inline-block;margin-top:8px;font-size:13px}.ex-student-briefing{margin:-8px 0 18px;padding:12px 16px;border:1px solid #e4e8f2;border-radius:14px;background:#f8f9fd}.ex-student-briefing .briefing-editor,.ex-student-briefing .briefing-editor.is-readonly{border:0;background:transparent}.ex-student-briefing .bn-editor{min-height:0;padding-inline:0}.ex-workspace.is-teacher .ex-workspace-heading{margin-bottom:12px;align-items:flex-start}.ex-workspace.is-teacher .ex-workspace-heading h1{font-size:22px;letter-spacing:-.4px;line-height:1.3}.ex-workspace-heading p{margin:9px 0 0;color:#718099;font-size:13px}.ex-heading-tags{display:flex;align-items:center;gap:10px;font-size:11px;color:#8590a7;margin-bottom:9px}.ex-workspace.is-teacher .ex-heading-tags{margin-bottom:4px}.ex-context-bar{border:1px solid #e2e5f1;background:#ffffffbf;border-radius:15px;padding:15px 20px;display:flex;flex-wrap:wrap;gap:12px 32px;font-size:12px;margin-bottom:12px;color:#64728d}.ex-context-bar span{display:flex;gap:10px;align-items:flex-start;line-height:1.55;min-width:0;flex:1 1 260px}.ex-context-bar b{flex:0 0 auto;font-size:12px;color:#465574;white-space:nowrap;line-height:1.55}.ex-context-bar span>:not(b){min-width:0;overflow-wrap:anywhere}.ex-next-step-bar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;border:1px solid #e2e5f1;border-radius:12px;background:#fff;min-height:48px}.ex-next-step-bar>.tag{flex-shrink:0;align-self:center}.ex-next-step-bar>strong{flex-shrink:0;font-size:13px;font-weight:650;color:var(--ex-ink);line-height:1.3;align-self:center}.ex-next-step-bar>.muted{flex:1 1 180px;margin:0;min-width:0;font-size:12px;line-height:1.4;color:#6e7a93;align-self:center}.ex-next-step-bar>.btn{margin-left:auto;flex-shrink:0;align-self:center;height:34px;min-height:34px;padding:0 12px;line-height:1}.ex-compact-empty{padding:0 0 12px}.ex-compact-empty>.panel-header,.ex-results-panel>.panel-header.compact,.panel-header.compact{padding:12px 16px 6px}.ex-compact-empty>.muted{margin:0 16px;font-size:13px;line-height:1.5}.ex-compact-empty-actions{display:flex;gap:8px;margin:8px 16px 0}.ex-workspace.is-teacher .ex-comparison-stack{gap:12px}.ex-run-board{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,1fr);gap:12px;align-items:start}.ex-run-board .panel-header.compact{padding:12px 16px 6px}.ex-run-board .panel-header.compact h3{font-size:15px}.ex-run-board .panel-header.compact>.muted{font-size:12px;margin:0}.ex-run-board-body{padding:4px 16px 14px}.ex-run-board-body>.field{margin-bottom:10px}.ex-run-board-desc{margin:-2px 0 10px;font-size:12px;line-height:1.5}.ex-run-board-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:4px 0 6px}.ex-run-board-toolbar .ex-subtitle{margin:0;font-size:13px}.ex-run-board-toolbar-actions{display:flex;gap:10px}.ex-run-board-empty{margin:2px 0 0;font-size:13px;line-height:1.5}.ex-run-board .ex-chip-checks{margin:0 0 10px}.ex-run-board .ex-bottom-actions{margin-top:4px;justify-content:flex-end}.ex-run-board .ex-version-list{margin:0}.ex-run-board-batches .ex-run-board-body{min-height:0}@media(max-width:1100px){.ex-run-board{grid-template-columns:1fr}}.ex-results-body{padding:0 18px 16px}.ex-results-body>.ex-subtitle{margin:12px 0 8px!important}.ex-results-batch-list{margin:0;padding-left:18px;font-size:13px;line-height:1.6;color:#465574}.ex-teacher-briefing{border:1px solid #e2e5f1;background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:10px}.ex-teacher-briefing.is-collapsed{padding-bottom:10px}.ex-teacher-briefing-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.ex-teacher-briefing-title{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;flex:1}.ex-teacher-briefing-title h2,.ex-teacher-briefing-head h2{margin:0;font-size:14px;font-weight:650;letter-spacing:-.2px;color:var(--ex-ink)}.ex-teacher-briefing-strip{flex-basis:100%;margin:2px 0 0;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ex-teacher-briefing-title .muted,.ex-teacher-briefing-head .muted{margin:0;font-size:12px;line-height:1.4}.ex-teacher-briefing-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;align-items:center}.ex-teacher-briefing-actions .text-button{font-size:12px}.ex-teacher-briefing-expanded{margin-top:8px}.ex-teacher-briefing-doc{margin:0 0 4px}.ex-teacher-briefing-doc+.ex-teacher-briefing-grid{margin-top:10px;padding-top:12px;border-top:1px solid #eceff7}.ex-teacher-briefing-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-top:12px;padding-top:12px;border-top:1px solid #eceff7}.ex-teacher-briefing-expanded>.ex-teacher-briefing-grid:only-child{border-top:0;padding-top:0}.ex-teacher-briefing-col h3{margin:0 0 8px;font-size:15px}.ex-teacher-briefing-goal{margin:0 0 12px;font-size:13px;color:#5b6a86;line-height:1.7}.ex-teacher-briefing-steps,.ex-teacher-briefing-fields,.ex-teacher-briefing-journey{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.ex-teacher-briefing-steps li,.ex-teacher-briefing-fields li{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.65;color:#5b6a86}.ex-teacher-briefing-steps strong,.ex-teacher-briefing-fields strong{color:#33415f;font-weight:650}.ex-teacher-briefing-journey{list-style:decimal;padding-left:18px;color:#5b6a86;font-size:13px;line-height:1.7}.ex-teacher-briefing-journey li{margin:0 0 4px}.ex-practice-banner{border:1px solid #d9e4f7;background:#f3f7fd;border-radius:12px;padding:8px 12px;margin-bottom:10px;display:flex;justify-content:space-between;gap:12px;align-items:center}.ex-practice-banner p{margin:2px 0 0;font-size:12px;line-height:1.4;color:#5b6a86}.ex-workspace.is-practice .ex-practice-shell{margin-bottom:10px}.ex-practice-banner--shell{margin-bottom:6px;border-radius:12px;padding:10px 14px;background:linear-gradient(180deg,#f5f8fd,#eef3fb)}.ex-teacher-briefing.is-practice-link{border:none;background:transparent;padding:0 2px 4px;margin-bottom:0}.ex-teacher-briefing.is-practice-link .ex-teacher-briefing-head{justify-content:flex-start;gap:12px}.ex-teacher-briefing.is-practice-link .ex-teacher-briefing-grid{margin-top:8px;padding:12px;border:1px solid #e2e5f1;border-radius:12px;background:#fff}.ex-workspace.is-practice .ex-challenge.is-practice{min-height:52vh}.ex-workspace.is-practice .ex-tabs{margin-bottom:12px!important}.ex-section-intro.compact{padding:0 0 10px;gap:10px}.ex-section-intro.compact h3{font-size:15px}.ex-section-intro.compact p{margin:2px 0 0;font-size:12px}.ex-board-toolbar{display:flex;align-items:center;gap:12px;padding:0 0 8px;min-height:34px}.ex-board-toolbar h3{margin:0;font-size:15px;font-weight:650;color:#1c263e}.ex-board-toolbar .btn{margin-left:auto}.ex-board-panel>.empty-state.compact{padding:36px 20px 40px}.ex-run-board-body>.empty-state.compact,.ex-results-panel>.empty-state.compact,.ex-version-list>.empty-state.compact{padding:24px 12px 28px}.ex-workspace.is-teacher .ex-tabs{margin-bottom:12px!important}@media(max-width:960px){.ex-teacher-briefing-grid{grid-template-columns:1fr}.ex-teacher-briefing-head{flex-direction:column}}.ex-prototype-banner{display:none!important}.ex-tabs{margin:0 0 21px!important}.ex-tab-count{display:inline-flex;border-radius:5px;background:#edeaf9;margin-left:7px;min-width:20px;height:20px;align-items:center;justify-content:center;color:#6c5cc7;font-size:10px;padding:0 5px}.ex-work-grid{display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:20px;align-items:start}.ex-work-grid.ex-work-grid-solo{grid-template-columns:minmax(0,1fr)}.ex-compose-tip{margin:0 24px 12px;padding:0;font-size:12px;line-height:1.6;color:#8a95ab}.ex-compose-form-block{margin-top:4px}.ex-compose-versions{margin-top:16px;padding-top:12px;border-top:1px solid #edf0f7;font-size:12px;color:#76829a}.ex-compose-versions>summary{cursor:pointer;list-style:none;color:#69748b;font-size:12px;-webkit-user-select:none;user-select:none}.ex-compose-versions>summary::-webkit-details-marker{display:none}.ex-compose-versions>summary:before{content:"▸ ";color:#9aa5b8}.ex-compose-versions[open]>summary:before{content:"▾ "}.ex-compose-versions .ex-version-list{margin-top:12px}.ex-main-panel{min-width:0}.ex-workspace .panel{overflow:hidden;border-radius:16px}.ex-workspace .panel-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.ex-workspace .ex-version-list>div{border-radius:8px;margin:0 -6px;padding-left:6px;padding-right:6px;transition:background .12s ease}.ex-workspace .ex-version-list>div:hover{background:#f4f6fb}.ex-workspace .ex-chip-checks label{border-radius:8px;transition:background .12s ease}.ex-workspace .ex-chip-checks label:hover{background:#f4f6fb}.ex-workspace .panel-header p{margin:5px 0 0;color:#8390a6;font-size:12px}.ex-workspace .panel-header h3{margin:0}.ex-editor{padding:0 24px 24px}.ex-field{display:flex;flex-direction:column;gap:var(--field-gap, 9px);margin:0 0 20px;min-width:0;font-size:13px}.ex-label{font-size:12px;font-weight:550;color:#54617b}.ex-field-row{display:grid;grid-template-columns:repeat(var(--ex-field-cols, 2),minmax(0,1fr));gap:var(--field-row-gap, 14px 20px);width:100%;align-items:start}.ex-field-row>.ex-field{margin-bottom:0;max-width:none;width:100%;min-width:0}.ex-field-span-all{grid-column:1 / -1}@media(max-width:900px){.ex-field-row{grid-template-columns:1fr}}.ex-field input:not([type=checkbox]):not([type=radio]),.ex-field textarea,.ex-field select,.ex-control,.ex-chat-composer textarea,.ex-filter{box-sizing:border-box;display:block;border:1px solid var(--control-border, #e0e5f1);background:var(--control-bg, #fff);border-radius:var(--control-radius, 9px);color:var(--control-fg, #2d3b55);font-size:12px;line-height:1.4;padding:0 var(--control-padding-x, 12px);width:100%;max-width:100%;min-width:0;min-height:var(--control-height, 42px);height:var(--control-height, 42px);transition:border-color .15s,box-shadow .15s}.ex-field select,select.ex-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%2365718a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;padding-right:34px}.ex-field textarea,.ex-chat-composer textarea{resize:vertical;min-height:76px;height:auto;padding:10px var(--control-padding-x, 12px);line-height:1.8}.ex-field input:not([type=checkbox]):not([type=radio]):focus,.ex-field textarea:focus,.ex-field select:focus,.ex-control:focus,.ex-chat-composer textarea:focus,.ex-filter:focus{border-color:var(--control-border-focus, #a196ed)}.ex-field input::placeholder,.ex-field textarea::placeholder,.ex-control::placeholder,.ex-chat-composer textarea::placeholder{color:var(--control-placeholder, #9da7bc)}.ex-field small{font-size:11px;color:#929cb2;line-height:1.7}.ex-control-shell,.ex-field .password-input,.ex-field .ops-chip-input{box-sizing:border-box;display:flex;align-items:center;width:100%;max-width:100%;min-width:0;min-height:var(--control-height, 42px);border:1px solid var(--control-border, #e0e5f1);border-radius:var(--control-radius, 9px);background:var(--control-bg, #fff);transition:border-color .15s,box-shadow .15s}.ex-field .password-input input:not([type=checkbox]):not([type=radio]),.ex-field .ops-secret-input input:not([type=checkbox]):not([type=radio]),.ex-field .ops-chip-input>input:not([type=checkbox]):not([type=radio]),.ex-field .ex-control-shell>input:not([type=checkbox]):not([type=radio]){display:block;flex:1 1 auto;width:auto;max-width:none;min-width:0;height:auto;min-height:0;margin:0;padding:0 var(--control-padding-x, 12px);border:0;border-radius:0;background:transparent;box-shadow:none;outline:none}.ex-field .ops-chip-input>input:not([type=checkbox]):not([type=radio]){padding:4px 2px;flex:1 1 140px}.ex-inline-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:8px}.ex-inline-controls .ex-field{flex:1 1 180px;min-width:160px;max-width:none;margin-bottom:0;gap:6px}.ex-inline-controls .ex-field select,.ex-inline-controls .ex-field input:not([type=checkbox]):not([type=radio]){height:var(--control-height, 42px);min-height:var(--control-height, 42px);padding:0 var(--control-padding-x, 12px);line-height:1.4}.ex-inline-controls>.btn,.ex-inline-controls>.btn.small{box-sizing:border-box;flex:0 0 auto;height:var(--control-height, 42px);min-height:var(--control-height, 42px);max-height:var(--control-height, 42px);margin-bottom:0;padding:0 12px;line-height:1;white-space:nowrap;align-self:flex-end}.ex-compose-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto 36px auto;column-gap:16px;row-gap:6px;align-items:center;margin:0 0 16px}.ex-compose-meta-label-theme{grid-column:1;grid-row:1}.ex-compose-meta-label-type{grid-column:2;grid-row:1}.ex-compose-meta-select-theme{grid-column:1;grid-row:2}.ex-compose-meta-type-row{grid-column:2;grid-row:2;display:flex;align-items:center;gap:12px;min-width:0;height:36px}.ex-compose-meta-hint{grid-column:1;grid-row:3;font-size:11px;color:#929cb2;line-height:1.7}.ex-compose-meta .ex-label{margin:0;display:block}.ex-compose-meta select{box-sizing:border-box;width:100%;height:36px;min-height:36px;max-height:36px;margin:0;padding:0 11px;border:1px solid #e0e5f1;border-radius:9px;background:#fff;color:#2d3b55;font-size:12px;line-height:1.2;transition:border-color .15s,box-shadow .15s}.ex-compose-meta select:focus{border-color:#a196ed}.ex-compose-meta-type-row>select{flex:1 1 auto;min-width:0}.ex-compose-meta-type-row>.btn,.ex-compose-meta-type-row>.btn.small{box-sizing:border-box;flex:0 0 auto;height:36px;min-height:36px;max-height:36px;margin:0;padding:0 12px;line-height:1;white-space:nowrap}.ex-options-editor{display:flex;flex-direction:column;gap:6px;margin:0 0 18px}.ex-options-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:2px;font-size:12px;font-weight:550;color:#54617b}.ex-options-heading small{font-weight:400;color:#929cb2}.ex-option-row{display:grid;grid-template-columns:72px 22px minmax(0,1.2fr) minmax(0,1fr) 32px;column-gap:8px;align-items:center;min-width:0;min-height:36px;padding:4px 0;border-radius:0;background:transparent;box-shadow:none}.ex-option-row.is-correct .ex-option-letter{color:#6855df;font-weight:650}.ex-option-correct-btn{box-sizing:border-box;height:36px;min-height:36px;padding:0 8px;border:1px solid #e1e6f1;border-radius:8px;background:#fff;color:#69748b;font-size:12px;line-height:1;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.ex-option-correct-btn:hover{border-color:#c4bcec;background:#faf9ff}.ex-option-correct-btn.selected{color:#fff;background:#6855df;border-color:#6855df}.ex-option-correct-btn.selected:hover{background:#5746c9;border-color:#5746c9}.ex-option-letter{display:inline-flex;align-items:center;justify-content:flex-end;height:36px;font-size:13px;line-height:1;color:#54617b;text-align:right}.ex-option-text,.ex-option-reason{box-sizing:border-box;height:36px;min-height:36px;border:1px solid #e0e5f1;background:#fff;border-radius:9px;color:#2d3b55;font-size:12px;line-height:1.2;padding:0 11px;width:100%;min-width:0;transition:border-color .15s,box-shadow .15s}.ex-option-text:hover,.ex-option-reason:hover{border-color:#a196ed;box-shadow:none}.ex-option-text:focus,.ex-option-reason:focus{border-color:#a196ed}.ex-option-remove{grid-column:5;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:32px;padding:6px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.ex-option-remove:hover:not(:disabled){background:#fff1f3;color:#a53b56}.ex-option-remove:disabled{opacity:.4;cursor:not-allowed}.ex-options-add{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;min-height:32px;margin-top:4px;font-size:14px}.ex-compose-trial{margin-top:8px;padding-top:18px;border-top:1px solid #edf0f7}.ex-compose-trial.ex-compose-trial-top{margin:0 0 18px;padding:0 0 18px;border-top:0;border-bottom:1px solid #edf0f7}.ex-compose-trial .trial-workspace.trial-embedded{gap:14px}.ex-compose-trial .trial-workspace.trial-embedded>.panel,.ex-compose-trial .trial-workspace.trial-embedded .trial-controls,.ex-compose-trial .trial-workspace.trial-embedded .trial-prompt-preview{box-shadow:none}.ex-private-section{border-top:1px solid #edf0f7;padding-top:20px;margin-top:2px}.ex-private-heading{display:flex;align-items:center;gap:12px;font-size:13px}.ex-private-section>.muted{font-size:11px;margin:8px 0 18px}.ex-answer-choices{display:flex;flex-wrap:wrap;gap:10px}.ex-answer-choices button{flex:0 0 43px;width:43px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #e1e6f1;background:#fff;border-radius:8px;font-size:13px;cursor:pointer;color:#69748b;transition:background .15s}.ex-answer-choices button:hover{border-color:#c4bcec;background:#faf9ff}.ex-answer-choices button.selected{color:#6855df;background:#f0edff;border-color:#a99dea;box-shadow:0 0 0 1px #a99dea}.ex-bottom-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid #edf0f7;padding-top:20px;margin-top:8px}.ex-bottom-actions>.muted{margin-right:auto;font-size:10px;line-height:1.7}.ex-sidebar-stack{display:flex;flex-direction:column;gap:20px}.ex-side-panel{padding:23px 21px}.ex-side-panel h3{margin-bottom:15px}.ex-side-panel>.muted{font-size:12px;line-height:1.9;margin:0 0 18px}.ex-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px;font-size:12px;line-height:1.65;color:#76829a}.ex-checklist li{display:flex;gap:10px;align-items:baseline}.ex-checklist li:before{content:"";display:block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#d9ddeb}.ex-checklist li.done{color:#549583}.ex-checklist li.done:before{background:#60bca3}.ex-version-list{display:flex;flex-direction:column;gap:15px}.ex-version-list>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-bottom:1px solid #edf0f7;padding-bottom:13px;font-size:11px}.ex-version-list>div:last-child{padding-bottom:0;border:0}.ex-version-list span{color:#8995ac;font-size:10px}.ex-version-list strong{font-size:12px}.ex-question-preview{font-size:13px;line-height:1.9}.ex-question-stem{margin:0 0 20px;color:#35425d}.ex-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}.ex-option-list>div{border:1px solid #e6eaf4;background:#f8f9fd;border-radius:8px;display:flex;gap:10px;padding:10px 13px;color:#59677f;font-size:12px;align-items:baseline}.ex-option-list>div>span{color:#8993ac;font-weight:600}.ex-answer-box{background:#f7f8fc;border:1px solid #e7eaf4;border-radius:10px;padding:17px 18px;font-size:12px;color:#53637c}.ex-answer-box b{color:#46566e;font-size:12px}.ex-answer-box p{margin:8px 0;white-space:pre-wrap}.ex-answer-box small{display:block;color:#9ba5b8;font-size:10px}.ex-answer-box .btn{margin-top:14px}.ex-feedback{border-radius:10px;padding:15px 17px;background:#f0f8f6;border:1px solid #dfede9;margin-top:20px;font-size:12px;color:#568475}.ex-feedback p{margin:7px 0}.ex-feedback small{display:block;color:#8ba39b;font-size:10px;margin-top:8px}.ex-feedback.warning{background:#fffbf2;border-color:#f4e7c8;color:#b68d45}.ex-section-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:4px 0 19px}.ex-section-intro p{font-size:12px;color:#8290a7;margin:5px 0 0}.ex-peer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.ex-peer-panel{padding-bottom:23px}.ex-peer-panel>.ex-question-preview,.ex-peer-panel>.ex-answer-box,.ex-peer-form{margin-left:24px;margin-right:24px}.ex-peer-form{border-top:1px solid #edf0f7;padding-top:19px}.ex-peer-form .btn{width:100%}.ex-eyebrow{display:block;font-size:10px;color:#8c86bd;margin-bottom:7px;letter-spacing:.3px}.ex-table-wrap{overflow-x:auto}.ex-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.ex-table th{font-size:11px;color:#8a95ab;font-weight:500;background:#f8f9fd;padding:13px 22px;border-bottom:1px solid #eaf0f8;white-space:nowrap}.ex-table td{padding:20px 22px;border-bottom:1px solid #edf0f7;vertical-align:middle;color:#61718b;line-height:1.6}.ex-table tbody tr:last-child td{border-bottom:none}.ex-table td b{display:block;color:#42516d;font-size:12px;font-weight:600}.ex-table td>span:not(.tag){display:block;color:#939cb0;font-size:11px;margin-top:6px;max-width:330px}.ex-table td .btn{white-space:nowrap}.ex-filter{width:145px;font-size:11px;padding:8px 10px}.ex-subtitle{font-size:13px;margin:24px 0 13px!important}.ex-peer-evidence{border:1px solid #e9ecf5;border-radius:10px;padding:15px 17px;margin-bottom:11px;background:#fafbfe;font-size:12px}.ex-peer-evidence>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.ex-peer-evidence p{margin:10px 0 0;color:#76839c}.ex-neutral-note{font-size:11px;color:#8390a8;line-height:1.9;background:#f7f8fc;border:1px solid #eaedf6;padding:12px 15px;border-radius:9px;margin-top:16px}.ex-stack-actions{display:flex;flex-direction:column;gap:10px}.ex-comparison-stack,.ex-flow-stack{display:flex;flex-direction:column;gap:20px}.ex-simulation{display:flex;gap:8px;align-items:baseline;border:1px solid #e5e0f6;background:#f7f5ff;border-radius:9px;padding:11px 15px;color:#8b7fae;font-size:11px;line-height:1.8}.ex-sim-dot{display:inline-block;flex-shrink:0;width:5px;height:5px;border-radius:50%;background:#a693d8;transform:translateY(-1px)}.ex-simulation.compact{background:transparent;padding:0;border:0;font-size:10px;color:#9d8dbb}.ex-compare-stem{font-size:12px;color:#75819a;margin:0 24px 21px}.ex-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e8edf7;background:#fafbfe}.ex-result-cell{padding:24px 22px;border-right:1px solid #e8edf7;min-width:0}.ex-result-cell:last-child{border:0}.ex-result-cell>span:first-child{display:block;font-size:11px;color:#9099b0}.ex-result-cell>strong{display:block;font-size:24px;font-weight:600;color:#4d5875;margin:15px 0 10px}.ex-result-cell>p{font-size:11px;color:#8994aa;margin:10px 0 0;line-height:1.9}.ex-model-cell{background:#f8f6ff}.ex-conclusion-panel{padding:23px 24px}.ex-conclusion-panel>.panel-header{padding:0 0 20px}.ex-conclusion-panel>h3{margin-bottom:20px}.ex-conclusion-panel .ex-field{margin-bottom:12px}.ex-inline-success{font-size:11px;color:#669583;text-align:right;margin:10px 0 0}.ex-error{font-size:12px;color:#c46064;background:#fff5f5;padding:10px 13px;border-radius:8px}.ex-empty-action{display:flex;gap:8px;justify-content:center;padding:0 16px 16px}.ex-compact-empty.panel{padding-bottom:4px}.ex-modal-content{padding:0}.ex-modal-content>.tag{margin-bottom:18px}.ex-task-strip{display:flex;align-items:center;flex-wrap:wrap;gap:11px 18px;border:1px solid #e2e7f2;background:#f7f9ff;border-radius:12px;padding:17px 20px;font-size:12px;color:#73829c}.ex-task-strip b{color:#4a5a78}.ex-task-strip .tag{margin-left:auto}.ex-chip-checks{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.ex-chip-checks label{display:flex;align-items:center;gap:7px;background:#f8f9fd;border:1px solid #e7eaf4;color:#6c7992;padding:10px 12px;border-radius:8px;font-size:12px;cursor:pointer}.ex-workspace input[type=checkbox]{accent-color:var(--ex-purple);width:14px;height:14px;flex-shrink:0}.ex-readable-list{padding-left:18px;margin:0;color:#7c8aa2;font-size:12px;line-height:2.1}.ex-readable-list li+li{margin-top:8px}.ex-workspace .btn:disabled{opacity:.5;cursor:not-allowed}@media(min-width:1450px){.ex-work-grid:not(.ex-work-grid-solo){grid-template-columns:minmax(0,1fr) 305px}.ex-workspace h1{font-size:30px}}.ex-confirmed-answer{margin-top:16px;border-top:1px solid #dcece5;padding-top:12px;color:#528875;font-size:11px}.ex-confirmed-answer b{font-weight:600}.ex-confirmed-answer p{margin:6px 0 0;font-size:11px;line-height:1.8}@media(max-width:1080px){.ex-work-grid:not(.ex-work-grid-solo){grid-template-columns:minmax(0,1fr) 250px}.ex-context-bar{flex-direction:column;gap:8px}.ex-result-grid{grid-template-columns:1fr}.ex-result-cell{border-right:0;border-bottom:1px solid #e8edf7;padding:20px}.ex-result-cell>strong{margin:9px 0;font-size:22px}.ex-peer-grid{grid-template-columns:1fr}}@media(max-width:780px){.ex-workspace h1{font-size:23px}.ex-workspace-heading{align-items:flex-start;gap:12px}.ex-workspace-heading>.btn{font-size:11px;white-space:nowrap}.ex-work-grid{grid-template-columns:1fr}.ex-sidebar-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ex-workspace .panel-header{gap:12px}.ex-context-bar{padding:13px 15px}.ex-context-bar span{display:block;font-size:11px}.ex-context-bar b{margin-right:9px}.ex-prototype-banner{align-items:flex-start}.ex-heading-tags>span{display:none}.ex-task-strip .tag{margin-left:0}.ex-bottom-actions{flex-wrap:wrap}.ex-bottom-actions>.muted{flex-basis:100%;margin-bottom:3px}.ex-table td,.ex-table th{padding:15px}}@media(max-width:900px){.ex-option-row{grid-template-columns:72px 28px minmax(0,1fr) 32px}.ex-option-remove{grid-column:4}.ex-option-reason{grid-column:1 / -1}}@media(max-width:480px){.ex-option-list,.ex-sidebar-stack{grid-template-columns:1fr}.ex-workspace-heading{flex-direction:column}.ex-workspace-heading>.btn{align-self:flex-start}.ex-editor,.ex-conclusion-panel{padding:0 17px 18px}.ex-conclusion-panel{padding-top:19px}.ex-peer-panel>.ex-question-preview,.ex-peer-panel>.ex-answer-box,.ex-peer-form{margin-left:17px;margin-right:17px}.ex-inline-controls{gap:10px}.ex-simulation{font-size:10px}.ex-field{margin-bottom:18px}.ex-tabs{overflow-x:auto}.ex-tabs>button{white-space:nowrap}.ex-section-intro{align-items:flex-start}.ex-section-intro h3{font-size:14px}.ex-table{font-size:11px}.ex-prototype-banner{font-size:10px}}.ex-results-table th,.ex-results-table td{vertical-align:top}.ex-run-cell{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.ex-run-by-model{display:grid;gap:6px;margin-top:8px}.ex-run-model-row{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:13px}.ex-run-model-row>span{display:inline-flex;flex-wrap:wrap;gap:4px}.ex-empty-action{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.ex-action-fields{min-width:0;margin:0;padding:0;border:0}.ex-batch-entry{flex-wrap:wrap}.ex-batch-entry>.action-feedback{flex-basis:100%}.settings-stack{display:grid;gap:22px}.settings-stack h2{margin:0;font-size:17px;font-weight:650;color:#1c263e}.settings-stack p{line-height:1.65}.settings-stack .panel{overflow:hidden}.settings-stack .panel-header{padding:23px 25px 19px}.settings-stack .panel-header p{margin:6px 0 0;font-size:13px}.settings-stack .muted{color:#778198;font-size:13px}.settings-section-intro{padding:25px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #edf0f9}.settings-section-intro>.tag{margin-left:auto}.settings-section-intro p{margin:5px 0 0}.settings-symbol{width:43px;height:43px;display:grid;place-items:center;flex:0 0 auto;background:#ede9ff;color:#7357d8;font-size:25px;border-radius:13px}.model-budget{background:#fff}.model-budget-body{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px}.settings-eyebrow{font-size:13px;color:#68748c}.settings-metric{font-size:36px;letter-spacing:-.8px;font-weight:700;color:#26334f;margin-top:8px}.settings-metric span{font-size:13px;font-weight:400;letter-spacing:0;color:#8690a4}.model-budget-body p{margin:6px 0 0}.model-budget-detail{display:grid;gap:11px;min-width:230px;font-size:13px}.model-budget-detail>span{display:flex;align-items:center;justify-content:space-between;gap:30px;color:#778198}.model-budget-detail strong{color:#394461;font-weight:550}.model-budget-detail .btn{margin-top:4px;justify-self:end}.settings-tabs{display:flex;align-items:center;gap:23px;padding:0 25px;border-bottom:1px solid #e9edf8}.settings-tabs button{border:0;background:none;color:#7a8397;padding:12px 0 15px;border-bottom:2px solid transparent;font:inherit;font-size:14px;cursor:pointer}.settings-tabs button.active{color:#6c50d4;border-bottom-color:#7356df;font-weight:600}.settings-tabs button span{display:inline-block;min-width:19px;margin-left:4px;padding:1px 5px;border-radius:5px;background:#f0edf9;font-size:11px;color:#8b7cae}.settings-table-wrap{overflow-x:auto}.settings-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;white-space:nowrap}.settings-table thead{background:#f7f8fd;color:#828ba0;font-size:12px}.settings-table th,.settings-table td{padding:20px 18px;border-bottom:1px solid #edf0f9;font-weight:400}.settings-table th:first-child,.settings-table td:first-child{padding-left:25px}.settings-table th:last-child,.settings-table td:last-child{padding-right:25px}.settings-table tbody th{min-width:175px}.settings-table tbody tr:last-child th,.settings-table tbody tr:last-child td{border-bottom:0}.model-name{display:block;color:#27334e;font-weight:600;font-size:14px;margin-bottom:7px}.settings-table code{font-size:11px;color:#929bb0}.settings-row-actions{display:flex;align-items:center;gap:13px}.settings-text-button{border:none;background:transparent;color:#7156ce;padding:4px 0;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}.settings-text-button:hover{text-decoration:underline;color:#503aaf}.model-test-label{display:block;font-size:11px;color:#478875;margin-top:7px}.settings-inline-note{padding:17px 25px;display:flex;align-items:flex-start;gap:9px;color:#8891a7;background:#fcfcff;border-top:1px solid #edf0f9;font-size:12px}.settings-inline-note p{margin:0}.settings-inline-note>svg{flex-shrink:0;margin-top:2px;color:#969dbc}.settings-form{display:grid;gap:21px;padding:4px 25px 25px}.settings-form .field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#536079}.settings-form .field input,.settings-form .field select{box-sizing:border-box;width:100%;min-height:43px;padding:11px 12px;border:1px solid #e0e5f1;border-radius:9px;background:#fff;color:#28344d;font:inherit;font-size:13px}.settings-form .field input:focus,.settings-form .field select:focus{border-color:#8b77df}.settings-form .field input::placeholder{color:#a3aabd}.settings-form .field .muted{font-size:11px;line-height:1.55}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-form-intro{margin:0;color:#8490a5;font-size:13px}.settings-credential-preview{border:1px solid #e8e8f4;border-radius:10px;background:#f8f8fe;padding:15px;font-size:12px;color:#748099}.settings-credential-preview>span{display:block;margin-bottom:7px}.settings-credential-preview code{color:#7c6daa;font-size:12px;overflow-wrap:anywhere}.settings-credential-preview p{margin:6px 0 0;line-height:1.7}.settings-credential-preview p:first-child{margin-top:0}.settings-checkbox{display:flex;align-items:center;gap:9px;color:#68738b;font-size:13px}.settings-checkbox input,.settings-choice input,.settings-format-options input{accent-color:#765bdd;width:16px;height:16px;flex-shrink:0}.settings-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.settings-error{color:#a33c45;background:#fff3f4;border:1px solid #f2d0d5;padding:12px 14px;font-size:13px;line-height:1.6;border-radius:9px}.settings-demo-banner{display:flex;align-items:center;gap:13px;padding:17px 21px;background:#f5f2ff;border:1px solid #e6e0fb;border-radius:14px;color:#81709e}.settings-demo-banner>svg{flex-shrink:0;color:#8c76c7}.settings-demo-banner strong{color:#5d4c84;font-size:13px;font-weight:600}.settings-demo-banner p{font-size:12px;margin:4px 0 0}.settings-demo-banner>.tag{margin-left:auto}.settings-export-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:22px;align-items:start}.settings-fieldset{border:none;padding:0;margin:0;min-width:0}.settings-fieldset legend{color:#536079;font-size:13px;margin-bottom:10px}.settings-choice{position:relative;border:1px solid #e3e7f2;border-radius:11px;display:flex;gap:11px;padding:15px 13px;cursor:pointer;align-items:flex-start;margin-bottom:10px}.settings-choice:last-child{margin-bottom:0}.settings-choice.selected{border-color:#aa97e7;background:#faf8ff}.settings-choice input{margin:2px 0 0}.settings-choice strong{display:block;font-size:13px;font-weight:600;color:#3c4263}.settings-choice small{display:block;font-size:11px;color:#8b92a6;line-height:1.7;margin-top:7px}.settings-choice-badge{font-size:10px;color:#9377cb;background:#eee7fc;padding:3px 6px;border-radius:4px;margin-left:auto;white-space:nowrap}.settings-format-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-format-options label{border:1px solid #e3e7f2;border-radius:10px;padding:14px;display:grid;grid-template-columns:16px 1fr;align-items:center;gap:9px;cursor:pointer}.settings-format-options label.selected{border-color:#aa97e7;background:#faf8ff}.settings-format-options strong{font-size:13px;color:#47405f}.settings-format-options input{margin:0}.settings-format-options label>span{grid-column:2;color:#989db0;font-size:11px}.settings-export-action{display:flex;align-items:center;gap:15px;padding-top:10px}.settings-export-action>.muted{font-size:11px}.settings-summary{margin:0;padding:0 25px}.settings-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #eff1f8}.settings-summary dt{font-size:12px;color:#8991a6}.settings-summary dd{font-size:13px;color:#46516b;margin:0}.settings-summary code{color:#817a9e;font-size:11px}.settings-preview-experiments{padding:17px 25px}.settings-preview-experiments>div{padding:9px 0;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#5b6782}.settings-preview-experiments small{color:#a0a8ba;font-size:10px}.settings-preview-experiments p{margin:10px 0 0;font-size:11px}.settings-success{display:flex;gap:13px;align-items:center;padding:16px 20px;background:#f0fbf6;border:1px solid #d5eddf;border-radius:12px;color:#488568}.settings-success>svg{flex-shrink:0}.settings-success strong{font-size:13px}.settings-success p{margin:4px 0 0;font-size:12px;overflow-wrap:anywhere}.settings-success.compact{font-size:12px;padding:11px 14px;line-height:1.6}.settings-account-hero{display:flex;align-items:center;gap:18px;padding:28px;background:#fff}.settings-avatar{width:65px;height:65px;display:grid;place-items:center;border-radius:18px;background:#e0f5eb;color:#248362;font-size:23px;font-weight:600;flex-shrink:0}.settings-account-identity>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-account-identity h2{font-size:21px}.settings-account-identity p{margin:8px 0 0}.settings-local-badge{margin-left:auto;color:#9a92ae;font-size:11px;background:#fff;border:1px solid #e7e3f3;border-radius:16px;padding:7px 12px}.settings-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.settings-account-grid .settings-form .field,.settings-account-grid .settings-form .field input,.settings-account-grid .settings-form .field select{font-size:14px}.settings-account-grid .settings-form .field .muted,.settings-account-grid .settings-profile-role,.settings-account-grid .avatar-editor-actions p{font-size:13px;color:#536079}.settings-account-grid .settings-form input::placeholder{color:#68748c}.settings-account-grid .settings-form input:disabled,.settings-account-grid .settings-form select:disabled{background:#f5f6fa;cursor:wait}.settings-account-grid .action-feedback{margin:0}.sidebar-profile{position:relative}.sidebar-profile .sidebar-logout-feedback{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:5;margin:0;font-size:13px}.settings-profile-role{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf0f7;color:#96a0b2;font-size:12px}.settings-profile-role strong{font-weight:500;color:#79748a}.settings-assigned-classes{display:grid;gap:9px;padding:14px 15px;background:#f8f9fd;border:1px solid #e8ebf4;border-radius:10px}.settings-assigned-classes>span{color:#536077;font-size:13px}.settings-assigned-classes strong{color:#26364f;font-size:14px;font-weight:550;line-height:1.65}.settings-assigned-classes p{margin:0;color:#59657b;font-size:13px}.settings-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1080px){.settings-export-grid,.settings-account-grid{grid-template-columns:1fr}}@media(max-width:640px){.settings-stack{gap:16px}.model-budget-body{align-items:flex-start;flex-direction:column}.model-budget-detail{width:100%}.settings-section-intro{padding:19px}.settings-section-intro>.tag{display:none}.settings-form-grid{grid-template-columns:1fr}.settings-form{padding:4px 18px 20px}.settings-stack .panel-header{padding:20px 18px 17px}.settings-stack .panel-header>.btn{font-size:11px;padding:9px 12px}.settings-demo-banner{padding:15px}.settings-demo-banner>.tag{display:none}.settings-local-badge{display:none}.settings-account-hero{padding:21px}.settings-export-action{flex-wrap:wrap}}:root{font-family:PingFang SC,PingFang Sans,Microsoft YaHei,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;color:#24334e;background:#f1f3fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #24334e;--muted: #65718a;--purple: #6659f4;--purple-soft: #eeebff;--line: #e9edf6;--navy: #101f3d;--surface: #fff;--sidebar-width: 230px;--control-height: 42px;--control-padding-x: 12px;--control-radius: 9px;--control-border: #e0e5f1;--control-border-focus: #a196ed;--control-focus-ring: 0 0 0 3px #6958ed12;--control-bg: #fff;--control-fg: #2d3b55;--control-placeholder: #9da7bc;--field-gap: 9px;--field-row-gap: 14px 20px;--ex-field-cols: 2}*{box-sizing:border-box}body{margin:0;min-width:360px;min-height:100vh}body,button,input,select,textarea{font-family:PingFang SC,PingFang Sans,Microsoft YaHei,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif}button,input,select,textarea{font-size:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}button:disabled{cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:#7366eb}::selection{background:#ded8ff;color:#3b347d}svg{flex-shrink:0;vertical-align:middle}a{color:#7465d8;text-decoration:none}:where(h1,h2,h3,h4,p){margin-top:0}:where(h1,h2,h3,h4){color:var(--ink);letter-spacing:-.3px}:where(h1){font-size:28px;line-height:1.5;font-weight:650;margin-bottom:9px}:where(h2){font-size:21px;font-weight:650;line-height:1.5;margin-bottom:9px}:where(h3){font-size:16px;font-weight:650;line-height:1.6;margin-bottom:7px}:where(h4){font-size:13px;font-weight:600}:where(p){line-height:1.85}:where(.muted){color:var(--muted);font-size:12px;line-height:1.8}:where(.btn){display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:10px 17px;background:#fff;border:1px solid #e0e5f0;border-radius:9px;color:#64718c;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap}:where(.btn):hover{background:#f7f8fe;border-color:#d4d9eb}:where(.btn.primary){color:#fff;background:var(--purple);border-color:var(--purple);box-shadow:0 4px 9px #6659f413}:where(.btn.primary):hover{background:#5a4dde;border-color:#5a4dde;box-shadow:0 4px 14px #6659f429}:where(.btn.small){min-height:32px;padding:7px 11px;font-size:11px;border-radius:8px;gap:6px}:where(.btn.danger){color:#bc616c;background:#fff7f8;border-color:#f1dce0}:where(.btn.danger):hover{background:#fcecef;border-color:#e6c4cb}:where(.btn.quiet){color:#8c94aa;background:transparent;border-color:transparent;box-shadow:none}:where(.btn.quiet):hover{color:#7867c6;background:#f2effb}:where(.btn):disabled{opacity:.46;box-shadow:none}:where(.icon-button){display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border:0;background:transparent;color:#9ba5ba;border-radius:9px;padding:0}:where(.icon-button):hover{background:#f1effa;color:#7867ca}:where(.tag){display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;padding:4px 8px;border-radius:5px;font-size:10px;font-weight:500;line-height:1.45;color:#9099ac;background:#f0f2f7}.tag.purple{background:#eeebff;color:#8170d3}.tag.green{background:#eaf7f0;color:#5b9b7e}.tag.orange,.tag.warning,.tag.amber{background:#fff2e4;color:#c49359}.tag.red{background:#fcebef;color:#bd7383}.tag.neutral,.tag.gray{background:#f0f2f7;color:#8c97aa}.tag.blue{background:#eaf1ff;color:#7396c3}.tag.teal{background:#e6f4f2;color:#629e95}:where(.panel){border:1px solid #ebedf5;border-radius:23px;background:#fff;box-shadow:0 4px 18px #303d6b03;min-width:0}:where(.panel-header){display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 25px 20px}:where(.panel-header h2,.panel-header h3){margin:0}:where(.panel-header p){margin:6px 0 0;font-size:12px;color:#65718a}:where(.field){display:flex;flex-direction:column;gap:8px;color:#6e7a93;font-size:12px;margin-bottom:19px}:where(.field>span,.field>label){font-weight:500;font-size:12px}:where(.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea){width:100%;min-height:42px;padding:11px 12px;background:#fff;color:#45536e;border:1px solid #e1e6f1;border-radius:9px;font-size:12px}:where(.field textarea){resize:vertical;line-height:1.8;min-height:100px}:where(.field input,.field textarea)::placeholder{color:#aab0c0}:where(.field input,.field select,.field textarea):focus{border-color:#aca1eb}:where(.field small){color:#65718a;line-height:1.7;font-size:11px}:where(.form-actions){display:flex;gap:10px;justify-content:flex-end;align-items:center;border-top:1px solid #eceef5;padding-top:20px;margin-top:5px}:where(.form-error){padding:11px 14px;border:1px solid #f2dce1;color:#bd6d7b;border-radius:9px;background:#fff5f6;font-size:12px;line-height:1.8;margin:0 0 18px}:where(.callout){border:1px solid #e5e1f4;background:#f7f5fe;color:#9788b7;border-radius:11px;padding:13px 16px;font-size:11px;line-height:1.85}:where(.callout p){margin:0}:where(.two-col){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}:where(.section-heading){display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 17px}:where(.section-heading h2,.section-heading h3){margin:0;font-size:16px}:where(.section-heading p){color:#65718a;font-size:12px;margin:6px 0 0}:where(.tabs){display:flex;gap:26px;border-bottom:1px solid #dfe4f0;align-items:stretch;margin-bottom:23px}:where(.tabs>button){display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#8c95aa;background:transparent;border:none;border-bottom:2px solid transparent;font-size:12px;padding:12px 2px 15px;white-space:nowrap}:where(.tabs>button.active,.tabs>button[aria-selected=true]){color:#7465ca;font-weight:600;border-bottom-color:#8d7ade}:where(.tabs>button):hover{color:#7465ca}:where(.segmented){display:inline-flex;align-items:center;background:#f0f1f7;border-radius:8px;padding:3px;gap:3px}:where(.segmented>button){border:0;background:transparent;padding:7px 12px;color:#939bad;font-size:11px;border-radius:6px}:where(.segmented>button.active,.segmented>button[aria-pressed=true]){color:#7c69be;background:#fff;box-shadow:0 1px 4px #2330510b}:where(.empty-state){padding:65px 24px;text-align:center;color:#b3adca}:where(.empty-state.compact){padding:28px 20px 32px}:where(.empty-state>svg){margin-bottom:18px}:where(.empty-state.compact>svg){margin-bottom:10px}:where(.empty-state h3){margin:0 0 8px;color:#7c8199;font-size:15px;font-weight:500}:where(.empty-state.compact h3){margin-bottom:0;font-size:14px}:where(.empty-state p){color:#a0a6b8;font-size:12px;margin:0 auto;max-width:380px;line-height:1.9}:where(.empty-state .btn){margin-top:22px}:where(.empty-state.compact .btn){margin-top:14px}.list-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 26px;border-top:1px solid #edf0f6;font-size:12px;color:#7a8299}.list-pager-meta{color:#8a90a5}.list-pager-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.list-pager-size{display:inline-flex;align-items:center;gap:6px;color:#8a90a5}.list-pager-size select{min-width:64px;padding:4px 8px;border:1px solid #e2e5ef;border-radius:8px;background:#fff;color:#3d4660;font-size:12px}.list-pager-page{min-width:3.5em;text-align:center;color:#5c6580;font-variant-numeric:tabular-nums}:where(.table-wrap){overflow:auto}:where(.data-table){width:100%;border-collapse:collapse;text-align:left;font-size:12px}:where(.data-table th){background:#f8f9fd;color:#939db2;font-size:11px;font-weight:500;padding:13px 18px}:where(.data-table td){border-bottom:1px solid #edf0f6;color:#77849a;font-size:12px;padding:17px 18px;line-height:1.6}:where(.data-table tr:last-child td){border-bottom:0}:where(.search-field){display:flex;align-items:center;gap:9px;border:1px solid #e4e8f3;background:#fafbff;color:#a1aabe;border-radius:9px;padding:10px 13px}:where(.search-field input){border:0;outline:0;background:transparent;color:#626f87;width:100%;min-width:0;font-size:12px}:where(.search-field input)::placeholder{color:#a1aabe}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;padding:38px 20px;display:flex;align-items:center;justify-content:center;background:#17224260;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overflow-y:auto}.modal{width:min(510px,100%);max-height:calc(100dvh - 76px);overflow:auto;background:#fff;border:1px solid #ffffffb3;border-radius:21px;box-shadow:0 25px 100px #11213b33;animation:modal-appear .2s ease}.modal.wide{width:min(850px,100%)}.modal-header{padding:18px 22px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid #eef0f6;position:sticky;top:0;z-index:4}.modal-header h2{color:#36445f;font-size:18px;font-weight:600;margin:0}.modal-content{padding:18px 22px 20px}.modal-content:has(>.class-management-form){padding:16px 20px 18px}.toast-region{position:fixed;right:26px;bottom:27px;z-index:400;display:grid;gap:10px;max-width:min(425px,calc(100vw - 40px));pointer-events:none}.toast{display:flex;align-items:center;gap:12px;color:#657565;background:#fffffff5;border:1px solid #e1eae2;border-radius:12px;padding:15px 19px;font-size:12px;line-height:1.7;box-shadow:0 8px 35px #24335a19;animation:toast-appear .25s ease;pointer-events:auto}.toast>svg:first-child{color:#89ab8c}.toast .icon-button{margin-left:auto;width:23px;height:23px}.help-content{font-size:13px;line-height:1.9;color:#8a92a7}.help-content h3{color:#5b6681;font-size:14px;margin:20px 0 9px}.help-content h3:first-child{margin-top:0}.help-content p{margin:0 0 14px}.help-content ul{padding-left:20px}.help-content li{margin-bottom:8px}.app-shell{min-height:100vh;background:#f0f3fc url(/assets/light-surface.png) center top / cover fixed}.skip-link{position:fixed;left:248px;top:-60px;z-index:300;padding:11px 16px;color:#fff;border-radius:8px;background:#6659f4;font-size:12px}.skip-link:focus{top:12px}.sidebar{position:fixed;inset:0 auto 0 0;z-index:80;display:flex;flex-direction:column;width:var(--sidebar-width);min-height:100dvh;padding:30px 18px 22px;color:#b8c1d6;background:#111f3c url(/assets/dark-surface.png) center / cover}.brand-button{border:0;background:transparent;padding:0;text-align:left;color:inherit;margin:3px 6px 44px}.brand{display:flex;align-items:center;gap:11px;color:#f7f8ff}.brand-mark{width:35px;height:38px;display:grid;place-items:center;color:#bcb8ff;background:#808fe615;border:1px solid #9daaf024;border-radius:10px;flex-shrink:0}.brand>div{display:flex;flex-direction:column;gap:5px}.brand strong{font-size:17px;font-weight:600;letter-spacing:.2px;line-height:1.4}.sidebar .brand strong{white-space:nowrap}.brand>div>span{color:#7e8fae;font-size:10px;letter-spacing:2px;line-height:1.5}.nav-group{margin-bottom:32px}.nav-group-label{display:block;color:#5f7494;font-size:10px;font-weight:500;letter-spacing:1.3px;margin:0 15px 13px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:45px;padding:12px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:#899bb7;font-size:12px;text-align:left;margin-bottom:7px;white-space:nowrap}.nav-item>svg{display:block;flex-shrink:0;color:#8499bd}.nav-item:hover{color:#d4dcf0;background:#ffffff07}.nav-item.active{color:#eeedff;background:#7685e31c;border-color:#7183cc19}.nav-item.active:before{content:"";position:absolute;height:19px;width:2px;background:#a599fe;border-radius:3px;left:-1px}.nav-item.active>svg{color:#b4adfc}.nav-indicator{width:5px;height:5px;border-radius:50%;background:#af97f0;margin-left:auto;box-shadow:0 0 0 4px #c8b2ff09}.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#ff9d57;color:#fff;font-size:11px;font-weight:650;line-height:20px;text-align:center;font-variant-numeric:tabular-nums}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-bottom>.nav-item{color:#7d91b0}.sidebar-bottom>.nav-item.active{color:#dbd6fb}.sidebar-divider{height:1px;background:#8a9bc514;margin:19px 9px 20px}.sidebar-profile{display:flex;align-items:center;gap:10px;padding:0 7px}.sidebar-profile .avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#cdece0;color:#508778;font-size:12px;flex-shrink:0;overflow:hidden}.sidebar-profile .avatar img{width:100%;height:100%;object-fit:cover}.sidebar-profile-card{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:4px 6px;margin:-4px -6px;text-align:left;border:0;border-radius:10px;background:transparent;cursor:pointer;color:inherit}.sidebar-profile-card:hover{background:#ffffff0a}.sidebar-profile-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-profile strong,.sidebar-profile-meta>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile strong{color:#c7d2e5;font-size:12px;font-weight:500}.sidebar-profile-meta>span{color:#6e83a6;font-size:9px}.sidebar-profile>.icon-button{margin-left:auto;color:#657e9f;width:25px;height:30px;flex-shrink:0}.sidebar-profile>.icon-button:hover{background:#ffffff0a;color:#b9c7df}.main-shell{margin-left:var(--sidebar-width);min-width:0}.topbar{min-height:77px;border-bottom:1px solid #cfd8ed51;padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f8faff6b}.topbar-left{display:flex;align-items:center;gap:13px;font-size:11px;color:#7f8ca7;min-width:0}.topbar-course{color:#7e8ba6;white-space:nowrap}.topbar-course>span{padding-left:13px;color:#b1bacb}.topbar-left select{color:#647494;border:0;background:transparent;padding:7px 18px 7px 0;font-size:11px;cursor:pointer}.breadcrumb-end{color:#a4acc0;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:23px;flex-shrink:0}.api-status-banner{margin:0 0 14px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.45;border:1px solid #d7deec;background:#f7f8fc;color:#334155}.api-status-banner.online{border-color:#b7e4c7;background:#f0faf3;color:#1b4332}.api-status-banner.offline{border-color:#f0c2a0;background:#fff7f0;color:#7c2d12}.api-status-banner.checking{border-color:#d7deec;background:#f7f8fc}.api-status-banner.bar{margin:0;border-radius:0;border-left:0;border-right:0;border-top:0}.prototype-pill{display:flex;align-items:center;gap:6px;font-size:10px;color:#9a93b7}.prototype-pill>span{height:5px;width:5px;border-radius:50%;background:#a392d7}.topbar .view-switch{background:#ffffff80;color:#8f85b2;border-color:#dcdff1;font-size:10px;min-height:32px;padding:7px 11px}.topbar .view-switch:hover{color:#7666ae;background:#fff}.mobile-toggle,.sidebar-scrim{display:none}.main-content{width:100%;max-width:1214px;margin:0 auto;padding:31px 36px 27px;min-height:calc(100vh - 77px)}.page-stack{display:flex;flex-direction:column;gap:22px}.eyebrow{display:block;color:#9287b6;font-size:10px;letter-spacing:1.2px;font-weight:500;margin-bottom:9px}.text-button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;padding:4px 0;color:#9686b7;font-size:11px;white-space:nowrap}.text-button:hover{color:#7460aa}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:0 0 2px}.page-heading h1{margin:0 0 9px;font-size:27px;font-weight:650}.page-heading p{font-size:12px;line-height:1.8;color:#8f9bb0;margin:0}.page-footnote{display:flex;align-items:baseline;gap:7px;font-size:10px;line-height:1.8;color:#a5acc0;margin:-6px 1px 0}.page-footnote>svg{transform:translateY(2px)}.toast.error{color:#b76c7b;background:#fff9fa;border-color:#efdce2}.toast.error>svg:first-child{color:#c1848f}.course-hero{display:flex;align-items:center;gap:20px;padding:24px 27px}.course-hero-icon{width:67px;height:67px;display:grid;place-items:center;color:#b098f0;background:#f0eaff;border-radius:20px;flex-shrink:0}.course-hero-copy{flex:1;min-width:0}.hero-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-title-row h1{font-size:25px;font-weight:650;line-height:1.45;letter-spacing:-.7px;margin:0 8px 0 0;color:#26354e}.hero-title-row .tag{font-size:9px;padding:4px 7px}.course-hero-copy>p{margin:7px 0 14px;color:#8e99ad;font-size:12px;line-height:1.6}.course-meta{display:flex;align-items:center;flex-wrap:wrap;gap:20px;color:#8895ad;font-size:11px}.course-meta>span{display:flex;align-items:center;gap:6px}.course-meta svg{color:#a4aac8}.course-hero>.btn{align-self:flex-start;margin-top:8px;color:#9790aa;border-color:#e4e1ee;font-size:10px}.todo-panel{padding-bottom:18px}.todo-panel .panel-header{padding:16px 20px 10px}.todo-panel .panel-header h2{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:#59667f}.todo-panel .panel-header h2>svg{color:#a99bc9}.todo-panel .panel-header .tag{font-size:9px}.todo-panel .student-next-block{margin:0 20px;padding:11px 14px;border:1px solid #eeeaf9;background:#faf9fd;border-radius:10px;display:grid;gap:8px}.student-next-head{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-height:22px}.student-next-head>.eyebrow{flex:0 0 auto;font-size:11px;font-weight:550;color:#877b9e;letter-spacing:.02em;line-height:1}.student-next-head>strong{flex:0 1 auto;min-width:0;font-size:14px;font-weight:650;color:#3d4558;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-next-meta{flex:0 0 auto;margin-left:auto;font-size:11px;line-height:1;white-space:nowrap}.student-next-row{display:flex;align-items:center;gap:0;min-height:36px}.student-next-cta.btn.primary{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:36px;min-height:36px;max-height:36px;padding:0 14px;font-size:13px;font-weight:550;line-height:1;gap:7px;box-shadow:none;white-space:nowrap}.student-next-cta.btn.primary>span{display:inline-flex;align-items:center;line-height:1}.student-next-cta.btn.primary>svg{display:block;flex-shrink:0}.student-next-steps{display:flex;align-items:center;align-self:stretch;gap:0;min-width:0;height:36px;margin-left:14px;padding-left:14px;border-left:1px solid #e4dcf2}.student-next-steps>button{display:inline-flex;align-items:center;justify-content:center;height:28px;border:0;background:transparent;color:#7b6b99;font-size:12px;font-weight:550;line-height:1;padding:0 7px;border-radius:6px;cursor:pointer;white-space:nowrap}.student-next-steps>button:hover{color:#5b4a7a;background:#f0ebf8}.student-next-steps>button.is-current{color:#5b4a7a;background:#efe8f8}.student-next-steps>.sep{display:inline-flex;align-items:center;justify-content:center;height:28px;color:#d0c6df;font-size:12px;line-height:1;-webkit-user-select:none;user-select:none;padding:0 1px}.student-next-empty{margin:0 20px 4px;font-size:13px;line-height:1.55}.student-focus-brief{margin:0;padding:0;font-size:12px;line-height:1.45;color:#8a8499}.todo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 25px}.todo-item{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:49px;padding:12px 15px;border:1px solid #eeeaf9;background:#faf9fd;border-radius:10px;text-align:left}.todo-item>span{display:flex;align-items:center;gap:8px;color:#877b9e;font-size:12px}.todo-item>span>svg{color:#b5a4cc}.todo-item strong{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:550;color:#9a83bb;white-space:nowrap}.todo-item strong>svg{color:#bdafce}.todo-item:hover{background:#f5f1fc;border-color:#e3d9f2}.overview-columns{display:grid;grid-template-columns:minmax(0,1.64fr) minmax(0,1fr);gap:22px;align-items:stretch}.overview-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:2px 24px 24px}.overview-stat{padding:18px 20px 16px;border-radius:14px;background:#f6f7fb;border:1px solid #e6eaf3}.overview-stat-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#65718a;margin-bottom:10px}.overview-stat-label>svg{color:#8b97b0}.overview-stat strong{display:block;font-size:28px;line-height:1.15;font-weight:650;color:#3d4d68;letter-spacing:-.02em}.overview-stat small{display:block;margin-top:6px;font-size:11px;font-weight:400;color:#7a8499}.admin-dash-panel>.panel-header.compact{padding-bottom:8px}.admin-config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:2px 24px 24px}.admin-config-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:20px 18px 18px;border-radius:14px;border:1px solid #e6eaf3;background:#f6f7fb;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.admin-config-card:hover{background:#fff;border-color:#d5dced;transform:translateY(-1px)}.admin-config-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;flex-shrink:0}.admin-config-icon.teal{background:#e8f6f0;color:#6fa090}.admin-config-icon.blue{background:#eaf3ff;color:#7f9bc4}.admin-config-icon.purple{background:#f0ebfb;color:#9d8bc4}.admin-config-icon.green{background:#eaf6ef;color:#74a48f}.admin-config-card strong{font-size:14px;font-weight:600;color:#3d4d68}.admin-config-card p{margin:0;font-size:12px;line-height:1.45;color:#7a8499}.page-heading-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.topbar-class{color:#647494;white-space:nowrap}.current-experiment .panel-header{padding:21px 25px 16px}.current-experiment .panel-header h2{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600}.section-icon{display:grid;place-items:center;color:#9d86cb}.current-content{padding:4px 25px 24px}.current-content>.eyebrow{font-size:9px;letter-spacing:.4px;margin-bottom:10px;color:#b1a2c4}.current-content>h2{margin:0 0 11px;font-size:23px;letter-spacing:-.5px;font-weight:650;color:#35445d}.current-content>p{color:#8993a9;font-size:12px;line-height:1.9;margin:0 0 19px}.lesson-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 14px 15px;border:1px solid #efedf7;background:#faf9fe;border-radius:12px}.lesson-steps>div{position:relative;padding-left:31px}.lesson-steps>div>span{position:absolute;left:0;top:-1px;color:#bcaace;font-size:10px;background:#f1ebf9;width:23px;height:23px;border-radius:7px;display:grid;place-items:center}.lesson-steps strong{display:block;font-size:12px;color:#837492;font-weight:550;line-height:1.8;white-space:nowrap}.lesson-steps p{color:#a198ad;font-size:10px;margin:4px 0 0;line-height:1.5;white-space:normal}.current-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:22px}.current-footer>span{display:flex;align-items:center;gap:6px;color:#9c95ac;font-size:11px;white-space:nowrap}.current-footer>.btn{padding:10px 14px;font-size:11px;min-height:38px}.class-ready{display:flex;flex-direction:column;padding-bottom:20px}.class-ready .panel-header{padding:23px 23px 15px}.class-ready .panel-header h2{font-size:15px;font-weight:600}.ready-row{display:flex;align-items:center;text-align:left;gap:12px;border:0;background:#fff;width:calc(100% - 40px);margin:0 20px 4px;padding:12px 10px;border-radius:10px;border-bottom:0;cursor:pointer}.ready-row+.ready-row{box-shadow:inset 0 1px #f1eff6}.ready-row:hover{background:#f4f6fb}.ready-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#93aecb;background:#eef4fc;flex-shrink:0}.ready-icon.teal{background:#e8f6f0;color:#82b0a0}.ready-icon.purple{background:#f0ebfb;color:#ad97d1}.ready-icon.blue{background:#eaf3ff;color:#94b0d5}.ready-icon.green{background:#eaf6ef;color:#80ac98}.ready-row>div{min-width:0}.ready-row strong{font-size:13px;font-weight:550;color:#72788f}.ready-row p{margin:4px 0 0;font-size:11px;color:#9d97ac;line-height:1.5}.ready-row>svg:last-child{margin-left:auto;color:#c5bdce}.subtle-note{margin:auto 24px 0;padding-top:18px;color:#a19aad;font-size:10px;line-height:1.8}.student-reminders{display:grid;gap:20px;margin:4px 23px 0}.student-reminders p{display:flex;align-items:baseline;gap:10px;color:#9a93ac;font-size:12px;line-height:1.9;margin:0}.student-reminders svg{color:#b7a5d5;width:18px;transform:translateY(3px)}.next-experiments .panel-header{padding:22px 25px 18px}.next-experiments .panel-header h2{font-size:15px;font-weight:600}.next-experiments .panel-header p{color:#9498ad;font-size:11px;margin-top:6px}.next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding:0 25px 25px}.next-item{display:grid;grid-template-columns:1fr auto;align-content:start;align-items:center;background:#fff;text-align:left;padding:18px 18px 15px;border:1px solid #ecebf5;border-radius:13px;min-width:0}.next-item:hover{background:#fcfbff;border-color:#dcd5ec;box-shadow:0 3px 14px #44366505}.next-item>.tag{justify-self:end;font-size:9px;padding:3px 6px;color:#a59daf;background:#f7f5fa}.type-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:13px;flex-shrink:0;color:#aa98cf;background:#f0ebfa}.type-icon.purple{color:#a792d8;background:#eee8fb}.type-icon.blue{color:#91acd7;background:#edf3fd}.type-icon.teal{color:#8cb9a7;background:#eaf7f1}.type-icon.orange{color:#d0ae82;background:#fff6e9}.type-icon.pink{color:#c294b9;background:#fbeef7}.type-icon.cyan{color:#83b6c1;background:#e8f6f8}.next-item>.type-icon{width:41px;height:41px;border-radius:11px}.next-item>h3{grid-column:1 / -1;font-size:14px;color:#6c7390;font-weight:550;margin:15px 0 8px;line-height:1.6}.next-item>p{grid-column:1 / -1;color:#9990a8;font-size:11px;line-height:1.85;margin:0;min-height:41px}.next-link{grid-column:1 / -1;display:flex;gap:5px;align-items:center;color:#a18aad;font-size:10px;margin-top:14px}.catalog-toolbar{padding:12px 16px 0;display:flex;align-items:center;gap:16px;justify-content:space-between;border-bottom:1px solid #edf0f7}.catalog-toolbar>.tabs{border-bottom:0;margin:0;align-self:stretch;gap:20px}.catalog-toolbar>.tabs>button{padding:10px 0 12px;font-size:12px}.catalog-toolbar>.search-field{width:220px;margin-bottom:10px;flex-shrink:0;padding:8px 10px}.experiment-list{padding:10px 16px 16px;display:flex;flex-direction:column;gap:4px}.experiment-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:12px;cursor:pointer;box-sizing:border-box;transition:background .12s ease,border-color .12s ease}.experiment-row.is-locked{cursor:default;opacity:.78}.experiment-row:hover{background:#f4f6fb;border-color:#e6eaf3}.experiment-row.is-locked:hover{background:#f7f8fb;border-color:#eef0f5}.experiment-row:focus-visible{background:#f4f6fb;border-color:#c9cce0}.experiment-row:active:not(.is-locked){background:#eef1f8;border-color:#dde2ee}.experiment-row>.type-icon{width:32px;height:32px;border-radius:9px;flex-shrink:0}.experiment-row-text{flex:1;min-width:0}.experiment-row-text>div{display:flex;align-items:baseline;gap:8px}.experiment-number{font-size:11px;color:#9aa3b8;font-weight:550;flex-shrink:0;min-width:1.6em}.experiment-row-text h2{color:#3a4760;font-size:14px;font-weight:600;margin:0;line-height:1.35}.experiment-row-text p,.experiment-row-meta{color:#7d879c;font-size:12px;line-height:1.4;margin:3px 0 0;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.experiment-row-text>.muted{font-size:12px;color:#7d879c}.experiment-row>.tag{margin:0;font-size:10px;flex-shrink:0}.experiment-row-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.experiment-row-action,.experiment-row-link{display:inline-flex;align-items:center;gap:4px;color:#6b63c4;font-size:12px;white-space:nowrap;border:0;background:none;padding:0;cursor:pointer;font:inherit;max-width:220px;overflow:hidden;text-overflow:ellipsis}.experiment-row-link.is-muted{color:#9aa3b8;cursor:default}.experiment-row-actions .text-button{font-size:12px}.task-row{display:flex;align-items:center;gap:14px;width:calc(100% - 24px);margin:0 12px;padding:14px 12px;border:0;border-radius:12px;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}.task-row+.task-row{box-shadow:inset 0 1px #eef0f6}.task-row:hover{background:#f4f6fb}.task-row-cta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:#6b5fd4;font-size:12px;font-weight:550;white-space:nowrap}.task-row>div{flex:1}.task-row h3{color:#65738d;font-size:14px;margin:0 0 7px;font-weight:550}.task-row p{font-size:12px;color:#a0a8bb;margin:0;line-height:1.8}.record-row{align-items:flex-start}.record-row>.type-icon{margin-top:2px}.record-toggle{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;font:inherit}.record-toggle:hover h3{color:#5a3fd8}.record-detail{margin:12px 0 0;padding:12px 14px;border-radius:10px;background:#f7f7fb;display:grid;gap:8px}.record-detail>div{display:grid;grid-template-columns:88px 1fr;gap:10px}.record-detail dt{color:#a0a8bb;font-size:12px}.record-detail dd{margin:0;color:#3f4a61;font-size:13px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.task-row>.type-icon{width:42px;height:42px;border-radius:11px}.login-screen{min-height:100dvh;display:grid;grid-template-columns:46% 54%;background:#f2f4fc url(/assets/light-surface.png) center / cover}.login-story{position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;padding:47px 57px 36px;background:#11203d url(/assets/dark-surface.png) center / cover;color:#fff;display:flex;flex-direction:column}.login-particle-field{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.88}.login-story-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;min-height:0}.login-story .brand{gap:13px}.login-story .brand-mark{width:40px;height:43px;border-radius:11px}.login-story .brand strong{font-size:17px;letter-spacing:-.2px}.login-story .brand>div>span{font-size:10px;letter-spacing:2.5px}.login-affiliation{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:18px 0 0;color:#c5d4ec;font-size:13px;letter-spacing:.4px;line-height:1.4}.login-affiliation-sep{width:1px;height:12px;background:#7a91b688;flex-shrink:0}.login-story-body{width:100%;max-width:430px;margin:auto 0;padding:52px 0 48px}.login-eyebrow{color:#8296bd;font-size:11px;letter-spacing:2px;margin:0 0 28px}.login-story-body h1{color:#eef2ff;font-size:34px;line-height:1.45;font-weight:550;letter-spacing:-.6px;margin:0 0 36px}.login-story-body>h1:only-child{margin-bottom:0}.login-description{font-size:13px;color:#8095b6;line-height:1.85;margin:0 0 28px;max-width:22em}.login-story-footer{color:#8fa3c4;font-size:11px;letter-spacing:.8px}.login-form-side{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 50px 25px;position:relative}.login-form-wrap{width:100%;max-width:355px;margin:auto 0}.login-welcome{margin-bottom:30px}.login-welcome>.eyebrow{color:#a094b8;font-size:10px;letter-spacing:1.6px;margin-bottom:17px}.login-welcome h2{font-size:28px;color:#2c3d5c;margin:0 0 11px;font-weight:650;letter-spacing:-.8px}.login-welcome p{color:#69748c;font-size:14px;margin:0}.role-picker{display:flex;margin:28px 0 29px;width:100%;background:#e9eaf59c;padding:4px;border:1px solid #e2e4f1;border-radius:9px}.role-picker>button{flex:1;min-height:34px;font-size:12px;color:#9c9eb6}.role-picker>button.active{color:#8d79bd;background:#fff;box-shadow:0 2px 6px #394d7510}.login-form-wrap .field{font-size:14px;color:#58657d;gap:10px;margin-bottom:22px}.login-form-wrap .field>input,.password-input{background:#ffffffa6;border:1px solid #dfe3f0;border-radius:9px;min-height:46px;color:#7d87a3}.login-form-wrap .field>input{padding:13px 14px;font-size:12px}.password-input{display:flex;align-items:center;padding-right:8px}.password-input input{min-height:44px;width:100%;min-width:0;border:0;border-radius:9px;outline:none;background:transparent;padding:13px 14px;font-size:12px;color:#7d87a3}.password-input .icon-button{color:#a8a9c0;width:31px;height:31px}.login-options{display:flex;align-items:center;justify-content:space-between;margin:-7px 0 23px}.login-options>span{font-size:10px;color:#b3b2c2}.login-options .text-button{font-size:10px;color:#a28eb9}.login-submit{width:100%;min-height:46px;justify-content:center;gap:13px;font-size:13px;border-radius:9px;letter-spacing:1px}.demo-login-note{display:flex;gap:11px;margin-top:28px;padding:15px 16px;border:1px solid #e6e0f3;border-radius:10px;background:#f5f0fb99;color:#b3a0c9}.demo-login-note>svg{margin-top:2px}.demo-login-note strong{display:block;color:#9781ab;font-size:11px;font-weight:500;margin-bottom:8px}.demo-login-note p{color:#9383a5;font-size:12px;margin:0 0 6px;font-variant-numeric:tabular-nums}.demo-login-note span{display:block;font-size:10px;color:#aa9ab8;line-height:1.7}.login-copyright{padding-top:38px;color:#b4b3c5;font-size:10px;letter-spacing:.5px}.force-password-logout{margin-top:18px;text-align:center}.force-password-logout .text-button{font-size:13px;color:#8a7aa8}.force-password-screen .form-error{margin:-6px 0 18px}@media(min-width:1600px){.main-content{padding-top:38px}.login-story{padding-left:80px;padding-right:70px}.login-story-body{max-width:480px}.login-story-body h1{font-size:43px}.login-form-wrap{max-width:380px}}@media(max-width:1200px)and (min-width:1001px){.main-content{padding:28px}.topbar{padding-left:28px;padding-right:28px}.course-hero{gap:16px;padding:22px}.course-hero-icon{width:57px;height:57px;border-radius:17px}.hero-title-row{gap:6px}.hero-title-row h1{font-size:23px}.course-hero>.btn{display:none}.overview-columns{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:19px}.overview-stat-grid,.admin-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.current-content,.current-experiment .panel-header{padding-left:21px;padding-right:21px}.lesson-steps{padding-left:11px;padding-right:11px;gap:8px}.lesson-steps>div{padding-left:0}.lesson-steps>div>span{position:static;margin-bottom:7px}.lesson-steps p{margin-left:0;font-size:9px}.current-footer{gap:9px;flex-wrap:wrap;margin-top:18px}.current-footer>.btn{margin-left:auto}.todo-grid{gap:10px}.todo-item{padding:11px 12px;gap:10px}.todo-item>span{font-size:11px}.todo-item strong{gap:6px;font-size:11px}.todo-item strong>svg{display:none}.next-grid{gap:13px}.next-item{padding:16px 14px 14px}.next-item>h3{font-size:13px}.catalog-toolbar>.search-field{width:220px}.experiment-row{gap:10px}.experiment-row>.tag{margin:0}.experiment-row-action,.experiment-row-link{font-size:11px}}@media(max-width:1000px){.sidebar{width:230px;transform:translate(-100%);transition:transform .2s ease;z-index:100}.sidebar.open{transform:translate(0);box-shadow:18px 0 50px #12213e33}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#15244555;border:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-shell{margin-left:0}.mobile-toggle{display:inline-flex;margin-left:-7px}.skip-link{left:20px}.topbar{padding:0 28px;min-height:70px}.main-content{padding:28px;min-height:calc(100vh - 70px)}.course-hero>.btn{font-size:10px}.login-screen{display:flex;flex-direction:column}.login-story{min-height:0;padding:30px 40px 31px}.login-story-body{max-width:none;padding:28px 0 0;margin:0}.login-story-body h1{font-size:27px;line-height:1.65;margin:0}.login-description,.login-story-footer,.login-eyebrow{display:none}.login-affiliation{margin-top:12px;font-size:12px;gap:8px 12px}.login-form-side{min-height:0;flex:1;padding:36px 36px 25px}.login-form-wrap{max-width:390px}.login-welcome>.eyebrow{display:none}.login-welcome h2{font-size:26px}.role-picker{margin-top:22px}.login-copyright{padding-top:28px}}@keyframes modal-appear{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-appear{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){:where(.two-col){grid-template-columns:1fr;gap:0}:where(.panel){border-radius:17px}:where(.panel-header){padding:20px 18px 17px}:where(.section-heading){gap:12px;align-items:flex-start}:where(.tabs){gap:20px;overflow-x:auto}:where(.tabs>button){font-size:11px}.modal-backdrop{padding:16px 12px}.modal{max-height:calc(100dvh - 32px);border-radius:17px}.modal-header{padding:17px 19px 14px}.modal-header h2{font-size:16px}.modal-content{padding:19px}.toast-region{right:16px;bottom:18px;max-width:calc(100vw - 32px)}.toast{font-size:11px;padding:13px 15px}.topbar{min-height:64px;padding:0 18px;gap:10px}.topbar-left{gap:8px;font-size:11px}.topbar-course,.breadcrumb-end{display:none}.topbar-actions{gap:8px}.prototype-pill{display:none}.topbar .view-switch{font-size:10px;padding:7px 9px}.topbar-left select{padding-right:12px;font-size:11px}.main-content{padding:22px 17px 24px}.page-stack{gap:17px}.page-heading{align-items:flex-start;gap:14px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px}.page-heading>.btn{font-size:11px;padding:9px 12px;margin-top:11px}.course-hero{align-items:flex-start;padding:20px;gap:13px}.course-hero-icon{width:47px;height:47px;border-radius:13px}.course-hero-icon svg{width:27px;height:27px}.hero-title-row{gap:6px}.hero-title-row h1{flex-basis:100%;font-size:22px;margin:0 0 5px}.hero-title-row .tag{font-size:8px;padding:3px 5px}.course-hero-copy>p{font-size:11px;line-height:1.8;margin-top:12px}.course-hero>.btn{display:none}.course-meta{gap:9px 14px;font-size:10px}.course-meta>span:last-child{display:none}.todo-panel{padding-bottom:14px}.todo-panel .panel-header{padding:14px 16px 10px}.todo-panel .panel-header h2{font-size:13px}.todo-panel .student-next-block{margin:0 16px;padding:10px 12px}.student-next-head{flex-wrap:wrap;row-gap:4px}.student-next-meta{margin-left:0}.student-next-row{flex-wrap:wrap;row-gap:8px}.student-next-steps{margin-left:0;padding-left:0;border-left:0;height:28px;width:100%}.todo-grid{grid-template-columns:1fr;padding:0 18px;gap:8px}.todo-item{min-height:43px;padding:10px 13px;border-radius:9px}.todo-item>span,.todo-item strong{font-size:11px}.overview-columns{grid-template-columns:1fr;gap:17px}.overview-stat-grid,.admin-config-grid{grid-template-columns:1fr 1fr}.current-experiment .panel-header{padding:21px 21px 17px}.current-content{padding:0 21px 22px}.current-content>h2{font-size:21px}.current-content>p{font-size:12px}.lesson-steps{gap:9px;padding:14px 11px}.lesson-steps>div{padding-left:0}.lesson-steps>div>span{position:static;margin-bottom:8px}.lesson-steps strong{font-size:11px}.lesson-steps p{font-size:9px;margin-left:0}.current-footer{gap:12px;margin-top:18px;flex-wrap:wrap}.current-footer>span{font-size:10px}.current-footer>.btn{font-size:10px;margin-left:auto;padding:9px 11px}.class-ready .panel-header{padding:21px 21px 12px}.ready-row{padding-top:14px;padding-bottom:14px}.subtle-note{margin-left:21px;margin-right:21px}.next-experiments .panel-header{padding:21px 21px 17px}.next-grid{grid-template-columns:1fr;padding:0 20px 20px;gap:12px}.next-item{padding:17px}.next-item>h3{font-size:14px;margin-top:12px}.next-item>p{min-height:0;font-size:11px}.next-link{margin-top:13px}.page-footnote{font-size:9px;margin-top:-1px}.catalog-toolbar{flex-direction:column-reverse;align-items:stretch;gap:1px;padding:19px 20px 0}.catalog-toolbar>.search-field{width:100%;margin-bottom:7px}.catalog-toolbar>.tabs{gap:25px}.catalog-toolbar>.tabs>button{padding-bottom:16px;font-size:11px}.experiment-list{padding:8px 12px 12px}.experiment-row{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"num text status" "num meta actions";gap:2px 10px;padding:10px;align-items:center}.experiment-row>.type-icon{display:none}.experiment-number{grid-area:num;align-self:start;margin-top:2px}.experiment-row-text{grid-area:text;display:contents}.experiment-row-text h2{grid-area:text;font-size:14px;line-height:1.35}.experiment-row-text p,.experiment-row-meta{grid-area:meta;font-size:11px;margin:0;white-space:normal}.experiment-row>.tag{grid-area:status;margin:0;font-size:9px}.experiment-row-actions,.experiment-row-action{grid-area:actions;justify-self:end;font-size:11px}.task-row{margin:0 19px;gap:12px;flex-wrap:wrap;padding:21px 0}.task-row>div{flex-basis:calc(100% - 58px)}.task-row>.btn{margin-left:54px}.task-row h3{font-size:13px}.task-row p{font-size:11px}.login-screen{display:flex;flex-direction:column}.login-story{min-height:0;padding:25px 28px 29px}.login-story .brand strong{font-size:17px}.login-story .brand-mark{width:35px;height:36px}.login-story .brand>div>span{font-size:9px}.login-story-body{max-width:none;padding:30px 0 0;margin:0}.login-eyebrow{display:none}.login-story-body h1{font-size:24px;margin:0;line-height:1.75;font-weight:500}.login-description,.login-story-footer{display:none}.login-form-side{min-height:0;padding:34px 29px 22px}.login-form-wrap{max-width:390px}.login-welcome>.eyebrow{display:none}.login-welcome h2{font-size:24px;margin-bottom:8px}.login-welcome p{font-size:11px}.role-picker{margin:21px 0 24px}.login-form-wrap .field{margin-bottom:20px}.demo-login-note{margin-top:24px}.login-copyright{padding-top:26px;font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--ink: #17243a;--muted: #46546b;--read-primary: #17243a;--read-secondary: #46546b;--read-link: #58409b;--read-placeholder: #637088;font-size:15px;color:var(--read-primary)}body,.app-shell,.admin-page,.roster-page,.settings-stack,.ex-workspace{color:var(--read-primary);font-size:15px}.ex-workspace{--ex-ink: #17243a;--ex-muted: #46546b}.page-heading h1,.hero-title-row h1,.current-content>h2,.roster-topline h2,.login-welcome h2,.ex-workspace h1{color:var(--read-primary);font-size:28px;font-weight:650;line-height:1.45}.panel-header h2,.panel-header h3,.section-heading h2,.section-heading h3,.todo-panel .panel-header h2,.current-experiment .panel-header h2,.class-ready .panel-header h2,.next-experiments .panel-header h2,.admin-account-panel .panel-header h2,.admin-permissions .panel-header h2,.roster-panel-heading h3,.settings-stack h2,.ex-workspace h3{color:var(--read-primary);font-size:18px;line-height:1.55}.modal-header h2{color:var(--read-primary);font-size:20px}.page-heading p,.course-hero-copy>p,.current-content>p,.task-row p,.student-reminders p,.roster-topline p,.admin-form-description,.admin-status-dialog>p,.settings-form-intro,.settings-account-identity p,.ex-workspace-heading p,.ex-question-preview,.ex-question-stem,.ex-compare-stem,.ex-source-passage p,.ex-sample-output>p,.ex-bubble p,.ex-peer-evidence p,.ex-answer-box p,.ex-readable-list,.help-content,.login-welcome p{color:var(--read-secondary);font-size:15px;line-height:1.8}.muted,.field small,.panel-header p,.section-heading p,.page-footnote,.eyebrow,.text-button,.subtle-note,.settings-stack .muted,.settings-stack .panel-header p,.admin-account-panel .panel-header p,.admin-permissions .panel-header p,.ex-workspace .panel-header p,.ex-field small,.ex-section-intro p,.ex-side-panel>.muted,.ex-private-section>.muted{color:var(--read-secondary);font-size:13px;line-height:1.75}.field,.field>span,.field>label,.settings-form .field,.roster-form .field label,.roster-import .field label,.ex-field,.ex-label,.admin-role-options legend,.settings-fieldset legend{color:var(--read-primary);font-size:14px;font-weight:500}.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select,.settings-form .field input,.settings-form .field select,.roster-form input:not([type=checkbox]):not([type=radio]),.roster-import select,.ex-field input:not([type=checkbox]):not([type=radio]),.ex-field textarea,.ex-field select,.ex-control,.ex-chat-composer textarea,.ex-filter,.admin-role-filter select,.roster-status-filter select,.topbar-left select{min-height:var(--control-height, 42px);color:var(--read-primary);font-size:14px;line-height:1.6;border-color:#c9d2e2}.ex-field .password-input input:not([type=checkbox]):not([type=radio]),.ex-field .ops-secret-input input:not([type=checkbox]):not([type=radio]),.ex-field .ops-chip-input>input:not([type=checkbox]):not([type=radio]),.ex-field .ex-control-shell>input:not([type=checkbox]):not([type=radio]){min-height:0;border:0;box-shadow:none;background:transparent}.field input::placeholder,.field textarea::placeholder,.settings-form .field input::placeholder,.ex-field input::placeholder,.ex-field textarea::placeholder,.ex-chat-composer textarea::placeholder,.search-field input::placeholder,.roster-search input::placeholder,.login-form-wrap input::placeholder{color:var(--read-placeholder);opacity:1}.btn,.btn.small,.topbar .view-switch,.course-hero>.btn,.current-footer>.btn,.settings-stack .panel-header>.btn{min-height:42px;font-size:14px;color:var(--read-secondary);padding:10px 16px}.btn.small{min-height:40px;padding:9px 12px}.btn.primary,.login-submit{color:#fff}.btn.danger{color:#9b344b}.btn.quiet{color:#536078}.icon-button{width:40px;height:40px;color:#536078}.search-field,.admin-toolbar .search-field,.roster-search{min-height:42px;height:42px;color:#66738a;border-color:#d0d7e5}.search-field input,.roster-search input{color:var(--read-primary);font-size:14px}.text-button,.settings-text-button,.roster-text-button,.experiment-row-action,.next-link{color:var(--read-link);font-size:14px}.tabs>button,.catalog-toolbar>.tabs>button,.settings-tabs button,.segmented>button{font-size:14px;min-height:42px;color:var(--read-secondary)}.tabs>button.active,.tabs>button[aria-selected=true],.settings-tabs button.active,.segmented>button.active{color:#573c9c}.tabs{gap:24px}.tag,.hero-title-row .tag,.todo-panel .panel-header .tag,.next-item>.tag,.experiment-row>.tag{font-size:13px;font-weight:550;line-height:1.55;padding:4px 9px;color:#46546b;background:#f0f2f7}.tag.purple{color:#593b9f;background:#eeebff}.tag.green{color:#246b50;background:#eaf7f0}.tag.orange,.tag.warning,.tag.amber{color:#85521b;background:#fff2e4}.tag.red{color:#a23850;background:#fcebef}.tag.neutral,.tag.gray{color:#46546b;background:#f0f2f7}.tag.blue{color:#355e93;background:#eaf1ff}.tag.teal{color:#226960;background:#e6f4f2}.callout,.form-error,.toast,.toast.error{font-size:14px}.callout{color:#5f4a7e}.toast{color:#365c47}.toast.error,.form-error{color:#9b344b}.empty-state h3{font-size:17px;color:#35455d}.empty-state p{font-size:14px;color:var(--read-secondary)}.help-content h3{font-size:16px;color:var(--read-primary)}.sidebar{color:#e3e9f6}.brand strong,.login-story .brand strong{color:#f7f9ff;font-size:18px}.brand>div>span,.login-story .brand>div>span{font-size:13px;color:#c4cfe3;letter-spacing:.5px}.nav-group-label{font-size:13px;color:#bdcbe2;letter-spacing:.5px}.nav-item,.sidebar-bottom>.nav-item{color:#d7e1f2;font-size:14px;min-height:46px}.nav-item>svg,.sidebar-profile>.icon-button{color:#c5d3ed}.nav-item.active,.sidebar-bottom>.nav-item.active,.nav-item:hover{color:#fff}.nav-item.active>svg{color:#d4caff}.sidebar-profile strong{font-size:14px;color:#f0f4fb}.sidebar-profile-meta>span{font-size:13px;color:#bccbe3}.sidebar-profile .avatar{font-size:14px;color:#2b6454}.topbar-left,.topbar-course,.breadcrumb-end{color:var(--read-secondary);font-size:14px}.topbar-course>span{color:#526179}.prototype-pill{color:#675185;font-size:13px}.topbar .view-switch{color:#58467d}.course-meta,.current-footer>span{font-size:13px;color:var(--read-secondary)}.todo-item>span,.todo-item strong{font-size:14px;color:#4f4167}.todo-item>span>svg,.todo-item strong>svg{color:#79648f}.current-content>.eyebrow,.experiment-number{color:#695780;font-size:13px}.lesson-steps strong{font-size:14px;color:#423c59;white-space:normal}.lesson-steps p{font-size:13px;color:#5b536d;white-space:normal}.lesson-steps>div>span{color:#6b4c92;font-size:13px;width:25px;height:25px}.ready-row strong,.next-item>h3,.task-row h3{color:var(--read-primary);font-size:16px}.ready-row p,.next-item>p,.next-experiments .panel-header p{color:var(--read-secondary);font-size:13px}.next-item>p{min-height:48px}.experiment-row-text h2{color:var(--read-primary);font-size:15px}.experiment-row-text>.muted,.experiment-row-meta{color:var(--read-secondary);font-size:13px}.catalog-toolbar{flex-wrap:wrap;gap:12px 24px}.data-table,.data-table th,.data-table td,.admin-table th,.admin-table td,.roster-table,.roster-table th,.roster-table td,.roster-raw-preview .data-table,.roster-import-preview .data-table,.roster-raw-preview th,.roster-import-preview th,.roster-raw-preview td,.roster-import-preview td,.settings-table,.settings-table th,.settings-table td,.settings-table thead,.ex-table,.ex-table th,.ex-table td{font-size:14px;color:var(--read-primary);line-height:1.65}.data-table th,.admin-table th,.roster-table th,.roster-raw-preview th,.roster-import-preview th,.settings-table thead th,.ex-table th{color:var(--read-secondary);font-weight:550}.admin-person strong,.roster-student-name,.model-name,.ex-table td b{font-size:14px;color:var(--read-primary);font-weight:600}.admin-person small,.admin-username,.roster-sid,.roster-major,.settings-table code,.ex-table td>span:not(.tag){color:var(--read-secondary);font-size:13px}.admin-username,.roster-sid,.roster-major,.admin-table .tag,.roster-table .tag,.settings-table .tag,.ex-table .tag,.admin-table .admin-account-status,.roster-table .roster-participation{font-size:14px}.admin-metric>div>span,.admin-metric small,.admin-role-filter,.admin-table-footer,.admin-local-note,.admin-self-lock,.admin-created dt,.admin-created dd,.admin-status-dialog>small,.admin-target>div>span{color:var(--read-secondary);font-size:13px}.admin-metric strong{color:var(--read-primary)}.admin-count,.roster-count,.ex-tab-count,.settings-tabs button span{color:#593b9f;font-size:13px;height:auto;min-height:23px;padding:2px 7px}.admin-account-status{color:#286a4f;font-size:13px}.admin-account-status.suspended{color:#5d5868}.admin-action{color:#99405b;font-size:14px;min-height:40px}.admin-action.restore{color:#5a3d9d}.admin-role-card strong,.admin-role-options strong,.admin-target strong{color:var(--read-primary);font-size:15px}.admin-role-card p,.admin-role-options small,.admin-form-note,.admin-created>p:not(.admin-form-note){color:var(--read-secondary);font-size:13px}.admin-created-password code{font-size:15px;color:#4d377e}.admin-created>h3{color:#286a4f;font-size:19px}.roster-eyebrow,.roster-prototype-note,.roster-summary>div>span,.roster-summary strong small,.roster-summary-foot,.roster-panel-heading p,.roster-status-filter,.roster-participation,.roster-table-footer,.roster-import-context,.roster-mapping-intro,.roster-preview-title span,.roster-preview-heading p,.roster-import-preview .roster-row-detail,.roster-footer-hint{color:var(--read-secondary);font-size:13px}.roster-avatar{font-size:13px}.roster-avatar-0{color:#614395}.roster-avatar-1{color:#286471}.roster-avatar-2{color:#855538}.roster-avatar-3{color:#355e86}.roster-participation.submitted{color:#286a4f}.roster-selection-bar{color:#593b9f;font-size:14px}.roster-form,.roster-person-card p,.roster-soft-note,.roster-import-help,.roster-import-help p,.roster-demo-callout p,.roster-file-line span,.roster-result-summary,.roster-import-result>p{color:var(--read-secondary);font-size:13px}.roster-import-help strong,.roster-demo-callout strong,.roster-file-line strong,.roster-preview-title,.roster-result-summary strong{color:var(--read-primary);font-size:14px}.roster-import-steps li{font-size:14px;color:var(--read-secondary)}.roster-import-steps li>span{font-size:13px;color:#5b506f}.roster-import-steps li.current,.roster-import-steps li.done{color:#593b9f}.roster-import-steps li.current>span{color:#fff;background:#7154ad}.roster-import-steps li.done>span{color:#593b9f}.roster-upload-zone strong{color:#4f397b;font-size:16px}.roster-upload-zone>span:not(.roster-upload-icon){color:var(--read-secondary);font-size:13px}.roster-import-stats span,.roster-import-stats>div:nth-child(2) span{color:var(--read-secondary);font-size:13px}.roster-import-stats strong{color:#286a4f}.roster-import-stats>div:nth-child(2) strong{color:#554b69}.roster-import-stats>div.has-error strong,.roster-import-stats>div.has-error span{color:#8a541d}.roster-result-errors,.roster-result-errors p,.roster-result-errors strong{color:#80501f;font-size:13px}.settings-eyebrow,.settings-metric span,.model-budget-detail,.model-budget-detail>span,.settings-inline-note,.settings-form .field .muted,.settings-credential-preview,.settings-credential-preview code,.settings-demo-banner p,.settings-choice small,.settings-choice-badge,.settings-format-options label>span,.settings-export-action>.muted,.settings-summary dt,.settings-summary code,.settings-preview-experiments small,.settings-preview-experiments p,.settings-local-badge,.settings-profile-role{font-size:13px;color:var(--read-secondary)}.settings-metric,.model-budget-detail strong,.settings-profile-role strong{color:var(--read-primary)}.settings-checkbox,.settings-choice strong,.settings-format-options strong,.settings-summary dd,.settings-preview-experiments>div{color:var(--read-primary);font-size:14px}.settings-demo-banner,.settings-demo-banner strong{color:#564075}.settings-demo-banner strong{font-size:14px}.settings-choice-badge{color:#644497}.model-test-label,.settings-success,.settings-success p,.settings-success.compact{color:#286a4f;font-size:13px}.settings-success strong{color:#245a43;font-size:14px}.settings-error{font-size:14px}.ex-page-breadcrumb,.ex-heading-tags,.ex-context-bar,.ex-context-bar b,.ex-prototype-banner,.ex-prototype-banner>span,.ex-bottom-actions>.muted,.ex-version-list>div,.ex-version-list span,.ex-answer-box small,.ex-feedback small,.ex-eyebrow,.ex-neutral-note,.ex-simulation,.ex-simulation.compact,.ex-result-cell>span:first-child,.ex-result-cell>p{color:var(--read-secondary);font-size:13px;line-height:1.75}.ex-private-heading,.ex-version-list strong,.ex-answer-box,.ex-answer-box b,.ex-checklist,.ex-peer-evidence,.ex-task-strip,.ex-chip-checks label,.ex-subtitle{font-size:14px;color:var(--read-primary)}.ex-checklist li.done,.ex-feedback,.ex-inline-success,.ex-confirmed-answer,.ex-confirmed-answer p{color:#286a4f;font-size:13px}.ex-feedback.warning{color:#80501f}.ex-error{color:#a23850;font-size:14px}.ex-option-list>div,.ex-option-list>div>span{color:var(--read-primary);font-size:14px}.ex-answer-choices button{width:46px;height:42px;font-size:15px;color:var(--read-secondary)}.ex-answer-choices button.selected{color:#593b9f}.ex-result-cell>strong{color:var(--read-primary)}.ex-filter{min-width:150px}.ex-prototype-banner>span{color:#593b9f}.login-eyebrow,.login-story-footer{color:#bdcce5;font-size:13px}.login-affiliation{color:#d5e2f5;font-size:14px}.login-description{color:#cfdaed;font-size:15px}.login-welcome>.eyebrow,.login-options>span,.login-options .text-button,.demo-login-note strong,.demo-login-note span,.login-copyright{font-size:13px;color:var(--read-secondary)}.demo-login-note p{color:#533c75;font-size:14px}.login-form-wrap .field{color:var(--read-primary);font-size:14px}.login-form-wrap .field>input,.password-input input{color:var(--read-primary);font-size:15px;min-height:46px}.role-picker>button{font-size:14px;min-height:40px;color:var(--read-secondary)}.role-picker>button.active{color:#593b9f}.login-submit{min-height:46px;font-size:15px}@media(min-width:1280px){.main-content{max-width:1370px}.admin-table td,.roster-table td{min-height:76px}.current-footer{flex-wrap:wrap;gap:12px}.lesson-steps{gap:14px}.ready-row{padding-top:16px;padding-bottom:16px}}@media(min-width:1920px){.main-content{max-width:1800px;padding:24px 28px 110px}.class-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.toast-region{bottom:90px}.main-content{padding-bottom:110px}.admin-filters .custom-select-trigger{font-size:14px;color:var(--read-primary);min-height:42px}.admin-class-cell{font-size:14px!important;color:var(--read-secondary)}.admin-class-names{font-size:14px;color:var(--read-secondary)}.admin-filter-summary,.admin-create-class small,.admin-teacher-classes legend span,.admin-import-schema p,.admin-import-upload small,.admin-import-demo p,.admin-import-source>span,.admin-preview-note p,.admin-import-local,.admin-import-result .admin-form-note{color:var(--read-secondary);font-size:13px;line-height:1.8}.admin-filter-summary strong{color:#593b9f}.admin-create-class>span,.admin-teacher-classes legend,.admin-teacher-classes label,.admin-import,.admin-import-schema strong,.admin-import-demo strong,.admin-import-source strong,.admin-source-tabs>button,.admin-paste-field textarea,.admin-import-result>p,.admin-result-chips,.admin-import-result code{color:var(--read-primary);font-size:14px;line-height:1.75}.admin-teacher-classes input{width:16px;height:16px}.admin-source-tabs>button{min-height:42px}.admin-import-steps li{color:var(--read-secondary);font-size:14px}.admin-import-steps li>span{color:#5b506f;font-size:13px}.admin-import-steps li.active{color:#593b9f}.admin-import-steps li.active>span{background:#7154ad;color:#fff}.admin-import-upload strong{color:#4f397b;font-size:16px}.admin-import-counts>div{color:#286a4f}.admin-import-counts>div:nth-child(2){color:#554b69}.admin-import-counts>div.has-errors{color:#85521b}.admin-import-counts span{font-size:13px}.admin-import-table table,.admin-import-table th,.admin-import-table td,.admin-import-table td strong,.admin-import-table td small,.admin-import-table .tag{color:var(--read-primary);font-size:14px;line-height:1.75}.admin-import-table th,.admin-import-table td small{color:var(--read-secondary)}.admin-import-table .tag.green{color:#246b50}.admin-import-table .tag.neutral{color:#46546b}.admin-import-table .tag.red{color:#a23850}.admin-import-result h3{color:#286a4f}.admin-result-chips{color:var(--read-secondary)}.admin-import-result code{color:#4d377e}:root{--focus-color: #7c6bd8;--focus-outline: 2px solid var(--focus-color);--focus-offset: 2px}:is(button,a,summary,input,select,textarea,[contenteditable=true],[role=button],[role=combobox],[role=tab],[role=checkbox],[role=radio]):focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset);box-shadow:none}:is(input,select,textarea):not(:where([type=checkbox],[type=radio],[type=file],[type=range],[type=color],[type=button],[type=submit])):focus{outline:var(--focus-outline);outline-offset:var(--focus-offset);box-shadow:none}:is(.search-field,.roster-search,.class-teacher-search,.password-input,.ops-secret-input,.ops-chip-input,.ex-control-shell):has(>:is(input,textarea,select):focus){outline:var(--focus-outline);outline-offset:var(--focus-offset);box-shadow:none}:is(.search-field,.roster-search,.class-teacher-search,.password-input,.ops-secret-input,.ops-chip-input,.ex-control-shell)>:is(input,textarea,select):is(:focus,:focus-visible){outline:none;box-shadow:none}:is(.roster-upload-zone,.admin-import-upload):has(>input[type=file]:focus-visible){outline:var(--focus-outline);outline-offset:var(--focus-offset)}:is(.roster-upload-zone,.admin-import-upload)>input[type=file]:focus-visible{outline:none;box-shadow:none}.briefing-editor.is-editable:has(.bn-editor[contenteditable=true]:focus){outline:var(--focus-outline);outline-offset:var(--focus-offset)}.briefing-editor.is-editable .bn-editor[contenteditable=true]:focus{outline:none;box-shadow:none}.bn-text-input :is(input,select,textarea):focus{outline:var(--focus-outline);outline-offset:var(--focus-offset);box-shadow:none}.class-card.selected:focus-visible,.ex-answer-choices button.selected:focus-visible,.trial-run-list button.selected:focus-visible,.trial-verdicts button.selected:focus-visible{box-shadow:none}#main-content:focus{outline:none}@media(forced-colors:active){:root{--focus-color: Highlight}}
