:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#7b8497;--line:#e8ebf2;--brand:#3767f5;--brand-soft:#edf2ff;--green:#16a277;--orange:#e98a27;--brand-violet:#7b5cf1;--brand-gradient:linear-gradient(135deg,#3767f5 0%,#7b5cf1 100%);--focus-ring:#3767f56b;--surface-subtle:#f4f5f8;--content-max:1440px;--page-gutter:clamp(16px,3vw,40px);--text-action:#285fce;--border-strong:#cbd9ff;--surface-action:#f5f8ff;--shadow:0 10px 30px #1e2d500f;--c1:#4f7edb;--c2:#4ca77d;--c3:#e69a3a;--c4:#d86f62;--c5:#7c69b3;--c6:#3f9691;--c7:#c05c85;--c8:#6c7fc2}*{box-sizing:border-box}body{background:var(--bg);font-family:var(--font-ui,-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}.ui-inline-icon{vertical-align:-.18em;color:currentColor;flex:none;margin-right:6px;display:inline-flex}.ui-inline-icon svg{width:1.05em;height:1.05em}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}a{color:var(--brand)}.app{min-height:100vh;display:flex}.side{border-right:1px solid var(--line);background:#fff;flex-direction:column;width:230px;height:100vh;padding:25px 16px;display:flex;position:sticky;top:0}.logo{padding:0 12px 28px;font-size:22px;font-weight:800}.nav{gap:7px;display:grid}.nav button{text-align:left;color:var(--muted);background:0 0;border-radius:10px;padding:12px 14px;font-size:15px;transition:all .15s}.nav button.active,.nav button:hover{background:var(--brand-soft);color:var(--brand);font-weight:600}.nav-onboarding{border:1px solid var(--border-strong);background:var(--surface-action);color:var(--brand);text-align:left;border-radius:10px;align-items:center;gap:8px;margin:10px 0 0;padding:11px 14px;font-size:14px;transition:all .15s;display:flex}.nav-onboarding:hover{background:var(--brand-soft);border-color:#a9c0ff}.nav-onboarding-mark{background:var(--brand-soft);border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.profile{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:10px;min-width:0;margin-top:auto;padding:18px 10px 0;display:flex;position:relative}.avatar{width:34px;height:34px;color:var(--brand);background:#dce6ff;border-radius:50%;flex:0 0 34px;place-items:center;font-weight:700;display:grid}.profile small{color:var(--muted)}.profile .logout{color:var(--muted);background:0 0;margin-left:auto;font-size:13px}.main{min-width:0;padding:28px var(--page-gutter);max-width:var(--content-max);flex:1;width:100%;margin:auto}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.eyebrow{color:var(--muted);margin-bottom:5px;font-size:13px}.title{margin:0;font-size:28px;font-weight:750}.actions{flex-wrap:wrap;gap:10px;display:flex}.form-actions{justify-content:flex-start;align-items:center;margin-top:2px}.btn{color:#556077;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 16px}.btn:hover{border-color:#cdd5e6}.btn.primary{background:var(--brand-gradient);color:#fff;border-color:var(--brand);box-shadow:0 6px 16px #3767f538}.btn.primary:hover{filter:brightness(1.05)}.btn.green{color:#fff;background:#2f9b72;border-color:#2f9b72;box-shadow:0 6px 16px #2f9b7233}.btn.green:hover{filter:brightness(1.05)}.btn.add-student-btn{color:#205d45;background:#8fd3b0;border-color:#8fd3b0;box-shadow:0 6px 16px #5fb58b2e}.btn.add-student-btn:hover{background:#a6dfc0;border-color:#a6dfc0}.mobile-class-management{display:none}.btn.template-btn{color:#a96c18;background:#fff1dc;border-color:#f0d3a2;box-shadow:0 6px 16px #e69a3a1f}.btn.template-btn:hover{background:#ffe8c4;border-color:#e6b875}.btn:disabled{opacity:.55;cursor:not-allowed}.grid{gap:18px;display:grid}.stats{grid-template-columns:repeat(4,1fr)}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:20px}.stat-label{color:var(--muted);font-size:13px}.stat-value{margin-top:10px;font-size:30px;font-weight:750}.stat-sub{color:var(--green);margin-top:6px;font-size:12px}.stat-sub.warn{color:var(--orange)}.stat-card{position:relative;overflow:hidden}.stat-decor{opacity:.09;pointer-events:none;filter:saturate(.75);font-size:72px;line-height:1;position:absolute;bottom:-12px;right:-8px;transform:rotate(-12deg)}.two{grid-template-columns:1.25fr .75fr;margin-top:18px}.section-title{margin:0 0 15px;font-size:16px;font-weight:700}.row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.row:first-of-type{border-top:0;padding-top:0}.row-main{align-items:center;gap:12px;min-width:0;display:flex}.row-main b{font-weight:600}.row-main .muted{font-size:13px}.badge{color:#6b7488;white-space:nowrap;background:#eef1f7;border-radius:20px;padding:4px 10px;font-size:12px}.badge.green{color:var(--green);background:#eaf7f0}.badge.warn{color:var(--orange);background:#fdf0e3}.notice{color:#6d7c92;background:#fff8ef;border:1px solid #f1e4c9;border-radius:10px;margin-top:14px;padding:12px 14px;font-size:13px}.form{margin-top:18px}.record-card{position:relative;overflow:visible}.record-decor{pointer-events:none;z-index:0;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.record-decor span{opacity:.05;filter:grayscale(20%);font-size:64px;position:absolute}.record-card>.form-grid,.record-card>.ai-review,.record-card>.form{z-index:1;position:relative}.students-card{position:relative;overflow:hidden}.student-direction-tabs{flex-wrap:wrap;gap:9px;margin:0 0 12px;display:flex}.student-direction-tabs button{color:#3767d6;font:inherit;cursor:pointer;background:#edf4ff;border:1px solid #d8e5ff;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .16s,border-color .16s,color .16s}.student-direction-tabs button:hover{background:#e4eeff}.student-direction-tabs button.active{color:#3767d6;background:#fff;border-color:#3767f5;font-weight:700;box-shadow:inset 0 0 0 1px #3767f5}.students-card .stu-row,.students-card>.muted{z-index:1;position:relative}.students-card .student-archive-avatar{flex:0 0 40px;width:40px;height:40px;box-shadow:inset 0 0 0 1px #5541be14,0 5px 12px #4d3edd1f}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}.field label{color:#4a5468;font-size:15px;font-weight:600}.field select,.field input,.field textarea{font:inherit;border:1px solid var(--line);color:var(--text);background:#fff;border-radius:9px;width:100%;padding:10px 12px}.field textarea{resize:vertical;min-height:84px;line-height:1.6}.scores{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.score-box{border:1px solid var(--line);background:#fafbff;border-radius:10px;padding:11px 13px}.ability-dimension-count{color:#71809a;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;font-size:12px;display:flex}.ability-dimension-count b{color:#3767d6}.ability-reset{color:#3767d6;font:inherit;cursor:pointer;background:#fff;border:1px solid #bfd1fb;border-radius:999px;margin-left:auto;padding:4px 9px;font-size:12px}.ability-reset:hover{background:#eef4ff}.ability-reset:disabled{opacity:.6;cursor:not-allowed}.ability-remove-mode{color:#c6564a;font:inherit;cursor:pointer;background:#fff;border:1px solid #f1c7c1;border-radius:999px;padding:4px 9px;font-size:12px}.ability-remove-mode.active{background:#fff0ee}.ability-select-row{background:#f7f9fc;border:1px solid #e3e8f1;border-radius:9px;flex-wrap:wrap;gap:8px;margin:4px 0 12px;padding:10px;display:flex}.ability-dimension-pill{min-width:104px;font:inherit;color:#60708a;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #bcd3ff;border-radius:999px;align-items:center;gap:5px;padding:8px 14px;font-size:13px;display:inline-flex}.ability-dimension-pill.selected{color:#3767d6;background:#edf3ff;border-color:#8fb5ff;box-shadow:0 2px 6px #3767f51f}.ability-dimension-pill b{font-size:12px}.ability-dimension-control{color:#8b96a8;white-space:nowrap;background:#fff;border:1px solid #d7e1ee;border-radius:999px;align-items:center;gap:7px;min-width:150px;padding:7px 9px 7px 12px;font-size:13px;display:inline-flex}.ability-dimension-control.selected{color:#3767d6;border-color:#bcd3ff}.ability-dimension-control button{color:#d65a4e;font:inherit;cursor:pointer;background:#fff0ee;border:0;border-radius:999px;margin-left:auto;padding:3px 7px;font-size:11px}.ability-dimension-control em{color:#a5afbe;font-size:11px;font-style:normal}.ability-dimension-control button:hover{filter:brightness(.97)}.ability-settings-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.ability-settings-head label{margin:0}.ability-settings-head .btn{white-space:nowrap;padding:7px 10px;font-size:12px}.ability-custom-trigger{color:#3566d9;min-width:118px;font:inherit;cursor:pointer;background:#fff;border:1px dashed #77a1ff;border-radius:999px;padding:8px 14px;font-size:13px}.ability-custom-trigger:hover{background:#edf3ff}.ability-custom-form{background:#fbfdff;border:1px dashed #bcd3ff;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin:-2px 0 12px;padding:10px 12px;display:flex}.ability-custom-form span{color:#68758a;flex:100%;font-size:12px}.ability-custom-form input{background:#fff;border:1px solid #dbe3f0;border-radius:7px;width:180px;min-height:34px;padding:6px 10px}.ability-custom-form .ability-icon-input{text-align:center;width:62px}.selected-knowledge-chip{cursor:pointer;border:0}.selected-knowledge-chip b{margin-left:4px;font-size:14px}.companion-layout-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.companion-layout-reorder{gap:4px;display:flex}.companion-layout-reorder button{color:#526b99;cursor:pointer;background:#fff;border:1px solid #dbe3f1;border-radius:8px;place-items:center;width:28px;height:28px;padding:0;display:grid}.companion-layout-reorder button:hover:not(:disabled){color:#3767f5;background:#f5f8ff;border-color:#9db5f2}.companion-layout-reorder button:disabled{opacity:.35;cursor:not-allowed}@media (width<=800px){.ability-select-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.score-box strong{color:#172033;margin-bottom:7px;font-size:13px;display:block}.stars{gap:3px;display:inline-flex}.stars button{color:#d7dce6;background:0 0;padding:0 1px;font-size:19px;line-height:1;transition:all .1s}.stars button.on{color:#f2aa32}.score-static{color:#f2aa32;letter-spacing:2px}.rating-stars{letter-spacing:1px;white-space:nowrap;align-items:center;display:inline-flex}.rating-stars b{color:#3767d6;font-weight:600}.rating-stars i{color:#c8d0dc;font-style:normal}.report-banner{color:#415276;background:linear-gradient(125deg,#edf4ff 0%,#edf1ff 52%,#f3ecff 100%);border-bottom:1px solid #cfdafa;border-radius:14px 14px 0 0;justify-content:space-between;align-items:center;margin:-20px -20px 20px;padding:22px 26px;display:flex}.report-banner h2{color:#435b91;margin:4px 0;font-size:25px}.report-banner p{color:#677a9e;margin:0;font-size:13px}.report-banner .aug{color:#455b91;text-align:right;font-size:26px;font-weight:800;line-height:1}.report-banner .aug small{letter-spacing:2px;font-size:12px;font-weight:600;display:block}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.report-head .muted{margin-top:6px;font-size:13px}.report-stat{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:34px;margin-bottom:22px;padding:16px 0;display:flex}.report-stat>div{flex-direction:column;gap:3px;display:flex}.report-stat .muted{font-size:12px}.report-stat b{font-size:20px}.ability-grid{grid-template-columns:repeat(2,1fr);gap:14px 26px;margin-bottom:6px;display:grid}.ability-item .muted{justify-content:space-between;font-size:13px;display:flex}.bar{background:#eef1f7;border-radius:6px;height:9px;margin-top:6px;overflow:hidden}.bar>i{background:var(--ring,var(--brand));border-radius:6px;height:100%;display:block}.kp-badges{flex-wrap:wrap;gap:9px;margin-bottom:6px;display:flex}.kp-badges .badge.green{color:var(--green);background:#eaf7f0}.kp-badges .badge.blue{background:var(--brand-soft);color:var(--brand)}.kp-badges .badge{color:#8a93a6;background:#f1f3f8}.level-row{border-top:1px solid #edf0f5;align-items:center;gap:12px;padding:13px 0;display:flex;position:relative;overflow:hidden}.level-row:first-child{border-top:0}.level-badge{color:#73819a;background:#e9eef7;border-radius:8px;flex:0 0 48px;place-items:center;height:30px;font-size:12px;font-weight:700;display:grid}.level-row.current .level-badge{background:var(--brand-soft);color:var(--brand)}.level-content{flex:1;min-width:0}.level-decor{opacity:.055;pointer-events:none;z-index:0;font-size:68px;line-height:1;position:absolute;bottom:-17px;right:24px;transform:rotate(-12deg)}.level-content,.level-badge{z-index:1;position:relative}.level-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.level-status{color:#9aa5b7;font-size:11px;font-weight:500}.kp-pills{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.kp-pill{color:#6b7488;background:#eef1f7;border-radius:7px;padding:3px 9px;font-size:12px}.kp-pill.mastered{color:var(--green);background:#eaf7f0}.kp-pill.learning{background:var(--brand-soft);color:var(--brand)}.kp-pill.locked{color:#aab2c2;background:#f1f3f8}.kp-more{color:#aab2c2;white-space:nowrap;background:#f1f3f8;border-radius:7px;align-items:center;min-height:24px;padding:3px 9px;font-size:12px;display:inline-flex}.knowledge-search-wrap{max-width:460px;margin-bottom:8px;position:relative}.knowledge-search-icon{z-index:1;font-size:15px;position:absolute;top:9px;left:11px}.knowledge-search-results{z-index:20;background:#fff;border:1px solid #dbe4f2;border-radius:10px;max-height:260px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 10px 24px #21375a1f}.knowledge-search-result{color:#39465b;text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.knowledge-search-result:hover,.knowledge-search-result:focus-visible{color:#285fce;background:#edf4ff;outline:none}.knowledge-search-result small{color:#8b97aa;white-space:nowrap;font-size:11px}.knowledge-search-empty{color:#8b97aa;padding:10px;font-size:12px}.knowledge-history-toggle{cursor:pointer;align-items:center;gap:7px;margin:0 0 8px;color:#53617a!important;font-size:13px!important;font-weight:600!important;display:flex!important}.knowledge-history-toggle input{accent-color:#3568ed;width:15px!important;height:15px!important}.knowledge-history-toggle span{color:#8b97aa;font-weight:400}.level-unlock-note{color:#397052;background:#f0f8f3;border:1px solid #c7e5d1;border-radius:9px;margin:4px 0 18px;padding:11px 14px;font-size:13px;line-height:1.6}.honors{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:6px;display:grid}.honor{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px}.honor.locked{opacity:.55;background:#fafbfd}.honor-icon{background:linear-gradient(135deg,#edf3ff,#dce8ff);border-radius:11px;place-items:center;width:40px;height:40px;margin-bottom:9px;font-size:20px;display:grid}.honor:nth-child(3n+2) .honor-icon{background:linear-gradient(135deg,#edf8f2,#d9efe5)}.honor:nth-child(3n) .honor-icon{background:linear-gradient(135deg,#fff5e8,#f8e2bd)}.honor b{font-size:13px;display:block}.honor small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.honor-progress{background:#eef1f7;border-radius:4px;height:6px;margin-top:8px;overflow:hidden}.honor-progress>i{background:var(--brand);border-radius:4px;height:100%;display:block}.honor-proof{color:#4a6cf7;margin-top:9px;font-size:11px;font-weight:700}.honor-empty{grid-column:1/-1;color:#687a9d!important;background:#f7f8ff!important;border:1px dashed #cfdafa!important;border-radius:12px!important;margin:0!important;padding:15px!important;line-height:1.65!important}.honor-review-panel{background:#f7f8ff;border:1px solid #dce2fb;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:-8px 0 22px;padding:14px;display:grid}.honor-review-panel>div:first-child{min-width:0}.honor-review-panel>div:first-child b,.honor-review-panel>div:first-child small{display:block}.honor-review-panel>div:first-child b{color:#30466e;font-size:13px}.honor-review-panel>div:first-child small{color:#7080a0;margin-top:3px;font-size:12px;line-height:1.5}.honor-candidate-list{grid-column:1/-1;gap:8px;display:grid}.honor-candidate-list article{background:#fff;border:1px solid #dce2fb;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.honor-candidate-list article>span{background:#edf1ff;border-radius:10px;place-items:center;width:32px;height:32px;font-size:17px;display:grid}.honor-candidate-list b,.honor-candidate-list small{display:block}.honor-candidate-list b{color:#35496f;font-size:13px}.honor-candidate-list small{color:#72809a;margin-top:3px;font-size:11px;line-height:1.45}.honor-review-actions{gap:6px;display:flex}.honor-review-actions .btn{min-height:32px;padding:0 9px;font-size:12px}.honor-review-actions .btn.primary{background:linear-gradient(105deg,#7b8ce8,#9b7fe2)}@media (width<=640px){.honor-review-panel{grid-template-columns:1fr}.honor-review-panel>button{width:100%;min-height:40px}.honor-candidate-list article{grid-template-columns:auto minmax(0,1fr)}.honor-review-actions{grid-column:1/-1}.honor-review-actions .btn{flex:1;min-height:38px}}.honor-panel-actions{justify-content:flex-end;gap:8px;display:flex}.honor-panel-actions .btn{min-height:34px;padding:0 10px;font-size:12px}.honor-rules-editor{border-top:1px solid #dce2fb;grid-column:1/-1;padding-top:13px}.honor-rules-heading,.honor-rule-save{justify-content:space-between;align-items:center;gap:10px;display:flex}.honor-rules-heading b{color:#30466e;font-size:14px}.honor-rules-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.honor-rules-fields label{color:#566987;gap:5px;min-width:0;font-size:12px;font-weight:700;display:grid}.honor-rules-fields input,.honor-rules-fields select{box-sizing:border-box;color:#263b60;width:100%;min-width:0;height:36px;font:inherit;background:#fff;border:1px solid #cfdafa;border-radius:9px;padding:0 9px;font-size:13px}.honor-rule-full{grid-column:1/-1}.honor-rule-save{justify-content:flex-end;margin-top:10px}.honor-template-list{gap:6px;margin-top:12px;display:grid}.honor-template-list>div{background:#fff;border:1px solid #dce2fb;border-radius:9px;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 9px;display:grid}.honor-template-list span{font-size:16px}.honor-template-list b{color:#35496f;font-size:12px}.honor-template-list small{color:#72809a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.honor-template-list .btn{min-height:30px;padding:0 8px;font-size:11px}@media (width<=640px){.honor-panel-actions{justify-content:stretch}.honor-panel-actions .btn{flex:1;min-height:40px}.honor-rules-fields{grid-template-columns:1fr 1fr}.honor-template-list>div{grid-template-columns:auto minmax(0,1fr) auto auto}.honor-template-list small{white-space:normal;grid-column:2/-1}.honor-template-list b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.month-highlights{margin:0 0 22px}.highlight-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.highlight-card{border:1px solid #e6ebf2;border-radius:11px;padding:15px}.highlight-card.good{background:#f4faf7;border-color:#d9eee3}.highlight-card.improve{background:#fff9f0;border-color:#f1e4c9}.highlight-card h3{color:#30476b;margin:0 0 9px;font-size:14px}.highlight-card ul{color:#5d6a7e;margin:0;padding-left:20px;font-size:13px;line-height:1.8}.reading-summary{color:#526078;background:#f7f9fc;border:1px solid #e6ebf2;border-radius:10px;margin:0 0 22px;padding:13px 15px;font-size:13px;line-height:1.8}.ai-summary-blocks{gap:10px;display:grid}.ai-summary-block{color:#526078;background:#f1f5ff;border:1px solid #dce7ff;border-radius:12px;padding:12px 14px}.ai-summary-block:nth-child(3n+2){background:#eff8f3;border-color:#d5ecde}.ai-summary-block:nth-child(3n){background:#fff7eb;border-color:#f3dfbc}.ai-summary-block h3{color:#28354b;margin:0 0 7px;font-size:14px}.ai-summary-block p{margin:4px 0;line-height:1.75}.ai-summary-block p:before{content:"• ";color:#7890c9}.ai-summary-block:nth-child(3n+2) p:before{color:#55a477}.ai-summary-block:nth-child(3n) p:before{color:#d89539}.ai-summary-block strong{color:#243552;font-weight:800}.ai-summary-block mark{color:#6c5520;background:#fff1b8;border-radius:4px;padding:1px 4px}.summary-toolbar{color:#718098;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.summary-toolbar .btn{padding:6px 10px;font-size:12px}.report-summary-bg{position:relative;overflow:hidden}.report-summary-bg:before{content:"💻   🧩   🚀   ✨   📚   💡   ⌨️   ⭐   🧠   🎯";z-index:0;letter-spacing:18px;white-space:normal;opacity:.045;pointer-events:none;width:112%;font-size:38px;line-height:2.5;position:absolute;top:18%;left:-4%;transform:rotate(-9deg)}.report-summary-bg>*{z-index:1;position:relative}.report-page-surface{position:relative;overflow:hidden}.report-page-surface>*{z-index:1;position:relative}.lesson-product{background:#fffaf7;border:1px solid #ffe0cc;border-radius:12px;margin:0 0 16px;padding:15px}.product-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.product-meta>div b{font-weight:600}.product-meta .muted{margin-top:3px;font-size:12px}.exercise{color:#5e4a40;background:#fff1e8;border-left:4px solid #ffb07c;border-radius:0 8px 8px 0;margin:12px 0;padding:10px 12px;font-size:13px}.exercise p{margin:4px 0}.code-block{color:#e8f0ff;white-space:pre-wrap;word-break:break-word;background:#202938;border-radius:9px;margin:0;padding:14px 16px;font-family:SFMono-Regular,Consolas,monospace;font-size:12.5px;line-height:1.7;overflow:auto}.product-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;font-size:13px;display:flex}.stars-inline{color:#f2aa32;letter-spacing:2px}.ai-edit{border:1px solid var(--line);resize:vertical;width:100%;min-height:360px;line-height:1.8;font:inherit;color:var(--text);background:#fff;border-radius:9px;margin-top:8px;padding:14px 16px}.ai-review{background:#fff;border:1px solid #dce6fb;border-radius:12px;margin-top:20px;padding:16px}.ai-generate-button{justify-content:center;align-items:center;gap:5px;color:#fff!important;background:linear-gradient(105deg,#4b81ee 0%,#8060ec 100%)!important;border:0!important;display:inline-flex!important;box-shadow:0 7px 15px #464ab838!important}.ai-generate-button svg{stroke:currentColor;flex:none}.ai-generate-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 18px #464ab84d!important}.ai-generate-button:active:not(:disabled){transform:translateY(0)scale(.98)}.ai-generate-button:disabled{opacity:1;color:#fff!important;background:linear-gradient(105deg,#9db9f1 0%,#aa9ee8 100%)!important}.ai-inline-error{color:#c83d4d;background:#fff2f2;border-radius:8px;margin:6px 0 0;padding:7px 10px;font-size:12px;line-height:1.45}.ai-review-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-review-head b{color:#30476b;font-size:16px;display:block}.ai-review-head .muted{margin-top:3px;font-size:12px}.ai-review textarea{resize:vertical;width:100%;min-height:260px;line-height:1.8;font:inherit;color:var(--text);background:#fff;border:1px solid #dce4f2;border-radius:9px;margin-top:12px;padding:14px}.ai-review-foot{color:#8a96aa;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:12px;display:flex}.score-section label{font-size:16px;font-weight:700}.score-ability label{color:#3767f5}.score-knowledge label{color:#16a277}.score-divider{border-top:1px solid #e8e5f4;grid-column:1/-1;width:100%;height:0;margin:8px 0 10px}.score-section+.score-section{margin-top:0}.ai-review.next-advice{grid-column:1/-1;width:100%}.stu-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.stu-main{align-items:center;gap:12px;min-width:0;display:flex}.stu-main .meta{color:var(--muted);font-size:13px}.student-rating{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.student-rating .muted{font-size:12px}.student-unrated{color:#8a94a5;white-space:nowrap;background:#f2f4f7;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;line-height:1;display:inline-flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips span{background:var(--brand-soft);color:var(--brand);border-radius:20px;padding:4px 10px;font-size:12px}.modal-overlay{z-index:50;background:#17203373;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 30px 80px #141e3c4d}.modal-head{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;min-height:92px;padding:18px 22px;display:flex;position:sticky;top:0}.modal-head b{overflow-wrap:anywhere;min-width:0;font-size:16px;line-height:1.35}.modal-close{color:var(--muted);background:0 0;font-size:22px;line-height:1}.modal-body{padding:18px 22px 22px}.archive-modal{width:min(820px,100%)}.archive-summary span{color:#486486;background:#eef4ff;border-radius:999px;padding:7px 10px;font-size:12px}.archive-body>h3{color:#26364d;margin:10px 0 12px;font-size:17px}.archive-empty{color:#728098;background:#fbfcff;border:1px dashed #cbd8ea;border-radius:12px;padding:22px}.archive-record{background:#fff;border:1px solid #e2e9f3;border-radius:12px;margin-top:12px;padding:15px}.archive-record-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.archive-record-head b{color:#28384f;font-size:16px;line-height:1.45}.archive-record-toggle{color:#3467d5;font:inherit;cursor:pointer;white-space:nowrap;background:#f5f8ff;border:1px solid #c9d8f6;border-radius:999px;padding:5px 10px;font-size:12px}.archive-record-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.archive-record-meta span{color:#258a62;white-space:nowrap;background:#edf9f3;border-radius:999px;padding:5px 9px;font-size:12px}.archive-record-meta time{color:#356bdc;white-space:nowrap;background:#edf3ff;border-radius:999px;padding:5px 9px;font-size:12px}.archive-record-meta small{color:#748299;font-size:12px}.archive-record section{background:#f8faff;border-radius:9px;margin-top:11px;padding:10px 12px}.archive-record section strong{color:#3a4c68;font-size:13px}.archive-record section p{white-space:pre-wrap;color:#60708a;margin:5px 0 0;font-size:13px;line-height:1.7}.archive-progress{background:#fff;border:1px solid #dbe7f7;border-radius:12px;margin:0 0 16px;padding:14px}.archive-progress h3{color:#2d405e;margin:0;font-size:16px}.archive-progress-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.archive-progress-toggle{color:#3767d6;font:inherit;cursor:pointer;white-space:nowrap;background:#f5f8ff;border:1px solid #cbd9ef;border-radius:999px;padding:5px 10px;font-size:12px}.archive-level-track{background:#fff;border:1px solid #dce5f2;border-radius:12px;padding:0 16px;overflow:hidden}.archive-level-row{border-bottom:1px solid #edf1f6;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding:14px 0;display:grid}.archive-level-row:last-child{border-bottom:0}.archive-level-badge{color:#3568d9;background:#e7efff;border-radius:9px;justify-content:center;align-self:stretch;align-items:center;min-height:34px;font-size:13px;font-weight:800;display:flex}.archive-level-content{min-width:0}.archive-level-head{color:#26364d;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.archive-level-head b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.archive-level-head span{color:#2f66df;white-space:nowrap;flex:none;font-size:11px}.archive-level-points{flex-wrap:wrap;gap:7px;display:flex}.archive-level-points span{border-radius:9px;padding:5px 9px;font-size:11px;line-height:1.25}.archive-level-points .mastered{color:#169268;background:#e7f8f0}.archive-level-points .learning{color:#3368dd;background:#eaf0ff}.archive-level-points .locked{color:#b5becd;background:#f3f5f8}.archive-level-points .more{color:#9da9bb;background:#f1f3f7}.archive-level-row.locked{opacity:.66}.archive-level-row.locked .archive-level-badge{color:#9dacbf;background:#f0f3f8}.archive-level-row.locked .archive-level-head span{color:#aab6c6}.archive-level-note{color:#418762;background:#f0fbf4;border:1px solid #b9dfc8;border-radius:8px;margin-top:8px;padding:10px 12px;font-size:12px}.archive-record .archive-knowledge{background:#fff}.archive-knowledge>div{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.archive-knowledge span{border-radius:999px;padding:6px 9px;font-size:12px}.archive-knowledge .mastered{color:#198762;background:#e9f8f0}.archive-knowledge .learning{color:#3267dd;background:#edf3ff}.archive-level-row:nth-child(4n+2) .archive-level-badge{color:#209369;background:#e8f7ef}.archive-level-row:nth-child(4n+3) .archive-level-badge{color:#de8a26;background:#fff1df}.archive-level-row:nth-child(4n) .archive-level-badge{color:#7952ca;background:#f0ebff}.modal .modal-body .report-banner{border-radius:12px;margin:0 0 20px}.record-preview-meta{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.record-preview-meta span{color:#59677f;background:#f3f6fc;border-radius:8px;padding:7px 10px;font-size:12px}.record-preview-modal h3{color:#27344b;margin:16px 0 7px;font-size:15px}.record-preview-modal p{color:#526078;white-space:pre-wrap;background:#fff;border-radius:8px;margin:0;padding:10px 12px;line-height:1.7}.record-preview-stars{flex-wrap:wrap;gap:8px;display:flex}.record-preview-stars span{color:#526078;border:1px solid #e4e9f2;border-radius:8px;padding:7px 9px;font-size:12px}.record-preview-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.record-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0 0;display:grid}.record-preview-grid>div{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:1px solid #ffffff4d;border-radius:10px;flex-direction:column;gap:3px;min-width:0;padding:8px 9px;display:flex}.record-preview-grid span{color:#ffffffc7;font-size:11px}.record-preview-grid b{color:#fff;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.record-preview-section{background:#fff;border:1px solid #e4e9f2;border-radius:11px;margin-top:16px;padding:14px}.record-preview-section h3{margin:0 0 9px;font-size:15px}.record-preview-section p{background:#fff}.record-preview-tags{flex-wrap:wrap;gap:8px;display:flex}.record-preview-tags span{color:#3767d6;background:#edf3ff;border-radius:999px;padding:7px 10px;font-size:12px}.record-preview-score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.record-preview-score-grid>div{background:#f7f9fc;border-radius:8px;padding:9px 10px}.record-preview-score-grid span{color:#59677f;margin-bottom:5px;font-size:12px;display:block}.record-preview-score-grid strong{color:#f2aa32;letter-spacing:1px;font-size:13px}.record-preview-score-grid em{color:#7b879a;margin-left:5px;font-size:11px;font-style:normal}.ai-preview-box{background:linear-gradient(135deg,#f5f8ff,#fff)}.advice-preview-box{background:linear-gradient(135deg,#f2fbf6,#fff)}.record-preview-hero{background:linear-gradient(125deg,#2165dc 0%,#4d63ee 52%,#8553e8 100%);border-radius:16px;padding:16px;position:relative;overflow:hidden;box-shadow:0 14px 28px #4951df38}.record-preview-hero:after{content:"";pointer-events:none;border:28px solid #ffffff1f;border-radius:50%;width:180px;height:180px;position:absolute;top:-110px;right:-70px}.record-preview-hero-copy{z-index:1;flex-direction:column;gap:2px;min-width:0;padding-right:94px;display:flex;position:relative}.record-preview-hero-copy span{color:#ffffffc2;font-size:12px}.record-preview-hero-copy b{color:#fff;overflow-wrap:anywhere;font-size:18px;line-height:1.35}.record-preview-hero-copy small{color:#ffffffbd;font-size:11px;line-height:1.5}.record-preview-hero-status{z-index:1;color:#fff;white-space:nowrap;background:#ffffff29;border:1px solid #ffffff52;border-radius:999px;padding:5px 9px;font-size:11px;position:absolute;top:17px;right:16px}.record-preview-modal .record-preview-section{box-shadow:none;border-radius:14px}.record-preview-modal .record-preview-section h3{color:#26364d;font-size:18px}.record-preview-modal .record-preview-section p{border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.85}.record-preview-modal .ai-preview-box,.record-preview-modal .advice-preview-box{background:#fff}.record-preview-summary{background:#fff;border:1px solid #dfe5f3;border-radius:14px;width:100%;max-width:100%;margin:0 auto 16px;overflow:hidden}.record-preview-summary-head{background:linear-gradient(105deg,#396fe4,#7658e7);justify-content:space-between;align-items:center;gap:8px;padding:14px;display:flex}.record-preview-summary-head h2{color:#fff;margin:0;font-size:17px;font-weight:700;line-height:1.3}.record-preview-attendance{color:#258452;white-space:nowrap;background:#eaf8ef;border-radius:999px;flex:none;align-items:center;gap:4px;min-height:24px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.record-preview-modal .record-preview-campus{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#6b7280!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;font-size:12px!important;line-height:1.5!important}.record-preview-summary .record-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;margin:12px 0 0}.record-preview-summary .record-preview-grid>div{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:4px;min-width:0;padding:0;display:flex}.record-preview-summary .record-preview-grid span{color:#7b8494;align-items:center;gap:4px;font-size:11px;line-height:1.25;display:flex}.record-preview-summary .record-preview-grid span svg{color:#7180a1;flex:none}.record-preview-summary .record-preview-grid b{color:#1a1b1c;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;line-height:1.35;overflow:hidden}.record-preview-summary .record-preview-grid b.is-present{color:#258452}.record-preview-modal .record-preview-note{border-top:1px solid #edf0f6;align-items:center;gap:5px;display:flex;color:#69778c!important;background:0 0!important;border-radius:0!important;margin:12px 0 0!important;padding:12px 0 0!important;font-size:12px!important;line-height:1.5!important}.record-preview-note svg{color:#52c41a;flex:none}.record-preview-summary+.record-preview-section{margin-top:0}.record-preview-modal{border-radius:18px;width:min(560px,100vw - 20px)}.record-preview-page-head{background:#f5f5f3;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid;border-bottom:0!important;padding:14px!important}.record-preview-back{color:#27344b;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid}.record-preview-back:hover{background:#e9edf5}.record-preview-back:focus-visible{outline-offset:2px;outline:2px solid #6c72e8}.record-preview-page-head b{color:#1a1b1c;font-size:16px;font-weight:700;line-height:1.35;display:block}.record-preview-page-head small{color:#838b99;margin-top:3px;font-size:12px;line-height:1.35;display:block}.record-preview-page-head>span{color:#6474d5;background:#e8ecf8;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.record-preview-modal .modal-body{background:#f5f5f3;padding:0 12px 20px}.record-preview-summary,.record-preview-modal .record-preview-section{box-shadow:none;background:#fff;border:0;border-radius:16px;margin:0 0 12px;padding:14px}.record-preview-summary{overflow:visible}.record-preview-summary-body{padding:0}.record-preview-summary .record-preview-grid{gap:12px 8px;margin:0}.record-preview-modal .record-preview-section h3{color:#23262d;align-items:center;gap:6px;margin:0 0 12px;font-size:14px;font-weight:700;line-height:1.35;display:flex}.record-preview-modal .record-preview-section h3 svg{color:#6177dd;flex:none}.record-preview-honor-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.record-preview-honor-list>div{text-align:center;border-radius:12px;align-content:center;justify-items:center;gap:4px;min-height:78px;padding:8px 4px;display:grid}.record-preview-honor-list>div b{font-size:11px;line-height:1.25}.record-preview-honor-list>div small{font-size:10px;line-height:1.2}.record-preview-honor-list .is-unlocked{color:#a86510;background:#fff0da;border:1px solid #ffc980}.record-preview-honor-list .is-unlocked svg{color:#d78b16}.record-preview-honor-list .is-locked{color:#98a1b2;background:#f7f8fa;border:1px dashed #d8dce5}.record-preview-honor-list .is-locked svg{color:#aab2c0}.record-preview-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;display:grid}.record-preview-level-grid>div{color:#99a1af;min-width:0}.record-preview-level-grid>div>div{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.record-preview-level-grid b{color:#586378;font-size:13px}.record-preview-level-grid span{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.record-preview-level-grid i{background:#edf0f5;border-radius:999px;height:6px;margin:7px 0 5px;display:block;overflow:hidden}.record-preview-level-grid em{border-radius:inherit;background:#d2d7e2;height:100%;display:block}.record-preview-level-grid small{font-size:10px;display:block}.record-preview-level-grid .is-started{color:#6273df}.record-preview-level-grid .is-started b{color:#2f394e}.record-preview-level-grid .is-started em{background:linear-gradient(90deg,#5e77e3,#8a71e7)}.record-preview-content p{color:#4f5e74!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;font-size:13px!important;line-height:1.75!important}.record-preview-empty{text-align:center;color:#7a8494;align-content:center;justify-items:center;gap:6px;min-height:98px;padding:8px;display:grid}.record-preview-empty svg{color:#8394ec}.record-preview-empty b{color:#536179;font-size:13px}.record-preview-empty small{font-size:11px;line-height:1.5}.record-preview-empty.compact{min-height:78px}.record-preview-knowledge-list{display:grid}.record-preview-knowledge-list>div{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.record-preview-knowledge-list>div:first-child{border-top:0}.record-preview-knowledge-list b{color:#2d3544;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.record-preview-knowledge-list .rating-stars{white-space:nowrap;flex:none;gap:1px;display:inline-flex}.record-preview-knowledge-list .rating-stars b{color:#df9e24;letter-spacing:0;font-size:14px}.record-preview-knowledge-list .rating-stars i{color:#dce1eb;letter-spacing:0;font-size:14px;font-style:normal}.record-preview-modal .record-preview-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-preview-actions{margin:8px 0 0;padding-bottom:4px}.record-progress-panel{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px;display:grid}.record-progress-block{background:#fff;border:1px solid #e2e8f2;border-radius:11px;padding:13px 14px}.record-progress-block h3{color:#31415b;margin:0 0 10px;font-size:14px}.record-progress-tags,.record-level-progress{flex-wrap:wrap;gap:7px;display:flex}.record-progress-tags span,.record-level-progress span{color:#8a94a7;background:#f1f3f7;border-radius:999px;padding:7px 9px;font-size:12px}.record-progress-tags span.unlocked{color:#23865e;background:#eaf7f0}.record-level-progress span{color:#3767d6;background:#edf3ff;border-radius:7px}.record-level-progress b{margin-right:3px}.progress-preview-section{background:linear-gradient(135deg,#f8fbff,#fffdf8)}.progress-preview-section h3:not(:first-child){margin-top:16px}.progress-preview-section .record-preview-tags span.unlocked{color:#23865e;background:#eaf7f0}.progress-preview-section .record-level-progress span{border-radius:8px;padding:8px 10px}.record-preview-tags .rating-stars{color:inherit;font-size:inherit;background:0 0;padding:0}@media (width<=560px){.record-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-preview-hero{padding:14px}.record-preview-hero-copy{padding-right:84px}.record-preview-hero-copy b{font-size:16px}.record-preview-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-preview-actions{justify-content:stretch}.record-preview-actions .btn{flex:30%;padding:8px 9px;font-size:12px}.record-progress-panel{grid-template-columns:1fr}}.record-progress-tags span:first-child.unlocked{color:#5fbe72;background:#e8f7ed}.record-progress-tags span:nth-child(2).unlocked{color:#7689ea;background:#eef0ff}.record-progress-tags span:nth-child(3).unlocked{color:#e7a52e;background:#fff1dc}.record-level-progress span{color:#6f83eb;background:#f0f2ff}.class-manage-modal{width:min(520px,100vw - 28px);max-height:min(86dvh,720px);overflow:auto}.class-manage-form{background:#fbfcff;border:1px solid #e2e8f2;border-radius:12px;grid-template-columns:1fr 1fr;gap:10px;padding:14px;display:grid}.class-manage-form label{color:#526684;gap:6px;font-size:13px;font-weight:700;display:grid}.class-manage-form input,.class-manage-form select{box-sizing:border-box;width:100%;min-height:40px;font:inherit;color:#27344b;background:#fff;border:1px solid #d9e2f2;border-radius:8px;padding:8px 10px}.class-manage-form .btn{grid-column:1/-1}.class-manage-section{background:#fff;border:1px solid #e2e8f2;border-radius:12px;margin-top:16px;padding:14px}.class-manage-section-head{color:#26364d;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.class-manage-section-head b{color:#1a1b1c;font-size:14px;font-weight:700}.class-manage-section-head span{color:#8a8fa8;font-size:11px}.class-manage-students{gap:8px;display:grid}.class-manage-student{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.class-manage-student:last-child{border-bottom:0}.class-manage-student>span{align-items:center;gap:8px;min-width:0;display:flex}.class-manage-avatar{flex:0 0 30px;width:30px;height:30px}.class-manage-student .btn{color:#b65353;background:#fff7f7;border-color:#f0c8c8;padding:6px 9px;font-size:12px}.class-manage-add-section{border-color:#e4e3dd;border-radius:16px;padding:16px}.class-manage-candidates{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.class-manage-candidate-pill{color:#4a6cf7;cursor:pointer;background:#7b8ce81f;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 14px;font-family:Roboto,PingFang SC,Segoe UI,Arial,sans-serif;font-size:12px;font-weight:500;line-height:1;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.class-manage-candidate-pill svg{color:#8a8fa8;flex:none}.class-manage-candidate-pill:hover:not(:disabled){background:#7b8ce833}.class-manage-candidate-pill.selected{color:#fff;background:linear-gradient(135deg,#7b8ce8,#9b7fe2);border-color:#7b8ce8}.class-manage-candidate-pill.selected svg{color:#fff}.class-manage-candidate-pill:focus-visible{outline-offset:2px;outline:2px solid #4a6cf7}.class-manage-candidate-pill:disabled{cursor:wait;opacity:.6}.class-manage-danger{justify-content:flex-end;margin-top:16px;display:flex}.class-manage-danger .btn{color:#c55353;background:#fff7f7;border-color:#efcaca}@media (width<=560px){.class-manage-form{grid-template-columns:1fr}.class-manage-form .btn{grid-column:auto}.class-manage-modal .modal-body{padding:14px}}.class-choice{align-items:center;min-height:64px!important;box-shadow:none!important;color:#1a1b1c!important;background:#fff!important;border:1px solid #e4e3dd!important;border-radius:12px!important;padding:0!important;display:flex!important}.class-choice{align-items:center;position:relative;padding:0!important;display:flex!important}.class-choice-card{background:#fff;border:1px solid #e9e9ef;border-radius:14px;padding:12px 14px}.class-choice-title{color:#1a1b1c;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:9px;font-size:13px;font-weight:800;display:flex}.class-choice{min-height:64px!important;box-shadow:none!important;background:#fff!important;border:1px solid #e4e3dd!important;border-radius:12px!important}.class-choice-main{padding:12px}.class-choice-main b{font-size:14px;font-weight:800}.class-choice-manage{color:#8b929d!important;background:#f0f0f4!important;border:0!important;border-radius:50%!important;align-self:flex-end!important;place-items:center!important;width:26px!important;height:26px!important;margin:0 10px 10px 4px!important;padding:0!important;display:grid!important}.schedule-class{text-align:left;width:100%;color:var(--text);font:inherit;border-top:0;border-bottom:0;border-right:0;display:block}.schedule-class:focus-visible{outline-offset:2px;outline:2px solid #7b8ce8}.record-error-notice{z-index:80;text-align:center;background:#fff;border-radius:24px;width:min(260px,100vw - 48px);padding:40px 24px 24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 30px #24294e2e}.record-error-notice-icon{color:#fff;background:#ef5b64;border:4px solid #fff;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 12px #db434f3d}.record-error-notice h2{color:#1a1b1c;margin:0;font-size:18px;font-weight:700;line-height:1.3}.record-error-notice p{color:#8a8fa8;overflow-wrap:anywhere;margin:8px 0 20px;font-size:13px;line-height:1.55}.record-error-notice button{color:#fff;width:100%;height:44px;font:inherit;background:linear-gradient(105deg,#7b8ce8 0%,#9b7fe2 100%);border:0;border-radius:12px;font-size:14px;font-weight:600;display:block}.record-error-notice button:hover{filter:brightness(1.04)}.record-error-notice button:focus-visible{outline-offset:3px;outline:2px solid #7b8ce8}.record-student-chip,.class-student-chip{color:#58677f!important;background:#f7f8fc!important;border-color:#dbe2f3!important}.record-student-chip.selected,.class-student-chip.selected{color:#fff!important;background:linear-gradient(105deg,#7b8ce8 0%,#8b9bf0 100%)!important;border-color:#0000!important;box-shadow:0 5px 12px #7b8ce833!important}.record-student-chip:hover,.class-student-chip:hover{background:#f1f3ff!important;border-color:#9aa9ef!important;transform:none!important}.schedule-week>.schedule-day:not(.schedule-unscheduled){--schedule-accent:#7b8ce8!important;--schedule-tint:#f6f7ff!important;background:#f6f7ff!important;border-color:#e1e5f4!important}.schedule-week>.schedule-day:not(.schedule-unscheduled):not(:has(.schedule-class)){background:#f6f7f9!important;border-color:#eaebef!important}.score-ability .ability-score-card .rating-rail-track{background:#f8f9ff!important;border-color:#e3e5f7!important}.score-ability .ability-score-card .rating-rail-track button{background:#f0f0f4!important}.score-ability .ability-score-card .rating-rail-tone{color:#7b8ce8!important}@media (width<=640px){.top .actions:has(.student-search):not(:has(.student-management-toggle)){grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;width:100%!important;display:grid!important}.top .actions:has(.student-search):not(:has(.student-management-toggle)) .student-search{box-sizing:border-box;width:100%!important;min-width:0!important}:is(.top .actions:has(.student-search):not(:has(.student-management-toggle)) .student-management-toggle,.top .actions:has(.student-search):not(:has(.student-management-toggle)) .student-add-action){white-space:nowrap;width:auto!important;min-width:84px!important}}.class-choice{align-items:center;display:flex;position:relative;padding:0!important}.class-choice-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;padding:11px 10px 10px 12px;display:flex}.class-choice-main b{font-size:14px}.class-choice-main small{color:#929aae;margin-top:4px;font-size:11px}.class-choice-manage{cursor:pointer;border:0;flex:0 0 27px;margin:0 11px 0 4px;padding:0;position:static;transform:none}.class-manage-modal>.class-manage-head{visibility:visible!important;opacity:1!important;justify-content:space-between!important;align-items:center!important;display:flex!important}.class-choice-card{background:#fff;border-color:#e9e9ef}.class-choice-title{color:#1a1b1c;align-items:baseline;gap:5px;display:flex}.class-choice-title span{font-weight:500}.class-choice{box-shadow:none!important;background:#fff!important;border-color:#e1e1e8!important}.class-choice.selected b{color:#1a1b1c}.class-choice-manage{color:#89919d;background:#f0f0f4;width:27px;height:27px}.class-choice-card{background:#fff;border-color:#e5e5ec;border-radius:16px;padding:12px 14px}.class-choice-title{color:#1a1b1c;margin-bottom:10px;font-size:13px}.class-choice-title span{color:#8b93a6;font-size:11px}.class-choice-grid{gap:9px}.class-choice{min-height:64px;color:#1a1b1c!important;background:#fff!important;border:1px solid #e3e3e9!important;border-radius:13px!important;padding:11px 42px 10px 12px!important}.class-choice b{font-size:14px}.class-choice-manage{color:#8d96a5;background:#eef0f3;right:11px}.class-manage-modal{border-radius:16px;width:min(348px,100vw - 16px);max-height:calc(100dvh - 18px);box-shadow:0 16px 36px #292f542e}.class-manage-head{background:linear-gradient(105deg,#778ae8 0%,#9478df 100%);border-radius:16px 16px 0 0;min-height:54px;margin:0;padding:0 16px}.class-manage-head b{font-size:16px}.class-manage-head small{display:none}.class-manage-modal .modal-body{padding:15px 16px}.class-manage-form{background:0 0;border:0;gap:11px;padding:0;display:grid}.class-manage-form label{color:#272727;gap:6px;font-size:12px}.class-manage-form input,.class-manage-form select{border-color:#dedee5;border-radius:10px;min-height:44px;font-size:13px}.class-manage-section-head{margin-bottom:8px;font-size:12px}.class-manage-section-head span{color:#9aa2b5}.class-manage-students{gap:5px}.class-manage-student{background:#f5f6fb;border-radius:9px;min-height:45px;padding:0 10px}.class-manage-student .btn{font-size:12px}.class-manage-avatar{flex-basis:27px;width:27px;height:27px}.class-manage-candidates{gap:5px}.class-manage-candidates label{border-color:#e7e8ef;border-radius:9px;padding:8px 10px;font-size:12px}.class-manage-add{color:#7789e8;border-radius:9px;height:40px;margin-top:5px}.class-manage-actions{grid-template-columns:minmax(0,1fr) 82px;gap:10px;margin-top:13px}.class-manage-actions .btn{border-radius:10px;height:44px;font-size:13px}.class-choice{position:relative;text-align:left!important;padding-right:44px!important}.class-choice-manage{color:#8b939f;background:#eef0f3;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.class-choice.selected .class-choice-manage{color:#7b83d8;background:#eef0ff}.class-manage-head{color:#fff;background:linear-gradient(105deg,#778ae8,#9276df);border:0;margin:-1px -1px 0;padding:16px 18px}.class-manage-head b,.class-manage-head small{color:#fff}.class-manage-head small{opacity:.82}.class-manage-head .modal-close{color:#fff;background:0 0}.class-manage-form label em{color:#e0525f;font-style:normal}.class-manage-form .btn{display:none}.class-manage-section{background:#f7f8fc;border:0;margin-top:14px;padding:10px 12px}.class-manage-student{border:0;padding:7px 0}.class-manage-student .btn{color:#e36b78;background:0 0;border:0}.class-manage-add{color:#7488e8;background:#fff;border:1px dashed #aebbe7;width:100%;margin-top:4px}.class-manage-actions{grid-template-columns:1fr auto;gap:10px;margin-top:14px;display:grid}.class-manage-actions .primary{background:linear-gradient(105deg,#7b8ce8,#8b7be0);border:0}.class-manage-actions .btn:last-child{color:#e36b78;background:#fff;border:1px solid #ef8c95}.class-manage-candidates label{background:#fff}@media (width<=560px){.ability-settings-head{flex-direction:column;align-items:flex-start;gap:6px}.ability-settings-head .btn{width:100%}.archive-summary{gap:6px}.archive-record{padding:12px}.archive-record-head{flex-direction:column;gap:6px}.archive-record-head span{align-self:flex-start}.archive-level-track{padding:0 10px}.archive-level-row{grid-template-columns:38px minmax(0,1fr);gap:8px;padding:11px 0}.archive-level-head{flex-direction:column;align-items:flex-start;gap:4px}.archive-level-head b{white-space:normal}.archive-level-points{gap:5px}.archive-level-points span{padding:5px 7px;font-size:10px}.archive-level-note{font-size:11px;line-height:1.55}.ability-select-row{gap:6px;padding:8px}.ability-select-row label{flex:calc(50% - 6px);min-width:0;padding:6px 8px;font-size:12px;line-height:1.2}.ability-select-row label.selected{box-shadow:none}.ability-custom-trigger{flex:calc(50% - 6px);padding:7px 8px;font-size:12px}.ability-custom-form{gap:6px;padding:8px}.ability-custom-form input{width:calc(100% - 70px)}.ability-custom-form .ability-icon-input{width:56px}.ability-custom-form .btn{width:100%}}@media (width<=800px){.modal-overlay{padding:10px}.modal{border-radius:12px;width:100%;max-width:100%;max-height:calc(100vh - 20px)}.modal-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:76px;padding:12px 14px;display:grid}.modal-head>div{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.modal-head .btn{white-space:nowrap;padding:7px 9px;font-size:12px}.modal-close{padding:3px 5px;font-size:24px}.modal-body{min-width:0;padding:14px 14px 16px}.modal .report-banner{border-radius:10px;gap:10px;margin:0 0 14px;padding:16px 14px}.modal .report-banner h2{font-size:21px}.modal .report-banner p{overflow-wrap:anywhere;font-size:12px}}.bottom{display:none}.mobile-hub{max-width:720px;margin:0 auto}.mobile-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.mobile-hub-item,.mobile-mine-item{border:1px solid var(--border);text-align:left;color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:14px;padding:16px}.mobile-hub-item{gap:6px;display:grid}.mobile-hub-item>span{font-size:24px}.mobile-hub-item small,.mobile-mine-item small{color:var(--muted);font-size:12px;display:block}.mobile-mine-list{gap:8px;margin-top:18px;display:grid}.mobile-mine-item{align-items:center;gap:12px;display:flex}.mobile-mine-item>span{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:10px;place-items:center;font-weight:700;display:grid}.mobile-mine-item div{flex:1}.mobile-mine-item i{color:var(--muted);font-size:24px;font-style:normal}.mobile-mine-logout{color:#c05252;width:100%;font:inherit;cursor:pointer;background:#fff7f7;border:1px solid #f0c7c7;border-radius:10px;margin-top:18px;padding:12px}.mobile-mine-init{color:var(--primary);background:#f5f8ff;border-color:#cbd9ff}.mobile-mine-init>span{color:var(--primary);background:#e8efff}.mobile-management-group{border:1px solid var(--border);background:#fff;border-radius:14px;grid-column:1/-1;margin-top:4px;padding:16px}.mobile-management-group-head{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #edf1f6;align-items:center;gap:12px;padding:0 0 13px;display:flex}.mobile-management-group-head>span{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.mobile-management-group-head>div{flex:1}.mobile-management-group-head>b{font-size:18px;display:block}.mobile-management-group-head small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.mobile-management-group-head>svg:last-child{color:var(--muted);transition:transform .18s}.mobile-management-group.open .mobile-management-group-head>svg:last-child{transform:rotate(90deg)}.mobile-management-subitems{gap:8px;margin-top:10px;display:grid}.mobile-management-subitems button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f2f6;align-items:center;gap:10px;padding:11px 4px;display:flex}.mobile-management-subitems button:last-child{border-bottom:0}.mobile-management-subitems button>svg:first-child{color:var(--primary)}.mobile-management-subitems button>span{flex:1}.mobile-management-subitems b,.mobile-management-subitems small{display:block}.mobile-management-subitems small{color:var(--muted);margin-top:3px;font-size:12px}.mobile-hub-grid{gap:10px;margin-top:14px}.mobile-hub-item{align-content:center;gap:4px;min-height:108px;padding:14px 16px}.mobile-hub-item>span{font-size:22px;line-height:1}.mobile-hub-item b{font-size:17px;line-height:1.35}.mobile-hub-item small{font-size:12px;line-height:1.35}.xueji-icon-gradient-defs{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.theme-icon-gradient{color:var(--companion-blue)}.theme-icon-gradient svg{color:var(--companion-blue);overflow:visible}.theme-icon-gradient svg *{stroke:url(#xueji-icon-gradient)}.mobile-subpage{max-width:720px;margin:0 auto}.mobile-subpage>.title{margin-bottom:8px}.service-list{gap:10px;margin:20px 0;display:grid}.service-item{border:1px solid var(--border);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.service-item small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.service-item>span{color:#16795a;white-space:nowrap;background:#eaf8f1;border:1px solid #bfe8d5;border-radius:999px;padding:5px 9px;font-size:12px}.web-guide{background:#f5f8ff;border:1px solid #dce7ff;border-radius:14px;gap:10px;margin-top:20px;padding:18px;display:grid}.web-guide span{color:var(--muted);font-size:13px}.web-guide a{color:var(--primary);background:#fff;border-radius:10px;padding:12px;font-weight:600;text-decoration:none;display:block}.mobile-subpage .field{gap:8px;margin:20px 0 12px;display:grid}.mobile-subpage .field span{font-weight:600}.mobile-subpage textarea{box-sizing:border-box;resize:vertical;width:100%}.about-brand{background:#f5f8ff;border-radius:14px;align-items:center;gap:12px;margin:22px 0;padding:18px;display:flex}.about-brand>span{background:var(--primary);color:#fff;border-radius:12px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:700;display:grid}.about-brand small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.about-meta{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;margin-bottom:16px;padding:12px 0;display:flex}.staff-tabs{border-bottom:1px solid var(--border);gap:8px;margin:18px 0;padding-bottom:8px;display:flex}.staff-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 10px}.staff-tabs button.active{color:var(--primary);border-bottom:2px solid var(--primary);font-weight:700}.staff-list{gap:8px;display:grid}.staff-row{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:14px;display:flex}.staff-row small{color:var(--muted);margin-top:4px;display:block}.staff-row>span{color:var(--muted);font-size:12px}.staff-add,.staff-access{border:1px solid var(--border);background:#fff;border-radius:12px;padding:14px}.staff-access{gap:12px;display:grid}.staff-access-row{border-bottom:1px solid #eef1f6;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:10px;display:flex}.staff-access-row b{flex-basis:100%}.staff-access-row label{color:var(--muted);font-size:12px}.staff-directory{background:#f6f7f9;min-height:360px;margin:0 -14px;position:relative}.staff-directory-head{color:#6f7785;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;display:flex}.staff-directory-head button{color:#1475dc;font:inherit;cursor:pointer;background:0 0;border:0}.staff-directory-list{background:#fff;border-top:1px solid #edf0f4}.staff-directory-row{border-bottom:1px solid #edf0f4;align-items:center;gap:12px;min-height:76px;padding:12px 16px;display:flex}.staff-avatar{color:#fff;width:44px;height:44px;font:inherit;background:#1475dc;border:0;border-radius:50%;flex:0 0 44px;place-items:center;font-size:22px;display:grid}.staff-directory-row .staff-avatar{cursor:pointer;transition:transform .16s,box-shadow .16s}.staff-directory-row .staff-avatar:hover,.staff-directory-row .staff-avatar:focus-visible{outline-offset:2px;outline:2px solid #9fc3ff;transform:translateY(-1px);box-shadow:0 5px 12px #1475dc47}.staff-directory-copy{flex:1;min-width:0}.staff-directory-copy b{color:#1f2735;font-size:17px;font-weight:600;display:block}.staff-directory-copy small{color:#6f7785;margin-top:5px;font-size:13px;display:block}.staff-role-badge{color:#1475dc;white-space:nowrap;background:#e6f3ff;border-radius:999px;padding:4px 9px;font-size:12px}.staff-floating-add{color:#fff;cursor:pointer;background:#1475dc;border:0;border-radius:50%;place-items:center;width:56px;height:56px;font-size:34px;line-height:1;display:grid;position:fixed;bottom:78px;right:20px;box-shadow:0 8px 20px #1475dc47}.staff-management{max-width:1080px;margin:0 auto}.staff-management>.title{margin-bottom:8px}.staff-management .staff-directory{border:1px solid var(--border);background:#f6f7f9;border-radius:12px;margin:0;overflow:hidden}.staff-management .staff-floating-add{position:absolute;bottom:18px;right:18px}.staff-management .staff-add,.staff-management .staff-access{max-width:720px}.staff-edit-modal{width:min(520px,100%)}.staff-edit-modal .form-grid{grid-template-columns:1fr}.staff-edit-modal .field{margin:0}.staff-edit-modal .form-actions{justify-content:flex-end;margin-top:18px}.staff-invitations{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.staff-invite-heading h2{margin:0 0 5px;font-size:17px}.staff-invite-warning{color:#75520b;background:#fff9e9;border-left:3px solid #d6a23b;margin:10px 0 0;padding:9px 11px;font-size:13px;line-height:1.55}.staff-invite-body{gap:14px;padding-top:14px;display:grid}.staff-invite-note{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.staff-invite-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.staff-invite-form .field{margin:0}.staff-invite-form input,.staff-invite-form select,.staff-invite-accept textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);font:inherit;background:#fff;border-radius:8px;padding:9px 11px}.staff-invite-campuses{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:8px 16px;margin:0;padding:10px 12px;display:flex}.staff-invite-campuses legend{color:var(--muted);padding:0 5px;font-size:12px}.staff-invite-campuses label{align-items:center;gap:6px;font-size:13px;display:flex}.staff-invite-campuses input{width:17px;height:17px;accent-color:var(--primary)}.staff-invite-issued{background:#f1faf5;border:1px solid #a7d7c2;border-radius:8px;gap:9px;padding:12px;display:grid}.staff-invite-issued code{overflow-wrap:anywhere;color:#244b39;background:#fff;border:1px solid #d8e9df;border-radius:6px;padding:10px}.staff-invite-issued .btn{justify-self:start}.staff-invite-list{gap:8px;display:grid}.staff-invite-list h3{margin:4px 0;font-size:14px}.staff-invite-row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.staff-invite-row>div{flex:1;gap:3px;min-width:0;display:grid}.staff-invite-row small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.staff-invite-row>span{white-space:nowrap;font-size:12px}.staff-invite-accept{gap:12px;display:grid}.staff-invite-accept .field{margin:0}.staff-invite-accept textarea{resize:vertical;overflow-wrap:anywhere;min-height:92px}.staff-access-workspace{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:minmax(300px,.55fr) minmax(0,1fr);min-height:300px;display:grid;overflow:hidden}.staff-access-people{border-right:1px solid var(--border);background:#f8fafc;align-content:start;padding:10px;display:grid}.staff-access-people button{width:100%;min-height:76px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e7edf5;align-items:center;gap:12px;padding:12px 14px;display:flex}.staff-access-people button:last-child{border-bottom:0}.staff-access-people button.active{background:var(--primary-soft);color:var(--primary);border-radius:10px;font-weight:700}.staff-access-people .staff-directory-copy{flex:1}.staff-access-people .staff-role-badge{align-self:center}.staff-access-people button.active small{color:#6684bf}.staff-access-detail{min-width:0;padding:22px}.staff-access-detail .eyebrow{margin:0 0 4px}.staff-access-detail h2{color:var(--text);margin:0;font-size:20px}.staff-access-detail p{color:var(--muted);margin:6px 0 18px;font-size:13px}.staff-campus-permissions{gap:9px;display:grid}.staff-campus-permissions label{cursor:pointer;background:#fff;border:1px solid #dfe7f3;border-radius:10px;align-items:center;gap:11px;min-height:58px;padding:10px 12px;display:flex}.staff-campus-permissions label:has(input:checked){background:#f4f7ff;border-color:#9ebcf8}.staff-campus-permissions input{width:18px;height:18px;accent-color:var(--primary);flex:none}.staff-campus-permissions span{gap:3px;display:grid}.staff-campus-permissions b{font-size:14px}.staff-campus-permissions small{color:var(--muted);font-size:12px}.staff-access-empty{color:#3d6094;background:#f8fbff;border:1px dashed #cbd9ef;border-radius:10px;max-width:480px;padding:16px}.staff-access-empty b{font-size:14px}.staff-access-empty p{color:#607895;margin:6px 0 0;line-height:1.6}@media (width<=800px){.staff-access-workspace{grid-template-columns:1fr;min-height:0}.staff-access-people{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;padding:10px}.staff-access-people button{border:1px solid #e1e8f2;border-radius:10px}.staff-access-detail{padding:16px}.staff-access-detail h2{font-size:18px}.staff-campus-permissions label{min-height:54px}}@media (width<=700px){.staff-invite-form{grid-template-columns:1fr}.staff-invite-row{flex-wrap:wrap;align-items:flex-start}.staff-invite-row>div{flex-basis:calc(100% - 8px)}.staff-invite-row>span{margin-right:auto}.staff-invite-issued code{font-size:12px}}.feedback-form{background:#f7faff;border:1px solid #dbe6f5;border-radius:16px;gap:18px;margin-top:18px;padding:18px;display:grid}.feedback-field,.feedback-upload{color:#273957;gap:7px;display:grid}.feedback-field b,.feedback-upload b{font-size:15px}.feedback-field em,.feedback-upload em{color:#3767f5;margin-right:4px;font-style:normal}.feedback-field small,.feedback-upload small{color:#7a8aa3;font-size:12px;line-height:1.5}.feedback-field textarea,.feedback-field input{box-sizing:border-box;width:100%;font:inherit;color:#273957;background:#fff;border:1px solid #d3dff0;border-radius:10px;padding:11px 12px}.feedback-field textarea{resize:vertical;min-height:112px}.feedback-upload>span{color:#3767f5;cursor:pointer;background:#fff;border:1px dashed #c8d7ed;border-radius:10px;place-items:center;min-height:48px;font-size:13px;display:grid;position:relative}.feedback-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.feedback-file{overflow-wrap:anywhere}.feedback-privacy{color:#9aa8bc;font-size:11px}.feedback-submit{justify-self:start;min-height:42px;padding-inline:22px}@media (width<=800px){.side{width:70px;padding:18px 10px}.logo{padding:0 10px 24px;font-size:0}.logo span{font-size:22px}.nav button{text-align:center;padding:12px 0;font-size:0}.nav button:first-letter{font-size:20px}.nav-onboarding{background:0 0;border:0;justify-content:center;margin-top:8px;padding:10px 0;font-size:0}.nav-onboarding-mark{margin:0}.profile{justify-content:center;padding:16px 0 0}.profile div:not(.avatar){display:none}.main{padding:20px 15px 88px}.title{font-size:23px}.stats{grid-template-columns:repeat(2,1fr)}.two,.form-grid,.ability-grid,.highlight-grid{grid-template-columns:1fr}.scores{grid-template-columns:repeat(2,1fr)}.actions .btn:not(.primary){display:none}.bottom{border-top:1px solid var(--line);z-index:5;background:#fff;justify-content:space-around;padding:8px;display:flex;position:fixed;bottom:0;left:70px;right:0}.bottom button{color:var(--muted);background:0 0;flex-direction:column;align-items:center;gap:2px;font-size:12px;display:flex}.bottom button.active{color:var(--brand);font-weight:700}.bottom button .ic{font-size:18px}.mobile-hub-grid{grid-template-columns:1fr;gap:8px;margin-top:14px}.mobile-hub{margin:0}.mobile-hub-item{border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:0 11px;min-height:70px;padding:12px 14px;display:grid}.mobile-hub-item>span{color:#64748b;background:0 0;border-radius:0;grid-row:1/span 2;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.mobile-hub-item b{grid-column:2;font-size:16px;line-height:1.3}.mobile-hub-item small{grid-column:2;margin-top:2px;font-size:11px;line-height:1.3}.mobile-mine-list{border-top:1px solid #eef1f6;gap:0;margin:14px -14px 0}.mobile-mine-item{background:#fff;border:0;border-bottom:1px solid #eef1f6;border-radius:0;min-height:58px;padding:10px 14px}.mobile-mine-item>span{color:#68758b;background:0 0;border-radius:0;width:24px;height:30px;font-size:17px}.mobile-mine-item i{color:#7d8796;font-size:18px}}@media (width>=801px){.bottom{display:none}}.schedule-page{max-width:900px;margin:0 auto}.schedule-week{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.schedule-week.schedule-day{grid-template-columns:minmax(0,1fr)}.schedule-week:not(.schedule-day)>.schedule-day:nth-child(6),.schedule-week:not(.schedule-day)>.schedule-day:nth-child(7){grid-column:1/-1}.schedule-day{border:1px solid var(--border);background:#f8faff;border-radius:12px;min-width:0;padding:12px}.schedule-day-head{justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:10px;display:flex}.schedule-day-head b{color:var(--text);font-size:15px}.schedule-day-head span{color:var(--muted);white-space:nowrap;font-size:10px}.schedule-class{border-left:3px solid var(--primary);background:#fff;border-radius:9px;padding:10px;box-shadow:0 2px 8px #2846780f}.schedule-class+.schedule-class{margin-top:8px}.schedule-class b{overflow-wrap:anywhere;font-size:13px;line-height:1.35;display:block}.schedule-class small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.3;display:block}.schedule-day-empty,.schedule-empty{color:var(--muted);padding:12px 4px;font-size:12px}.schedule-unscheduled{background:#fffaf2;border-color:#f2dfba;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;display:grid}.schedule-unscheduled .schedule-day-head{grid-column:1/-1}.schedule-unscheduled .schedule-class+.schedule-class{margin-top:0}.schedule-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.schedule-view-switch{border:1px solid var(--border);background:#fff;border-radius:10px;display:flex;overflow:hidden}.schedule-view-switch button{min-width:42px;color:var(--muted);background:#fff;padding:8px 12px;font-size:13px}.schedule-view-switch button.active{color:#fff;background:linear-gradient(135deg,#3767f5 0%,#7b5cf1 100%)}.schedule-view-switch button:disabled:not(.active){opacity:.55;cursor:not-allowed}.schedule-range{color:var(--primary);justify-content:center;align-items:center;gap:14px;margin:18px 0 4px;display:flex}.schedule-range b{font-size:18px}.schedule-range button{color:#8491a5;background:#f3f6fb;border-radius:50%;width:30px;height:30px;font-size:24px;line-height:1}.schedule-range button:disabled{opacity:.8;cursor:default}.schedule-date-strip{grid-template-columns:repeat(7,38px);justify-content:center;gap:4px;margin:9px 0 14px;display:grid}.schedule-date-item{color:#969696;min-height:58px;font:inherit;cursor:pointer;background:#f1f1f1;border:1px solid #d5d5d5;border-radius:999px;align-content:center;place-items:center;gap:3px;padding:8px 3px;transition:background-color .18s,color .18s,transform .18s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.schedule-date-item:hover{color:#747474;background:#e8e8e8;transform:translateY(-1px)}.schedule-date-item span{font-size:10px;font-weight:650;line-height:1}.schedule-date-item b{font-size:14px;font-weight:800;line-height:1.1}.schedule-date-item.selected{color:#fff;background:linear-gradient(135deg,#3767f5 0%,#7b5cf1 100%);border-color:#0000;box-shadow:0 6px 14px #4d59e03d}.schedule-date-item.selected:before{content:"";background:#ffffffd1;border-radius:50%;width:4px;height:4px;position:absolute;top:7px}.schedule-date-item.selected span{margin-top:3px}.schedule-class{cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s}.schedule-class:hover{transform:translateY(-1px);box-shadow:0 6px 14px #283a5d1f}.schedule-class:active{transform:translateY(0);box-shadow:0 2px 7px #283a5d1a}@media (width<=800px){.schedule-week:not(.schedule-day){gap:8px}.schedule-day{min-width:0;padding:10px}.schedule-day-head{margin-bottom:7px}.schedule-day-head b{font-size:14px}.schedule-day-head span{font-size:9px}.schedule-class{min-width:0;padding:9px 8px}.schedule-class b,.schedule-class small{overflow-wrap:anywhere}}@media (width<=560px){.schedule-toolbar{align-items:center}.schedule-view-switch button{min-width:34px;padding:7px 9px}.schedule-range{gap:8px}.schedule-range b{font-size:14px}.schedule-date-strip{grid-template-columns:repeat(7,38px);gap:4px;margin:8px 0 13px}.schedule-date-item{border-radius:999px;min-height:58px;padding:8px 3px}.schedule-date-item span{font-size:10px}.schedule-date-item b{font-size:14px}}@media (width>=561px){.schedule-page{max-width:100%;box-shadow:none;background:0 0;border:0;padding:0 12px}.schedule-toolbar{align-items:center;margin-bottom:18px}.schedule-toolbar .eyebrow{margin-bottom:3px;font-size:14px}.schedule-toolbar .title{font-size:32px;line-height:1.15}.schedule-toolbar .ui-page-title{gap:12px}.schedule-toolbar .ui-page-title svg{width:34px;height:34px}.schedule-view-switch{border-radius:13px}.schedule-view-switch button{min-width:66px;padding:10px 17px;font-size:16px}.schedule-range{gap:18px;margin:8px 0 12px}.schedule-range b{font-size:22px}.schedule-range button{width:44px;height:44px;font-size:30px}.schedule-date-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;width:100%;max-width:none;margin:0 0 12px}.schedule-date-item{color:#454a56;background:#f4f5f8;border-color:#dfe3ec;border-radius:16px;min-height:92px;padding:12px 6px}.schedule-date-item span{font-size:15px}.schedule-date-item b{font-size:24px}.schedule-date-item.selected{background:linear-gradient(145deg,#3d55f4 0%,#6e55ed 100%);box-shadow:0 8px 18px #4d59e03d}}body:has(.schedule-page){background:radial-gradient(circle at 75% -8%,#6670ff0e,#6670ff05 30%,#0000 48%),radial-gradient(circle at 18% 4%,#78aaff07,#0000 30%),linear-gradient(#f9faff 0%,#f8f9fc 38%,#f7f8fb 100%)}.schedule-page{max-width:1240px!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0 auto!important;padding:28px 32px 64px!important}.schedule-page .schedule-toolbar{margin-bottom:10px}.schedule-page .schedule-toolbar .eyebrow{display:none}.schedule-page .schedule-toolbar .title{letter-spacing:-.03em;font-size:28px}.schedule-page .schedule-toolbar .ui-page-title svg{color:#3767f5}.schedule-page .schedule-range{margin:14px 0 16px}.schedule-page .schedule-range b{color:#182653;font-size:20px}.schedule-page .schedule-range button{color:#526486;background:#fff;border:1px solid #e4e9f3;box-shadow:0 3px 10px #2c3f6e0f}.schedule-page .schedule-date-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;width:100%;max-width:none;margin:0 0 12px}.schedule-page .schedule-date-item{color:#66738b;background:#ffffff8f;border-color:#e0e6f0;border-radius:16px;min-height:70px}.schedule-page .schedule-date-item.selected{background:var(--brand-gradient);color:#fff}.schedule-page .schedule-week{gap:14px;margin-top:16px}.schedule-page .schedule-day{background:#ffffffc2;border:1px solid #dae1eed9;border-radius:16px;padding:16px;box-shadow:0 5px 18px #2f426c0b}.schedule-page .schedule-day-head{margin-bottom:12px}.schedule-page .schedule-day-head b{color:#182653;font-size:17px}.schedule-page .schedule-day-head span{font-size:12px}.schedule-page .schedule-class{border-radius:12px;padding:12px 14px;background:var(--course-bg,#fff)!important;border-left:0!important;border:1px solid var(--course-border,#e2e8f2)!important;box-shadow:none!important}.schedule-page .schedule-class:hover{transform:translateY(-1px);box-shadow:0 5px 14px #2a3b6214!important}@media (width<=800px){.schedule-page{padding:16px 12px 40px!important}.schedule-page .schedule-toolbar .title{font-size:26px}.schedule-page .schedule-date-strip{gap:6px}.schedule-page .schedule-date-item{min-height:68px}.schedule-page .schedule-day{padding:12px}.schedule-page>.muted{color:#8a95a8;margin:0 0 10px;font-size:11px}.schedule-week.schedule-day{margin-top:10px}.schedule-week.schedule-day .schedule-day{background:#fff;border:0;border-radius:14px;padding:13px 12px;box-shadow:0 7px 18px #283a5d14}.schedule-week.schedule-day .schedule-day-head{margin-bottom:10px}.schedule-week.schedule-day .schedule-day-head b{color:#263e71;font-size:15px}.schedule-week.schedule-day .schedule-class{box-shadow:none;background:#f7f9fe;border-left:0;border-radius:11px;padding:12px 11px}.schedule-week.schedule-day .schedule-class b{font-size:13px}.schedule-week.schedule-day .schedule-class small{color:#718199;overflow-wrap:anywhere;margin-top:4px;font-size:11px;line-height:1.55}.schedule-week:not(.schedule-day){gap:10px;margin-top:10px}.schedule-week:not(.schedule-day) .schedule-day{background:#fff;border:0;border-radius:14px;min-height:92px;padding:11px 10px;box-shadow:0 5px 15px #283a5d12}.schedule-week:not(.schedule-day) .schedule-day:has(.schedule-class){background:linear-gradient(145deg,#fff 0%,#f8faff 100%);box-shadow:0 9px 20px #2c44781a}.schedule-week:not(.schedule-day) .schedule-day:not(:has(.schedule-class)){min-height:76px;box-shadow:none;background:#fafbfc}.schedule-week:not(.schedule-day) .schedule-day-head{margin-bottom:8px}.schedule-week:not(.schedule-day) .schedule-day-head b{color:#68768d;font-size:13px}.schedule-week:not(.schedule-day) .schedule-day:has(.schedule-class) .schedule-day-head b{color:#263e71}.schedule-week:not(.schedule-day) .schedule-day-head span{color:#98a4b6;font-size:10px}.schedule-week:not(.schedule-day) .schedule-class{background:#fff;border-left:0;border-radius:10px;padding:10px 9px;box-shadow:0 1px #e8edf5}.schedule-week:not(.schedule-day) .schedule-class b{font-size:12px;line-height:1.4}.schedule-week:not(.schedule-day) .schedule-class small{color:#8090a5;margin-top:3px;font-size:10px}.schedule-week:not(.schedule-day) .schedule-day-empty{color:#a1aaba;padding:7px 0 0;font-size:11px}}.login-page{background:linear-gradient(135deg,#eef2fb,#e6ecfa);place-items:center;min-height:100vh;display:grid}.login-card{width:min(380px,92vw);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;padding:38px 34px}.login-logo{margin-bottom:6px;font-size:34px;font-weight:800}.login-logo b{color:var(--brand)}.login-card h1{margin:6px 0 2px;font-size:22px}.login-card p{color:var(--muted);margin:0 0 22px;font-size:14px}.login-card label{text-align:left;color:#4a5468;margin:12px 0 6px;font-size:13px;font-weight:600;display:block}.login-card input{border:1px solid var(--line);width:100%;font:inherit;border-radius:9px;padding:11px 13px}.login-card input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.login-btn{background:var(--brand);color:#fff;border-radius:10px;width:100%;margin-top:20px;padding:12px;font-size:15px;font-weight:600}.login-card small{color:var(--muted);margin-top:16px;font-size:12px;display:block}.err{color:#e24b4a;margin-top:10px;font-size:13px}.msg{margin-top:10px;font-size:13px}.temp-add-button{box-shadow:0 4px 12px #e69a3a29;color:#b56b00!important;background:#fff3d8!important;border-color:#f0c36a!important}.temp-add-button:hover{background:#ffe9b5!important}.temp-point-box{background:#fffaf0;border:1px solid #f0c36a;border-left:4px solid #e69a3a;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:12px;display:flex}.temp-point-box:before{content:"🛠️ 临时知识点";color:#a7660b;width:100%;font-size:12px;font-weight:700}.temp-point-box input,.temp-point-box select{font:inherit;background:#fff;border:1px solid #efd49c;border-radius:7px;padding:9px}.ability-visual{grid-template-columns:minmax(260px,330px) 1fr;align-items:center;gap:24px;margin-bottom:24px;display:grid}.radar-wrap{flex-direction:column;align-items:center;display:flex}.radar{width:min(100%,300px);height:auto}.radar-grid polygon{fill:none;stroke:#e4e9f2;stroke-width:1px}.radar-current{fill:#4f7edb30;stroke:#4f7edb;stroke-width:2px}.radar-old{fill:#e69a3a20;stroke:#e69a3a;stroke-width:2px;stroke-dasharray:4 3}.radar text{fill:#68758a;font-size:8px}.radar-legend{color:#68758a;gap:14px;font-size:12px;display:flex}.radar-legend i{vertical-align:middle;background:#4f7edb;width:12px;height:3px;margin-right:4px;display:inline-block}.radar-legend .legend-old{background:#e69a3a}.ability-circles{grid-template-columns:repeat(4,minmax(90px,1fr));gap:18px 12px;display:grid}.ability-circle{--ring:#4f7edb;--pct:50%;flex-direction:column;align-items:center;gap:6px;display:flex}.ability-circle>div{background:conic-gradient(var(--ring) var(--pct),#edf0f5 0);border-radius:50%;place-items:center;width:76px;height:76px;display:grid;position:relative}.ability-circle>div:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:7px}.ability-circle b,.ability-circle small{z-index:1;position:relative}.ability-circle b{font-size:20px}.ability-circle small{color:#8a94a7;font-size:10px}.ability-circle>span{text-align:center;color:#59667b;font-size:11px}.report-stat.enhanced{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.metric-card{background:#f7f9fc;border-radius:12px;flex-direction:column;gap:7px;padding:16px;display:flex;overflow:hidden}.metric-card span{color:#68758a;font-size:13px}.metric-card b{color:#172033;font-size:30px}.metric-card b small{font-size:13px;font-weight:500}.metric-card i{background:#4f7edb;border-radius:5px;height:5px;display:block}.metric-green i{background:#4ca77d}.metric-orange i{background:#e69a3a}.knowledge-levels{gap:12px;display:grid}.knowledge-level{background:#f3f6fc;border-left:5px solid #4f7edb;border-radius:12px;padding:14px 16px}.knowledge-level.level-2{background:#f1f8f4;border-color:#4ca77d}.knowledge-level.level-3{background:#fff7eb;border-color:#e69a3a}.knowledge-level-title{align-items:center;gap:10px;margin-bottom:9px;display:flex}.knowledge-level-title span{color:#68758a;font-size:13px}.knowledge-items{flex-wrap:wrap;gap:8px;display:flex}.knowledge-item{color:#3f4d63;background:#fff;border-radius:7px;padding:7px 10px;font-size:12px}.highlight-radar{background:#fbfcfe;border:1px solid #e8ebf2;border-radius:12px;margin-top:16px;padding:16px}.encouragement{color:#55627a;background:linear-gradient(100deg,#fff8e9,#f2f7ff);border-radius:12px;margin:0 0 24px;padding:14px 16px;font-size:13px;line-height:1.7}@media (width<=750px){.ability-visual{grid-template-columns:1fr}.ability-circles{grid-template-columns:repeat(3,1fr)}.report-stat.enhanced{grid-template-columns:1fr}.radar{max-width:270px}.ai-edit{min-height:260px}}@media (width<=800px){.summary-toolbar{gap:6px;margin-bottom:6px;font-size:11px}.summary-toolbar .btn{padding:5px 8px;font-size:11px}.ai-edit{max-height:300px;padding:10px 12px;font-size:14px;line-height:1.65;min-height:175px!important}.report-ai-actions{flex-wrap:wrap;justify-content:flex-start!important;gap:6px!important;margin-top:10px!important}.report-ai-actions .btn{white-space:nowrap;flex:auto;min-height:36px;padding:7px 10px;font-size:12px}}.inline-link{color:#3767f5;cursor:pointer;background:0 0;border:0;margin-left:8px;font-size:12px}.batch-students{background:#f7f9fc;border:1px solid #e3e8f1;border-radius:8px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.batch-students label{background:#fff;border-radius:6px;padding:6px 9px;font-size:13px}.report-student-field{grid-column:1/-1}.report-picker-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.report-picker-title label{font-weight:700}.report-picker-title>span{color:#6b7890;font-size:12px}.report-student-picker{background:#f7f9fc;border:1px solid #e3e8f1;border-radius:11px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;max-height:230px;padding:12px;display:grid;overflow:auto}.report-student-option{cursor:pointer;background:#fff;border:1px solid #e6ebf3;border-radius:9px;align-items:center;gap:8px;min-width:0;padding:10px;font-size:13px;transition:all .15s;display:flex}.report-student-option:hover{border-color:#b8cdf8}.report-student-option.selected{background:#edf3ff;border-color:#4f7edb;box-shadow:0 3px 9px #4f7edb1f}.report-student-option small{color:#7b879a;white-space:nowrap;margin-left:auto;font-size:11px}.report-student-avatar{color:#3767f5;background:#e3ecff;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.report-student-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.picker-actions{grid-column:1/-1;align-items:center;gap:8px;margin-bottom:0;display:flex}.picker-actions .btn{padding:6px 10px;font-size:12px}.picker-filter{background:#fff;width:auto;min-width:116px;padding:6px 28px 6px 10px;font-size:12px}@media print{aside,.bottom,.top .actions,button{display:none!important}.main{max-width:none;padding:0!important}.card{box-shadow:none;border:0}.form-grid{display:block}.field{margin-bottom:14px}.report-banner{break-inside:avoid}}.report-student-option{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:92px}.report-student-option input{display:none}.report-student-option small{margin-left:0}.report-student-name{text-align:center;max-width:100%}.report-student-picker{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:10px}.report-student-option{border-radius:8px;gap:3px;min-height:68px;padding:7px}.report-student-name{font-size:12px}.report-student-option.course-cpp{background:#f0f5ff;border-color:#d9e5ff}.report-student-option.course-python{background:#fff7eb;border-color:#f5e2bf}.report-student-option.course-cpp.selected{background:#dfeaff;border-color:#4f7edb}.report-student-option.course-scratch.selected{background:#ddf2e5;border-color:#42a879}.report-student-option.course-python.selected{background:#ffedcf;border-color:#e69a3a}.report-student-picker{max-height:none;padding:12px;display:block;overflow:visible}.picker-actions{flex-wrap:wrap;margin-bottom:10px}.report-student-list{scroll-snap-type:x proximity;gap:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.report-student-option{scroll-snap-align:start;flex:0 0 155px}.report-picker-title{margin-bottom:14px}.report-picker-title>span{color:#3767d6;background:#edf3ff;border-radius:999px;padding:5px 10px}.report-student-list{scrollbar-width:thin;scrollbar-color:#cbd4e2 transparent;overflow-x:auto}.report-student-option{border-radius:10px;flex:1 1 0;min-width:125px;min-height:78px;padding:10px;background:#fff!important;border-color:#dfe5ee!important}.report-student-option.selected{border:2px solid #4f7edb;background:#fff!important}.report-student-option.selected:after{content:"✓";color:#fff;background:#4f7edb;border-radius:50%;place-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:grid;position:absolute;top:5px;right:7px}.report-student-option small{text-overflow:ellipsis;max-width:100%;overflow:hidden}.report-student-option.course-cpp small:before{content:"● ";color:#4f7edb}.report-student-option.course-scratch small:before{content:"● ";color:#42a879}.report-student-option.course-python small:before{content:"● ";color:#e69a3a}.report-selection-tip{color:#806829;background:#fffaf0;border:1px solid #ead9a7;border-left:3px solid #e5b84e;border-radius:9px}.inline-selection-tip{border:1px solid #e9e2c9;border-left:3px solid #e5b84e;border-radius:7px;margin:0 0 10px;padding:8px 10px;font-size:12px;line-height:1.4}.picker-actions{flex-wrap:nowrap;gap:8px}.picker-actions .btn{white-space:nowrap;height:34px}.picker-actions .picker-filter{flex:1 1 0;min-width:0;height:34px;padding:6px 24px 6px 10px}.picker-actions .btn:first-child{color:#3767f5;background:#fff;border-color:#3767f5}.picker-actions .btn:nth-child(2){color:#68758a;background:#fff}@media (width<=560px){.picker-actions{flex-wrap:wrap}.picker-actions .picker-filter{min-width:calc(50% - 4px)}}@media (width>=751px){.report-student-list{overflow-x:auto}.report-student-option{flex:0 0 125px;min-width:125px}}.report-student-option{min-height:58px;padding:7px 9px;background:#eff9f3!important;border-color:#d6ecdd!important}.report-student-option.selected{background:#edf3ff!important;border:2px solid #4f7edb!important}.report-student-option small{font-size:10px}.report-student-picker{padding:10px}.report-student-list{gap:8px}.picker-actions{border-bottom:1px solid #e5eaf2;align-items:center;padding:0 0 9px}.picker-actions .btn{border-radius:7px}.picker-actions .btn:first-child{color:#3767d6;border-color:#3767d6;font-size:0}.picker-actions .btn:first-child:after{content:"全选";font-size:12px}.picker-actions .btn:nth-child(2){border-color:#dfe5ee}.picker-actions .picker-filter{color:#56647a;background:#fff;border-radius:0;margin-left:-8px;position:relative}.picker-actions .picker-filter:first-of-type{border-radius:7px 0 0 7px;margin-left:0}.picker-actions .picker-filter:last-of-type{border-radius:0 7px 7px 0}.picker-actions .picker-filter+.picker-filter{border-left-color:#eef1f5}.report-selection-tip{color:#b33b3b;background:#fff5f5;border:1px solid #f2b6b6;border-left:4px solid #e05252;border-radius:9px;align-self:end;margin-top:22px;padding:13px 15px;font-size:13px;line-height:1.6}.class-panel .field>label{color:#536177;background:#f7f9fc;border:1px solid #dfe6f2;border-radius:999px;align-self:flex-start;width:max-content;max-width:100%;padding:6px 12px;font-size:14px;line-height:1.2;display:inline-flex}.class-student-grid{background:#f7f9fc;border:1px solid #e3e8f1;border-radius:9px;flex-wrap:wrap;gap:8px;min-height:48px;padding:10px;display:flex}.class-student-chip{color:#4f5e74;cursor:pointer;font:inherit;background:#fff;border:1px solid #e1e7f0;border-radius:999px;padding:8px 14px;font-size:13px;transition:all .15s}.class-student-chip:hover{border-color:#9bb8f5;transform:translateY(-1px)}.class-student-chip.course-python{background:#fff8ed;border-color:#f0dfc2}.class-student-chip.course-scratch{background:#eff9f3;border-color:#cfe8d9}.class-student-chip.course-cpp{background:#eff4ff;border-color:#d5e1ff}.class-student-chip.selected{color:#285fce;font-weight:700;box-shadow:inset 0 0 0 2px #3767f5}.class-panel>.form-grid:first-of-type .field:first-child>label{color:#3767d6;background:#eef4ff;border-color:#cddcff}.class-panel>.form-grid:first-of-type .field:nth-child(2)>label{color:#2f8b61;background:#eff9f3;border-color:#cfe8d9}.class-panel>.form-grid:nth-of-type(2) .field:first-child>label{color:#bd7a20;background:#fff7eb;border-color:#f0dfc2}.class-panel>.form-grid:nth-of-type(2) .field:nth-child(2)>label{color:#3767d6;background:#eef4ff;border-color:#cddcff}.class-panel{position:relative;overflow:hidden}.class-panel:before{content:"💻   🧩   🚀   📚   ✨   💡   ⌨️   ⭐   🧠   🎯   🏫   📝";z-index:0;letter-spacing:22px;white-space:normal;opacity:.035;pointer-events:none;width:116%;font-size:42px;line-height:3.2;position:absolute;top:12%;left:-8%;transform:rotate(-9deg)}.class-panel>*{z-index:1;position:relative}.class-panel>.form-grid:nth-of-type(2) .actions .btn{color:#205d45;background:#8fd3b0;border-color:#8fd3b0;box-shadow:0 6px 16px #5fb58b2e}.class-panel>.form-grid:nth-of-type(2) .actions .btn:hover{background:#a6dfc0;border-color:#a6dfc0}.pending-record-btn{white-space:nowrap;border-radius:9px;padding:8px 13px;font-size:13px}.class-panel .class-student-chip{color:#5c6678!important;background:#f1f3f7!important;border-color:#dfe4ec!important}.class-panel .class-student-chip.selected{color:#285fce!important;background:#e5eeff!important;border-color:#4f7edb!important}.record-student-picker{background:#f7f9fc;border:1px solid #e3e8f1;border-radius:9px;flex-wrap:wrap;gap:8px;max-height:132px;padding:10px;display:flex;overflow:auto}.record-student-chip{color:#536177;cursor:pointer;font:inherit;white-space:nowrap;background:#fff;border:1px solid #d7e1f0;border-radius:999px;padding:8px 14px;font-size:13px;transition:all .16s}.record-student-chip.course-cpp{border-color:#c8d9ff}.record-student-chip.course-python{border-color:#f1d9ae}.record-student-chip.course-scratch{border-color:#c8e7d5}.record-student-chip.course-lego_big_brick,.record-student-chip.course-spike_robot{border-color:#c8d9ff}.record-student-chip.course-wedo_robot{border-color:#c8e7d5}.record-student-chip.course-3d_printing{border-color:#ffd4c5}.record-student-chip.selected{color:#fff;background:#3767f5;border-color:#3767f5;font-weight:700;box-shadow:0 2px 6px #3767f533}.record-student-chip:hover{transform:translateY(-1px)}.record-selected-student{background:#f7faff;border:1px solid #cbdcff;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:9px 11px;display:flex}.record-selected-avatar{color:#3767d6;background:#e5eeff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.record-selected-avatar.course-python{color:#c67b16;background:#fff0dc}.record-selected-avatar.course-scratch,.record-selected-avatar.course-wedo_robot{color:#209369;background:#e7f8ef}.record-selected-student>div{flex-direction:column;min-width:0;display:flex}.record-selected-student b{color:#26364d}.record-selected-student small{color:#738198;margin-top:2px;font-size:12px}.record-selected-student .inline-link{margin-left:auto}.record-student-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:8px;display:grid}.record-student-filters select,.record-student-filters input{min-width:0}@media (width<=800px){.record-student-filters{grid-template-columns:1fr}}.single-student-filters{grid-template-columns:1fr}.capturing-record-image .record-preview-actions{display:none!important}@page{size:auto;margin:10mm}@media print{html,body{height:auto!important;margin:0!important;padding:0!important}body.printing-record-preview>*{visibility:hidden!important}body.printing-record-preview .modal-overlay,body.printing-record-preview .modal-overlay *{visibility:visible!important}body.printing-record-preview .modal-overlay{background:#fff!important;padding:0!important;display:block!important;position:absolute!important;inset:0!important;overflow:visible!important}body.printing-record-preview .record-preview-modal{width:100%!important;max-width:none!important;max-height:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important;display:block!important;position:static!important;overflow:visible!important}body.printing-record-preview .record-preview-actions,body.printing-record-preview .modal-close,body.printing-record-preview .modal-head{display:none!important}body.printing-record-preview .modal-body{max-height:none!important;padding:0!important;overflow:visible!important}body.printing-record-preview .modal-body:before{margin:0 0 12px!important}}.dimension-picker{color:#536177;background:#f7f9fc;border:1px solid #e5eaf2;border-radius:10px;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 16px;padding:12px 14px;font-size:13px;display:flex}.dimension-picker label{cursor:pointer;background:#fff;border:1px solid #e5eaf2;border-radius:6px;padding:5px 8px}.dimension-picker input{accent-color:#3767f5}.dimension-picker .btn{margin-left:auto;padding:7px 10px;font-size:12px}.level-map{background:#fff;border:1px solid #dce5f2;border-radius:12px;margin-bottom:0;padding:6px 15px}.level-row{min-height:78px;padding:14px 0}.level-row.current{background:#fff}.level-row.current .level-badge{color:#3767f5;background:#dfeaff}.level-row.locked{opacity:1}.level-row.locked .level-badge{color:#aab4c4;background:#f0f3f8}.level-row.locked .level-title{color:#8993a3}.level-row.locked .kp-pill{color:#c1c7d1;background:#f5f6f9}.level-status{white-space:nowrap}.kp-pill{border-radius:8px;padding:6px 10px}.knowledge-divider{border-bottom:3px dashed #9bc8a8;height:18px;margin:0 0 24px}.report-section-divider{opacity:.9;border-top:4px dashed #91c4a3;height:0;margin:26px 0 22px}.knowledge-item{color:#68758a!important;background:#f1f3f8!important;border:0!important;border-radius:999px!important;padding:7px 11px!important}.knowledge-item.mastered{color:#168864!important;background:#e8f6ef!important}.knowledge-item.learning{color:#3767d6!important;background:#e9f0ff!important}.knowledge-item.needs-work{color:#667085!important;background:#f1f3f8!important}.knowledge-level-title{margin-bottom:11px}.knowledge-level-title b{font-size:15px}.knowledge-level-title span{font-size:12px}.knowledge-level-title em{color:#7b879a;margin-left:auto;font-size:11px;font-style:normal;font-weight:500}.inline-selection-tip{color:#64717b;background:#f3f6f7;border:0;border-radius:6px;margin:0 0 10px;padding:7px 10px;font-size:11px;line-height:1.4}.review-rich-text{gap:10px;display:grid}.review-rich-card{background:#f7faff;border:1px solid #e4ebf3;border-left:4px solid #6d94e8;border-radius:10px;margin:0;padding:12px 14px}.review-rich-card h4{color:#314b79;align-items:baseline;gap:8px;margin:0 0 7px;font-size:14px;font-weight:800;line-height:1.55;display:flex}.review-rich-card h4 strong{color:#2f6ae5;flex:none}.review-rich-card p{font-size:13px;line-height:1.8;color:#5b6980!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}.review-rich-card.tone-1{background:#f4fbf7;border-color:#d9eee3}.review-rich-card.tone-1 h4,.review-rich-card.tone-1 h4 strong{color:#23865e}.review-rich-card.tone-2{background:#fff9ef;border-color:#f3e1bd}.review-rich-card.tone-2 h4,.review-rich-card.tone-2 h4 strong{color:#bd7a20}.review-rich-card.tone-3{background:#faf6ff;border-color:#e6dcf5}.review-rich-card.tone-3 h4,.review-rich-card.tone-3 h4 strong{color:#7054a7}.advice-rich-text{gap:12px}.advice-rich-text .review-rich-card{border-left-width:1px;padding:13px 14px}.advice-rich-text .review-rich-card h4{margin-bottom:6px}.advice-rich-text .review-rich-card p{line-height:1.85}.review-rich-card p+p{margin-top:8px!important}.review-keyword{font-weight:700}.review-keyword-knowledge{color:#4a6cf7;background:#7b8ce81f;border-radius:3px;padding:0 2px}.review-keyword-progress{color:#258a62}.review-keyword-explicit{color:#314b79;background:#7b8ce81f;border-radius:3px;padding:0 2px}.homework-rich-text{background:#fff;border-radius:12px;grid-template-columns:1fr;gap:8px;padding:14px;display:grid}.homework-semantic-card{background:#fff;border:1px solid #e4e3dd;border-left-width:3px;border-radius:12px;padding:14px}.homework-semantic-card h4{color:#1a1b1c;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.45;display:flex}.homework-semantic-card p{color:#333!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;font-size:13px!important;line-height:1.7!important}.homework-goal{background:#4a6cf714;border-left-color:#4a6cf7}.homework-task-0{background:#8bc8ea26;border-left-color:#8bc8ea}.homework-task-1{background:#faad141a;border-left-color:#faad14}.homework-task-2{background:#9b7fe21a;border-left-color:#9b7fe2}.homework-task-3{background:#7b8ce81a;border-left-color:#7b8ce8}.homework-standard{background:#52c41a1a;border-left-color:#52c41a}.record-preview-modal .advice-preview-box>h3{color:#1a1b1c;margin-bottom:12px;font-size:16px;font-weight:700}.advice-rich-text{grid-template-columns:1fr;gap:10px;display:grid}.advice-semantic-card{background:#fff;border:1px solid #0000;border-left-width:3px;border-radius:12px;padding:14px}.advice-semantic-card h4{align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.45;display:flex}.advice-semantic-card p{color:#333!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;font-size:13px!important;line-height:1.7!important}.advice-semantic-card ol{color:#333;gap:8px;margin:0;padding:0;font-size:13px;line-height:1.7;list-style:none;display:grid}.advice-semantic-card li{counter-increment:advice-step;padding-left:20px;position:relative}.advice-semantic-card ol{counter-reset:advice-step}.advice-semantic-card li:before{color:#1a1b1c;content:counter(advice-step) ".";font-weight:700;position:absolute;left:0}.advice-focus,.advice-implementation{background:linear-gradient(135deg,#7b8ce81a,#9b7fe214);border-color:#7b8ce833 #7b8ce833 #7b8ce833 #7b8ce8}.advice-focus h4{color:#d4880f}.advice-implementation h4{color:#1a1b1c}.advice-homework{background:linear-gradient(135deg,#faad141a,#ffb74d0f);border-color:#faad143d #faad143d #faad143d #faad14}.advice-homework h4{color:#d4880f}.advice-observation{background:linear-gradient(135deg,#52c41a1a,#73d13d0f);border-color:#52c41a3d #52c41a3d #52c41a3d #52c41a}.advice-observation h4{color:#3f9142}.batch-mode-hint{color:#69778b;background:#f5f7fa;border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:12px}.batch-student-option{position:relative}.batch-student-option.current{box-shadow:inset 0 0 0 1px #3767f5;background:#edf3ff!important;border-color:#3767f5!important}.batch-student-option.completed{color:#237c56;background:#eff9f3!important;border-color:#9bd9b8!important}.batch-student-option.completed small{color:#2f9668}.batch-student-option:not(.completed):not(.current){color:#8791a1;background:#f5f6f8!important;border-color:#e2e6ec!important}.batch-student-option:not(.completed):not(.current) small{color:#a0a8b4}.batch-download-btn{background:#2f9b71!important;border-color:#2f9b71!important}.dimension-picker{background:#f7f9fc;border:1px solid #e5eaf2;border-radius:10px;margin:0 0 16px;padding:14px 15px;display:block}.level-status{color:#7188a8!important;font-weight:600!important}.level-row.current .level-status{color:#3767f5!important}.level-row.locked .level-status{color:#9aabc1!important}.batch-record-btn{color:#263247!important;box-shadow:none!important;background:#fff!important;border-color:#dfe5ee!important}.batch-record-btn:hover{background:#f8fafc!important;border-color:#c8d3e4!important}.save-draft-btn{color:#3767f5!important;box-shadow:none!important;background:#fff!important;border-color:#3767f5!important}.save-draft-btn:hover{color:#285fce!important;background:#f2f6ff!important;border-color:#285fce!important}.batch-students{background:#f7f9fc;border:1px solid #e3e8f1;border-radius:9px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:10px;display:grid}.batch-student-option{color:#4f5e74;cursor:pointer;background:#fff;border:1px solid #e2e7ef;border-radius:9px;align-items:center;gap:8px;min-width:0;padding:9px 10px;display:flex}.batch-student-option input{display:none}.batch-student-option.selected{background:#edf3ff;border-color:#3767f5;box-shadow:inset 0 0 0 1px #3767f5}.batch-student-avatar{color:#3767f5;background:#e3ecff;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.batch-student-copy{flex-direction:column;min-width:0;display:flex}.batch-student-copy b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batch-student-copy small{color:#7b879a;text-transform:lowercase;font-size:10px}.batch-student-option.course-cpp{background:#eff4ff;border-color:#d5e1ff}.batch-student-option.course-cpp .batch-student-avatar{color:#3767f5;background:#dfeaff}.batch-student-option.course-python{background:#fff7eb;border-color:#f0dfc2}.batch-student-option.course-python .batch-student-avatar{color:#c27b20;background:#ffedcf}.batch-student-option.course-scratch{background:#eff9f3;border-color:#cfe8d9}.batch-student-option.course-scratch .batch-student-avatar{color:#2f9668;background:#ddf2e5}.batch-student-option.selected{background:#edf3ff!important;border-color:#3767f5!important}.bottom{left:0}@media (width>=801px){.mobile-primary-nav.bottom{display:none!important}}@media (width<=800px){.app{width:100%;max-width:100%;display:block;overflow-x:hidden}.side{display:none}.bottom{left:0;right:0}.main{box-sizing:border-box;width:100%;min-width:0;max-width:none;margin:0;padding-left:15px;padding-right:15px;display:block}.top,.top>div{min-width:0;max-width:100%}}.record-card>.form-grid .field{gap:9px}.record-knowledge-select{box-sizing:border-box;width:auto;min-width:260px;max-width:100%}.form-grid,.field,.scores,.score-box,.record-card{min-width:0}@media (width>=801px){.record-card>.form-grid{align-items:stretch}.record-homework-field{align-self:stretch}.record-homework-field textarea{flex:1;min-height:0}}@media (width<=800px){html,body,#root{max-width:100%;overflow-x:hidden}.record-card{width:100%;max-width:100%;overflow:hidden}.record-card>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.record-card>.form-grid .record-student-field,.record-card>.form-grid .record-course-field,.record-card>.form-grid .field.full{grid-column:1/-1}.record-course-field{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.record-course-field>label{grid-column:1/-1}.record-card .field select,.record-card .field input,.record-card .field textarea{min-width:0;max-width:100%}.scores{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.score-box{width:100%}.batch-students{width:100%;max-width:100%;overflow:hidden}.record-knowledge-select{flex:100%;width:100%;min-width:0;max-width:100%;display:block}.student-class-meta{display:none}}@media (width<=560px){.report-student-picker{width:100%;max-width:100%;padding:8px;overflow:hidden}.picker-actions{flex-wrap:nowrap;grid-template-columns:auto auto minmax(0,1fr) minmax(0,1fr);gap:6px;width:100%;max-width:100%;display:grid;overflow:hidden}.picker-actions .btn,.picker-actions .picker-filter{text-overflow:ellipsis;width:100%;min-width:0;max-width:100%;height:34px;padding-left:8px;padding-right:8px;overflow:hidden}.picker-actions .picker-filter{flex:none}.report-student-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;max-width:100%;display:grid;overflow:visible}.report-student-option{width:100%;flex:none!important;min-width:0!important}}@media (width<=800px){.record-action-bar{z-index:20;background:#fffffff7;border-top:1px solid #e5eaf2;justify-content:center;gap:6px;padding:9px 10px;display:flex;position:fixed;bottom:58px;left:0;right:0;box-shadow:0 -5px 16px #1e2d5014}.record-action-bar .btn{white-space:nowrap;flex:1 1 0;min-width:0;padding:8px 10px;font-size:12px}.record-action-bar .batch-record-btn,.record-action-bar>button:nth-child(2){display:none}.record-action-bar .save-draft-btn{display:inline-flex!important}.record-card .field input[type=date],.record-card .field input[type=month]{width:100%;min-width:0;max-width:100%;padding-left:10px;padding-right:8px;font-size:16px;display:block}.field input[type=month]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:10px 8px 10px 10px;font-size:16px;display:block}.field input[type=month]::-webkit-datetime-edit{max-width:100%;overflow:hidden}.report-student-field,.report-student-picker,.report-student-picker~*{min-width:0;max-width:100%}.top .actions .template-btn,.top .actions .bulk-import-btn,.bottom .bottom-classes-nav,.top .actions .desktop-add-student,.dashboard-top-actions .mobile-class-management,.dashboard-top-actions>.btn.primary{display:none!important}.class-panel .actions{align-items:center;gap:8px;width:100%;margin-top:8px;display:flex!important}.class-panel .actions .btn,.class-panel .actions .btn:not(.primary){white-space:nowrap;justify-content:center;align-items:center;min-height:42px;padding:9px 18px;visibility:visible!important;opacity:1!important;display:inline-flex!important}.class-panel>.form-grid{gap:12px;grid-template-columns:minmax(0,1fr)!important}.class-panel>.form-grid:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))!important}.class-panel>.form-grid:first-of-type .field:first-child{grid-area:1/1}.class-panel>.form-grid:first-of-type .field:nth-child(2){grid-area:2/1/auto/-1}.class-panel>.form-grid:first-of-type .field:nth-child(3){grid-area:1/2}.class-panel>.form-grid .actions{grid-column:1/-1}.class-panel .class-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.class-panel .class-choice{text-align:center;width:100%;min-width:0;padding:10px 9px}}.score-box{position:relative;overflow:hidden}.score-box>:not(.score-watermark){z-index:1;position:relative}.score-watermark{opacity:.09;filter:saturate(.75);pointer-events:none;font-size:48px;line-height:1;bottom:-8px;right:9px;z-index:0!important;position:absolute!important}.nav-icon{vertical-align:middle;background-color:#0000;background-position-y:-55px;background-repeat:no-repeat;background-size:543px 181px;flex:0 0 28px;width:28px;height:28px;font-size:0;display:inline-block}.nav-icon-dashboard{background-position:7% 37%}.nav-icon-record{background-position:27% 37%}.nav-icon-students{background-position:48% 37%}.nav-icon-report{background-position:68% 37%}.nav-icon-classes{background-position:87% 37%}.class-panel>.form-grid .actions{justify-content:flex-end;align-items:flex-end}.class-panel>.form-grid .actions .btn{flex:none;width:auto;min-width:120px;min-height:44px;padding:9px 16px;font-size:14px}@media (width<=800px){.class-panel>.form-grid .actions{grid-column:1/-1;justify-content:flex-end;width:100%;margin-top:0}.class-panel>.form-grid .actions .btn{text-align:center;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:96px;min-height:44px;padding:0 20px;font-size:14px;line-height:1;display:inline-flex!important}}.nav button{align-items:center;gap:8px;display:flex}.bottom .nav-icon{background-size:543px 181px;flex-basis:27px;width:27px;height:27px}.bottom .nav-icon-dashboard{background-position:7% 37%}.bottom .nav-icon-record{background-position:27% 37%}.bottom .nav-icon-students{background-position:48% 37%}.bottom .nav-icon-report{background-position:68% 37%}.bottom .nav-icon-classes{background-position:87% 37%}.nav-icon{position:relative;overflow:visible;background:0 0!important}.nav-icon img{object-fit:contain;width:100%;height:100%;display:block}.bottom .nav-icon img{width:27px;height:27px}@media (width<=800px){.batch-students{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px}.batch-student-option{border-radius:8px;gap:6px;min-height:48px;padding:7px 6px}.batch-student-avatar{flex-basis:24px;width:24px;height:24px;font-size:12px}.batch-student-copy b{font-size:12px}.batch-student-copy small{font-size:9px}}.top .actions{align-items:center;gap:10px}.top .actions>.btn,.top .actions>label{border-radius:8px;justify-content:center;align-items:center;height:42px;display:inline-flex}.top .actions .add-student-btn,.top .actions .bulk-import-btn{color:#3767f5!important;box-shadow:none!important;background:#fff!important;border:1px solid #3767f5!important}.top .actions .add-student-btn:hover,.top .actions .bulk-import-btn:hover{background:#f2f6ff!important}.top .actions .template-btn{color:#4e5969!important;box-shadow:none!important;background:#f2f3f5!important;border-color:#e5e6eb!important}.top .actions .template-btn:hover{background:#e5e6eb!important}.stat-card{min-height:126px;padding:18px 20px}.stat-decor{filter:saturate(.75);z-index:0;font-size:62px;bottom:8px;right:12px;opacity:.065!important;display:block!important}.stat-card>:not(.stat-decor){z-index:1;position:relative}.two{gap:20px;margin-top:24px}.report-student-option.course-scratch{background:#f3f5f7!important;border-color:#e1e5eb!important}.metric-progress{background:#fff;border-radius:999px;height:5px;overflow:hidden;box-shadow:inset 0 0 0 1px #dae1ebbf}.metric-progress i{border-radius:inherit;background:#4f7edb;height:100%;display:block}.metric-green .metric-progress i{background:#4ca77d}.metric-orange .metric-progress i{background:#e69a3a}.dimension-picker-title{color:#536177;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.dimension-picker-title b{color:#3f4d63;font-size:13px}.dimension-picker-title span{color:#8a94a7;font-size:11px}.dimension-custom-btn{white-space:nowrap;margin-left:auto!important;padding:6px 10px!important;font-size:12px!important}.dimension-custom-tip{color:#5b6f94;background:#eef4ff;border-radius:7px;margin:-3px 0 10px;padding:8px 10px;font-size:12px;line-height:1.5}.dimension-picker-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.dimension-picker label{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dfe6f1;border-radius:7px;align-items:center;gap:6px;min-width:0;padding:8px 10px;display:flex}.dimension-picker label span{text-overflow:ellipsis;overflow:hidden}.dimension-picker input{accent-color:#3767f5;margin:0}.dimension-picker-actions{justify-content:flex-end;margin-top:12px;display:flex}.dimension-picker .btn{margin:0;padding:7px 12px;font-size:12px}@media (width<=700px){.dimension-picker-options{grid-template-columns:repeat(2,minmax(0,1fr))}.dimension-picker-title{display:block}.dimension-picker-title span{margin-top:4px;display:block}.dimension-custom-btn{display:block;margin:8px 0 0!important}}@media (width<=420px){.dimension-picker-options{grid-template-columns:1fr}}.picker-search{color:#27344b;background:#fff;border:1px solid #dfe5ee;border-radius:7px;outline:none;width:100%;height:34px;margin-bottom:8px;padding:7px 11px;font-size:13px}.picker-search:focus{border-color:#4f7edb;box-shadow:0 0 0 2px #4f7edb1f}.student-search{color:#27344b;background:#fff;border:1px solid #dfe5ee;border-radius:8px;outline:none;width:180px;height:40px;padding:9px 12px;font-size:13px}.student-search:focus{border-color:#4f7edb;box-shadow:0 0 0 2px #4f7edb1f}@media (width<=700px){.student-search{flex:100%;width:100%}}.report-student-option{position:relative}.report-student-option.selected{box-shadow:0 3px 10px #3767f52e;background:#dbe9ff!important;border:2px solid #3767f5!important}.report-student-option:has(input:checked){box-shadow:0 3px 10px #3767f52e;background:#dbe9ff!important;border:2px solid #3767f5!important}.report-picker-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex!important}.report-picker-actions .report-class-filter{min-width:240px}.report-picker-actions .picker-search.compact{flex:180px;min-width:180px;height:34px;padding:6px 10px}.report-empty-state{color:#7b879a;text-align:center;background:#fff;border:1px dashed #cad5e8;border-radius:9px;padding:20px 16px}.compact-report-student-list{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:190px;padding:4px;overflow:auto;display:grid!important}.compact-report-student-list .report-student-option{text-align:center;justify-content:center;align-items:center;width:auto!important;min-width:0!important;min-height:38px!important;box-shadow:none!important;background:#fff!important;border:1px solid #dce4f0!important;padding:7px 8px!important;display:flex!important}.compact-report-student-list .report-student-option:hover{background:#f5f8ff!important;border-color:#7da2ef!important}.compact-report-student-list .report-student-option.selected{background:#eaf1ff!important;border:2px solid #3767f5!important}.compact-report-student-list .report-student-option.selected:after{content:"✓";color:#3767f5;background:0 0;width:auto;height:auto;margin-left:4px;font-size:12px;position:static}.compact-report-student-list .report-student-name{color:#253552;font-size:13px}.report-generation-queue>div:first-child{align-items:center;gap:8px;display:flex}.report-generation-queue b{color:#263a5a}.report-generation-queue>div:first-child span{color:#3d70d9;background:#e9f0ff;border-radius:999px;padding:2px 8px;font-size:12px}.report-generation-queue p{color:#7b879a;margin:8px 0 0;font-size:13px}.report-queue-chip{color:#345da8;background:#fff;border:1px solid #cbdaf4;border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 9px;display:inline-flex}.report-queue-chip button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.report-queue-chip i{color:#7b879a;cursor:pointer;border-radius:50%;place-items:center;width:16px;height:16px;font-style:normal;display:grid}.report-queue-chip i:hover{color:#e05b5b;background:#f0f3f8}.report-queue-chip.done{color:#168a5c;background:#effaf4;border-color:#a8ddc0}.report-queue-chip.error{color:#c55252;background:#fff5f5;border-color:#f0b6b6}@media (width<=750px){.report-picker-actions{grid-template-columns:1fr 1fr;display:grid!important}.report-picker-actions .report-class-filter,.report-picker-actions .picker-search.compact{grid-column:1/-1;width:100%;min-width:0}.compact-report-student-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:205px}.compact-report-student-list .report-student-option{min-height:36px!important;padding:6px!important}.compact-report-student-list .report-student-name{font-size:12px}.report-generation-queue{padding:10px}.report-queue-list{gap:6px}}.report-student-banner-name{color:#2f6bd8;letter-spacing:.01em;font-size:1.18em;font-weight:800}.class-choice-title{color:#27344b;align-items:center;gap:10px;margin-bottom:10px;font-weight:700;display:flex}.class-choice-grid{flex-wrap:wrap;gap:10px;display:flex}.class-choice{color:#4f5e74;text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe5ee;border-radius:11px;min-width:150px;padding:11px 14px;transition:all .15s}.class-choice b,.class-choice small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.class-choice small{color:#8290a5;margin-top:4px;font-size:11px}.class-choice:hover{border-color:#9bb8f5;transform:translateY(-1px)}.class-choice.selected{color:#285fce;background:#edf3ff;border-color:#3767f5;box-shadow:inset 0 0 0 2px #3767f5}.class-choice.course-python{background:#fff8ed;border-color:#f0dfc2}.class-choice.course-scratch{background:#eff9f3;border-color:#cfe8d9}.class-choice.course-cpp{background:#eff4ff;border-color:#d5e1ff}.class-choice.course-lego_big_brick{background:#fff8ed;border-color:#f0dfc2}.class-choice.course-wedo_robot{background:#eff9f3;border-color:#cfe8d9}.class-choice.course-spike_robot{background:#eff4ff;border-color:#d5e1ff}.class-choice.course-3d_printing{background:#fff6f1;border-color:#ffd6c7}.class-panel .form-grid:nth-of-type(2)>.field:first-child{display:none}.add-student-modal{border:1px solid #dce2f3;border-radius:18px;flex-direction:column;width:min(580px,100vw - 32px);max-height:min(88dvh,900px);display:flex;overflow:hidden;box-shadow:0 24px 60px #272f6538}.add-student-modal .modal-head{flex:none}.add-student-modal .modal-body{overscroll-behavior:contain;flex:auto;min-height:0;padding-top:22px;overflow-y:auto}.add-student-modal .form-actions{justify-content:flex-end;margin-top:18px}.add-student-modal .form-actions .btn{min-width:104px}.add-student-modal-head{background:linear-gradient(135deg,#fbfcff 0%,#f4f2ff 100%);border-bottom:1px solid #e9ebf6;align-items:center;padding:20px 22px}.add-student-title-wrap{align-items:center;gap:11px;display:flex}.add-student-title-wrap>span{color:#fff;background:linear-gradient(135deg,#3f7af0,#7655ed);border-radius:12px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 7px 15px #4c4cbe33}.add-student-title-wrap b,.add-student-title-wrap small{display:block}.add-student-title-wrap b{color:#283654;letter-spacing:-.01em;font-size:17px}.add-student-title-wrap small{color:#7c87a1;margin-top:3px;font-size:12px}.add-student-modal-body{padding:22px}.add-student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.add-student-form-grid .field{gap:7px;display:grid}.add-student-form-grid .field label{color:#3b4b68;align-items:center;gap:5px;font-size:13px;font-weight:750;display:flex}.add-student-form-grid .field label span{color:#96a0b2;font-size:11px;font-weight:500}.add-student-form-grid input,.add-student-form-grid select{color:#273a59;height:44px;box-shadow:none;background:#fff;border-color:#d9e1f1;border-radius:11px}.add-student-form-grid input:focus,.add-student-form-grid select:focus{border-color:#5b74f2;box-shadow:0 0 0 3px #576def21}.add-student-field-full{grid-column:1/-1}.gender-selector{background:#f7f8fd;border:1px solid #d9e1f1;border-radius:11px;grid-template-columns:1fr 1fr;gap:7px;height:44px;padding:3px;display:grid}.gender-selector button{color:#70809a;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:13px;font-weight:700;transition:background .18s,color .18s,box-shadow .18s}.gender-selector button.active{color:#fff;background:linear-gradient(105deg,#4b81ee,#8060ec);box-shadow:0 4px 10px #4f4eca36}.add-student-form-actions{padding-top:3px}.add-student-form-actions .btn{border-radius:11px;height:42px}.add-student-form-actions .btn.primary{min-width:124px}.add-student-form-actions .btn:disabled{box-shadow:none}@media (width<=540px){.add-student-modal{border-radius:16px;width:calc(100vw - 24px)}.add-student-modal-head,.add-student-modal-body{padding-left:17px;padding-right:17px}.add-student-form-grid{grid-template-columns:1fr;gap:13px}.add-student-field-full{grid-column:auto}.add-student-form-actions{gap:8px}.add-student-form-actions .btn{flex:1;min-width:0!important}}.student-avatar-trigger,.archive-avatar-trigger{cursor:pointer;background:0 0;border:0;padding:0}.student-avatar-trigger{border-radius:50%;place-items:center;transition:transform .18s,box-shadow .18s;display:grid}.student-avatar-trigger:hover{transform:translateY(-1px);box-shadow:0 7px 16px #4447ae2b}.student-avatar-trigger:focus-visible,.archive-avatar-trigger:focus-visible{outline-offset:3px;outline:2px solid #5b74f2}.archive-title-wrap{align-items:center;gap:10px;min-width:0;display:flex}.archive-title-avatar{width:34px;height:34px}.archive-avatar-trigger{border-radius:50%;place-items:center;transition:transform .18s;display:grid}.archive-avatar-trigger:hover{transform:scale(1.05)}.student-profile-overlay{z-index:80}.student-profile-modal{border-radius:18px;flex-direction:column;width:min(650px,100vw - 32px);max-height:min(88dvh,900px);display:flex;overflow:hidden}.student-profile-modal .modal-head{flex:none}.student-profile-modal .modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.student-profile-head{background:linear-gradient(135deg,#fbfcff,#f4f2ff);border-bottom:1px solid #e9ebf6;padding:19px 22px}.student-profile-heading{align-items:center;gap:12px;display:flex}.student-profile-hero-avatar{width:48px;height:48px;box-shadow:0 7px 17px #37419921}.student-profile-heading b,.student-profile-heading small{display:block}.student-profile-heading b{color:#283654;font-size:17px}.student-profile-heading small{color:#7c87a1;margin-top:3px;font-size:12px}.student-profile-error{color:#b84351;background:#fff6f7;border:1px solid #f1c3c8;border-radius:10px;margin:0 0 14px;padding:9px 11px;font-size:12px;line-height:1.5}.student-profile-fields{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;display:grid}.student-profile-fields .field{gap:6px;display:grid}.student-profile-fields label{color:#3b4b68;gap:5px;font-size:12px;font-weight:750;display:flex}.student-profile-fields label span{color:#96a0b2;font-size:11px;font-weight:500}.student-profile-fields input,.student-profile-fields select{border-color:#d9e1f1;border-radius:10px;height:42px}.student-profile-fields input:focus,.student-profile-fields select:focus{border-color:#5b74f2;box-shadow:0 0 0 3px #576def21}.student-profile-name{grid-column:1/-1}.student-avatar-picker{border-top:1px solid #e9ebf6;margin-top:18px;padding-top:16px}.student-avatar-picker-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.student-avatar-picker-head>div{gap:3px;display:grid}.student-avatar-picker b{color:#303f5c;font-size:14px}.student-avatar-picker small{color:#8792a7;font-size:12px}.student-avatar-picker-head>span{color:#586ce0;background:#eef2ff;border-radius:999px;flex:none;padding:4px 7px;font-size:11px;font-weight:700}.student-avatar-options{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:11px;display:grid}.student-avatar-options button{color:#71809a;min-width:0;font:inherit;cursor:pointer;background:#fff;border:1px solid #e0e5f0;border-radius:11px;justify-items:center;gap:4px;padding:6px 3px;font-size:10px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:grid}.student-avatar-options button:hover{background:#f7f8ff;border-color:#aebcff;transform:translateY(-2px)}.student-avatar-options button.active{background:#f2f3ff;border-color:#6378ee;box-shadow:0 0 0 2px #6578ee1f}.student-avatar-option{width:38px;height:38px}.student-avatar-options span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.student-profile-actions{justify-content:flex-end;margin-top:18px}.student-profile-actions .btn{border-radius:11px;height:42px}.student-profile-actions .btn.primary{min-width:118px}@media (width<=600px){.student-profile-modal{border-radius:16px;width:calc(100vw - 24px)}.student-profile-head,.student-profile-body{padding-left:16px;padding-right:16px}.student-profile-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.student-profile-name{grid-column:1/-1}.student-profile-gender{max-width:none}.student-avatar-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.student-avatar-options button{min-height:63px;padding:5px 2px}.student-avatar-option{width:36px;height:36px}.student-profile-actions{gap:8px}.student-profile-actions .btn{flex:1;min-width:0!important}}.class-creator-panel{scroll-margin:22px}.class-creator-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.class-creator-head .section-title{margin:0}.class-creator-toggle{color:#4c63d6;min-width:56px;height:34px;font:inherit;cursor:pointer;background:#f4f6ff;border:1px solid #cbd6fc;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:750;display:inline-flex}.class-creator-toggle:hover{background:#ecefff;border-color:#9eaff9}.class-creator-panel.collapsed{padding-top:15px;padding-bottom:15px}.class-create-fab{z-index:45;color:#fff;cursor:pointer;background:linear-gradient(135deg,#3578ef,#7052ec);border:0;border-radius:50%;place-items:center;width:52px;height:52px;transition:transform .18s,box-shadow .18s;display:grid;position:fixed;bottom:28px;right:24px;box-shadow:0 12px 25px #4049c457}.class-create-fab:hover{transform:translateY(-2px);box-shadow:0 16px 29px #4049c466}.class-create-fab:focus-visible{outline-offset:3px;outline:3px solid #546df44d}@media (width<=800px){.class-create-fab{width:48px;height:48px;bottom:82px;right:18px}.class-creator-panel.collapsed{margin-bottom:14px!important}}.teacher-avatar-trigger{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;transition:transform .18s,box-shadow .18s}.teacher-avatar-trigger:hover{transform:translateY(-2px);box-shadow:0 9px 20px #4345b12e}.teacher-avatar-trigger:focus-visible{outline-offset:3px;outline:2px solid #5b74f2}.teacher-avatar-overlay{z-index:80}.teacher-avatar-modal{border-radius:18px;flex-direction:column;width:min(530px,100vw - 32px);max-height:min(88dvh,900px);display:flex;overflow:hidden}.teacher-avatar-modal .modal-head{flex:none}.teacher-avatar-modal .modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.teacher-avatar-body{padding:22px}.teacher-avatar-options{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.teacher-avatar-actions{justify-content:flex-end;margin-top:20px}.teacher-avatar-actions .btn{border-radius:11px;min-width:110px;height:42px}@media (width<=600px){.teacher-avatar-modal{border-radius:16px;width:calc(100vw - 24px)}.teacher-avatar-body{padding:16px}.teacher-avatar-options{grid-template-columns:repeat(4,minmax(0,1fr))}}.record-card .record-student-heading{flex-wrap:wrap}.record-card .record-student-title{color:var(--text);font-size:15px}.record-student-search-toggle{color:#596ad5;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-left:auto;padding:5px 7px;font-size:12px;font-weight:700;display:inline-flex}.record-card .record-student-heading-search{flex:100%;order:4}.record-card .record-student-picker--browse{background:#fbfcff;max-height:176px;margin-top:0}.record-card .record-student-picker--browse .record-student-chip{text-align:center;min-width:76px}@media (width<=800px){.record-card .record-student-title{font-size:14px}.record-card .record-student-picker--browse{max-height:150px}.record-card .record-student-picker--browse .record-student-chip{min-width:70px;padding:8px 11px}}.record-card .record-student-picker--browse{scrollbar-width:none;flex-wrap:nowrap;align-items:center;min-height:58px;overflow:auto hidden}.record-card .record-student-picker--browse::-webkit-scrollbar{display:none}.record-card .record-student-picker--browse .record-student-chip{flex:none}.experience-page{min-width:0}.experience-toolbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:920px;display:grid}.experience-card{text-align:left;color:#27344b;cursor:pointer;background:#fff;border:1px solid #dfe6f1;border-radius:16px;align-items:center;gap:14px;min-height:118px;padding:22px 24px;transition:all .18s;display:flex;box-shadow:0 6px 18px #1e2d500d}.experience-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1e2d501a}.experience-card-orange{background:#fffaf2;border-color:#f0dfc2}.experience-card-green{background:#f3fbf7;border-color:#cfe8d9}.experience-card-icon{background:#fff0d8;border-radius:14px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.experience-card-green .experience-card-icon{background:#dff3e8}.experience-card b{font-size:18px;display:block}.experience-card small{color:#7b879a;margin-top:7px;font-size:12px;line-height:1.5;display:block}.experience-card-arrow{color:#3767d6;margin-left:auto;font-size:24px}.experience-frame-wrap{background:#f6f8fb;border:1px solid #dfe6f1;border-radius:14px;height:calc(100vh - 150px);min-height:min(620px,100vh - 120px);overflow:hidden}.experience-frame{background:#fff;border:0;width:100%;height:100%}.experience-native{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);align-items:start;gap:20px;display:grid}.experience-native-form,.experience-native-preview{background:#fff;border:1px solid #dfe6f1;border-radius:14px;padding:22px;box-shadow:0 6px 18px #1e2d500d}.experience-native-form h2{margin:0 0 6px;font-size:20px}.experience-native-preview{background:linear-gradient(145deg,#f2fbf7,#fff);min-height:520px}.experience-field{margin-top:14px;display:block}.experience-field>span{color:#536177;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.experience-field input,.experience-field select,.experience-field textarea{box-sizing:border-box;width:100%;font:inherit;color:#27344b;background:#fff;border:1px solid #dfe6f1;border-radius:8px;padding:10px 12px}.experience-field textarea{resize:vertical}.experience-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.experience-checks{flex-wrap:wrap;gap:7px;display:flex}.experience-checks button{color:#536177;cursor:pointer;background:#f8fafc;border:1px solid #dfe6f1;border-radius:999px;padding:7px 10px}.experience-checks button.selected{color:#285fce;background:#e9f1ff;border-color:#3767f5}.experience-native-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.preview-kicker{color:#2d7c5d;font-size:13px;font-weight:700}.experience-native-preview h1{color:#285fce;margin:10px 0;font-size:30px}.experience-native-preview>p{color:#5c6d85;line-height:1.8}.preview-highlight,.report-block{background:#fff;border:1px solid #d7eadf;border-radius:12px;margin-top:22px;padding:18px}.preview-highlight b,.preview-highlight strong,.preview-highlight span{display:block}.preview-highlight strong{color:#2d7c5d;margin:8px 0;font-size:24px}.preview-highlight span{color:#78879a}.experience-native-preview h3{color:#27344b;margin-top:24px}.preview-tags{flex-wrap:wrap;gap:8px;display:flex}.preview-tags span{color:#2d7c5d;background:#e8f6ef;border-radius:999px;padding:7px 10px}.report-preview{background:linear-gradient(145deg,#eef5ff,#fff)}.report-preview .report-name{color:#3767f5;font-size:22px;font-weight:700}.report-block{border-color:#dce7fb}.report-block h3{margin:0 0 8px}.report-block p{color:#5c6d85;margin:0;line-height:1.8}.native-form-title{color:#2d6cdf;font-weight:800}.native-privacy{color:#6d7b92;background:#f7f9fc;border-left:3px solid #c8d1e3;border-radius:0 8px 8px 0;margin:12px 0;padding:9px 11px;font-size:12px}.experience-native-form .btn.success{color:#fff;background:#2db36b}.trial-package-preview{background:#fff;border-top:8px solid #ff7a45;padding:28px}.report-preview{background:#fff;border-top:8px solid #2d6cdf;padding:28px}.native-cover{border-bottom:2px dashed #ffe0cc;margin-bottom:18px;padding:18px 0 20px}.native-brand{color:#ff7a45;font-size:22px;font-weight:800}.native-cover-tag{color:#888;margin-top:4px;font-size:12px}.native-cover-title{text-align:center;color:#2d6cdf;margin:12px 0 4px;font-size:29px;font-weight:900}.native-cover>div:last-child{text-align:center;color:#666;font-size:14px}.native-key{background:#fff6f1;border:1px solid #ffe0cc;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;display:flex}.native-key b{color:#ff7a45}.native-key strong{color:#2d6cdf}.native-preview-block h3{color:#fff;border-radius:8px;margin:0 0 10px;padding:5px 14px;font-size:16px;display:inline-block}.native-preview-block>div{color:#4b5b74;background:#f4f7ff;border-left:6px solid #2d6cdf;border-radius:0 10px 10px 0;padding:14px 18px;line-height:1.8}.native-preview-block ul{margin:0;padding-left:20px}.native-preview-block li{padding:4px 0}.native-preview-block p{margin:0}.tone-teal h3{background:#2aa39b}.tone-teal>div{background:#f1fbfa;border-left-color:#2aa39b}.tone-purple h3{background:#6c5ce7}.tone-purple>div{background:#f5f2ff;border-left-color:#6c5ce7}.tone-orange h3{background:#ff7a45}.tone-orange>div{background:#fff8f4;border-left-color:#ff7a45}.tone-pink h3{background:#e8548a}.tone-pink>div{background:#fff3f7;border-left-color:#e8548a}.tone-blue h3{background:#2d6cdf}.tone-blue>div{background:#f2f6ff;border-left-color:#2d6cdf}.native-ability-grid,.native-radar{flex-wrap:wrap;gap:10px;display:flex}.native-ability-grid span,.native-radar span{color:#2d6cdf;background:#fff;border:1px solid #dbe3f0;border-radius:16px;padding:5px 10px;font-weight:700}.native-cta{color:#e8551f;text-align:center;background:#fff4ec;border:1px solid #ffb58f;border-radius:10px;padding:13px 16px;font-weight:700}.native-about{color:#444;background:linear-gradient(135deg,#fff8f4,#f4f7ff);border:2px dashed #ffe0cc;border-radius:16px;margin-bottom:18px;padding:18px 20px;line-height:1.8}.native-about b{color:#ff7a45}.native-about-tags{flex-wrap:wrap;gap:8px;display:flex}.native-about-tags span{background:#fff;border:1px solid #ffe0cc;border-radius:20px;padding:4px 10px}.native-invite-title{text-align:center;color:#2d6cdf;margin:12px 0 4px;font-size:28px;font-weight:900}.native-invite-sub{text-align:center;color:#666;margin-bottom:18px;line-height:1.8}.native-price-list{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.native-price-list span{color:#555;background:#fff;border:1px solid #eef1f6;border-radius:8px;padding:8px}.native-course-grid span{color:#555;background:#fff;border:1px solid #eef1f6;border-radius:10px;padding:10px}@media (width<=900px){.native-price-list,.native-course-grid{grid-template-columns:1fr}}.native-price-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px;box-shadow:0 3px 10px #0000000f}.native-price-table th{color:#2d6cdf;text-align:center;background:#f4f7ff;border-bottom:2px solid #dbe3f0;padding:9px 6px;font-weight:700}.native-price-table td{text-align:center;border:1px solid #eef1f6;padding:9px 6px}.native-price-table td:first-child{color:#ff7a45;font-weight:800}.native-price-table tr:nth-child(2n) td{background:#fafcff}.lesson-content-after-knowledge{background:#f8fbff;border:1px solid #dce7fb;border-radius:10px;margin-top:6px;padding:14px 16px}.lesson-content-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.lesson-content-head label{margin:0}.record-homework-field,.ai-review,.record-comment-field{background:#f8fbff;border:1px solid #dce7fb;border-radius:10px;padding:14px 16px}.lesson-content-head .btn,.ai-review-head .btn,.ai-style-row .btn,.phrase-ai-footer .phrase-ai-button{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;line-height:1.25;display:inline-flex;flex:none!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;padding:6px 12px!important;font-size:12px!important}.ai-style-row{flex-wrap:wrap;gap:10px;display:flex}@media (width<=800px){.lesson-content-head .btn,.ai-review-head .btn,.ai-style-row .btn,.phrase-ai-footer .phrase-ai-button{width:auto!important;min-height:0!important;font-size:12px!important}}@media (width<=700px){.experience-grid{grid-template-columns:1fr}.experience-toolbar{align-items:center}.experience-frame-wrap{height:calc(100vh - 130px);min-height:min(560px,100vh - 96px)}.experience-card{min-height:96px;padding:18px}.experience-card b{font-size:16px}}@media (width<=900px){.experience-native{grid-template-columns:1fr}.experience-native-preview{min-height:0}.experience-form-grid{grid-template-columns:1fr}}.native-arrangement p{margin:5px 0}.native-arrangement b{color:#e8551f}.experience-page{background:#eef1f6;min-height:calc(100vh - 24px);padding:22px}.experience-toolbar{justify-content:space-between;align-items:flex-start;max-width:1180px;margin:0 auto 18px;display:flex}.experience-native{gap:22px;max-width:1180px;margin:0 auto}.experience-native-form{flex-basis:360px}.experience-native-preview{border-radius:14px;padding:30px 34px;box-shadow:0 6px 22px #00000014}.native-about{font-size:13.5px}.native-about h2{font-size:15px}.native-preview-block h3{font-size:16px}.experience-page{background:#eef1f6;padding:22px}.experience-toolbar{max-width:1180px;margin:0 auto 18px;padding:0 2px}.experience-native{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:22px;max-width:1180px}.experience-native-form{background:#fff;border:0;border-radius:14px;padding:22px;box-shadow:0 6px 22px #00000014}.experience-native-preview{background:#fff;border:0;border-radius:14px;min-width:0;padding:30px 34px;box-shadow:0 6px 22px #00000014}.trial-package-preview{border-top:8px solid #ff7a45}.report-preview{border-top:8px solid #2d6cdf}.native-cover{border-bottom:2px dashed #ffe0cc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:0 0 14px;display:flex}.native-brand{color:#ff7a45;font-size:22px;font-weight:800;line-height:1.2}.native-cover-tag{color:#888;margin:0;font-size:12px}.native-cover-title{text-align:center;color:#2d6cdf;flex:0 0 100%;margin:4px 0 2px;font-size:24px;line-height:1.25}.native-cover>div:last-child{color:#666;text-align:center;flex:0 0 100%;font-size:14px}.native-about{color:#444;background:linear-gradient(135deg,#fff8f4,#f4f7ff);border:2px dashed #ffe0cc;border-radius:16px;margin-bottom:18px;padding:18px 20px;font-size:13.5px;line-height:1.75}.native-about h2{color:#2d6cdf;margin:0 0 8px;font-size:15px}.native-about p{margin:0 0 8px}.native-about-tags{gap:6px}.native-about-tags span{padding:3px 10px;font-size:12px}.native-invite-title{color:#2d6cdf;margin:4px 0 2px;font-size:24px}.native-invite-sub{color:#666;margin:0 0 18px;font-size:14px}.native-key{background:#fff6f1;border:1px solid #ffe0cc;border-radius:10px;margin-bottom:18px;padding:12px 16px;font-size:13px}.native-preview-block{border-bottom:1px dashed #dbe3f0;margin:0 0 18px;padding:0 0 16px}.native-preview-block h3{border-radius:8px;margin:0 0 10px;padding:5px 14px;font-size:16px}.native-preview-block>div{border-left-width:6px;border-radius:0 10px 10px 0;padding:14px 18px;font-size:14px;line-height:1.8}.native-preview-block li{border-bottom:1px dashed #ffe0cc;padding:5px 0}.native-price-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.native-price-list span,.native-course-grid span{padding:9px 10px;font-size:13px;line-height:1.55}.native-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.native-cta{margin-top:22px;padding:11px 14px;font-size:13px}@media (width<=900px){.experience-page{padding:14px}.experience-toolbar{margin-bottom:14px}.experience-native{grid-template-columns:1fr}.experience-native-preview{padding:20px 22px}.native-price-list,.native-course-grid{grid-template-columns:1fr}}.native-flow-tag{color:#4c7a68;background:#eef7f3;border-radius:10px;margin:0 0 12px;padding:9px 12px;font-size:13px;font-weight:600}.native-flow-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.native-flow-list li{color:#5c6679;background:#fffaf7;border:1px dashed #f3bfa2;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.65}.native-flow-title{color:#2f6fd6;margin-bottom:3px;font-size:14px;font-weight:700}@media (width<=600px){.native-flow-list{grid-template-columns:1fr}.native-flow-list li{padding:10px 12px;font-size:12px}}.native-price-section{background:#f6f8ff;border-style:solid;border-color:#dbe3f0}.native-price-section h2{font-size:19px!important}.native-price-table{table-layout:fixed;font-size:12px}.native-price-table th{padding:9px 4px}.native-price-table td{word-break:break-word;padding:10px 4px}.native-price-table .price-course{color:#ff7043;font-weight:800}.native-promo{color:#4b4b4b;background:#fff9f4;border:2px solid #ff7043;border-radius:12px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.7}.native-promo b{color:#ff7043}.native-course-intro{background:#fff;border-style:solid;border-color:#dbe3f0}.native-course-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.native-course-cards article{background:#fff;border:3px solid #dbe3f0;border-radius:18px;grid-template-columns:72px 1fr;gap:12px;padding:18px 14px;display:grid}.native-course-cards article:first-child{border-color:#ff7043}.native-course-cards article:nth-child(2){border-color:#39b8b3}.native-course-cards article:nth-child(3){border-color:#42afd1}.native-course-cards article:nth-child(4){border-color:#8bcdb1}.native-course-cards article:nth-child(5){border-color:#6756e8}.native-course-cards article:nth-child(6){border-color:#f05291}.native-course-icon{background:#fff3e8;border-radius:50%;place-items:center;width:58px;height:58px;font-size:30px;display:grid}.native-course-cards h3{color:#2d6cdf;font-size:16px;line-height:1.45;margin:4px 0 8px!important}.native-course-cards p{color:#555;margin:0;font-size:13px;line-height:1.7}.native-course-cards article:first-child h3{color:#ff7043}.native-course-cards article:nth-child(2) h3{color:#249f99}.native-course-cards article:nth-child(3) h3{color:#278aaa}.native-course-cards article:nth-child(4) h3{color:#579b79}.native-course-cards article:nth-child(5) h3{color:#5544c8}.native-course-cards article:nth-child(6) h3{color:#df4381}@media (width<=600px){.native-course-cards{grid-template-columns:1fr}.native-course-cards article{grid-template-columns:58px 1fr;padding:14px 12px}.native-course-icon{width:48px;height:48px;font-size:24px}.native-price-table{font-size:10px}}.experience-page .native-about,.experience-page .native-price-section,.experience-page .native-course-intro,.experience-page .native-promo{box-shadow:none;border-width:1px;border-radius:14px}.experience-page .native-course-cards article{box-shadow:var(--shadow);border-width:1px;border-radius:14px}.experience-page .native-preview-block>div{border-left-width:3px;border-radius:0 10px 10px 0}.experience-page button,.experience-page input,.experience-page select,.experience-page textarea{min-height:44px}:is(.trial-package-preview>.native-about:has(.native-price-list),.trial-package-preview>.native-about:has(.native-course-grid)){display:none}.native-growth-path{color:#444;border-top:2px dashed #ffe0cc;margin:18px 0 6px;padding:18px 20px;line-height:1.7}.native-growth-path .growth-section-title{color:#fff;background:#2d6cdf;border-radius:8px;margin:0 0 10px;padding:6px 14px;font-size:16px;line-height:1.4;display:inline-block}.native-growth-path .ci-cap{color:#666;margin-top:12px;font-size:13px;line-height:1.85}.native-growth-path .ci-cap b{color:#ff7043}.native-growth-path .cap-lead{color:#444;margin:0 0 12px;font-size:13.5px}.native-growth-path .road{flex-wrap:wrap;align-items:stretch;gap:6px;margin:4px 0 14px;display:flex}.native-growth-path .stage{text-align:center;color:#2b2b2b;background:linear-gradient(135deg,#fff8f4,#f4f7ff);border:1px solid #ffe0cc;border-radius:12px;flex:84px;min-width:80px;padding:10px 5px;font-size:12.5px;font-weight:700;line-height:1.4;box-shadow:0 2px 6px #2d6cdf0d}.native-growth-path .stage .emo{margin-bottom:3px;font-size:19px;display:block}.native-growth-path .arrow{color:#2d6cdf;flex:0 0 14px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.native-growth-path .pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:13px;display:grid}.native-growth-path .pillar{background:#fff;border:1px solid #eef1f6;border-radius:12px;align-items:flex-start;gap:8px;padding:10px;display:flex;box-shadow:0 2px 6px #0000000a}.native-growth-path .pillar .pi{flex:0 0 22px;font-size:19px;line-height:1.3}.native-growth-path .pillar b{color:#2d6cdf;margin-bottom:2px;font-size:12.5px;display:block}.native-growth-path .pillar span{color:#777;font-size:11.5px;line-height:1.5;display:block}.native-growth-path .cap-foot{color:#444;text-align:center;background:#f4f7ff;border-left:4px solid #ff7043;border-radius:10px;padding:9px;font-size:13px}.growth-lead{margin:0 0 16px;font-size:15px}.growth-lead b{color:#ff7043}.growth-roadmap{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.growth-step{text-align:center;background:linear-gradient(145deg,#fffaf7,#f5f7ff);border:2px solid #ffd9c2;border-radius:16px;flex-direction:column;flex:130px;justify-content:center;align-items:center;gap:4px;min-height:82px;font-size:13px;display:flex}.growth-step span{font-size:25px;line-height:1}.growth-step b{font-size:14px}.growth-roadmap i{color:#2d6cdf;font-size:24px;font-style:normal}.growth-wide{flex-basis:210px}.growth-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 16px;display:grid}.growth-benefits article{background:#fff;border:1px solid #e5eaf3;border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex;box-shadow:0 3px 10px #2e4a780f}.growth-benefits b{color:#2d6cdf;font-size:15px}.growth-benefits span{color:#777;font-size:13px}.growth-motto{text-align:center;background:#f4f6ff;border-left:6px solid #ff7043;border-radius:0 12px 12px 0;padding:13px 16px;font-size:15px}.growth-motto b{color:#ff7043}.growth-contact{color:#666;border-top:2px dashed #ffe0cc;align-items:center;gap:16px;margin-top:18px;padding-top:16px;font-size:14px;display:flex}.growth-contact b{color:#2d6cdf}.growth-qr{color:#18a66a;text-align:center;background:repeating-linear-gradient(45deg,#fff 0 3px,#dff8ec 3px 6px);border:3px solid #18b66c;border-radius:8px;place-items:center;width:82px;height:82px;font-weight:800;display:grid}@media (width<=600px){.growth-lead{font-size:13px}.growth-roadmap{gap:6px}.growth-step{flex-basis:calc(50% - 6px);min-height:70px}.growth-roadmap i{font-size:18px}.growth-wide{flex-basis:calc(50% - 6px)}.growth-benefits{grid-template-columns:1fr;gap:8px}.growth-benefits article{padding:10px}.growth-contact{gap:10px;font-size:12px}.growth-qr{width:64px;height:64px;font-size:11px}.native-growth-path{padding:14px 10px}.native-growth-path .growth-section-title{font-size:14px}.native-growth-path .pillars{grid-template-columns:1fr;gap:8px}.native-growth-path .stage{flex-basis:calc(50% - 6px);min-width:0}.native-growth-path .arrow{font-size:12px}.native-growth-path .cap-lead{font-size:12.5px}.native-growth-path .growth-contact{gap:10px;font-size:12px}.native-growth-path .growth-qr{width:64px;height:64px;font-size:11px}}.record-preview-section.ai-preview-box{border-left-width:1px}.record-preview-modal .modal-body{isolation:isolate;position:relative;overflow:hidden}.record-capture-decor{letter-spacing:18px;word-spacing:8px;color:#4b9abc;opacity:0;white-space:pre-wrap;transform-origin:50%;pointer-events:none;font-size:44px;line-height:3.35;transition:opacity .15s;overflow:hidden;transform:rotate(-12deg)scale(1.13);z-index:0!important;min-height:100%!important;margin:0!important;padding:26px 16px!important;display:block!important;position:absolute!important;inset:0!important}.capturing-record-image .record-capture-decor{opacity:.13}.record-preview-modal .modal-body:before,.record-preview-modal .modal-body>:not(.record-capture-decor){z-index:1;position:relative}.nav-icon-experience img{object-fit:contain;mix-blend-mode:multiply}.trial-score-checks{background:linear-gradient(135deg,#f8fbff 0%,#fcfdff 100%);border:1px solid #dce7f7;border-radius:16px;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;display:grid}.trial-score-checks .trial-score-item{--trial-score:#356cf3;background:#fff;border:1px solid #dce6f5;border-radius:13px;justify-content:space-between;align-items:center;gap:8px;min-height:58px;padding:9px 11px;display:flex;box-shadow:0 4px 12px #204d8c0d}.trial-score-checks .trial-score-item:first-child{--trial-score:#5477e8;background:#f6f8ff}.trial-score-checks .trial-score-item:nth-child(2){--trial-score:#f28b3c;background:#fffaf3}.trial-score-checks .trial-score-item:nth-child(3){--trial-score:#2d9b7b;background:#f3fbf7}.trial-score-checks .trial-score-item:nth-child(4){--trial-score:#a86bdb;background:#fbf6ff}.trial-score-checks .trial-score-item:nth-child(5){--trial-score:#df5d89;background:#fff6f8}.trial-score-checks .trial-score-item>b{color:#23395d;white-space:nowrap;align-items:center;gap:5px;font-size:15px;display:inline-flex}.trial-score-checks .trial-score-item:first-child>b:before{content:"🧩"}.trial-score-checks .trial-score-item:nth-child(2)>b:before{content:"🎨"}.trial-score-checks .trial-score-item:nth-child(3)>b:before{content:"🎯"}.trial-score-checks .trial-score-item:nth-child(4)>b:before{content:"💬"}.trial-score-checks .trial-score-item:nth-child(5)>b:before{content:"🤝"}.trial-score-checks .trial-score-item>span{align-items:center;gap:2px;display:inline-flex}.trial-score-checks .trial-score-item button{color:#c9d3e3;cursor:pointer;background:0 0;border:0;border-radius:7px;width:22px;height:22px;padding:0;font-size:17px;line-height:22px;transition:transform .16s,color .16s,background .16s}.trial-score-checks .trial-score-item button:hover{background:#356cf314;transform:translateY(-1px)scale(1.08)}.trial-score-checks .trial-score-item button.selected{color:var(--trial-score);background:#356cf314}.score-ability .ability-score-list{background:#fbfcff;border:1px solid #dbe5f5;border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:12px}.score-ability .ability-score-card{background:#fff;border:1px solid #dbe4f3;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:12px 16px;display:flex}.score-ability .ability-score-card strong{color:#223451;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:17px;font-weight:700;overflow:hidden}.score-ability .ability-score-card .stars{flex:none;gap:7px;margin-left:auto}.score-ability .ability-score-card .stars button{color:#cdd7e6;cursor:pointer;background:#eef2f8;border:0;border-radius:11px;place-items:center;width:34px;height:34px;padding:0;font-size:24px;line-height:1;display:inline-grid}.score-ability .ability-score-card .score-watermark{opacity:.1;font-size:52px;bottom:-7px;right:14px;display:block!important}.score-ability .ability-score-card:nth-child(5n+1){--ability-score:#5477e8;--ability-soft:#eaf0ff;background:#f7f9ff}.score-ability .ability-score-card:nth-child(5n+2){--ability-score:#f28b3c;--ability-soft:#fff0e0;background:#fffaf4}.score-ability .ability-score-card:nth-child(5n+3){--ability-score:#2d9b7b;--ability-soft:#e3f6ef;background:#f4fbf8}.score-ability .ability-score-card:nth-child(5n+4){--ability-score:#a86bdb;--ability-soft:#f1e8ff;background:#fbf8ff}.score-ability .ability-score-card:nth-child(5n+5){--ability-score:#df5d89;--ability-soft:#ffe8f0;background:#fff8fb}@media (width<=640px){.trial-score-checks{grid-template-columns:1fr;gap:8px;padding:9px}.trial-score-checks .trial-score-item{min-height:52px;padding:8px 9px}.trial-score-checks .trial-score-item button{width:22px;font-size:16px}.score-ability .ability-score-list{border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.score-ability .ability-score-card{border-radius:14px;gap:7px;min-height:58px;padding:9px 11px}.score-ability .ability-score-card strong{font-size:14px}.score-ability .ability-score-card .stars{gap:3px}.score-ability .ability-score-card .stars button{border-radius:9px;width:27px;height:27px;font-size:19px}.score-ability .ability-score-card .score-watermark{opacity:.08;font-size:43px;bottom:-8px;right:8px}.score-ability .ability-score-card{flex-direction:column;justify-content:center;align-items:flex-start}.score-ability .ability-score-card strong{white-space:normal;text-overflow:clip;width:100%;line-height:1.3;overflow:visible}.score-ability .ability-score-card .stars{justify-content:flex-start;width:100%;margin-left:0}}.archive-month-filter{background:#f8faff;border:1px solid #dde7f5;border-radius:10px;align-items:center;gap:8px;margin:-4px 0 16px;padding:9px 10px;display:flex}.archive-month-filter label{color:#4d6383;white-space:nowrap;font-size:12px;font-weight:700}.archive-month-filter select{color:#315a99;width:auto;min-width:126px;font:inherit;background:#fff;border:1px solid #cbd9ec;border-radius:8px;padding:6px 28px 6px 9px;font-size:12px}.archive-month-filter small{color:#75839a;font-size:12px}@media (width<=560px){.archive-month-filter{flex-wrap:wrap;gap:6px;margin-bottom:12px}.archive-month-filter select{flex:1;min-width:0}.archive-month-filter small{width:100%}}.trial-v2{grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);align-items:start;gap:24px;display:grid}.trial-v2-form,.trial-v2-preview{background:#fff;border:1px solid #e1e8f5;border-radius:22px;padding:28px;box-shadow:0 12px 30px #2241730f}.trial-v2-form h2{color:#2f68de;margin:0;font-size:24px}.trial-v2-intro{color:#7888a4;margin:10px 0 16px;font-size:16px;line-height:1.6}.trial-v2-privacy{color:#74839c;background:#f6f8fc;border-left:4px solid #cfdaf0;border-radius:0 10px 10px 0;margin:0 0 20px;padding:12px 14px}.trial-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.trial-v2-field{color:#526684;flex-direction:column;gap:7px;font-weight:700;display:flex}.trial-v2-field.wide{grid-column:1/-1}.trial-v2 input,.trial-v2 select,.trial-v2 textarea{box-sizing:border-box;color:#283b5b;width:100%;font:inherit;background:#fff;border:1px solid #d9e3f2;border-radius:12px;padding:12px 14px}.trial-v2 textarea{resize:vertical;min-height:96px;line-height:1.6}.trial-v2-section{border-top:1px dashed #d7e3f5;margin-top:22px;padding-top:20px}.trial-v2-section h3{color:#385070;margin:0 0 11px;font-size:17px}.trial-v2-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.trial-v2-section-heading span{color:#8a99b0;font-size:13px}.trial-v2-section-heading button,.trial-v2-add-row button{color:#2d69df;font:inherit;cursor:pointer;background:#fff;border:1px solid #91b2f7;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.trial-v2-add-row{gap:9px;display:flex}.trial-v2-chips{flex-wrap:wrap;gap:8px;min-height:22px;margin:12px 0;display:flex}.trial-v2-chip{color:#3169d9;background:#eaf2ff;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:14px;display:inline-flex}.trial-v2-chip button{color:#5a7fc8;cursor:pointer;background:0 0;border:0;font-size:18px;line-height:1}.trial-v2-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.trial-v2-ability-card{background:#f9fbff;border:1px solid #dce6f5;border-radius:17px;padding:14px}.trial-v2-ability-card>div:first-child{color:#294367;justify-content:space-between;align-items:center;gap:8px;display:flex}.trial-v2-ability-card>div:first-child button{color:#9ba9bc;cursor:pointer;background:0 0;border:0;font-size:12px}.trial-v2-stars{gap:5px;margin-top:10px;display:flex}.trial-v2-stars button{color:#c6d0df;cursor:pointer;background:#eef2f9;border:0;border-radius:9px;padding:5px 7px;font-size:22px;line-height:1}.trial-v2-stars button.active{color:#3970e6;background:#e7efff}.tone-1 .trial-v2-stars button.active{color:#ed8a34;background:#fff0df}.tone-2 .trial-v2-stars button.active{color:#279f80;background:#e8f7f0}.tone-3 .trial-v2-stars button.active{color:#9364db;background:#f1eaff}.tone-4 .trial-v2-stars button.active{color:#e65b91;background:#ffe9f1}.trial-v2-preview{overflow:hidden}.trial-v2-preview header{color:#2e634a;background:linear-gradient(135deg,#eefaf0,#e6f3ea);border-bottom:1px solid #cde4d4;margin:-28px -28px 20px;padding:28px 30px}.trial-v2-preview header span{font-size:14px}.trial-v2-preview header h1{margin:9px 0;font-size:34px}.trial-v2-preview header p{color:#628070;margin:0}.trial-v2-theme{color:#ff8050;background:#fff7f2;border:1px solid #ffd5bf;border-radius:12px;justify-content:space-between;gap:12px;padding:13px 15px;display:flex}.trial-v2-preview-section{border-top:1px dashed #d9e2f2;margin-top:22px;padding-top:18px}.trial-v2-preview-section h2{color:#fff;border-radius:10px;margin:0 0 10px;padding:9px 14px;font-size:18px;display:inline-block}.trial-v2-preview-section>div{color:#526786;background:#f5f8fc;border-left:8px solid;padding:16px 18px;line-height:1.75}.trial-v2-preview-section p{margin:0}.trial-v2-preview-section.teal h2{background:#2fa89f}.trial-v2-preview-section.teal>div{background:#effaf8;border-color:#2fa89f}.trial-v2-preview-section.purple h2{background:#725be8}.trial-v2-preview-section.purple>div{background:#f4f1ff;border-color:#725be8}.trial-v2-preview-section.pink h2{background:#ea4d8a}.trial-v2-preview-section.pink>div{background:#fff3f7;border-color:#ea4d8a}.trial-v2-preview-section.blue h2{background:#3673df}.trial-v2-preview-section.blue>div{background:#f0f5ff;border-color:#3673df}.trial-v2-preview-section.orange h2{background:#f18048}.trial-v2-preview-section.orange>div{background:#fff6f0;border-color:#f18048}.trial-v2-report-scores{flex-wrap:wrap;gap:9px;display:flex}.trial-v2-report-scores span{color:#3970db;background:#fff;border:1px solid #d5e0f4;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:14px;display:inline-flex}.trial-v2-report-scores b{font-weight:700}.trial-v2-report-scores i{color:#f3a42f;letter-spacing:1px;font-style:normal}@media (width<=980px){.trial-v2{grid-template-columns:1fr}.trial-v2-preview{order:-1}}@media (width<=620px){.trial-v2-form,.trial-v2-preview{border-radius:16px;padding:17px}.trial-v2-preview header{margin:-17px -17px 15px;padding:20px}.trial-v2-preview header h1{font-size:27px}.trial-v2-grid,.trial-v2-ability-grid{grid-template-columns:1fr}.trial-v2-field.wide{grid-column:auto}.trial-v2-add-row{flex-direction:column}.trial-v2-section-heading{flex-direction:column;align-items:flex-start}.trial-v2-preview-section h2{font-size:16px}.trial-v2-preview-section>div{padding:13px;font-size:14px}}.ability-score-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px}.ability-score-card{border-radius:14px;gap:6px;min-height:92px;padding:12px 14px}.ability-score-card strong{font-size:15px}.ability-score-card .stars{gap:4px;margin-left:auto}.ability-score-card .stars button{border-radius:9px;width:30px;height:30px;font-size:20px}@media (width<=980px){.ability-score-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ability-score-card{min-height:82px;padding:10px 12px}}@media (width<=620px){.ability-score-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.ability-score-card{border-radius:12px;min-height:68px;padding:8px 9px}.ability-score-card strong{font-size:12px}.ability-score-card .stars{gap:2px;margin-left:auto}.ability-score-card .stars button{border-radius:7px;width:24px;height:24px;font-size:16px}.trial-v2-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.trial-v2-ability-card{border-radius:12px;min-height:58px;padding:8px 9px}.trial-v2-ability-card>div:first-child{gap:4px;font-size:12px}.trial-v2-stars{gap:2px;margin-top:5px}.trial-v2-stars button{border-radius:6px;padding:3px 4px;font-size:15px}}.profile-campus{flex:calc(100% - 44px);min-width:0;max-width:100%;position:relative}.profile-tenant-select{color:#33507e;width:100%;max-width:180px;font:inherit;cursor:pointer;background:#f7f9fd;border:1px solid #d7e2f4;border-radius:7px;margin:0 0 5px;padding:4px 7px;font-size:11px;display:block}.profile-name{appearance:none;cursor:pointer;text-align:left;width:100%;line-height:1.25;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:1px;margin:0;padding:0;display:flex}.profile-name b{color:#1f2c46;font-size:14px}.profile-name small{color:var(--muted);font-size:12px}.profile-name .profile-campus-tag{color:var(--brand);background:var(--brand-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;width:max-content;max-width:100%;margin-top:4px;padding:3px 8px;font-size:11px;display:inline-flex;overflow:hidden}.profile-name .profile-campus-tag .caret{color:#5d7bbf;font-size:9px}.profile-name:hover .profile-campus-tag{filter:brightness(.97)}.profile-name.open .profile-campus-tag{background:#dbe6fb}.profile-tenant-switch{color:#5d7bbf;font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#f3f6fc;border:0;border-radius:999px;align-items:center;gap:4px;max-width:180px;margin-top:4px;padding:3px 8px;font-size:11px;display:flex;overflow:hidden}.profile-tenant-switch:hover{color:#2d69df;background:#e7f0ff}.tenant-switch-menu{z-index:31;background:#fff;border:1px solid #e2e8f4;border-radius:12px;width:max-content;max-width:min(220px,100vw - 32px);position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 14px 30px #2241732e}.tenant-switch-menu button{text-align:left;color:#33507e;width:100%;font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:0;padding:7px 11px;font-size:12px;display:block;overflow:hidden}.tenant-switch-menu button:hover{background:#f1f6ff}.tenant-switch-menu button.active{color:#2d69df;background:#e7f0ff;font-weight:700}.tenant-switch-menu button+button{border-top:1px solid #eef1f8}.course-content-add-trigger{margin-top:14px}.course-content-add-trigger .btn{color:var(--brand);border-style:dashed}.course-content-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}@media (width<=620px){.course-content-footer{justify-content:space-between}.course-content-footer .btn{min-height:38px;padding:8px 12px;font-size:13px}}.curriculum-subnav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px;display:grid}.curriculum-subnav button{border:1px solid var(--border);background:var(--surface);min-height:82px;box-shadow:var(--shadow-sm);color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out);border-radius:14px;padding:16px 18px}.curriculum-subnav button:hover{background:#f8faff;border-color:#aac4ff}.curriculum-subnav button.active{color:var(--primary);background:#eef4ff;border-color:#8fb1ff;box-shadow:0 8px 20px #3168d81f}.curriculum-subnav b{color:inherit;font-size:16px;line-height:1.35;display:block}.curriculum-subnav small{color:inherit;opacity:.82;margin-top:5px;font-size:13px;line-height:1.45;display:block}.campus-switch-menu{z-index:30;background:#fff;border:1px solid #e2e8f4;border-radius:12px;width:max-content;max-width:min(180px,100vw - 32px);position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 14px 30px #2241732e}.campus-switch-menu button{text-align:left;color:#33507e;width:100%;font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:0;padding:7px 11px;font-size:12px;display:block;overflow:hidden}.campus-switch-menu button:hover{background:#f1f6ff}.campus-switch-menu button.active{color:#2d69df;background:#e7f0ff;font-weight:700}.campus-switch-menu button+button{border-top:1px solid #eef1f8}.tabs{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.tabs button{color:#55708f;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9e2f2;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:700}.tabs button.active{color:#fff;background:#2f68de;border-color:#2f68de}.badge{color:#2f68de;background:#e8f1ff;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge:empty{display:none}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f6f8fc;--surface:#fff;--surface-subtle:#f8faff;--surface-muted:#eef3f9;--text-primary:#172033;--text-secondary:#61708a;--text-tertiary:#8491a5;--border:#dfe6f0;--border-strong:#cbd7e7;--primary:#3168d8;--primary-hover:#285ac3;--primary-soft:#eaf1ff;--success:#16845f;--success-soft:#e8f7f0;--warning:#b96b16;--warning-soft:#fff3df;--danger:#c24f4f;--danger-soft:#fff0ef;--info:#2c78a8;--info-soft:#eaf5fb;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #1f35570a;--shadow-md:0 8px 24px #1f355714;--shadow-lg:0 18px 48px #1f355724;--focus-ring:0 0 0 3px #3168d838;--motion-fast:.15s;--motion-base:.2s;--ease-out:cubic-bezier(.2,.8,.2,1)}html{scroll-behavior:smooth;font-size:16px}body{background:var(--canvas);color:var(--text-primary);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.6}button{touch-action:manipulation;min-height:44px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{box-shadow:var(--focus-ring);outline:0}.app{min-height:100dvh}.side{background:var(--surface);border-color:var(--border);padding:var(--space-6) var(--space-4)}.logo{padding:0 var(--space-3) var(--space-7);letter-spacing:-.02em}.nav{gap:var(--space-1)}.nav button{border-radius:var(--radius-sm);min-height:44px;color:var(--text-secondary);transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.nav button:hover{transform:translate(2px)}.nav button.active,.nav button:hover{background:var(--primary-soft);color:var(--primary)}.main{padding:var(--space-7) var(--page-gutter);max-width:var(--content-max)}.title{letter-spacing:-.02em;font-size:28px;line-height:1.3}.btn{border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text-secondary);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out);padding:10px 16px}.btn:hover{background:var(--surface-subtle);box-shadow:var(--shadow-md);border-color:#9db3d3;transform:translateY(-1px)}.btn:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);filter:none}.btn.green{background:var(--success);border-color:var(--success);box-shadow:0 6px 16px #16845f33}.btn:disabled{opacity:.5;box-shadow:none;transform:none}.card{background:var(--surface);border-color:var(--border);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card:hover{box-shadow:var(--shadow-md)}.section-title{line-height:1.4}.badge{border-radius:var(--radius-pill);background:var(--surface-muted);min-height:28px;color:var(--text-secondary);align-items:center;margin-left:6px;padding:4px 10px;font-weight:600;display:inline-flex}.badge.blue{background:var(--primary-soft);color:var(--primary)}.badge.green{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warning-soft);color:var(--warning)}.field{gap:var(--space-2)}.field label{color:var(--text-primary);font-weight:650}.field select,.field input,.field textarea,.admin-form-grid input,.admin-form-grid select{border-color:var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--text-primary);transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.field select:hover,.field input:hover,.field textarea:hover{border-color:#9db3d3}.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:0}.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary);opacity:1}.notice{color:#6b511c;background:var(--warning-soft);border-radius:var(--radius-sm);border-color:#f0d7a7}.modal-overlay{padding:var(--space-4);background:#17203380}.modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-head{border-color:var(--border);background:var(--surface)}.modal-close{border-radius:var(--radius-sm);min-width:44px;min-height:44px}.muted{color:var(--text-secondary)}a{color:var(--primary);text-underline-offset:3px}.stat-value,.report-stat b{font-variant-numeric:tabular-nums}@media (width<=1024px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding-top:var(--space-6)}}@media (width<=800px){.side{width:70px;padding:var(--space-4) 10px}.main{padding:var(--space-5) 15px 88px}.card{padding:var(--space-4)}.actions,.form-actions{width:100%}.actions .btn,.form-actions .btn{flex:auto}.title{font-size:24px}}@media (width<=560px){.stats{gap:var(--space-3);grid-template-columns:1fr 1fr}.card{border-radius:var(--radius-md)}.btn{padding-inline:12px}.form-grid{gap:var(--space-4)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.phrase-entry{border:1px dashed #d7e1f2;border-radius:10px;margin-top:8px;padding:7px 9px}.phrase-entry-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.phrase-toggle{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:15px;font-weight:700}.phrase-entry-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.phrase-entry-actions .btn{white-space:nowrap;padding:7px 12px;font-size:12px}.phrase-custom-form input,.phrase-custom-form select{box-sizing:border-box;width:100%;margin:0;padding:6px 8px;font-size:12px}.phrase-custom-form .btn{white-space:nowrap;padding:6px 10px;font-size:12px}.phrase-item-actions{gap:3px;margin-left:auto;display:inline-flex}.phrase-item-actions button{color:#376fd3;cursor:pointer;background:#e9f0ff;border:0;border-radius:5px;padding:2px 5px;font-size:10px}.phrase-item-actions button:last-child{color:#d45b5b;background:#fff0f0}.phrase-ai-footer{border-top:1px solid #e2e8f4;justify-content:flex-end;margin-top:9px;padding-top:8px;display:flex}.phrase-ai-footer .phrase-ai-button{white-space:nowrap;justify-content:center;align-items:center;line-height:1.25;flex:none!important;width:auto!important;min-width:0!important;height:auto!important;padding:6px 12px!important;font-size:12px!important;display:inline-flex!important}.phrase-panel-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.phrase-panel-actions .btn{white-space:nowrap;padding:7px 12px;font-size:12px}.phrase-selected{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.phrase-chip{background:var(--brand-soft);color:var(--brand);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;display:inline-flex}.phrase-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;line-height:1}.phrase-panel{background:#f8faff;border:1px solid #e2e8f4;border-radius:10px;margin-top:7px;padding:8px}.phrase-cats button{color:#55708f;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9e2f2;border-radius:999px;padding:5px 12px;font-size:12px}.phrase-cats button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.phrase-panel input{width:100%;font:inherit;border:1px solid #d9e2f2;border-radius:8px;margin-bottom:8px;padding:7px 10px;font-size:13px}.phrase-list-tools{color:#71809a;justify-content:space-between;align-items:center;gap:8px;margin:1px 2px 5px;font-size:11px;font-weight:650;display:flex}.phrase-list-tools-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.phrase-list-tools-actions .btn{white-space:nowrap;padding:5px 10px;font-size:12px;line-height:1.25}.phrase-list{scrollbar-width:thin;scrollbar-color:#bcc9e5 transparent;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:5px;max-height:188px;padding:1px 3px 1px 1px;display:grid;overflow:auto}.phrase-list::-webkit-scrollbar{width:5px}.phrase-list::-webkit-scrollbar-thumb{background:#bcc9e5;border-radius:999px}.phrase-list::-webkit-scrollbar-track{background:0 0}.phrase-list>.muted{color:#7b879a;text-align:center;white-space:normal;overflow-wrap:anywhere;grid-column:1/-1;min-width:0;padding:10px 12px;font-size:13px;line-height:1.5;display:block}.phrase-item{color:#33435d;cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e3e8f2;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:29px;padding:4px 6px;font-size:11px;font-weight:400;line-height:1.2;transition:border-color .12s,background-color .12s,color .12s;display:flex;position:relative}.phrase-item:hover{background:#f0f5ff;border-color:#93ace8}.phrase-item input{opacity:0;width:1px;height:1px;position:absolute}.phrase-item:has(input:focus-visible){outline:3px solid var(--brand-soft);outline-offset:2px}.phrase-item em{margin-left:0;display:none}.phrase-item.checked{color:#2f68de;background:#e7f1ff;border-color:#2f68de;font-weight:600}.phrase-item:has(input:checked){color:#2f68de;background:#e7f1ff;border-color:#2f68de;font-weight:600}.ai-style-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ai-style-row select{font:inherit;color:#33507e;background:#fff;border:1px solid #d9e2f2;border-radius:8px;max-width:140px;padding:7px 8px;font-size:12px}.ai-style-row button{order:1}.ai-style-row select{order:2}.experience-card-blue{background:linear-gradient(135deg,#eaf1ff,#f7faff);border-color:#c9d9f5}.experience-card-blue:hover{border-color:#8fb0ee}.builder-points{grid-template-columns:repeat(2,1fr);gap:6px;max-height:200px;display:grid;overflow:auto}.builder-points label{cursor:pointer;background:#fff;border:1px solid #eef1f8;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.builder-points label.selected{background:var(--brand-soft);border-color:#9bb6ee}.builder-dims{gap:8px;display:grid}.builder-dim{background:#fff;border:1px solid #eef1f8;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.builder-stars{gap:2px;display:inline-flex}.builder-stars button{color:#cdd6e8;cursor:pointer;background:0 0;border:0;padding:0 1px;font-size:16px}.builder-stars button.on{color:#f5b63e}.builder-preview-points{flex-wrap:wrap;gap:6px;display:flex}.builder-preview-points span{color:#2d5fb3;background:#eef5ff;border-radius:999px;padding:3px 10px;font-size:12px}.builder-preview-dims{gap:6px;display:grid}.builder-preview-dims div{justify-content:space-between;font-size:13px;display:flex}.builder-preview-dims strong{color:#f5b63e;letter-spacing:1px}.builder-preview-path{color:#2f7d5a;background:#eef7f0;border-radius:10px;padding:10px 12px;font-size:13px}.phrase-cats{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.phrase-cat-check{color:#55708f;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d9e2f2;border-radius:999px;align-items:center;gap:7px;padding:7px 14px 7px 9px;font-size:14px;display:inline-flex}.phrase-cat-check:hover{border-color:#9bb6ee}.phrase-cat-check.checked{background:var(--brand-soft);color:var(--brand);border-color:#9bb6ee;font-weight:700}.phrase-cat-box{width:14px;height:14px;color:var(--brand);background:#fff;border:1.5px solid #c2cee2;border-radius:4px;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex}.phrase-cat-check.checked .phrase-cat-box{background:var(--brand);border-color:var(--brand);color:#fff}.phrase-cat-check.checked.phrase-cat-comprehensive{color:#27835b;background:#e5f6ed;border-color:#8bc9a9}.phrase-cat-check.checked.phrase-cat-comprehensive .phrase-cat-box{background:#3ca879;border-color:#3ca879}.phrase-cat-check.checked.phrase-cat-professional{color:#c87524;background:#fff0dc;border-color:#efb36b}.phrase-cat-check.checked.phrase-cat-professional .phrase-cat-box{background:#e69a3a;border-color:#e69a3a}.phrase-cat-check.checked.phrase-cat-improvement{color:#376fd3;background:#e7f0ff;border-color:#9bbbf2}.phrase-cat-check.checked.phrase-cat-improvement .phrase-cat-box{background:#4f7edb;border-color:#4f7edb}@media (width<=600px){.phrase-entry{padding:6px 7px}.phrase-entry-head{flex-flow:row;align-items:center;gap:5px}.phrase-toggle{flex:none;font-size:15px}.phrase-entry-actions{flex-wrap:nowrap;flex:1;justify-content:flex-end;gap:4px;width:auto;min-width:0}.phrase-entry-actions .btn{padding:6px 7px;font-size:11px}.phrase-custom-form{grid-template-columns:1fr 1fr}.phrase-custom-form input:nth-of-type(2),.phrase-custom-form .btn{grid-column:1/-1}.phrase-cat-check{padding:6px 10px 6px 8px;font-size:13px}.phrase-list-tools{flex-direction:column;align-items:flex-start;gap:5px}.phrase-list-tools-actions{width:100%}.phrase-list-tools-actions .btn{flex:1 1 0}.phrase-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-height:176px}.phrase-item{min-height:28px;padding:3px 4px;font-size:10px;font-weight:400;line-height:1.2}.phrase-ai-footer .phrase-ai-button{padding:6px 10px!important;font-size:12px!important}}@media (width>=601px){.phrase-panel-actions{flex-wrap:nowrap;align-items:center}.phrase-panel-actions .btn{flex:none}.phrase-panel-actions .phrase-insert-button{margin-left:auto}}.trial-v2-section-heading h3{flex:1;min-width:0}.trial-v2-section-heading button{color:#fff;font:inherit;white-space:nowrap;cursor:pointer;background:#3767f5;border:1px solid #3767f5;border-radius:9px;flex:none;padding:8px 13px;font-size:13px;font-weight:700;box-shadow:0 4px 10px #3767f529}@media (width<=620px){.trial-v2-section-heading{flex-direction:row;align-items:center;gap:8px}.trial-v2-section-heading h3{font-size:15px}.trial-v2-section-heading button{padding:7px 9px;font-size:12px}}.trial-v2-report-actions{justify-content:flex-end;gap:10px;margin-bottom:16px;display:flex}.trial-v2-report-actions .btn{white-space:nowrap}.trial-v2-form-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.trial-v2-form-heading h2{margin-top:0}.trial-v2-form-heading .btn{flex:none}.trial-v2-preview-only{display:block}.trial-v2-preview-only .trial-v2-form{display:none}.trial-v2-preview-only .trial-v2-preview{max-width:980px;margin:0 auto}@media print{body.printing-trial-v2>*{visibility:hidden!important}body.printing-trial-v2 .trial-v2-preview,body.printing-trial-v2 .trial-v2-preview *{visibility:visible!important}body.printing-trial-v2 .trial-v2{display:block!important}body.printing-trial-v2 .trial-v2-form{display:none!important}body.printing-trial-v2 .trial-v2-preview{max-width:none!important;box-shadow:none!important;border:0!important;margin:0!important;display:block!important}body.printing-trial-v2 .trial-v2-report-actions{display:none!important}}.admin-columns{grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);gap:24px;display:grid}.admin-columns>div>h2{margin-top:22px}.admin-columns>div>h2:first-child{margin-top:0}.course-filter{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.course-filter button{color:#60728d;cursor:pointer;background:#fff;border:1px solid #d9e3f2;border-radius:999px;padding:6px 11px}.course-filter button.active{color:#2f68d8;background:#eaf1ff;border-color:#7fa7f4;font-weight:700}.admin-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-form-grid label{color:#526684;gap:6px;font-size:13px;font-weight:700;display:grid}.admin-form-grid input,.admin-form-grid select{box-sizing:border-box;color:#283b5b;width:100%;font:inherit;background:#fff;border:1px solid #d9e3f2;border-radius:8px;padding:9px 10px}.course-editor{background:#f8faff;border:1px dashed #c9d8ef;border-radius:14px;margin-top:16px;padding:16px}.course-editor h3{color:#315a99;margin:0 0 12px}.course-editor .row-actions{margin-top:12px}.draft-saved-hint{color:#2d8a68;align-self:center;font-size:12px}@media (width<=980px){.admin-columns{grid-template-columns:1fr}.admin-columns>div:first-child{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.admin-columns>div:first-child>h2{grid-column:1/-1}}@media (width<=620px){.admin-columns>div:first-child,.admin-form-grid{display:block}.admin-title{align-items:flex-start;gap:12px}.admin-title button{white-space:nowrap}.course-config-row{flex-direction:column;align-items:flex-start;gap:10px}.course-config-row .row-actions{justify-content:flex-start;width:100%}.course-editor{padding:12px}.draft-saved-hint{width:100%}}.students-card,.report-page-surface,.guardian-report-surface,.admin-panel,.experience-page{overflow:hidden}.students-card{background:#fff;border:1px solid #dfe7f3;position:relative;box-shadow:0 12px 28px #1f39610f}.students-card .record-decor{opacity:.035;pointer-events:none}.stu-row{z-index:1;border-bottom:1px solid #edf1f7;gap:16px;min-width:0;padding:16px 4px;position:relative}.stu-main,.stu-main>div:last-child{min-width:0}.stu-main b,.stu-main .meta{overflow-wrap:anywhere}.stu-row .btn{min-height:44px}.student-search{box-sizing:border-box;min-height:44px}.archive-modal{width:min(920px,100vw - 32px);max-height:min(88dvh,900px)}.archive-body{padding:24px}.archive-summary{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.archive-summary span{color:#49617f;background:#f8faff;border:1px solid #e2eaf5;border-radius:10px;padding:8px 10px;font-size:13px}.archive-empty,.report-empty-state{text-align:center;color:#617696;background:#f8faff;border:1px dashed #cbd9ea;border-radius:14px;place-items:center;min-height:130px;padding:24px;line-height:1.7;display:grid}.report-page-surface{max-width:980px}.report-page-surface .report-banner{background:linear-gradient(125deg,#edf4ff 0%,#edf1ff 52%,#f3ecff 100%);border:1px solid #cfdafa;padding:28px 30px}.report-page-surface .report-student-banner-name{letter-spacing:-.02em;color:#4a6cf7;font-size:clamp(24px,4vw,34px)}.report-page-surface .report-section{max-width:760px}.report-page-surface .report-section h3{font-size:18px;line-height:1.4}.report-page-surface .report-section p,.report-page-surface .ai-summary-block{line-height:1.8}.report-reading-intro{background:#f4f6ff;border:1px solid #dce2fb;border-radius:14px;margin:24px 0 30px;padding:20px 22px}.report-reading-intro h2{margin:5px 0 8px;font-size:clamp(22px,4vw,30px)}.report-reading-intro p{color:#526987;max-width:65ch;margin:0;line-height:1.75}.report-kicker{letter-spacing:.08em;color:#356bd1;font-size:12px;font-weight:800}.report-generation-queue{background:#f8faff;border:1px solid #dce6f4;border-radius:14px;margin-top:16px;padding:16px}.report-queue-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.report-queue-chip{background:#fff;border:1px solid #dfe7f2;border-radius:10px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:7px 9px;display:inline-flex}.report-queue-chip button:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:18ch;overflow:hidden}.report-queue-chip em{color:#6e809a;font-size:11px;font-style:normal}.report-queue-chip.generating{background:#f0f6ff;border-color:#9cbcf5}.report-queue-chip.error{background:#fff6f6;border-color:#f1b4b4}.report-queue-chip.done{background:#f3fcf7;border-color:#a8dec5}.guardian-report-surface{max-width:820px;margin:0 auto;padding:clamp(20px,4vw,40px)}.guardian-report-surface>h2{margin-top:32px;font-size:20px}.guardian-report-surface>p{max-width:65ch;line-height:1.8}.guardian-report-surface .level{background:#f8faff;border:1px solid #e1e8f3;border-radius:12px;padding:16px}.guardian-report-surface .honors{color:#617696;background:#fbfcfe;border:1px dashed #cbd8e9;border-radius:12px;padding:22px}.admin-panel,.admin-panel .card{min-width:0}.admin-panel .stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-panel .list-row,.admin-panel .section-title-row,.admin-panel .list-row>div{min-width:0}.admin-panel .list-row b,.admin-panel .list-row small{overflow-wrap:anywhere}.admin-panel table,.admin-columns table{width:100%;min-width:620px}.admin-panel .table-wrap,.admin-columns .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.experience-page{max-width:1440px}.experience-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafdf0;border-bottom:1px solid #e6ebf3;padding:16px 0;position:sticky;top:0}.experience-header h1{margin:4px 0 0}.trial-layout,.trial-form,.trial-report{min-width:0}.trial-form label,.trial-report p{overflow-wrap:anywhere}.trial-form input,.trial-form select,.trial-form textarea{box-sizing:border-box;min-height:44px}.trial-form fieldset button{min-height:44px}@media (width<=1023px){.admin-panel .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-page-surface{max-width:none}.report-page-surface .report-banner{padding:22px}}@media (width<=640px){.top{gap:12px}.top .actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;display:grid}.top .actions .primary{grid-column:1/-1}.student-direction-tabs{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.student-direction-tabs button{flex:none;min-height:44px}.stu-row{flex-direction:column;align-items:flex-start;gap:12px}.stu-row>div:last-child{grid-template-columns:1fr 1fr;width:100%;gap:8px!important;display:grid!important}.stu-row>div:last-child>span{grid-column:1/-1}.stu-row .btn{width:100%;padding:9px 8px}.archive-body{padding:16px}.archive-modal{width:calc(100vw - 16px);max-height:92dvh}.archive-summary span{flex:140px}.report-reading-intro{margin:18px 0 24px;padding:16px}.report-page-surface .report-head,.guardian-report-surface .report-head{flex-direction:column;align-items:flex-start;gap:12px}.report-page-surface .report-head .actions,.guardian-report-surface .report-head button{width:100%}.report-page-surface .report-head button,.guardian-report-surface .report-head button{width:100%;min-height:44px}.admin-panel .stats{gap:8px}.admin-panel .stats article{min-width:0;padding:12px}.admin-panel .stats strong{font-size:22px}.admin-panel .admin-form-grid{display:block}.admin-panel .admin-form-grid label+label{margin-top:12px}.admin-panel .section-title-row{flex-direction:column;align-items:flex-start;gap:10px}.admin-panel .section-title-row button,.admin-panel .row-actions{width:100%}.experience-header{padding:12px 0}.experience-header button{min-height:44px}.trial-layout{display:block}.trial-form,.trial-report{border-radius:16px!important;padding:16px!important}.trial-form .two-cols{grid-template-columns:1fr}.trial-form .report-actions{z-index:5;background:#fffffff0;border:1px solid #e3e9f2;border-radius:12px;padding:8px;position:sticky;bottom:8px}.trial-form .report-actions button{flex:1;min-height:44px}.report-page-surface .report-stat{min-width:0}.report-page-surface .report-stat strong{font-variant-numeric:tabular-nums}.top .actions:has(.student-management-toggle){grid-template-columns:minmax(0,1fr) minmax(112px,.44fr)}:is(.top .actions:has(.student-management-toggle) .student-management-toggle,.top .actions:has(.student-management-toggle) .primary){color:#fff;background:linear-gradient(105deg,#4b81ee 0%,#8060ec 100%);border:0;grid-column:auto;width:100%;min-width:0;min-height:42px;box-shadow:0 7px 15px #464ab833}.top .actions:has(.student-management-toggle) .student-management-toggle.active{color:#fff;background:linear-gradient(105deg,#3c70e4 0%,#6e4edc 100%)}:is(.top .actions:has(.student-management-toggle) .student-management-toggle:focus-visible,.top .actions:has(.student-management-toggle) .primary:focus-visible){outline-offset:2px;outline:2px solid #4b81ee}.top .actions:has(.student-management-toggle){grid-template-columns:minmax(0,1fr) 84px 92px 42px;gap:6px}.top .actions:has(.student-management-toggle) .student-search{min-width:0;padding-left:10px;font-size:12px}.top .actions:has(.student-management-toggle) select.btn{min-width:0;font-size:12px;padding:0 18px 0 8px!important}.top .actions:has(.student-management-toggle) .student-management-toggle{white-space:nowrap;padding:0 6px;font-size:12px}.top .actions:has(.student-management-toggle) .student-add-icon{width:42px;padding:0;font-size:23px;font-weight:400;line-height:1}.top .actions:has(.student-management-toggle) .student-add-icon:active{transform:scale(.94)}.class-panel .actions .primary,.class-panel .actions .btn:not(.primary){color:#fff!important;background:linear-gradient(105deg,#4b81ee 0%,#8060ec 100%)!important;border:0!important;box-shadow:0 7px 15px #464ab833!important}.top .actions:has(.student-search):not(:has(.student-management-toggle)) .primary{color:#fff!important;background:linear-gradient(105deg,#4b81ee 0%,#8060ec 100%)!important;border:0!important;box-shadow:0 7px 15px #464ab833!important}:is(.top .actions:has(.student-search):not(:has(.student-management-toggle)) .primary:focus-visible,.class-panel .actions .btn:focus-visible){outline-offset:2px;outline:2px solid #4b81ee}.top .actions:has(.student-search):not(:has(.student-management-toggle)){grid-template-columns:minmax(0,1fr) auto auto;gap:6px;width:100%}.top .actions:has(.student-search):not(:has(.student-management-toggle)) .student-search{width:100%;min-width:0}.student-direction-tabs button.active{color:#fff;background:linear-gradient(105deg,#6f9cf3 0%,#8467e8 100%);border-color:#0000;box-shadow:0 5px 12px #5352c438}.class-panel .class-choice-card{border-radius:10px;margin-bottom:10px;padding:10px 12px}.class-panel .class-choice-title{gap:7px;margin-bottom:7px;font-size:13px}.class-panel .class-choice-title span{font-size:10px}.class-panel .class-choice-grid{gap:7px}.class-panel .class-choice{border-radius:9px;min-height:62px;padding:8px 10px}.class-panel .class-choice b{font-size:13px}.class-panel .class-choice small{margin-top:3px;font-size:10px}.class-panel .class-choice.selected{box-shadow:inset 0 0 0 1px #3767f5}}.schedule-range b{background:linear-gradient(105deg,#171321 0%,#5b3b86 48%,#8a63bd 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.schedule-range button{color:#8491a5;box-shadow:0 5px 12px #23183633;box-shadow:none;background:#f3f6fb;border:0}.schedule-week.schedule-day>.schedule-day{background:linear-gradient(145deg,#f3f7ff 0%,#f8f3ff 100%)}.phrase-custom-form label{display:block}.phrase-custom-form label em{display:inline}.phrase-custom-form input,.phrase-custom-form select{margin-top:6px}.phrase-panel:has(.phrase-custom-form){padding:12px}.phrase-panel:has(.phrase-custom-form) .phrase-cats{gap:9px;margin-top:14px;margin-bottom:12px}.phrase-panel:has(.phrase-custom-form)>input{margin-top:2px;margin-bottom:12px}.phrase-panel:has(.phrase-custom-form) .phrase-list-tools{margin-top:4px;margin-bottom:9px}.phrase-panel:has(.phrase-custom-form) .phrase-ai-footer{margin-top:14px;padding-top:11px}@media (width<=800px){.class-panel>.form-grid:first-of-type{grid-template-columns:minmax(0,1fr) 116px!important}.class-panel>.form-grid:first-of-type .field:nth-child(2){grid-area:2/1}.class-panel>.form-grid:first-of-type .actions{grid-area:2/2;justify-content:stretch;align-self:end;margin:0}.class-panel>.form-grid:first-of-type .actions .btn{width:100%;min-width:0;padding:0 10px}.class-panel>.form-grid:nth-of-type(2){grid-template-columns:minmax(0,1fr) 116px!important}.class-panel>.form-grid:nth-of-type(2)>.field:first-child{grid-column:1/-1}.class-panel>.form-grid:nth-of-type(2)>.field:nth-child(2){grid-area:2/1}.class-panel>.form-grid:nth-of-type(2)>.actions{grid-area:2/2;justify-content:stretch;align-self:start;margin-top:23px}.class-panel>.form-grid:nth-of-type(2)>.actions .btn{width:100%;min-width:0;padding:0 8px;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.class-choice-card{background:#fff;border:1px solid #e4e3dd;border-radius:12px;margin:0 0 14px;padding:16px}.class-choice-title{color:#1a1b1c;margin-bottom:10px;font-size:15px;font-weight:700}.class-choice-title span{color:#6b7280;font-size:12px;font-weight:400}.class-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;display:grid!important}.class-choice{overflow:hidden;min-height:0!important;box-shadow:none!important;background:#fff!important;border:1px solid #e4e3dd!important;border-radius:12px!important;justify-content:space-between!important;align-items:center!important;padding:0!important;display:flex!important}.class-choice.selected{background:#fff!important;border-color:#7b8ce8!important;box-shadow:inset 0 0 0 1px #7b8ce8!important}.class-choice-main{color:#1a1b1c!important;text-align:left!important;background:0 0!important;border:0!important;flex:auto!important;align-items:flex-start!important;min-width:0!important;padding:14px 16px!important;font-family:inherit!important;display:flex!important}.class-choice-main b{margin:0 0 2px!important;font-size:15px!important;font-weight:700!important;line-height:1.35!important}.class-choice-main small{color:var(--course-text,#6b7280)!important;margin:0!important;font-size:12px!important;font-weight:400!important;line-height:1.45!important}.class-choice-manage{color:#8a8fa8!important;cursor:pointer!important;background:#eef0f3!important;border:0!important;border-radius:999px!important;flex:0 0 32px!important;align-self:center!important;place-items:center!important;width:32px!important;height:32px!important;margin:0 16px 0 8px!important;padding:0!important;display:grid!important}.class-choice-manage:hover{color:#4a6cf7!important;background:#ecebf7!important}.class-choice-manage:focus-visible{outline-offset:2px!important;outline:2px solid #4a6cf7!important}@media (width<=700px){.class-choice-grid{grid-template-columns:1fr!important}.class-choice-card{padding:14px}.class-choice-manage{margin-right:14px}}@media (width<=640px){.top .actions:has(.student-management-toggle){grid-template-columns:minmax(0,1fr) 84px minmax(88px,.8fr) minmax(102px,1fr);gap:6px}.top .actions:has(.student-management-toggle) .student-management-toggle{color:#3767d6;width:100%;min-width:0;min-height:42px;box-shadow:none;white-space:nowrap;background:#fff;border:1px solid #bdd1f5;grid-column:auto;padding:0 6px;font-size:12px}.top .actions:has(.student-management-toggle) .student-management-toggle.active{color:#fff;background:#3767d6;border-color:#3767d6}.top .actions:has(.student-management-toggle) .student-add-action{color:#fff;background:#3767d6;grid-column:auto;width:100%;min-width:0;min-height:42px;padding:0 8px;font-size:12px;box-shadow:0 7px 15px #3767f533}:is(.top .actions:has(.student-management-toggle) .student-management-toggle:focus-visible,.top .actions:has(.student-management-toggle) .student-add-action:focus-visible){outline-offset:2px;outline:2px solid #4b81ee}}.add-student-form-grid .field label em,.student-profile-fields label em{color:#e0525f;font-style:normal;font-weight:750}.add-student-form-grid .field:nth-child(2),.add-student-form-grid .field:nth-child(3){min-width:0}.add-student-form-grid .field:nth-child(2) label,.add-student-form-grid .field:nth-child(3) label{align-items:baseline;min-height:18px}.add-student-form-grid .field:nth-child(2) select,.add-student-form-grid .field:nth-child(3) .gender-selector{box-sizing:border-box;width:100%;height:44px}.student-avatar-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.student-avatar-options button{min-height:74px;padding:7px 4px}.student-avatar-options button.active{box-shadow:none;background:#f6f8ff;border:2px solid #3767f5}.student-avatar-options button.active span{color:#3767d6;font-weight:750}.student-avatar-options button:focus-visible{outline-offset:2px;outline:2px solid #3767f5}.student-avatar-options{overscroll-behavior:contain;scrollbar-color:#b7c3ed transparent;scrollbar-width:thin;max-height:290px;padding:1px 5px 1px 1px;overflow-y:auto}.student-avatar-options::-webkit-scrollbar{width:6px}.student-avatar-options::-webkit-scrollbar-thumb{background:#b7c3ed;border-radius:999px}.student-avatar-options::-webkit-scrollbar-track{background:0 0}@media (width<=540px){.student-avatar-options{max-height:258px}.add-student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.add-student-form-grid .add-student-field-full{grid-column:1/-1}.add-student-form-grid .field:nth-child(2),.add-student-form-grid .field:nth-child(3){grid-column:auto}.add-student-form-grid .field:nth-child(4){grid-column:1/-1}.add-student-form-actions{gap:8px}.add-student-form-actions .btn{flex:1;min-width:0!important}}.ai-style-helper{grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);align-items:center;gap:10px;margin:10px 0 12px;display:grid}.ai-style-description{color:#536b8c;background:#f5f8ff;border-radius:9px;padding:9px 11px;font-size:12px;line-height:1.55}.ai-style-helper label{color:#61728c;gap:5px;font-size:12px;font-weight:700;display:grid}.ai-style-helper input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #d9e3f2;border-radius:8px;padding:9px 10px;font-size:13px}.ai-compare-toggle{white-space:nowrap}.ai-style-compare{background:#fbfcff;border:1px solid #dce6f5;border-radius:10px;margin:0 0 12px;padding:12px}.ai-style-compare-title{color:#385070;margin-bottom:9px;font-size:13px;font-weight:700}.ai-style-compare-title span{color:#93a0b3;margin-left:6px;font-size:11px;font-weight:400}.ai-style-compare-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.ai-style-compare-grid article{background:#fff;border:1px solid #e1e8f3;border-radius:9px;min-width:0;padding:10px}.ai-style-compare-grid article.selected{border-color:#6e9cec;box-shadow:0 0 0 2px #e9f0ff}.ai-style-compare-grid b,.ai-style-compare-grid small,.ai-style-compare-grid p{display:block}.ai-style-compare-grid b{color:#2f68d8;font-size:13px}.ai-style-compare-grid small{color:#8290a5;margin-top:4px;font-size:10px;line-height:1.45}.ai-style-compare-grid p{color:#4c607e;margin:8px 0 0;font-size:11px;line-height:1.55}@media (width<=900px){.ai-style-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.ai-style-helper{grid-template-columns:1fr}.ai-style-compare-title span{margin:4px 0 0;display:block}.ai-style-compare-grid{grid-template-columns:1fr 1fr}.ai-style-compare-grid article{padding:8px}.ai-style-compare-grid p{font-size:10px}.ai-style-row{flex-wrap:wrap}.ai-style-row select{flex:45%;min-width:0}.ai-style-row .btn{flex:auto}}.onboarding-mask{z-index:100;background:#1c2d4b7a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.onboarding-card{background:#fff;border-radius:20px;width:min(720px,100%);max-height:min(760px,100vh - 36px);padding:28px;overflow:auto;box-shadow:0 24px 70px #142b5040}.onboarding-head{justify-content:space-between;gap:18px;display:flex}.onboarding-head-actions{align-self:flex-start;align-items:center;gap:8px;display:flex}.onboarding-head small{color:#3767f5;font-weight:700}.onboarding-head h2{color:#243d65;margin:5px 0;font-size:25px}.onboarding-head p{color:#75849a;margin:0}.onboarding-step-count{color:#3767f5;white-space:nowrap;font-weight:800}.onboarding-close{color:#697a94;cursor:pointer;background:#f3f6fc;border:0;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;display:grid}.onboarding-close:hover{color:#3767f5;background:#e9effb}.onboarding-close:focus-visible{outline-offset:2px;outline:2px solid #3767f5}.onboarding-progress{grid-template-columns:repeat(5,1fr);gap:5px;margin:25px 0 22px;display:grid}.onboarding-progress>div{color:#9aa8ba;text-align:center;gap:5px;font-size:11px;display:grid}.onboarding-progress i{background:#eef2f8;border-radius:50%;place-items:center;width:26px;height:26px;margin:auto;font-style:normal;font-weight:700;display:grid}.onboarding-progress .active{color:#3767f5}.onboarding-progress .active i{color:#fff;background:#3767f5}.onboarding-body{min-height:260px}.onboarding-body h3{color:#2d548f;margin:0 0 7px;font-size:20px}.onboarding-body>label{color:#526684;gap:7px;margin:17px 0;font-weight:700;display:grid}.onboarding-body input,.onboarding-body textarea{box-sizing:border-box;width:100%;font:inherit;color:#283b5b;border:1px solid #d9e3f2;border-radius:10px;padding:11px 12px}.onboarding-body textarea{resize:vertical;min-height:100px}.onboarding-subjects{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.onboarding-subjects button,.onboarding-choice button{color:#526684;cursor:pointer;background:#fff;border:1px solid #d9e3f2;border-radius:12px;padding:12px 18px}.onboarding-subjects button.selected,.onboarding-choice button.selected{color:#2d68d9;background:#edf3ff;border-color:#6e9cec}.onboarding-choice{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.onboarding-choice button{text-align:left;gap:6px;display:grid}.onboarding-choice small{color:#8290a5}.onboarding-note,.onboarding-permission,.onboarding-summary{color:#536b8c;background:#f5f8ff;border-radius:10px;margin-top:18px;padding:12px 14px;font-size:13px;line-height:1.6}.onboarding-permission,.onboarding-summary{gap:4px;display:grid}.onboarding-summary{color:#39755b;background:#f2faf5}.onboarding-actions{border-top:1px solid #edf1f7;justify-content:space-between;gap:10px;margin-top:25px;padding-top:18px;display:flex}.onboarding-actions .onboarding-dismiss{margin-right:auto}.onboarding-actions .btn:last-child{margin-left:0}@media (width<=600px){.onboarding-card{border-radius:16px;padding:20px}.onboarding-head h2{font-size:21px}.onboarding-progress{margin:20px 0}.onboarding-progress span{font-size:10px}.onboarding-choice{grid-template-columns:1fr}.onboarding-body{min-height:300px}.onboarding-actions{background:#fff;position:sticky;bottom:0}.onboarding-evaluation-options{grid-template-columns:1fr;gap:8px}.onboarding-confirm>div{gap:4px;display:grid}.onboarding-confirm span{text-align:left}}.teacher-campus-access{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-campus-access label,.access-checks label{color:#536b8c;white-space:nowrap;font-size:12px}.teacher-access-editor{background:#f8faff;border:1px solid #dbe5f3;border-radius:12px;flex:100%;margin-top:12px;padding:16px}.teacher-access-editor-head{justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.teacher-access-editor-head small{color:#8492a7;font-size:12px}.teacher-access-editor>label{color:#526684;gap:6px;max-width:280px;font-size:12px;font-weight:700;display:grid}.teacher-access-editor select{font:inherit;background:#fff;border:1px solid #d9e3f2;border-radius:8px;padding:8px}.access-label{color:#526684;margin:14px 0 7px;font-size:12px;font-weight:700;display:block}.access-checks{flex-wrap:wrap;gap:7px 12px;display:flex}.teacher-access-actions{gap:8px;margin-top:14px;display:flex}.teacher-access-editor input{accent-color:#3767f5}.organization-settings{margin-bottom:18px}.organization-settings-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.organization-settings-heading h2{margin:0}.organization-settings-heading p{max-width:62ch;margin:5px 0 0}.organization-settings-heading .badge{flex:none;margin:0}.organization-form{margin:0}.organization-form textarea{resize:vertical;min-height:132px}.organization-form small{text-align:right;margin-top:-4px}.organization-qr-section{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.organization-qr-section h3{margin:0;font-size:17px}.organization-qr-section>div>p{max-width:62ch;margin:5px 0 0}.organization-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px;display:grid}.organization-qr-grid input[type=file]{padding:9px 10px;line-height:1.4}.organization-qr-preview{border:1px solid var(--border);background:var(--surface-subtle);border-radius:12px;align-items:center;gap:12px;margin-top:10px;padding:10px;display:flex}.organization-qr-preview img{object-fit:contain;background:#fff;border-radius:8px;width:84px;height:84px}.organization-qr-preview .btn{margin-left:auto}.organization-actions{border-top:1px solid var(--border);gap:10px;margin-top:24px;padding-top:20px;display:flex}@media (width<=620px){.teacher-access-editor-head{display:block}.teacher-access-editor-head small{margin-top:4px;display:block}.teacher-campus-access{flex:100%}.teacher-access-editor{padding:12px}.access-checks{gap:7px 9px}.organization-settings-heading{display:block}.organization-settings-heading .badge{margin-top:10px}.organization-qr-grid{grid-template-columns:minmax(0,1fr)}.organization-actions,.organization-actions .btn{width:100%}.organization-qr-preview{flex-wrap:wrap;align-items:flex-start}.organization-qr-preview .btn{flex:140px;margin-left:0}}.report-queue-chip .queue-remove{color:#7b879a;width:20px;height:20px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;line-height:1;display:grid}.report-queue-chip .queue-remove:hover,.report-queue-chip .queue-remove:focus-visible{color:#e05b5b;background:#f0f3f8}.monthly-report-page{color:#1a1b1c}.monthly-report-heading{margin:0 0 16px}.monthly-report-heading h1{color:#1a1b1c;letter-spacing:-.02em;margin:0;font-size:20px;font-weight:800;line-height:1.3}.monthly-report-quick-actions{display:none}.monthly-report-desktop-actions{gap:10px;margin-top:12px;display:flex}.monthly-report-selection-card,.monthly-report-queue-card{box-shadow:0 7px 18px #2b33520d;background:#fff!important;border:1px solid #e4e3dd!important;border-radius:14px!important}.monthly-report-selection-card{margin-bottom:10px;padding:16px}.monthly-report-queue-card{margin:0 0 18px}.monthly-report-selection-card .report-picker-title{margin-bottom:14px}.monthly-report-selection-card .report-picker-title label{color:#1a1b1c;font-size:15px;font-weight:800}.monthly-report-selection-card .report-picker-title>span{color:#8a8fa8;background:0 0;padding:0;font-size:12px}.monthly-report-selection-card .report-student-picker{background:0 0;border:0;gap:10px;max-height:none;padding:0;display:grid;overflow:visible}.monthly-report-selection-card .report-picker-actions{border:0;grid-template-columns:1fr;gap:10px;padding:0;display:grid!important}.monthly-report-selection-card .report-picker-actions .picker-filter{color:#1a1b1c;width:100%;height:42px;font:inherit;background:#fff;border:1px solid #e4e3dd;border-radius:10px;margin:0;padding:0 38px 0 12px;font-size:14px}.report-picker-batch-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.report-picker-batch-actions .picker-search{color:#1a1b1c;width:100%;height:42px;font:inherit;background:#fff;border:1px solid #e4e3dd;border-radius:10px;grid-column:1/-1;margin:0;padding:0 12px}.report-picker-batch-actions .btn{color:#4b5563;height:38px;box-shadow:none;background:#fff;border:1px solid #e4e3dd;border-radius:8px;padding:0;font-size:13px}.report-picker-batch-actions .btn:hover:not(:disabled){color:#4a6cf7;background:#f8f9ff;border-color:#9baaf0}.report-picker-batch-actions .btn:disabled{opacity:.55}.monthly-report-selection-card .report-empty-state{color:#8a8fa8;background:#fafbff;border:1px dashed #d8dcef;border-radius:10px;padding:18px 12px;font-size:13px}.monthly-report-selection-card .inline-selection-tip{color:#8a8fa8;background:0 0;border:0;margin:0;padding:0;font-size:12px;line-height:1.55}.monthly-report-selection-card .compact-report-student-list{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;max-height:184px;padding:0}.monthly-report-selection-card .compact-report-student-list .report-student-option{color:#4a6cf7!important;background:#7b8ce81f!important;border:0!important;border-radius:999px!important;min-height:36px!important;padding:6px 8px!important}.monthly-report-selection-card .compact-report-student-list .report-student-option.selected{color:#fff!important;box-shadow:none!important;background:linear-gradient(105deg,#7b8ce8,#9b7fe2)!important}.monthly-report-selection-card .compact-report-student-list .report-student-option.selected:after{color:#fff}.monthly-report-selection-card .compact-report-student-list .report-student-name{color:inherit;font-size:13px;font-weight:700}.monthly-report-selection-card>.actions{margin-top:14px!important}.monthly-report-selection-card>.actions .btn{border-radius:10px;min-height:42px}.monthly-report-queue-card{padding:16px}.monthly-report-queue-card>div:first-child{gap:8px}.monthly-report-queue-card b{color:#1a1b1c;font-size:15px;font-weight:800}.monthly-report-queue-card>div:first-child span{color:#4a6cf7;background:#7b8ce81f;border-radius:999px;padding:3px 8px;font-size:12px}.monthly-report-queue-card p{color:#8a8fa8;margin:9px 0 0;font-size:13px;line-height:1.6}.monthly-report-queue-card .report-queue-chip{color:#4a6cf7;background:#7b8ce81f;border-color:#0000;border-radius:999px}@media (width<=800px){.monthly-report-page{padding-bottom:2px}.monthly-report-heading{margin-bottom:16px}.monthly-report-quick-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.monthly-report-quick-button,.monthly-report-month-button{color:#6b7280;min-width:0;height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4e3dd;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:13px;display:flex;position:relative}.monthly-report-month-button{color:#1a1b1c}.monthly-report-month-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.monthly-report-month-button input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.monthly-report-quick-button:focus-visible{outline-offset:2px;outline:2px solid #7b8ce8}.monthly-report-month-button:has(input:focus-visible){outline-offset:2px;outline:2px solid #7b8ce8}.monthly-report-desktop-actions{display:none}.monthly-report-editor-page .monthly-report-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.monthly-report-editor-page .monthly-report-heading>div:first-child{min-width:0}.monthly-report-editor-page .monthly-report-desktop-actions{flex-shrink:0;gap:6px;margin:0;display:flex}.monthly-report-editor-page .monthly-report-desktop-actions .btn{white-space:nowrap;min-height:44px;padding:0 9px;font-size:12px}.monthly-report-selection-card,.monthly-report-queue-card{box-sizing:border-box;width:100%}.monthly-report-selection-card{padding:16px}.monthly-report-selection-card>.actions{gap:8px;display:flex}.monthly-report-selection-card>.actions .btn{flex:1;min-width:0;font-size:12px}.monthly-report-selection-card>.actions .btn.primary{background:linear-gradient(105deg,#7b8ce8,#9b7fe2);border-color:#0000}.monthly-report-queue-card{padding:16px}.report-generation-queue{background:#fff}}@media (width<=360px){.monthly-report-quick-button,.monthly-report-month-button{font-size:12px}.monthly-report-selection-card{padding:14px}.monthly-report-selection-card .compact-report-student-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.monthly-report-selection-card .compact-report-student-list .report-student-option.selected:after{content:none!important;display:none!important}@media (width<=800px){.monthly-report-selection-card .report-picker-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-report-selection-card .report-picker-actions .picker-filter{min-width:0}}.onboarding-card{overscroll-behavior:contain}.onboarding-evaluation-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.onboarding-evaluation-options button{color:#526684;text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9e3f2;border-radius:10px;padding:12px 14px}.onboarding-evaluation-options button.selected{color:#2d68d9;background:#edf3ff;border-color:#6e9cec;font-weight:700}.onboarding-confirm{gap:10px;margin-top:20px;display:grid}.onboarding-confirm>div{color:#536b8c;background:#f5f8ff;border-radius:10px;justify-content:space-between;gap:16px;padding:12px 14px;font-size:13px;display:flex}.onboarding-confirm b{color:#2d548f;white-space:nowrap}.onboarding-confirm span{text-align:right;overflow-wrap:anywhere}.record-preview-honor-list .record-preview-honor-emoji{place-items:center;min-height:22px;font-size:20px;line-height:1;display:grid}.record-preview-honor-list .is-locked .record-preview-honor-emoji{filter:grayscale();opacity:.5}.student-profile-head{background:#fff;min-height:72px;padding:14px 20px}.student-profile-heading{gap:10px}.student-profile-hero-avatar{width:38px;height:38px;box-shadow:none;background:#fde6ee;border-radius:50%;padding:4px}.student-profile-heading b{font-size:16px}.student-profile-heading small{font-size:11px}.student-profile-body{padding:18px 20px 20px}.student-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-profile-name label:after,.student-profile-direction label:after{content:"*";color:#e0525f;font-style:normal;font-weight:750}.student-profile-fields label{align-items:baseline}.student-profile-fields select,.student-profile-gender .gender-selector{height:44px}.student-profile-gender{max-width:none}.student-profile-gender .gender-selector{height:44px}.student-avatar-picker{margin-top:16px;padding-top:14px}@media (width<=600px){.student-profile-head{padding:14px 17px}.student-profile-body{padding:17px}.student-profile-fields{gap:10px}.student-profile-fields select,.student-profile-gender .gender-selector{height:44px}}.archive-modal .modal-head{justify-content:flex-start}.archive-modal .archive-title-wrap{flex:1;justify-content:flex-start;min-width:0}.archive-modal .modal-close{flex:none;margin-left:auto}@media (width<=640px){.archive-modal .modal-head{grid-template-columns:minmax(0,1fr) auto}.archive-modal .modal-head .archive-title-wrap{justify-content:flex-start}.archive-modal .archive-title-wrap b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.add-student-modal .add-student-modal-head{justify-content:flex-start}.add-student-modal .add-student-title-wrap{flex:1;justify-content:flex-start;min-width:0}.add-student-modal .modal-close{flex:none;margin-left:auto}@media (width<=640px){.add-student-modal .add-student-modal-head{grid-template-columns:minmax(0,1fr) auto}.add-student-modal .add-student-title-wrap{justify-content:flex-start}.add-student-modal .add-student-title-wrap b,.add-student-modal .add-student-title-wrap small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.add-student-title-wrap>span{width:40px;height:40px;color:initial;box-shadow:none;background:#ffd3e5;border-radius:50%;font-size:20px;line-height:1}.add-student-title-wrap b{align-items:center;gap:6px;font-size:16px;display:flex}.add-student-title-wrap b i{color:#fff;background:#a9c7fb;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;font-style:normal;font-weight:750;display:grid}.add-student-title-wrap small{max-width:300px}.gender-selector button{justify-content:center;align-items:center;gap:5px;display:inline-flex}.gender-selector button svg{flex:none}.mobile-course-management-list button>span.theme-icon-gradient{flex:0 0 28px;place-items:center;width:28px;display:grid}.mobile-course-management-list button>span:not(.theme-icon-gradient){flex:1;min-width:0}.mobile-course-management-list button>svg:last-child{flex:none;margin-left:auto}.schedule-date-strip{grid-template-columns:repeat(7,minmax(38px,42px));justify-content:space-between;gap:0;width:min(100%,350px);margin-left:auto;margin-right:auto}.schedule-date-item{box-sizing:border-box;width:100%}@media (width<=360px){.schedule-date-strip{grid-template-columns:repeat(7,minmax(36px,40px))}.schedule-date-item{min-height:56px}}.class-creator-panel .form-grid:first-of-type>.field:first-child{display:grid!important}.phrase-custom-form{background:#fff;border:1px solid #e2e8f2;border-radius:14px;grid-template-columns:1fr;gap:12px;margin-top:10px;padding:16px;display:grid}.phrase-custom-form-title{color:#26364d;font-size:14px;line-height:1.3}.phrase-custom-form-row{grid-template-columns:130px minmax(0,1fr);gap:10px;display:grid}.phrase-custom-form label{color:#465774;gap:6px;font-size:12px;font-weight:700;display:grid}.phrase-custom-form label em{color:#e0525f;font-style:normal}.phrase-custom-form label span{color:#9aa5b6;font-size:11px;font-weight:500}.phrase-custom-form input,.phrase-custom-form select{box-sizing:border-box;color:#273a59;width:100%;height:44px;font:inherit;background:#fff;border:1px solid #d9e1f1;border-radius:10px;margin:0;padding:0 11px;font-size:13px}.phrase-custom-form .btn{border-radius:10px;width:100%;height:44px;padding:0;font-size:13px}.phrase-custom-form input:focus,.phrase-custom-form select:focus{border-color:#5b74f2;box-shadow:0 0 0 3px #576def21}@media (width<=600px){.phrase-custom-form-row{grid-template-columns:130px minmax(0,1fr)}.phrase-custom-form{gap:11px;padding:14px}.phrase-custom-form .btn{grid-column:auto}}.companion-profile-card{text-align:left;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.companion-profile-identity{flex:none;align-items:center;gap:10px;min-width:0;display:flex}.companion-profile-identity>div{gap:2px;display:grid}.companion-profile-identity span{color:var(--companion-muted);font-size:11px;font-weight:650}.companion-profile-identity b{color:var(--companion-ink);font-size:15px;line-height:1.25}.companion-profile-stats{flex:1;grid-template-columns:repeat(3,minmax(58px,1fr));gap:8px;min-width:0;display:grid}.companion-profile-stats>div{justify-items:center;gap:3px;min-width:0;display:grid}.companion-profile-stats strong{color:var(--companion-ink);font-variant-numeric:tabular-nums;font-size:20px;line-height:1.1}.companion-profile-stats span{max-width:100%;color:var(--companion-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}@media (width<=480px){.companion-profile-card{gap:14px;padding:14px}.companion-profile-avatar{width:42px;height:42px}.companion-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.companion-profile-stats strong{font-size:18px}.companion-profile-stats span{font-size:10px}}.companion-profile-card>.companion-profile-identity{border:0;width:auto;margin:0;padding:0;display:flex}.companion-profile-card>.companion-profile-stats{border:0;width:auto;margin:0;padding:0;display:grid}.class-creator-panel.open{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.class-creator-panel.open>.class-creator-head{grid-column:1/-1}.class-creator-panel.open>.form-grid{display:contents}.class-creator-panel.open>.form-grid:nth-of-type(2)>.field,.class-creator-panel.open>.form-grid:nth-of-type(3)>.field{grid-column:1/-1;gap:6px;display:grid!important}.class-creator-panel.open>.form-grid:nth-of-type(2)>.field:first-child{grid-row:2}.class-creator-panel.open>.form-grid:nth-of-type(2)>.field:nth-child(3){grid-row:3}.class-creator-panel.open>.form-grid:nth-of-type(2)>.field:nth-child(2){grid-row:4}.class-creator-panel.open>.form-grid:nth-of-type(3)>.field:first-child{grid-row:5}.class-creator-panel.open>.form-grid:nth-of-type(3)>.field:nth-child(2){grid-row:6}.class-creator-panel.open>.form-grid:nth-of-type(2)>.actions{grid-area:7/1;margin:0}.class-creator-panel.open>.form-grid:nth-of-type(3)>.actions{grid-area:7/2;margin:0}.class-creator-panel.open>.form-grid:nth-of-type(2)>.field label,.class-creator-panel.open>.form-grid:nth-of-type(3)>.field label{color:#3b4b68;font-size:12px;font-weight:750}.class-creator-panel.open>.form-grid:nth-of-type(2)>.field:nth-child(-n+3) label:after{content:"*";color:#e0525f;margin-left:4px}.class-creator-panel.open>.form-grid:nth-of-type(3)>.field label{align-items:baseline;gap:4px;display:flex}.class-creator-panel.open>.form-grid:nth-of-type(3)>.field label:after{content:"可选";color:#9aa5b6;font-size:11px;font-weight:500}.class-creator-panel.open input,.class-creator-panel.open select{box-sizing:border-box;border-color:#d9e1f1;border-radius:10px;height:44px}.class-creator-panel.open .actions .btn{border-radius:10px;width:100%;height:44px}.class-creator-panel.open>.form-grid:nth-of-type(3)>.actions .btn{color:#4c65d8;background:#fff;border-color:#5b74f2}@media (width<=520px){.class-creator-panel.open{gap:10px;padding:14px}.class-creator-panel.open>.form-grid:nth-of-type(2)>.actions,.class-creator-panel.open>.form-grid:nth-of-type(3)>.actions{grid-row:auto}.class-creator-panel.open>.form-grid:nth-of-type(2)>.actions{grid-column:1}.class-creator-panel.open>.form-grid:nth-of-type(3)>.actions{grid-column:2}}.student-profile-head .student-profile-heading{flex:1;justify-content:flex-start;min-width:0}.student-profile-gender .gender-selector{gap:0;overflow:hidden}.student-profile-gender .gender-selector button{justify-content:center;align-items:center;gap:5px;display:inline-flex}.student-profile-gender .gender-selector button:before{font-size:13px;line-height:1}.student-profile-gender .gender-selector button:first-child:before{content:"♀"}.student-profile-gender .gender-selector button:last-child:before{content:"♂"}@media (width<=640px){.student-profile-head .student-profile-heading{justify-content:flex-start}.student-profile-head{grid-template-columns:minmax(0,1fr) auto}}@media (width<=800px){.monthly-report-selection-card .report-picker-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.monthly-report-selection-card .report-picker-actions .picker-filter{min-width:0!important}.monthly-report-page .monthly-report-selection-card .report-student-picker>.report-picker-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important}.monthly-report-page .monthly-report-selection-card .report-student-picker>.report-picker-actions .picker-filter,.monthly-report-page .monthly-report-selection-card .report-student-picker>.report-picker-actions .report-class-filter{grid-column:auto!important;width:100%!important;min-width:0!important}}.monthly-report-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid!important}.monthly-report-quick-button,.monthly-report-month-button{color:#6b7280;min-width:0;height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4e3dd;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:14px;display:flex;position:relative}.monthly-report-month-button{color:#1a1b1c}.monthly-report-month-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.monthly-report-month-button input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.monthly-report-global-search{cursor:text!important;justify-content:flex-start!important;padding:0 14px!important}.monthly-report-global-search input{color:#1a1b1c;width:100%;min-width:0;font:inherit;font-size:inherit;background:0 0!important;border:0!important;outline:0!important}.monthly-report-global-search input::placeholder{color:#6b7280}.monthly-report-global-search:focus-within{box-shadow:0 0 0 3px #7b8ce821;border-color:#7b8ce8!important}.monthly-report-month-button:has(input:focus-visible){box-shadow:0 0 0 3px #7b8ce821;border-color:#7b8ce8!important}.record-card .attendance-toggle button.active.attendance-leave{background:linear-gradient(105deg,#f6b73c,#f59e0b);box-shadow:0 4px 10px #e7971838}.record-card .attendance-toggle button.active.attendance-absent{background:linear-gradient(105deg,#fb923c,#ef4444);box-shadow:0 4px 10px #e64f3638}.record-card .record-student-picker--browse .record-student-chip,.record-card .record-student-picker--browse .record-student-chip[class*=course-]{color:#4e6fd2!important;box-shadow:none!important;background:#eef4ff!important;border-color:#d8e4ff!important}.record-card .record-student-picker--browse .record-student-chip.selected{color:#fff!important;background:linear-gradient(105deg,#4b81ee,#8060ec)!important;border-color:#0000!important;box-shadow:0 4px 10px #4d3edd2e!important}.record-card .record-student-heading{grid-template-columns:auto minmax(0,1fr) auto;gap:10px 8px;display:grid}.record-card .record-student-heading .record-student-heading-search{order:initial;box-sizing:border-box;color:#2d3b54;width:100%;height:38px;font:inherit;background:#fff;border:1px solid #dce2ed;border-radius:9px;grid-area:2/1/auto/-1;margin:0;padding:0 12px;font-size:13px}.record-card .record-student-heading .record-student-heading-search:focus{border-color:#6178ee;outline:0;box-shadow:0 0 0 3px #6178ee1f}.record-card .record-student-picker--browse{background:0 0;border:0;padding:10px}.record-card .record-student-picker--browse .record-student-chip{color:#4e6fd2;box-shadow:none;background:#eef4ff;border-color:#d8e4ff;font-weight:600}.record-card .record-student-picker--browse .record-student-chip:hover{background:#e5edff}.record-card .record-student-picker--browse .record-student-chip.selected{color:#fff;background:linear-gradient(105deg,#4b81ee,#8060ec);border-color:#0000}.onboarding-add-dimension{gap:10px;margin-top:12px;display:flex}.onboarding-add-dimension input{flex:1;min-width:0}.onboarding-add-dimension .btn{white-space:nowrap}.record-flow{color:#8a98aa;background:#f8faff;border:1px solid #e3eaf5;border-radius:12px;align-items:center;gap:9px;margin:0 0 18px;padding:10px 12px;font-size:12px;display:flex}.record-flow span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.record-flow span.active{color:#326bd9;font-weight:700}.record-flow b{color:#77869b;background:#e9eef6;border-radius:50%;place-items:center;width:21px;height:21px;font-size:11px;display:grid}.record-flow span.active b{color:#326bd9;background:#dfeaff}.record-flow i{color:#b0bbca;font-style:normal}.field-optional{color:#8b9ab0;margin-left:5px;font-size:11px;font-weight:400}.field:has(.gender-selector)>label{line-height:1.2;color:#1a1b1c!important;align-items:baseline!important;gap:4px!important;margin:0 0 8px!important;font-size:13px!important;font-weight:700!important;display:flex!important}.field:has(.gender-selector)>label span{color:#b0b4c4!important;font-size:12px!important;font-weight:400!important}.gender-selector{box-sizing:border-box!important;background:#f0efea!important;border:0!important;border-radius:10px!important;gap:2px!important;width:100%!important;height:42px!important;padding:3px!important;display:flex!important}.gender-selector button{color:#6b7280!important;min-width:0!important;height:36px!important;font:inherit!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:8px!important;flex:1 1 0!important;justify-content:center!important;align-items:center!important;gap:4px!important;margin:0!important;padding:0 8px!important;font-size:13px!important;font-weight:400!important;line-height:1!important;display:inline-flex!important}.gender-selector button:hover{color:#4f5c72!important;background:#ffffff8c!important}.gender-selector button:first-child.active{color:#fff!important;background:linear-gradient(135deg,#c084fc,#e879f9)!important;font-weight:700!important}.gender-selector button:last-child.active{color:#fff!important;background:linear-gradient(135deg,#60a5fa,#3b82f6)!important;font-weight:700!important}.gender-selector button:focus-visible{outline-offset:2px!important;outline:2px solid #7b8ce8!important}.record-more-button{color:#326bd9;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;font-size:12px;font-weight:700}.record-more-button:hover{text-underline-offset:3px;text-decoration:underline}.record-advanced-fields{border-top:1px solid #e8eef6;grid-column:1/-1;margin-top:2px}.record-advanced-fields summary{color:#3e5f8b;cursor:pointer;align-items:center;gap:7px;padding:14px 2px;font-size:14px;font-weight:800;list-style:none;display:flex}.record-advanced-fields summary::-webkit-details-marker{display:none}.record-advanced-fields summary:before{content:"＋";color:#326bd9;background:#edf3ff;border-radius:6px;place-items:center;width:20px;height:20px;font-size:15px;display:grid}.record-advanced-fields[open] summary:before{content:"−"}.record-advanced-fields summary span{color:#8b99ac;font-size:11px;font-weight:400}.record-advanced-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:4px;display:grid}.record-advanced-content>.ai-review,.record-advanced-content>.field.full{grid-column:1/-1}@media (width<=620px){.record-flow{justify-content:space-between;gap:5px;padding:8px;font-size:10px}.record-flow i{font-size:10px}.record-flow span{gap:4px}.record-flow b{width:18px;height:18px;font-size:10px}.record-advanced-content{grid-template-columns:1fr;gap:12px}.record-advanced-content>.field.full,.record-advanced-content>.ai-review{grid-column:auto}.record-advanced-fields summary{font-size:13px}}.record-flow{z-index:25;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafff7;align-items:stretch;gap:8px;margin-top:-1px;padding-top:11px;padding-bottom:11px;scroll-margin-top:8px;position:sticky;top:0;box-shadow:0 5px 14px #273f691a}.record-flow button{color:#7b8799;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;flex:1;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;min-width:0;padding:7px 9px;display:grid}.record-flow button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.record-flow button small{color:#9aa6b7;white-space:nowrap;grid-column:2;font-size:10px;line-height:1.3}.record-flow button.active{color:#2f68d8;background:#fff;border-color:#cbdafa;box-shadow:0 2px 7px #3767f514}.record-flow button.active small{color:#6684bf}.record-flow button b{color:#77869b;background:#e9eef6;border-radius:50%;grid-row:1/span 2;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.record-flow button.active b{color:#fff;background:#3767f5}.record-flow i{flex:none;align-self:center}.record-card,.card{min-width:0}.record-card input,.record-card select,.record-card textarea{max-width:100%}.record-card .field,.record-card .scores,.record-card .score-box{min-width:0}.record-card .score-box strong{overflow-wrap:anywhere}.record-action-bar{flex-wrap:wrap}.msg{background:#f0faf5;border-radius:8px;min-height:20px;margin:0 0 12px;padding:8px 11px;font-size:13px;line-height:1.45}@media (width<=800px){body{overflow-x:hidden}.app{min-width:0;display:block}.side{display:none}.main{width:100%;max-width:100%;padding:16px 12px 164px;overflow:visible}.top{align-items:flex-start;gap:12px}.top .title{overflow-wrap:anywhere;max-width:100%}.top .actions{width:100%;min-width:0}.top .actions .btn{min-height:44px}.record-action-bar{z-index:20;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffffa;gap:8px;display:flex;position:fixed;bottom:58px;left:0;right:0;box-shadow:0 -6px 18px #1e2d5014}.record-action-bar .btn{white-space:nowrap;flex:1;min-width:0;padding:10px 8px}.record-action-bar .save-draft-btn{display:inline-flex!important}.bottom{padding:6px 4px calc(6px + env(safe-area-inset-bottom));min-height:58px;bottom:0;left:0;right:0}.bottom button{min-width:44px;min-height:44px}.record-flow{z-index:40;margin-left:0;margin-right:0;position:sticky;top:0;overflow:visible}.record-flow i{display:none}.record-flow button{padding:7px 5px}.record-flow button small{display:none}.record-flow button span{text-align:center;grid-column:2;font-size:11px}.record-flow button b{width:22px;height:22px;font-size:10px}.record-flow button{grid-template-columns:22px 1fr}.form-grid,.two,.highlight-grid,.form-grid>*{min-width:0}.record-card{padding:14px 12px;overflow:visible}.record-student-picker,.batch-students,.ability-select-row,.phrase-list,.chips{overflow-wrap:anywhere;max-width:100%}.record-card .actions{flex-wrap:wrap}.record-card .actions .btn{min-height:44px}.record-card .record-knowledge-select{flex:100%;min-width:0;max-width:100%}.selected-knowledge-chip{white-space:normal;overflow-wrap:anywhere;max-width:100%}.stats{gap:8px}.stat-card{min-width:0}.stat-card .stat-value{font-variant-numeric:tabular-nums}.main img{max-width:100%;height:auto}.record-card .temp-add-button{white-space:nowrap;border-radius:8px;flex:none;width:auto;min-height:34px;padding:6px 11px;font-size:12px}}.archive-modal{color:#1a1b1c;background:#fff;border-radius:20px;width:min(440px,100vw - 24px);max-height:min(88dvh,820px);box-shadow:0 20px 48px #29305233}.archive-modal .archive-app-head{color:#fff;background:linear-gradient(135deg,#7b8ce8 0%,#9b7fe2 100%);border:0;min-height:76px;padding:12px 16px;position:static}.archive-modal .archive-title-wrap{align-items:center;gap:10px;min-width:0;display:flex}.archive-modal .archive-avatar-trigger{cursor:pointer;background:#fff3;border:0;border-radius:50%;place-items:center;width:46px;height:46px;padding:4px;display:grid}.archive-modal .archive-title-avatar{border-radius:50%;width:34px;height:34px}.archive-modal .archive-title-wrap>div{gap:2px;min-width:0;display:grid}.archive-modal .archive-title-wrap small{color:#ffffffc7;font-size:11px;line-height:1.2}.archive-modal .archive-title-wrap b{color:#fff;font-size:18px;font-weight:800;line-height:1.25}.archive-modal .archive-app-head .modal-close{color:#fff;cursor:pointer;background:#fff3;border:0;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:auto;padding:0;font-size:21px;transition:background .18s,transform .18s cubic-bezier(.16,1,.3,1);display:grid}.archive-modal .archive-app-head .modal-close:hover{background:#ffffff52;transform:scale(1.06)}.archive-modal .archive-app-head .modal-close:focus-visible{outline-offset:2px;outline:2px solid #fff}.archive-modal .archive-body{background:#fff;flex-direction:column;padding:16px 14px 20px;display:flex}.archive-modal .archive-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;display:grid}.archive-modal .archive-summary>div{background:#f7f8fc;border:0;border-radius:12px;align-content:start;gap:6px;min-height:70px;padding:11px 10px;display:grid}.archive-modal .archive-summary small{color:#8a8fa8;font-size:11px;line-height:1.2}.archive-modal .archive-summary b{color:#1a1b1c;overflow-wrap:anywhere;font-size:13px;font-weight:800;line-height:1.38}.archive-modal .archive-month-filter{background:#f7f8fc;border:0;border-radius:12px;align-items:center;gap:10px;margin:0;padding:10px 12px;display:flex}.archive-modal .archive-month-filter label{color:#687089;font-size:12px;font-weight:600}.archive-modal .archive-month-filter select{color:#303747;background:#fff;border:1px solid #e1e5ee;border-radius:9px;flex:1;min-width:0;height:36px;padding:0 28px 0 11px;font-size:12px}.archive-modal .archive-record-count{color:#8a8fa8;order:4;margin:15px 4px 10px;font-size:12px;line-height:1.3}.archive-modal .archive-wallet{margin-bottom:18px}.archive-modal .archive-empty{margin-top:18px;font-size:13px;line-height:1.7}.archive-modal .archive-record{box-shadow:none;background:#fff;border:1px solid #e5e8f0;border-radius:12px;order:5;margin-top:10px;padding:14px 13px}.archive-modal .archive-record-meta{justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;display:flex}.archive-modal .archive-record-meta time{color:#8a8fa8;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:0;min-width:0;padding:0;font-size:12px;line-height:1.3;overflow:hidden}.archive-modal .archive-record-meta span{color:#52c41a;white-space:nowrap;background:#eff9ea;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:750;line-height:1}.archive-modal .archive-record-head{align-items:center;gap:8px;margin:0}.archive-modal .archive-record-head b{color:#1a1b1c;min-width:0;font-size:14px;font-weight:800;line-height:1.45}.archive-modal .archive-record-toggle{color:#7b86a0;background:0 0;border:0;border-radius:0;margin-left:auto;padding:3px 0;font-size:11px;font-weight:600}.archive-modal .archive-record-description{color:#687089;margin:6px 0 0;font-size:12px;line-height:1.55;display:block}.archive-modal .archive-record-description b{color:#687089;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.archive-modal .archive-record-description p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.archive-modal .archive-record section{background:#f7f8fc;border-radius:10px}.archive-modal .archive-progress{background:#fff;border-color:#e3e7f0;border-radius:14px;order:3;margin:16px 0 0;padding:14px}.archive-modal .archive-progress h3{color:#27344b;font-size:15px}.archive-modal .archive-progress-toggle{color:#566bcf;background:#f7f8fc;border-color:#d9e0ef}.archive-progress-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.archive-placement-trigger{color:#5265ca;min-height:32px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d9e0ef;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}.archive-placement-trigger:hover{background:#f6f7ff;border-color:#aeb8f0}.archive-placement-trigger:focus-visible,.archive-placement-editor button:focus-visible,.archive-placement-editor select:focus-visible{outline-offset:2px;outline:2px solid #7b8ce8}.archive-placement-editor{background:#f8f9fc;border:1px solid #dfe5f2;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(110px,160px);align-items:center;gap:10px;margin:0 0 12px;padding:12px;display:grid}.archive-placement-editor>div:first-child{gap:4px;display:grid}.archive-placement-editor label{color:#2d405e;font-size:12px;font-weight:700}.archive-placement-editor small{color:#71809a;font-size:11px;line-height:1.45}.archive-placement-editor select{color:#26364d;width:100%;min-height:38px;font:inherit;background:#fff;border:1px solid #d4dceb;border-radius:8px;padding:7px 10px;font-size:12px}.archive-placement-editor-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.archive-placement-editor-actions button{color:#59677f;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9e0ef;border-radius:8px;padding:6px 12px;font-size:12px}.archive-placement-editor-actions button.save{color:#fff;background:#6d7fe4;border-color:#6d7fe4}.archive-placement-editor-actions button:disabled{opacity:.62;cursor:wait}.archive-placement-editor>p{color:#c24141;grid-column:1/-1;margin:0;font-size:12px}.archive-level-points .unrecorded{color:#7d8797;background:#f4f5f8}@media (width<=360px){.archive-modal{width:calc(100vw - 16px)}.archive-modal .archive-body{padding-left:12px;padding-right:12px}.archive-modal .archive-summary{gap:7px}.archive-modal .archive-progress-head{flex-wrap:wrap;align-items:flex-start}.archive-modal .archive-progress-actions{margin-left:auto}.archive-placement-editor{grid-template-columns:minmax(0,1fr) 112px;gap:8px}.archive-modal .archive-summary>div{padding:10px 8px}.archive-modal .archive-summary b{font-size:12px}}@media (width<=800px){.mobile-primary-nav.bottom{min-height:70px;padding:7px 12px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;border-top:1px solid #e9edf5;justify-content:space-between;align-items:flex-end;gap:2px;display:flex;box-shadow:0 -6px 22px #25376314}.mobile-primary-nav.bottom button{color:#8792a5;background:0 0;border:0;flex:1 1 0;min-width:0;min-height:52px;padding:2px 3px;font-size:10px;font-weight:600;line-height:1.15;transition:color .2s,transform .2s cubic-bezier(.16,1,.3,1)}.mobile-primary-nav.bottom button .ic{place-items:center;height:26px;margin-bottom:3px;display:grid}.mobile-primary-nav.bottom button.active:not(.bottom-record-button){color:#3767f5}.mobile-primary-nav.bottom button:active{transform:scale(.94)}.mobile-primary-nav.bottom .bottom-record-button{color:#61708a;flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:relative;top:-20px}.mobile-primary-nav.bottom .bottom-record-button .bottom-record-icon{color:#fff;background:linear-gradient(135deg,#326cf3 0%,#7d58ed 100%);border:4px solid #fff;border-radius:50%;width:52px;height:52px;margin:0 0 4px;box-shadow:0 8px 18px #5558e24d}.mobile-primary-nav.bottom .bottom-record-button.active .bottom-record-icon{animation:1.75s cubic-bezier(.16,1,.3,1) infinite bottom-record-pulse}.mobile-primary-nav.bottom .bottom-record-label{white-space:nowrap;font-size:10px;font-weight:700;line-height:1.1}.mobile-primary-nav.bottom .bottom-record-button.active{color:#4c63e9}}@keyframes bottom-record-pulse{0%,to{transform:translateY(0);box-shadow:0 8px 18px #5558e24d}50%{transform:translateY(-3px);box-shadow:0 12px 24px #5558e263}}@media (width<=800px){html,body,#root,.app{overflow-x:clip}.record-card{overflow:visible}.record-flow{top:env(safe-area-inset-top,0px);z-index:40;position:sticky}.ability-toolbar{margin-top:10px}.ability-toolbar .ability-save-settings{width:100%;min-height:38px}.ability-dimension-count{font-size:12px;line-height:1.45}.ability-dimension-count span{display:block}.ability-actions{justify-content:stretch}.ability-actions button{flex:1 1 0;min-height:34px}}@media (width<=375px){.main,.record-card{padding-left:10px;padding-right:10px}.record-flow button span{font-size:10px}.record-action-bar{padding-left:8px;padding-right:8px}.record-action-bar .btn{font-size:12px}.record-preview-actions .btn{min-width:0}.modal-overlay{padding:6px}.modal-body{padding-left:12px;padding-right:12px}}.student-management-toggle{color:#3767d6;white-space:nowrap;box-shadow:none;background:#fff;border-color:#bdd1f5}.student-management-toggle:hover{background:#f4f8ff}.student-management-toggle.active{color:#fff;background:#3767d6;border-color:#3767d6}.student-add-action{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.student-archive-action{white-space:nowrap;padding:7px 14px;font-size:13px;color:#fff!important}.student-search-wrap{box-sizing:border-box;color:#6b7280;background:#fff;border:1px solid #e4e3dd;border-radius:10px;align-items:center;gap:6px;height:40px;padding:0 12px;display:inline-flex}.student-search-wrap .student-search{width:100%;height:100%;min-height:0;box-shadow:none;color:#1a1b1c;background:0 0;border:0;border-radius:0;padding:0}.student-search-wrap .student-search::placeholder{color:#b0b4c4}.student-search-wrap:focus-within{border-color:#7b8ce8;box-shadow:0 0 0 2px #7b8ce81f}@media (width<=640px){.top .actions:has(.student-management-toggle){flex-wrap:nowrap!important;gap:8px!important;width:100%!important;display:flex!important}.top .actions:has(.student-management-toggle) .student-search-wrap{flex:2 1 0!important;min-width:0!important;height:40px!important}:is(.top .actions:has(.student-management-toggle) .student-management-toggle,.top .actions:has(.student-management-toggle) .student-add-action){white-space:nowrap!important;border-radius:10px!important;flex:1 1 0!important;justify-content:center!important;align-items:center!important;min-width:0!important;height:40px!important;min-height:40px!important;padding:0 6px!important;font-size:12px!important;line-height:1!important;display:inline-flex!important}.top .actions:has(.student-management-toggle) .student-management-toggle{color:#6b7280!important;box-shadow:none!important;background:#fff!important;border:1px solid #e4e3dd!important}.top .actions:has(.student-management-toggle) .student-management-toggle.active{color:#4a6cf7!important;background:#eef0ff!important;border-color:#cdd4fb!important}.top .actions:has(.student-management-toggle) .student-add-action{color:#fff!important;box-shadow:none!important;background:linear-gradient(135deg,#7b8ce8,#9b7fe2)!important;border:0!important}.top .actions:has(.student-management-toggle) .student-search{font-size:12px!important}}.student-delete-action{white-space:nowrap;color:#c45555;background:#fff7f7;border-color:#efc5c5;padding:7px 12px;font-size:13px}@media (width<=640px){.stu-row{flex-direction:row;align-items:center;gap:8px}.stu-row>div:last-child{flex-direction:column;align-items:flex-end;width:auto;margin-left:auto;gap:5px!important;display:flex!important}.stu-row>div:last-child>span{grid-column:auto}.stu-row .student-archive-action{width:auto;padding:5px 9px;font-size:11px;color:#3767d6!important;box-shadow:none!important;background:#eaf2ff!important;border-color:#bdd3fb!important}}.stu-row .student-archive-action{color:#3767d6;box-shadow:none;background:#eaf2ff;border-color:#bdd3fb;padding:6px 11px;font-size:12px}@media (width<=640px){.student-direction-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px;padding:2px 0 5px;display:grid;overflow:visible}.student-direction-tabs button{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;width:100%;min-width:0;min-height:34px;padding:6px 4px;font-size:11px;overflow:hidden}.curriculum-subnav{display:none}}.temp-point-feedback{border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:13px;line-height:1.4}.temp-point-feedback.success{color:#16795a;background:#eaf8f1;border:1px solid #bfe8d5}.temp-point-feedback.error{color:#b43f3f;background:#fff1f0;border:1px solid #efc0bd}.quick-evaluation-heading{color:#1f2d43;margin:0 0 12px;font-size:20px}.core-performance-details>summary{color:#3e5f8b;cursor:pointer;align-items:center;gap:7px;padding:14px 2px;font-size:14px;font-weight:800;list-style:none;display:flex}.core-performance-details>summary::-webkit-details-marker{display:none}.core-performance-details>summary:before{content:"＋";color:#326bd9;background:#edf3ff;border-radius:6px;place-items:center;width:20px;height:20px;font-size:15px;display:grid}.core-performance-details[open]>summary:before{content:"−"}.core-performance-details>summary:after{display:none}.ability-settings-summary em{color:#8b99ac;background:0 0;margin-left:auto;padding:0;font-size:12px;font-style:normal;font-weight:400}.ability-toolbar{justify-content:flex-end;margin:10px 0 8px;display:flex}.ability-save-settings{white-space:nowrap;color:#3767d6!important;background:#eef4ff!important;border-color:#cbdafa!important;padding:7px 11px!important;font-size:12px!important}.ability-dimension-count{margin:0 0 8px}.ability-dimension-count span{color:#9aa6b7}.ability-actions{justify-content:flex-end;gap:8px;margin-bottom:10px;display:flex}.ability-actions .ability-reset,.ability-actions .ability-remove-mode{padding:6px 10px;font-size:12px}.ability-collapse-action{color:#3767d6;background:#edf3ff;border:1px solid #cbdafa;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.core-performance-details[open] .ability-collapse-action{font-size:0}.core-performance-details[open] .ability-collapse-action:after{content:"收起";font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.collapsible-section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.collapse-toggle{color:var(--brand);font:inherit;cursor:pointer;background:#eef4ff;border:0;border-radius:999px;padding:6px 11px;font-size:12px}.collapse-toggle:hover{background:#e2edff}.nav-group{border-top:1px solid #edf1f7;margin-top:10px;padding-top:8px}.nav-group-title{color:#2d5fae;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:9px 14px;font-size:14px;font-weight:800;display:flex}.nav-group-title:hover{background:#f4f7fc}.nav-group-title:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.nav-group-chevron{margin-left:auto;transition:transform .18s}.nav-group.is-open .nav-group-chevron{transform:rotate(180deg)}.nav-group-items{animation:.18s ease-out nav-group-open;overflow:hidden}@keyframes nav-group-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav button.nav-child{padding-left:44px;font-size:14px}.nav button.nav-child .nav-icon{width:20px}.nav button.nav-child .nav-onboarding-mark{width:20px;height:20px;font-size:12px}.organization-settings-heading h2,.organization-qr-section h3,.organization-field-label{align-items:center;gap:8px;display:flex}.organization-heading-icon{width:22px;height:22px;color:var(--brand);background:#eaf1ff;border-radius:6px;flex:0 0 22px;place-items:center;display:inline-grid}.organization-field-label{color:#1f2735}.organization-field-label svg{color:var(--brand);flex:none}.organization-field-label em{color:var(--brand);font-style:normal}.organization-field-label .field-optional{font-weight:400}@media print{body>*{display:none!important}#root{display:block!important}.record-preview-modal{max-width:none!important;max-height:none!important;box-shadow:none!important;position:static!important}.record-preview-modal .modal-head,.record-preview-modal .record-preview-actions{display:none!important}.record-preview-modal .modal-body{max-height:none!important;overflow:visible!important}.record-preview-modal:has(.modal-body){display:block!important}}.batch-report-preview-modal{flex-direction:column;width:min(560px,100vw - 32px);max-height:min(680px,100vh - 32px);display:flex;overflow:hidden}.batch-report-preview-modal .modal-head{flex:none}.batch-report-preview-modal .modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.batch-report-preview-modal .modal-head>div{gap:3px;display:grid}.batch-report-preview-modal .modal-head small{color:#8a8fa8;font-size:12px;line-height:1.45}.batch-report-preview-body{gap:10px;padding:18px;display:grid}.batch-report-preview-item{color:#1a1b1c;text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe4f4;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 15px;transition:border-color .18s,background .18s,transform .18s;display:flex}.batch-report-preview-item>span{gap:3px;min-width:0;display:grid}.batch-report-preview-item b{font-size:15px}.batch-report-preview-item small{color:#8a8fa8;font-size:12px}.batch-report-preview-item strong{color:#4a6cf7;flex:none;font-size:13px}.batch-report-preview-item:hover:not(:disabled){background:#f7f8ff;border-color:#8e9dee;transform:translateY(-1px)}.batch-report-preview-item:focus-visible{outline-offset:2px;outline:2px solid #7b8ce8}.batch-report-preview-item.error{background:snow;border-color:#f0c4c4}.batch-report-preview-item.error strong{color:#b66a6a}.batch-report-preview-item:disabled{cursor:not-allowed;opacity:.78}@media (width<=520px){.batch-report-preview-modal{width:calc(100vw - 24px)}.batch-report-preview-body{padding:14px}.batch-report-preview-item{gap:10px;padding:13px}.batch-report-preview-item strong{font-size:12px}}.monthly-report-queue-card .report-queue-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.monthly-report-queue-card .report-queue-heading>div{align-items:center;gap:8px;min-width:0;display:flex}.monthly-report-queue-card .report-queue-preview{color:#4a6cf7;height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cdd6fa;border-radius:8px;padding:0 13px;font-size:13px;font-weight:700}.monthly-report-queue-card .report-queue-preview:hover{background:#f7f8ff;border-color:#8d9bed}.monthly-report-queue-card .report-queue-preview:focus-visible{outline-offset:2px;outline:2px solid #7b8ce8}.student-avatar-options.avatar-options-collapsed{grid-template-columns:repeat(4,minmax(0,1fr))}.student-avatar-toggle{color:#526bd9;width:100%;height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8e0f2;border-radius:9px;margin-top:10px;font-size:12px;font-weight:700;display:block}.student-avatar-toggle:hover{background:#f7f8ff;border-color:#9eacef}.student-avatar-toggle:focus-visible{outline-offset:2px;outline:2px solid #6c7fed}.archive-record-status-actions{flex:none;align-items:center;gap:6px;display:flex}.archive-review-button{color:#4a6cf7;height:23px;font:inherit;cursor:pointer;white-space:nowrap;background:#eef2ff;border:1px solid #cdd6fa;border-radius:999px;padding:0 8px;font-size:11px;font-weight:750;line-height:1}.archive-review-button:hover{background:#e4eaff;border-color:#8e9dee}.archive-review-button:focus-visible{outline-offset:2px;outline:2px solid #7b8ce8}.archive-review-preview-modal{width:min(620px,100vw - 32px);max-height:min(820px,100vh - 24px);overflow:hidden}.archive-review-preview-body{gap:12px;max-height:calc(100vh - 104px);padding:18px;display:grid;overflow:auto}.archive-review-summary{background:#f7f9ff;border:1px solid #dce5f6;border-radius:12px;gap:4px;padding:14px 15px;display:grid}.archive-review-summary b{color:#27364e;font-size:16px}.archive-review-summary span{color:#7b86a0;font-size:12px}.archive-review-section{background:#fff;border:1px solid #e3e7f0;border-radius:12px;padding:14px 15px}.archive-review-section h3{color:#27364e;margin:0 0 8px;font-size:14px}.archive-review-section p{color:#5c6980;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.7}.archive-review-knowledge{background:#f8faff}.archive-review-knowledge>div{gap:8px;display:grid}.archive-review-knowledge>div>div{color:#42516a;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.archive-review-knowledge span{flex:none;font-size:12px}.archive-review-knowledge span.mastered{color:#418b68}.archive-review-knowledge span.learning{color:#6677c8}.archive-review-comment{background:#f5fbf8;border-color:#d7eee4}.archive-review-advice{background:#fff9ee;border-color:#f2dfb8}.archive-review-homework{background:#f7f5ff;border-color:#e1d9f8}.archive-review-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.archive-review-actions .preview-return-edit{grid-column:1/-1!important}@media (width<=520px){.archive-review-preview-modal{width:calc(100vw - 20px)}.archive-review-preview-body{padding:14px}.archive-record-status-actions{gap:4px}.archive-review-button{padding:0 7px}}.archive-modal .archive-review-button{color:#4a6cf7;background:#eef2ff;border:1px solid #cdd6fa;border-radius:999px;height:auto;padding:4px 8px;font-size:11px;font-weight:750;line-height:1}.archive-review-overlay{align-items:center;overflow-y:auto}.monthly-report-page{background:var(--bg);color:#1a1b1c}.monthly-report-page .monthly-report-quick-actions{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.monthly-report-page .monthly-report-global-search input::placeholder{color:#b0b4c4}.monthly-report-page .monthly-report-selection-card,.monthly-report-page .monthly-report-queue-card{box-shadow:0 4px 14px #2b33520b;border:0!important;border-radius:14px!important}.monthly-report-page .report-picker-support-row{grid-template-columns:minmax(180px,.9fr) minmax(0,1.1fr);align-items:center;gap:10px;display:grid}.monthly-report-page .report-picker-support-row,.monthly-report-page .report-empty-state,.monthly-report-page .compact-report-student-list{grid-column:1/-1}.monthly-report-page .report-picker-support-row:not(:has(.inline-selection-tip)){grid-template-columns:max-content}.monthly-report-page .report-picker-batch-actions{gap:8px}.monthly-report-page .report-picker-batch-actions .btn:first-child{color:#4a6cf7;border-color:#4a6cf7}.monthly-report-page .report-picker-batch-actions .btn:last-child{color:#6b7280;border-color:#e4e3dd}.monthly-report-page .inline-selection-tip{min-width:0;color:#8a8fa8!important;line-height:1.45!important}.monthly-report-page .compact-report-student-list .report-student-option{height:32px!important;min-height:32px!important;padding:4px 12px!important}.monthly-report-page .monthly-report-selection-card>.actions .btn.primary{color:#fff;background:linear-gradient(135deg,#7b8ce8,#9b7fe2);border:0;min-height:44px;font-weight:700}.monthly-report-page .monthly-report-selection-card>.msg{line-height:1.5;color:#3f9142!important;background:#52c41a14!important;border-radius:8px!important;margin:10px 0 0!important;padding:10px!important}.monthly-report-page .monthly-report-queue-card .report-queue-chip{min-height:32px;color:#4a6cf7!important;background:#7b8ce81f!important;border:0!important}.monthly-report-page .monthly-report-queue-card .report-queue-chip button,.monthly-report-page .monthly-report-queue-card .report-queue-chip em{color:inherit!important}.monthly-report-page .monthly-report-queue-card .report-queue-error{color:#b6534d;background:#fff3f1;border-radius:8px;margin:10px 0 0;padding:9px 10px;font-size:12px;line-height:1.5}.monthly-report-page .monthly-report-queue-card{font-family:Roboto,PingFang SC,Segoe UI,Arial,sans-serif;box-shadow:none!important;background:#fff!important;border:1px solid #e4e3dd!important;border-radius:14px!important;margin:12px 0 18px!important;padding:14px!important}.monthly-report-page .monthly-report-queue-card .report-queue-heading{margin-bottom:10px}.monthly-report-page .monthly-report-queue-card .report-queue-heading>div{gap:6px}.monthly-report-page .monthly-report-queue-card b{color:#1a1b1c;font-size:14px;font-weight:700}.monthly-report-page .monthly-report-queue-card .report-queue-heading>div span{color:#4a6cf7;background:#7b8ce81f;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.monthly-report-page .monthly-report-queue-card .report-queue-preview{color:#4a6cf7;background:#fff;border:1px solid #7b8ce8;border-radius:8px;height:32px;padding:0 12px;font-size:12px;font-weight:500}.monthly-report-page .monthly-report-queue-card .report-queue-list{gap:8px;margin:0}.monthly-report-page .monthly-report-queue-card .report-queue-chip{border-radius:999px;height:30px;min-height:30px;padding:0 12px;font-size:12px;color:#4a6cf7!important;background:#7b8ce81f!important;border:0!important}.monthly-report-page .monthly-report-queue-card .report-queue-chip button:first-child{max-width:none;font-size:12px;font-weight:500}.monthly-report-page .monthly-report-queue-card .report-queue-chip em{font-size:12px;font-weight:400}.monthly-report-page .monthly-report-queue-card .report-queue-chip .queue-remove{color:#8a8fa8;width:12px;height:12px;margin-left:0;font-size:12px}.monthly-report-archive-card{box-shadow:none!important;background:#fff!important;border:1px solid #e4e3dd!important;border-radius:14px!important;margin:12px 0 18px!important;padding:14px!important}.monthly-report-archive-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.monthly-report-archive-heading>div{align-items:center;gap:6px;min-width:0;display:flex}.monthly-report-archive-heading b{color:#1a1b1c;font-size:14px;font-weight:700}.monthly-report-archive-heading span{color:#4a6cf7;background:#7b8ce81f;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.monthly-report-archive-heading small{color:#8a8fa8;text-align:right;font-size:12px;line-height:1.4}.monthly-report-archive-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.monthly-report-archive-item{color:#1a1b1c;background:#fff;border:1px solid #e4e3dd;border-radius:10px;align-items:center;gap:8px;min-height:52px;padding:8px 10px;transition:border-color .16s,background .16s;display:flex}.monthly-report-archive-item:hover{background:#fafbff;border-color:#9aa8ef}.monthly-report-archive-open{color:#1a1b1c;text-align:left;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;display:grid}.monthly-report-archive-open:focus-visible,.monthly-report-archive-edit:focus-visible{outline-offset:2px;outline:2px solid #7b8ce8}.monthly-report-archive-open span{gap:2px;min-width:0;display:grid}.monthly-report-archive-open b{color:#1a1b1c;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.monthly-report-archive-open small{color:#8a8fa8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.monthly-report-archive-open em{color:#b97617;white-space:nowrap;background:#fff5e6;border-radius:999px;padding:3px 6px;font-size:10px;font-style:normal}.monthly-report-archive-open em.published{color:#3f9142;background:#eff9f1}.monthly-report-archive-edit{color:#4a6cf7;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:12px;font-weight:600}.monthly-report-archive-empty{color:#8a8fa8;margin:0;font-size:12px;line-height:1.6}@media (width<=640px){.monthly-report-archive-heading{align-items:flex-start}.monthly-report-archive-heading small{max-width:14ch;font-size:11px}.monthly-report-archive-list{grid-template-columns:1fr}.monthly-report-archive-item{min-height:50px}}.report-head-actions{align-items:center;gap:8px;display:flex}.report-honor-jump{box-sizing:border-box;cursor:pointer;justify-content:center;align-items:center;font-weight:600;line-height:17.6px;border:0!important;width:auto!important;height:28px!important;min-height:28px!important;max-height:28px!important;margin:0 0 0 6px!important;padding:4px 10px!important;font-size:11px!important;display:inline-flex!important}.report-honor-jump:hover{filter:brightness(.97)}.report-honor-jump:focus-visible{outline-offset:2px;outline:2px solid #7b8ce8}@media (width<=640px){.report-head-actions{gap:6px}.report-honor-jump{margin-left:0!important}}.monthly-report-archive-card{border-radius:16px!important;padding:16px!important}.monthly-report-archive-heading{align-items:center;margin-bottom:14px}.monthly-report-archive-heading>div{gap:8px}.monthly-report-archive-heading b{font-size:18px}.monthly-report-archive-heading span{padding:2px 10px}.monthly-report-archive-heading small{color:#8a8fa8;white-space:nowrap;font-size:11px;line-height:1.4}.monthly-report-archive-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.monthly-report-archive-item{background:#fff;border:1px solid #e4e3dd;border-radius:12px;min-height:0;padding:12px;transition:border-color .16s,background-color .16s;display:block}.monthly-report-archive-item:hover,.monthly-report-archive-item:focus-within{box-shadow:inset 0 0 0 .5px #7b8ce8;background:#fafaff!important;border-color:#7b8ce8!important}.monthly-report-archive-open{color:#1a1b1c;text-align:left;width:100%;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 8px;padding:0;display:grid}.monthly-report-archive-open:focus-visible,.monthly-report-archive-edit:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #7b8ce8}.monthly-report-archive-open b{color:#1a1b1c;text-overflow:ellipsis;white-space:nowrap;grid-area:1/1;max-width:100%;font-size:15px;font-weight:700;overflow:hidden}.monthly-report-archive-open small{color:#8a8fa8;text-overflow:ellipsis;white-space:nowrap;grid-area:2/1/auto/-1;max-width:100%;font-size:12px;overflow:hidden}.monthly-report-archive-actions{display:none}.monthly-report-archive-status{color:#d4880f;white-space:nowrap;background:#faad141f;border-radius:999px;padding:1px 8px;font-size:10px;font-style:normal;line-height:1.6}.monthly-report-archive-open .monthly-report-archive-status{grid-area:1/2;justify-self:end}.monthly-report-archive-status.published{color:#389e0d;background:#52c41a1a}.monthly-report-archive-edit{color:#4a6cf7;white-space:nowrap;cursor:pointer;background:0 0;border:0;min-height:24px;padding:0;font-size:12px;font-weight:500}.monthly-report-archive-edit:hover{text-underline-offset:3px;text-decoration:underline}@media (width<=640px){.monthly-report-archive-heading{align-items:center}.monthly-report-archive-heading small{max-width:none;font-size:11px}.monthly-report-archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-report-archive-item{min-height:0;padding:12px}.monthly-report-archive-open{gap:4px 5px}.monthly-report-archive-open b{font-size:12px}.monthly-report-archive-open small{font-size:11px}.monthly-report-archive-status{padding:1px 4px;font-size:9px}}.report-completion-warning{color:#d32f2f;background:#fff6f6;border:1px solid #d32f2f47;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.5}.report-publish-success{color:#237a3b;background:#eff9f1;border-radius:9px;margin:10px 0 0;padding:9px 12px;font-size:13px;font-weight:650;line-height:1.45}@media (width>=801px){.monthly-report-page .monthly-report-selection-card .report-picker-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.monthly-report-page .monthly-report-selection-card .report-picker-support-row{justify-content:flex-start;align-items:center;gap:10px;grid-column:1/-1!important;display:flex!important}.monthly-report-page .monthly-report-selection-card .report-picker-support-row:has(.inline-selection-tip){justify-content:space-between}.monthly-report-page .monthly-report-selection-card .report-empty-state,.monthly-report-page .monthly-report-selection-card .compact-report-student-list{box-sizing:border-box;width:100%;grid-column:1/-1!important}.monthly-report-page .monthly-report-selection-card .report-empty-state{min-height:92px;padding:16px 20px}}@media (width<=800px){.monthly-report-page{margin:-16px -12px 0;padding:16px 12px 2px}.monthly-report-page .monthly-report-quick-actions{grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important}.monthly-report-page .report-picker-support-row{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}}@media (width<=390px){.monthly-report-page .report-picker-support-row{grid-template-columns:1fr}.monthly-report-page .inline-selection-tip{padding-top:2px!important}}@page{size:A4 portrait;margin:14mm 12mm 16mm}@media print{html,body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;width:210mm!important;min-height:297mm!important}body.printing-record-preview>*,body.printing-monthly-report>*{visibility:hidden!important}body.printing-record-preview .modal-overlay,body.printing-record-preview .modal-overlay *,body.printing-monthly-report .modal-overlay,body.printing-monthly-report .modal-overlay *{visibility:visible!important}body.printing-record-preview .modal-overlay,body.printing-monthly-report .modal-overlay{background:#fff!important;width:auto!important;min-height:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}body.printing-record-preview .record-preview-modal,body.printing-monthly-report .report-preview-modal{width:186mm!important;max-width:186mm!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;margin:0!important;display:block!important;position:static!important;overflow:visible!important}body.printing-record-preview .modal-head,body.printing-monthly-report .modal-head,body.printing-record-preview .record-preview-actions,body.printing-monthly-report .record-preview-actions{display:none!important}body.printing-record-preview .modal-body,body.printing-monthly-report .modal-body{background:#fff!important;max-height:none!important;padding:0!important;display:block!important;overflow:visible!important}body.printing-record-preview .record-preview-summary,body.printing-record-preview .record-preview-section{break-inside:avoid!important;box-shadow:none!important;border:1px solid #dfe4ed!important;border-radius:3mm!important;margin:0 0 5mm!important;padding:4mm!important}body.printing-record-preview .record-preview-section h3{margin:0 0 3mm!important;font-size:12pt!important}.record-preview-modal .record-preview-section p{font-size:10.5pt!important;line-height:1.7!important}body.printing-record-preview .review-rich-card,body.printing-record-preview .advice-semantic-card,body.printing-record-preview .homework-semantic-card{break-inside:avoid!important}body.printing-monthly-report .report-page-surface{width:186mm!important;max-width:none!important;box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;padding:0!important;overflow:visible!important}body.printing-monthly-report .report-page-surface:before{display:none!important}body.printing-monthly-report .report-banner,body.printing-monthly-report .report-section,body.printing-monthly-report .reading-summary,body.printing-monthly-report .ai-summary-block{break-inside:avoid!important;box-shadow:none!important}body.printing-monthly-report .report-banner{background:#f7f9fd!important;border:1px solid #dbe3f0!important;border-radius:3mm!important;padding:5mm!important}body.printing-monthly-report .section-title{color:#1a1b1c!important;margin:7mm 0 3mm!important;font-size:15pt!important}body.printing-monthly-report .reading-summary,body.printing-monthly-report .ai-summary-block{color:#333!important;background:#fff!important;border:1px solid #e1e5ed!important;border-radius:3mm!important;padding:4mm!important;font-size:10.5pt!important;line-height:1.75!important}}.record-preview-knowledge h3 .knowledge-heading-emoji{font-size:16px;line-height:1}.record-preview-modal .record-preview-knowledge h3{margin-bottom:18px}.record-preview-knowledge-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.record-preview-knowledge-list>.record-preview-knowledge-item{background:#fff;border:1px solid #e4e3dd;border-radius:10px;min-width:0;padding:14px;display:block}.knowledge-point-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.knowledge-point-title{color:#1a1b1c;overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:400;line-height:1.45}.knowledge-level-pill{color:#fff;white-space:nowrap;border-radius:999px;flex:none;align-items:center;min-height:18px;padding:2px 10px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.knowledge-point-progress{align-items:center;gap:8px;display:flex}.knowledge-progress-track{background:#f4f3ee;border-radius:999px;flex:auto;min-width:0;height:6px;display:block;overflow:hidden}.knowledge-progress-track i{border-radius:inherit;height:100%;display:block}.knowledge-point-progress strong{color:#1a1b1c;font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:700;line-height:1}.mastery-flexible .knowledge-level-pill,.mastery-flexible .knowledge-progress-track i{background:linear-gradient(135deg,#52c41a,#73d13d)}.mastery-proficient .knowledge-level-pill,.mastery-proficient .knowledge-progress-track i{background:linear-gradient(135deg,#7b8ce8,#9b7fe2)}.mastery-basic .knowledge-level-pill,.mastery-basic .knowledge-progress-track i{background:linear-gradient(135deg,#faad14,#ffc53d)}.mastery-reinforce .knowledge-level-pill,.mastery-reinforce .knowledge-progress-track i{background:linear-gradient(135deg,#ea6668,#ff7875)}.archive-review-preview-modal{flex-direction:column;max-height:calc(100dvh - 24px);display:flex;overflow:hidden}.archive-review-preview-modal>.modal-head{flex:none}.archive-review-preview-body{overscroll-behavior:contain;flex:auto;min-height:0;max-height:none;overflow-y:auto}.archive-modal .archive-record-status-actions{gap:6px}.archive-modal .archive-record-status-actions>span,.archive-modal .archive-review-button{box-sizing:border-box;color:#4a6cf7;white-space:nowrap;background:#7b8ce81f;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;height:22px;min-height:22px;padding:3px 10px;font-size:11px;font-weight:500;line-height:16px;display:inline-flex}.archive-modal .archive-review-button{cursor:pointer;font-family:inherit}.archive-modal .archive-review-button:hover{background:#7b8ce833;border-color:#9aa8ee}.archive-modal .archive-record-status-actions>span.archive-record-attendance{font-weight:750;border-color:#0000!important}.archive-modal .archive-record-status-actions>span.attendance-present{color:#52c41a!important;background:#eff9ea!important}.archive-modal .archive-record-status-actions>span.attendance-leave{color:#d48806!important;background:#fff4df!important}.archive-modal .archive-record-status-actions>span.attendance-absent{color:#e05252!important;background:#fff1f0!important}.archive-modal .archive-record-status-actions>span.attendance-neutral{color:#697386!important;background:#f1f3f7!important}.archive-review-preview-modal .archive-review-preview-body{overscroll-behavior:contain;flex:auto;min-height:0;max-height:none;padding:0 12px 20px;display:grid;overflow-x:hidden;overflow-y:auto!important}.archive-modal .archive-record-head{display:none}.archive-review-actions .preview-share-link{background:linear-gradient(105deg,#7b8ce8 0%,#9b7fe2 100%)!important}@media (width<=480px){.companion-dashboard,.companion-hero-grid{overflow-x:clip;width:100%!important;min-width:0!important;max-width:100%!important}.companion-hero-grid{grid-template-columns:minmax(0,1fr)!important}.companion-progress-card,.companion-next-card,.companion-profile-card{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden}.companion-progress-card{gap:8px;padding:16px;grid-template-columns:minmax(0,1fr) 88px!important}.companion-progress-ring{width:88px;height:88px}.companion-progress-ring:before{width:70px;height:70px}.companion-progress-copy strong{font-size:36px}.companion-progress-copy p{font-size:12px}.companion-progress-foot{gap:6px;padding-top:12px}.companion-progress-foot span{max-width:calc(100% - 82px)}.companion-next-card{min-height:172px;display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,36%)!important}.companion-next-copy{padding:18px 6px 16px 16px}.companion-next-copy h2{max-width:10ch;font-size:18px}.companion-next-copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:13px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.companion-next-card img{object-fit:contain;max-width:100%;height:100%;padding:10px 8px 8px 0;font-size:0;display:block;overflow:hidden;width:100%!important;min-width:0!important;min-height:0!important}.companion-profile-card{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:10px;padding:14px;display:grid!important}.companion-profile-card>.companion-profile-identity{width:100%;min-width:0}.companion-profile-avatar{flex-basis:40px;width:40px;height:40px}.companion-profile-identity b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.companion-profile-stats{gap:3px;grid-template-columns:repeat(3,minmax(0,1fr))!important}.companion-profile-stats strong{font-size:17px}.companion-profile-stats span{font-size:9px}.companion-profile-card>div{min-width:0}}.schedule-week>.schedule-day:first-child{--schedule-accent:#4f7edb;--schedule-tint:#f1f5ff}.schedule-week>.schedule-day:nth-child(2){--schedule-accent:#2d9b8c;--schedule-tint:#effaf8}.schedule-week>.schedule-day:nth-child(3){--schedule-accent:#4b9d62;--schedule-tint:#f0faf2}.schedule-week>.schedule-day:nth-child(4){--schedule-accent:#d28a2e;--schedule-tint:#fff8ed}.schedule-week>.schedule-day:nth-child(5){--schedule-accent:#d36a58;--schedule-tint:#fff4f1}.schedule-week>.schedule-day:nth-child(6){--schedule-accent:#8064c5;--schedule-tint:#f7f2ff}.schedule-week>.schedule-day:nth-child(7){--schedule-accent:#3b7bbf;--schedule-tint:#eef7ff}.schedule-week>.schedule-day:not(.schedule-unscheduled){border-color:color-mix(in srgb,var(--schedule-accent) 28%,#dce5f2);background:var(--schedule-tint)}.schedule-week>.schedule-day:not(.schedule-unscheduled) .schedule-day-head b{color:var(--schedule-accent)}.schedule-week>.schedule-day:not(.schedule-unscheduled) .schedule-class{border-left-color:var(--schedule-accent)}.ui-page-title,.ui-icon-heading{align-items:center;gap:8px;display:flex}.ui-page-title svg,.ui-icon-heading svg,.ui-icon-label svg{color:var(--brand);flex:none}.ui-icon-label{align-items:center;gap:6px;display:flex}.staff-add .field>.ui-icon-label{font-size:14px;font-weight:650;line-height:1.3}.staff-add .field>.ui-icon-label svg{width:16px;height:16px}.ui-icon-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.campus-row-name{align-items:center;gap:8px;display:flex}.campus-row-name svg{color:var(--brand)}.record-action-bar{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #dbe4f2;border-radius:22px;flex-direction:column;gap:10px;padding:8px;display:flex;position:fixed;bottom:24px;right:22px;box-shadow:0 8px 24px #27416e2e}.record-action-bar .btn{white-space:nowrap;border-radius:50%;place-items:center;width:54px;min-width:54px;height:54px;padding:0;font-size:0;display:grid}.record-action-bar .btn:after{text-align:center;width:100%;font-size:12px;font-weight:700;line-height:1.2;display:block}.record-action-bar .save-draft-btn:after{content:"保存"}.record-action-bar .primary:after{content:"预览"}.record-action-bar .btn:disabled{opacity:.55}@media (width<=800px){.record-action-bar{border-radius:20px;gap:8px;padding:6px;bottom:74px;left:auto;right:14px}.record-action-bar .btn{width:48px;min-width:48px;height:48px}.record-action-bar .btn:after{font-size:11px}.record-action-bar .batch-record-btn,.record-action-bar>button:nth-child(2){display:grid}.record-action-bar .save-draft-btn{display:grid!important}}.record-action-bar{width:max-content!important;left:auto!important}.auto-grow-textarea{field-sizing:content;resize:vertical;min-height:96px;max-height:420px;line-height:1.6;overflow-y:auto}.ai-review textarea.auto-grow-textarea{height:auto;min-height:96px;max-height:420px}.quick-phrase-entry{color:#3767d6;width:100%;font:inherit;cursor:pointer;background:#f8fbff;border:1px dashed #9bbaf5;border-radius:999px;margin-top:10px;padding:10px 14px;font-size:13px}.quick-phrase-entry:hover{background:#edf4ff}.quick-phrase-slot,.quick-comment-slot{width:100%;margin-top:14px;display:block}.quick-comment-slot>.field{margin:0}.record-foundation-group{border:1px solid var(--companion-line);background:linear-gradient(135deg,#fff,#fcfbff);border-radius:16px;grid-column:1/-1;padding:18px;box-shadow:0 8px 22px #2f257109}.record-foundation-group .field{margin:0}.record-group-heading{align-items:center;gap:8px;margin:0 0 12px;display:flex}.record-group-heading>span{color:#5d4ce9;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.record-group-heading h2{color:var(--companion-ink);margin:0;font-size:17px;line-height:1.25}.record-lesson-fields{grid-template-columns:minmax(0,1.45fr) minmax(150px,.7fr) minmax(150px,.7fr);gap:12px;display:grid}.record-lesson-fields .record-course-field{grid-row:span 1}.record-lesson-fields .record-course-field select,.record-lesson-fields .record-course-field input{margin-top:0}.record-lesson-fields .record-course-field{grid-template-columns:1fr 1fr;gap:8px;display:grid}.record-lesson-fields .record-course-field label{grid-column:1/-1}.record-section-action{justify-content:flex-end;margin:-32px 0 12px;display:flex}.record-section-action .inline-link{font-size:12px}.record-lesson-fields .ui-icon-label{gap:5px}.attendance-toggle{align-items:center;gap:9px;display:flex}.attendance-toggle button{color:#7d8798;width:38px;height:38px;font:inherit;cursor:pointer;background:#f7f8fb;border:1px solid #dce2ed;border-radius:50%;flex:0 0 38px;place-items:center;padding:0;font-size:13px;font-weight:700;display:grid}.attendance-toggle button:hover{color:#546174;border-color:#b8c4d9}.attendance-toggle button.active{background:linear-gradient(135deg,var(--companion-blue),var(--companion-violet));color:#fff;border-color:#0000;box-shadow:0 7px 14px #4d3edd2e}.knowledge-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.knowledge-actions .record-knowledge-select{color:#778397;flex:260px}.knowledge-search-toggle{color:#4f55c8;cursor:pointer;background:#fff;border:1px solid #d8dff0;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;padding:0;display:grid}.knowledge-search-toggle:hover,.knowledge-search-toggle[aria-expanded=true]{color:#4437d5;background:#f4f2ff;border-color:#a9a4ef}.knowledge-search-panel{align-items:center;gap:10px;margin-top:10px;display:flex}.knowledge-search-panel .knowledge-search-wrap{flex:1;margin:0}.knowledge-search-panel .knowledge-history-toggle{white-space:nowrap;margin:0}.temp-point-link{color:#b26f17;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-size:12px}.temp-point-link:hover{text-underline-offset:3px;text-decoration:underline}.quick-evaluation-heading{margin:0 0 12px!important}.score-ability,.record-advanced-fields{scroll-margin-top:112px}.phrase-entry{background:#fff;border:1px solid #e4e0f3;border-radius:14px}.phrase-entry-head{padding:0}.phrase-toggle{color:#3e5f8b;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:10px 13px;font-size:14px;font-weight:800;display:flex}.phrase-toggle:before{content:"＋";color:#326bd9;background:#edf3ff;border-radius:6px;place-items:center;width:20px;height:20px;font-size:15px;display:grid}.phrase-toggle span{flex:1}.phrase-toggle b{color:#3767d6;background:#edf3ff;border:1px solid #cbdafa;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.phrase-entry:has(.phrase-panel) .phrase-toggle:before{content:"−"}.phrase-toggle:hover{background:#faf9ff}.phrase-panel{border-top:1px solid #ece9f6}.record-more-button{margin-top:10px}@media (width<=800px){.record-action-bar{border-radius:16px;align-items:center;gap:6px;padding:5px}.record-action-bar .btn{border-radius:12px!important;flex:0 0 56px!important;justify-content:center!important;align-items:center!important;width:56px!important;min-width:56px!important;max-width:56px!important;height:44px!important;padding:0!important;display:flex!important}.record-action-bar .btn:after{text-align:center;font-size:12px;line-height:1}.ability-custom-trigger[aria-expanded=true]{background:#edf3ff;border-color:#77a1ff}.record-foundation-group{border-radius:14px;padding:14px}.record-group-heading{margin-bottom:12px}.record-group-heading>span{border-radius:0;flex-basis:20px;width:20px;height:20px}.record-group-heading h2{font-size:15px}.record-lesson-fields{grid-template-columns:1fr 1fr;gap:9px}.record-lesson-fields .record-course-field{grid-column:1/-1}.record-section-action{margin:-30px 0 12px}.knowledge-actions .record-knowledge-select{flex-basis:calc(100% - 46px);min-width:0}.knowledge-search-panel{flex-direction:column;align-items:stretch}.knowledge-search-panel .knowledge-history-toggle{white-space:normal}.ability-score-list .ability-score-card:nth-child(3):last-child{grid-column:1/-1}.record-flow{top:0}.score-ability,.record-advanced-fields{scroll-margin-top:94px}}.record-advanced-content .ai-not-configured,.record-advanced-content .muted,.record-advanced-content .ai-review-foot,.record-advanced-content .ai-style-description,.record-advanced-content .ai-style-helper>label{font-size:12px;line-height:1.55}.record-advanced-content .ai-not-configured{padding:8px 10px}.record-advanced-content input::placeholder,.record-advanced-content textarea::placeholder,.record-advanced-content .ai-review textarea::placeholder{font-size:13px;line-height:1.55}.record-advanced-content .ai-review-foot{margin-top:8px}.record-advanced-content .ai-style-helper>label{gap:5px}@media (width<=800px){.record-advanced-content .ai-not-configured,.record-advanced-content .muted,.record-advanced-content .ai-review-foot,.record-advanced-content .ai-style-description,.record-advanced-content .ai-style-helper>label{font-size:12px}.record-advanced-content input::placeholder,.record-advanced-content textarea::placeholder{font-size:13px}}:root{--companion-blue:#176cf5;--companion-violet:#7548f6;--companion-lavender:#f2efff;--companion-ink:#17203d;--companion-muted:#6f7892;--companion-line:#e8e5f4;--companion-shadow:0 16px 38px #2f25711a}body{background:#fafaff radial-gradient(circle at 85% 0,#764af613,#0000 26rem)}.side{background:#fffffff5;border-right:1px solid #ebe8f4;width:244px;padding:26px 16px;box-shadow:10px 0 32px #281e6606}.logo{color:var(--companion-ink);font-size:23px;font-weight:800}.logo span{color:var(--companion-blue)}.nav button{color:#68718b;border-radius:12px;font-weight:600}.nav button.active,.nav button:hover{color:#4b3fca;background:linear-gradient(100deg,#e9edff,#f4ebff)}.nav-group-title{color:#59637c}.nav-group-title svg{color:#5a54d9}.nav button.nav-child{padding-left:44px}.profile{border-top-color:#ebe8f4}.profile-avatar{flex-basis:42px;width:42px;height:42px}.profile .logout{color:#7e7892}.profile-name b{color:var(--companion-ink)}.btn.primary{background:linear-gradient(105deg,var(--companion-blue),var(--companion-violet));border-color:#0000;box-shadow:0 10px 22px #4c3fdf3d}.btn.primary:hover{background:linear-gradient(105deg,#115edc,#633ae7);border-color:#0000}.companion-avatar{background-image:var(--avatar-image);background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:50%;flex:none;width:48px;height:48px;display:inline-block;overflow:hidden;box-shadow:inset 0 0 0 1px #5541be14}.companion-dashboard{gap:24px;padding-bottom:20px;display:grid}.companion-dashboard-head{justify-content:space-between;align-items:center;gap:24px;padding:4px 2px 0;display:flex}.companion-dashboard-head p,.companion-section-heading>div>span{color:#85809b;margin:0 0 4px;font-size:13px;font-weight:700}.companion-dashboard-head h1{color:var(--companion-ink);letter-spacing:-.035em;margin:0;font-size:36px;line-height:1.12}.companion-dashboard-head>div>span{color:var(--companion-muted);margin-top:8px;font-size:14px;display:block}.companion-head-actions{align-items:center;gap:10px;display:flex}.companion-icon-button{color:#56506d;background:#fff;border:1px solid #e4e2f0;border-radius:12px;place-items:center;min-width:42px;height:42px;display:grid}.companion-icon-button:hover{color:var(--companion-violet);border-color:#cfc8fb}.companion-secondary-action{color:#514b6c;box-shadow:none;border-color:#ddd8f0;align-items:center;gap:7px;display:inline-flex}.companion-primary-action{align-items:center;gap:7px;display:inline-flex}.companion-hero-grid{grid-template-columns:minmax(280px,.86fr) minmax(360px,1.35fr) minmax(180px,.54fr);gap:18px;display:grid}.companion-progress-card,.companion-next-card,.companion-profile-card,.companion-course-section,.companion-students-section{border:1px solid var(--companion-line);box-shadow:var(--companion-shadow);background:#fff;border-radius:16px}.companion-progress-card{grid-template-columns:1fr 132px;align-items:center;gap:10px;min-height:250px;padding:26px;display:grid;position:relative;overflow:hidden}.companion-progress-card:after{content:"";background:linear-gradient(135deg,#2b76ff1a,#8d53fa05);border-radius:50%;width:190px;height:190px;position:absolute;top:-92px;left:-80px}.companion-progress-copy,.companion-progress-ring,.companion-progress-foot{z-index:1;position:relative}.companion-progress-copy>span{color:#59536f;font-size:14px;font-weight:750}.companion-progress-copy strong{color:var(--companion-ink);letter-spacing:-.05em;margin:6px 0 4px;font-size:48px;line-height:1;display:block}.companion-progress-copy strong small{margin-left:2px;font-size:20px}.companion-progress-copy p{color:var(--companion-muted);margin:0;font-size:13px}.companion-progress-ring{background:conic-gradient(from 210deg,var(--companion-blue) 0deg,var(--companion-violet) var(--completion),#eeeff9 var(--completion) 360deg);border-radius:50%;place-items:center;width:130px;height:130px;display:grid}.companion-progress-ring:before{content:"";background:#fff;border-radius:50%;width:105px;height:105px;position:absolute}.companion-progress-ring span{text-align:center;gap:2px;display:grid;position:relative}.companion-progress-ring b{color:var(--companion-ink);font-size:22px}.companion-progress-ring small{color:var(--companion-muted);font-size:11px}.companion-progress-foot{color:#5b6682;border-top:1px solid #eeeaf6;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding-top:15px;font-size:12px;display:flex}.companion-progress-foot span,.companion-progress-foot button{align-items:center;gap:5px;display:inline-flex}.companion-progress-foot svg{color:#5d4ce9}.companion-progress-foot button,.companion-section-heading>button{color:#5146da;font:inherit;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:750}.companion-progress-foot button:disabled{opacity:.45;cursor:not-allowed}.companion-next-card{background:linear-gradient(#fff 0% 96%,#f1edff 100%);align-items:stretch;min-height:250px;display:flex;position:relative;overflow:hidden}.companion-next-copy{z-index:1;flex-direction:column;flex:52%;justify-content:center;align-items:flex-start;padding:30px 20px 28px 28px;display:flex}.companion-next-copy>span{color:#6657df;font-size:12px;font-weight:800}.companion-next-copy h2{max-width:13ch;color:var(--companion-ink);letter-spacing:-.025em;margin:9px 0 7px;font-size:23px;line-height:1.25}.companion-next-copy p{max-width:23ch;color:var(--companion-muted);margin:0 0 18px;font-size:13px;line-height:1.65}.companion-next-copy .btn{align-items:center;gap:7px;min-height:38px;padding:8px 13px;font-size:13px;display:inline-flex}.companion-next-card img{object-fit:contain;object-position:center;mix-blend-mode:normal;filter:none;width:46%;min-height:250px;padding:18px 16px 14px 4px}.companion-profile-card{text-align:center;flex-direction:column;align-items:center;padding:22px 17px;display:flex}.companion-profile-card>span{color:#77718d;align-self:flex-start;font-size:12px;font-weight:750}.companion-profile-avatar{width:72px;height:72px;margin:14px 0 8px}.companion-profile-card>b{color:var(--companion-ink);font-size:15px}.companion-profile-card>small{color:var(--companion-muted);margin-top:2px;font-size:11px}.companion-profile-card>div{border-top:1px solid #eeebf5;grid-template-columns:1fr 1fr;width:100%;margin-top:auto;padding-top:15px;display:grid}.companion-profile-card>div strong{color:var(--companion-ink);font-size:19px}.companion-profile-card>div span{color:var(--companion-muted);font-size:10px}.companion-course-section,.companion-students-section{padding:22px}.companion-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:17px;display:flex}.companion-section-heading h2{color:var(--companion-ink);letter-spacing:-.025em;margin:0;font-size:19px}.companion-section-heading>button{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.companion-snapshot-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.companion-snapshot-list article{background:linear-gradient(135deg,#f7f7ff,#fbf9ff);border-radius:14px;align-items:center;gap:12px;padding:15px;display:flex}.companion-snapshot-list article:nth-child(2){background:linear-gradient(135deg,#eef6ff,#f6f3ff)}.companion-snapshot-list article:nth-child(3){background:linear-gradient(135deg,#f0fbf7,#f5f2ff)}.companion-snapshot-list article:nth-child(4){background:linear-gradient(135deg,#fff6ec,#faf1ff)}.companion-snapshot-list svg{color:#fff;background:linear-gradient(135deg,#286ff3,#7950f5);border-radius:11px;width:34px;height:34px;padding:8px}.companion-snapshot-list b,.companion-snapshot-list span{display:block}.companion-snapshot-list b{color:var(--companion-ink);font-size:23px;line-height:1}.companion-snapshot-list span{color:var(--companion-muted);margin-top:5px;font-size:11px}.companion-student-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.companion-student-card{text-align:left;background:#fff;border:1px solid #eceaf5;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:12px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.companion-student-card:hover{border-color:#cbc3fc;transform:translateY(-2px);box-shadow:0 12px 22px #4d37a91a}.companion-student-card .companion-avatar{width:42px;height:42px}.companion-student-copy{flex:1;gap:2px;min-width:0;display:grid}.companion-student-copy b{color:var(--companion-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.companion-student-copy small{color:var(--companion-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.companion-student-copy i{background:#e9e9f5;border-radius:99px;height:5px;margin-top:5px;display:block;overflow:hidden}.companion-student-copy em{border-radius:inherit;background:linear-gradient(90deg,var(--companion-blue),var(--companion-violet));height:100%;display:block}.companion-student-card>strong{color:#615b82;font-size:12px}.companion-empty-students{color:#574bd5;min-height:86px;font:inherit;background:#fbfaff;border:1px dashed #cfc8ee;border-radius:14px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.companion-dashboard-tools{justify-content:flex-end;gap:8px;display:flex}.companion-dashboard-tools .btn{min-height:36px;padding:7px 11px;font-size:12px}.staff-avatar.portrait-trigger{background:0 0;place-items:center;padding:0;display:grid}.staff-avatar.portrait-trigger .companion-avatar,.staff-access-people .companion-avatar{width:44px;height:44px}@media (width<=1100px){.companion-hero-grid{grid-template-columns:1fr 1fr}.companion-profile-card{text-align:left;flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.companion-profile-card>.companion-profile-identity{border:0;flex:none;align-items:center;width:auto;margin:0;padding:0;display:flex}.companion-profile-card>.companion-profile-stats{border:0;flex:1;grid-template-columns:repeat(3,minmax(58px,1fr));gap:8px;width:auto;margin:0;padding:0;display:grid}.companion-profile-avatar{width:52px;height:52px;margin:0}.companion-profile-card>div{border:0;width:auto;margin:0;padding:0}}@media (width<=800px){.companion-dashboard{gap:16px}.companion-dashboard-head{align-items:flex-start;gap:12px}.companion-dashboard-head h1{font-size:29px}.companion-dashboard-head>div>span{font-size:12px}.companion-head-actions{gap:6px}.companion-head-actions .companion-secondary-action{display:none}.companion-icon-button{border-radius:11px;min-width:38px;height:38px}.companion-primary-action{min-height:38px;padding:8px 10px;font-size:12px}.companion-hero-grid{grid-template-columns:1fr;gap:12px}.companion-progress-card{grid-template-columns:1fr 112px;min-height:208px;padding:20px}.companion-progress-copy strong{font-size:40px}.companion-progress-ring{width:112px;height:112px}.companion-progress-ring:before{width:90px;height:90px}.companion-next-card{min-height:185px}.companion-next-copy{padding:21px 8px 19px 20px}.companion-next-copy h2{font-size:19px}.companion-next-card img{width:43%;min-height:185px}.companion-profile-card{grid-column:auto}.companion-course-section,.companion-students-section{padding:17px}.companion-section-heading h2{font-size:17px}.companion-snapshot-list{grid-template-columns:1fr 1fr;gap:8px}.companion-snapshot-list article{gap:9px;padding:11px}.companion-snapshot-list svg{border-radius:9px;width:30px;height:30px;padding:7px}.companion-snapshot-list b{font-size:19px}.companion-student-grid{grid-template-columns:1fr 1fr;gap:8px}.companion-student-card{gap:8px;padding:10px}.companion-student-card .companion-avatar{width:37px;height:37px}.companion-student-card>strong{display:none}.companion-dashboard-tools{justify-content:stretch}.companion-dashboard-tools .btn{flex:1}.profile-avatar{flex-basis:38px;width:38px;height:38px}}.record-card .record-decor{display:none}.record-card>.form-grid{row-gap:0}.record-card .record-foundation-group{box-shadow:none;background:0 0;border:0;border-radius:0;padding:20px 0}.record-card .record-foundation-group+.record-foundation-group{border-top:1px solid #ebe8f4}.record-card .record-group-heading{margin-bottom:14px}.record-card .record-student-group .record-section-action{margin-top:-30px}.record-card .record-knowledge-group{padding-bottom:22px}.record-card .score-ability{border-top:1px solid #ebe8f4;padding-top:22px}.record-card .record-flow{box-shadow:none;background:#fafaff;margin:0 -2px 10px;padding:7px 9px}.record-card .record-flow button{min-height:38px;padding:6px 8px}.record-card .record-flow button.active{box-shadow:none}.record-card .record-lesson-fields{gap:14px}.record-card .attendance-toggle{background:#f7f8fb;border:1px solid #dce2ed;border-radius:999px;gap:0;width:100%;padding:3px}.record-card .attendance-toggle button{width:auto;height:34px;min-height:34px;box-shadow:none;background:0 0;border:0;border-radius:999px;flex:1 1 0}.record-card .attendance-toggle button.active{background:linear-gradient(105deg,var(--companion-blue),var(--companion-violet));color:#fff;box-shadow:0 4px 10px #4d3edd2e}.record-card .score-divider{margin:10px 0 4px}.record-card .record-advanced-fields{margin-top:0}.record-action-bar{border-radius:14px}@media (width<=800px){.record-card{padding:16px 14px}.record-card .record-foundation-group{padding:18px 0}.record-card .record-lesson-fields{gap:12px}.record-card .record-student-group .record-section-action{margin-top:-28px}.record-action-bar{z-index:42;background:#fffffff7!important;border:1px solid #dedbf0!important;border-radius:14px!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important;padding:7px!important;display:flex!important;position:fixed!important;bottom:68px!important;left:12px!important;right:12px!important;box-shadow:0 10px 28px #2f257129!important}.record-action-bar .btn{border-radius:10px!important;flex:1 1 0!important;justify-content:center!important;align-items:center!important;width:auto!important;min-width:0!important;max-width:none!important;height:42px!important;padding:0 10px!important;display:flex!important}.record-action-bar .btn:after{font-size:13px!important}.record-action-bar .save-draft-btn{display:flex!important}.record-action-bar .batch-download-btn{display:none!important}.record-card .attendance-toggle{max-width:none}.record-card .attendance-toggle button{height:36px;min-height:36px}}.record-card .record-group-heading--with-action{justify-content:space-between;gap:12px}.record-card .record-group-heading--with-action>div{margin-right:auto}.record-card .record-group-heading--with-action .inline-link{white-space:nowrap;flex:none;font-size:12px}.record-card .record-lesson-group{padding-top:26px;padding-bottom:26px}.record-card .record-knowledge-group{padding-top:26px}.record-card .record-lesson-fields{row-gap:18px}.record-card .record-knowledge-group .record-group-heading{margin-bottom:18px}.record-flow .record-flow-current-student{color:#617cc0;font-size:10px;font-weight:600}@media (width<=800px){.record-card .record-foundation-group{padding:22px 0}.record-card .record-student-field{margin-top:16px}.record-card .record-lesson-group{padding-top:24px;padding-bottom:24px}.record-card .record-knowledge-group{padding-top:24px}.record-card .record-lesson-fields{row-gap:16px}.record-card .record-knowledge-group .record-group-heading{margin-bottom:16px}.record-card .record-group-heading--with-action{gap:8px}.record-card .record-group-heading--with-action .inline-link{font-size:12px}.record-action-bar{width:auto!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;gap:8px!important;padding:0!important;bottom:70px!important;left:auto!important;right:14px!important}.record-action-bar .btn{width:auto!important;min-width:68px!important;height:40px!important;box-shadow:none!important;border-radius:10px!important;flex:none!important;padding:0 14px!important;font-size:0!important;display:inline-flex!important}.record-action-bar .btn:after{font-size:12px!important;font-weight:700!important}.record-action-bar .primary{color:#4a40cc!important;background:#fff!important;border:1px solid #d5d0fa!important;min-width:68px!important}.record-action-bar .primary:hover{color:#3c31bd!important;background:#f7f5ff!important;border-color:#a69df4!important}.record-action-bar .save-draft-btn{background:linear-gradient(105deg,var(--companion-blue),var(--companion-violet))!important;color:#fff!important;border:0!important;min-width:76px!important;box-shadow:0 6px 14px #4d3edd38!important}.record-action-bar .save-draft-btn:hover{color:#fff!important;background:linear-gradient(105deg,#356df0,#6244ea)!important}}.record-card .record-student-heading{gap:10px;margin-bottom:0}.record-card .record-student-heading .record-group-title{margin-right:0}.record-card .record-student-heading-search{border-color:#d7def0;border-radius:9px;flex:150px;min-width:0;height:36px;margin:0;padding:7px 10px;font-size:13px}.record-card .record-student-field{margin-top:10px}.record-card .record-student-field:empty{display:none}.record-card .score-divider:has(+.record-advanced-fields){display:none}@media (width<=800px){.record-card .record-student-heading{gap:7px}.record-card .record-student-heading-search{flex-basis:120px;height:34px;padding:6px 8px;font-size:12px}.record-card .record-student-field{margin-top:10px}.record-card .record-advanced-fields summary{padding:10px 2px}}@media (width<=800px){.record-card .score-ability:has(.quick-phrase-slot .phrase-entry)+.score-divider+.record-advanced-fields{margin-top:18px}}.record-card .record-student-heading{align-items:center}.record-card .record-student-heading-search{border:1px solid var(--line);min-width:0;height:auto;min-height:42px;color:var(--text);font:inherit;background:#fff;border-radius:9px;flex:1 1 0;padding:10px 12px;font-size:14px}.record-card .record-student-heading-search:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}@media (width<=800px){.record-card .record-student-heading-search{min-height:42px;padding:10px 12px;font-size:14px}}.record-card .record-student-heading-search-wrap{box-sizing:border-box;border:1px solid var(--line);color:#91a0b8;background:#fff;border-radius:9px;grid-area:2/1/auto/-1;align-items:center;gap:7px;width:100%;height:42px;padding:0 12px;display:flex}.record-card .record-student-heading-search-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.record-card .record-student-heading-search-wrap .record-student-heading-search{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;min-height:0;padding:0;box-shadow:none!important}.record-card .record-student-heading-search-wrap .record-student-heading-search::placeholder{color:#9aa7bb}@media (width<=800px){.companion-dashboard-tools{display:none}.companion-dashboard,.companion-hero-grid,.companion-progress-card,.companion-next-card{width:100%;min-width:0;max-width:100%}.companion-progress-card{grid-template-columns:minmax(0,1fr) 96px;gap:8px;padding:18px}.companion-progress-ring{width:96px;height:96px}.companion-progress-ring:before{width:76px;height:76px}.companion-progress-ring b{font-size:19px}.companion-progress-foot{gap:8px;min-width:0}.companion-progress-foot span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.companion-next-card{grid-template-columns:minmax(0,1fr) minmax(112px,40%);display:grid}.companion-next-copy{min-width:0;padding:20px 8px 18px 18px}.companion-next-card img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;padding:12px 10px 10px 0}}@media (width<=370px){.companion-progress-card{grid-template-columns:minmax(0,1fr) 88px;padding:16px}.companion-progress-ring{width:88px;height:88px}.companion-progress-ring:before{width:70px;height:70px}.companion-next-card{grid-template-columns:minmax(0,1fr) 38%}}.record-card .score-ability:has(.quick-phrase-slot .phrase-entry)+.score-divider+.record-advanced-fields{margin-top:28px}.record-card .record-advanced-fields summary{padding:12px}@media (width<=800px){.record-card .score-ability:has(.quick-phrase-slot .phrase-entry)+.score-divider+.record-advanced-fields{margin-top:26px}.record-card .record-advanced-fields summary{padding:12px}}.score-ability .ability-score-list{background:0 0;border:0;border-radius:0;gap:10px;padding:0}.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){background:#fff;border:1px solid #e1e4ee;border-radius:12px;min-height:84px;padding:12px}.score-ability .ability-score-card .score-watermark{display:none!important}.score-ability .ability-score-card .stars{justify-items:start;gap:3px;margin-left:auto;display:grid}.score-ability .ability-score-card .star-buttons{align-items:center;gap:2px;display:inline-flex}.score-ability .ability-score-card .stars button{color:#cbd4e4;background:0 0;border:0;border-radius:0;width:20px;height:20px;padding:0;font-size:18px;line-height:1;transition:color .18s,transform .18s}.score-ability .ability-score-card .stars button.on{color:#5a58dc;background:0 0}.score-ability .ability-score-card .stars button:focus-visible{outline-offset:2px;outline:2px solid #9e99f5}.score-ability .ability-score-card .star-tone{color:#716cc3;font-size:11px;font-weight:650;line-height:1.2}.score-ability .ability-score-card .stars button.is-confirmed{animation:.24s ease-out rating-star-confirm}@keyframes rating-star-confirm{0%{filter:brightness(.92);transform:scale(.82)}65%{filter:brightness(1.15);transform:scale(1.16)}to{filter:brightness();transform:scale(1)}}@media (width<=640px){.score-ability .ability-score-list{gap:8px;padding:0}.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){border-radius:12px;min-height:78px;padding:10px}.score-ability .ability-score-card strong{font-size:13px}.score-ability .ability-score-card .stars{gap:3px}.score-ability .ability-score-card .stars button{width:18px;height:18px;font-size:16px}.score-ability .ability-score-card .star-buttons{gap:1px}.score-ability .ability-score-card .star-tone{font-size:10px}}@media (prefers-reduced-motion:reduce){.score-ability .ability-score-card .stars button.is-confirmed{animation:none}}.score-ability .ability-score-card .rating-rail{justify-items:stretch;gap:4px;min-width:136px;margin-left:auto;display:grid}.score-ability .ability-score-card .rating-rail-track{touch-action:none;background:#fbf8f1;border:1px solid #eadfcb;border-radius:999px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:3px;display:grid}.score-ability .ability-score-card .rating-rail-track button{color:#0000;cursor:pointer;background:#eceff4;border:0;border-radius:999px;place-items:center;height:22px;padding:0;font-size:12px;font-weight:800;line-height:1;transition:background .16s,color .16s,transform .16s;display:grid}.score-ability .ability-score-card .rating-rail-tone{color:#8a6a37;opacity:0;min-height:12px;font-size:10px;font-weight:650;line-height:1.2;transition:opacity .16s;display:block}.score-ability .ability-score-card .rating-rail-tone:not(:empty){opacity:1}.score-ability .ability-score-card .rating-rail-track button.is-confirmed{animation:.22s cubic-bezier(.16,1,.3,1) rating-rail-confirm}@keyframes rating-rail-confirm{0%{transform:scale(.82)}70%{transform:scale(1.12)}to{transform:scale(1)}}@media (width<=640px){.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){min-height:86px}.score-ability .ability-score-card .rating-rail{width:100%;min-width:0;margin-left:0}.score-ability .ability-score-card .rating-rail-track button{height:21px}.score-ability .ability-score-card .rating-rail-tone{font-size:10px}}@media (prefers-reduced-motion:reduce){.score-ability .ability-score-card .rating-rail-track button.is-confirmed{animation:none}}.homework-preview-box{background:linear-gradient(135deg,#fff8ed,#fff)}.score-knowledge{border-top:1px solid #ebe8f4;padding-top:22px}.knowledge-rating-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.knowledge-rating-heading label{display:block;color:#2e3650!important;font-size:16px!important}.knowledge-rating-heading small{color:#7a879a;margin-top:3px;font-size:12px;line-height:1.45;display:block}.knowledge-rating-heading>span{color:#5a58dc;background:#f0efff;border-radius:999px;flex:none;padding:4px 9px;font-size:11px;font-weight:750}.score-knowledge .knowledge-score-card{background:#fff;border:1px solid #e1e4ee;border-radius:12px;align-items:center;gap:12px;min-height:76px;padding:12px;display:flex}.score-knowledge .knowledge-score-card strong{color:#2e3650;flex:auto;min-width:0;margin:0;font-size:14px;font-weight:700;line-height:1.35}.score-knowledge .rating-rail{flex:0 0 118px;gap:3px;margin-left:auto;display:grid}.score-knowledge .rating-rail-track{touch-action:none;background:#fafaff;border:1px solid #e0def5;border-radius:999px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;min-height:28px;padding:5px;display:grid}.score-knowledge .rating-rail-track button{color:#0000;cursor:pointer;background:#e9eaf2;border:0;border-radius:999px;place-items:center;height:16px;padding:0;font-size:10px;font-weight:800;line-height:1;transition:background .16s,color .16s,transform .16s;display:grid}.score-knowledge .rating-rail-track button:focus-visible{outline-offset:2px;outline:2px solid #817ee8}.score-knowledge .rating-rail-track button.is-confirmed{animation:.22s cubic-bezier(.16,1,.3,1) rating-rail-confirm}.score-knowledge .rating-rail-tone{color:#716cc3;text-align:right;min-height:12px;font-size:11px;font-weight:650;line-height:1.2;display:block}@media (width<=640px){.score-knowledge{padding-top:20px}.knowledge-rating-heading{margin-bottom:10px}.knowledge-rating-heading label{font-size:15px!important}.score-knowledge .knowledge-score-card{min-height:68px;padding:10px}.score-knowledge .knowledge-score-card strong{font-size:13px}.score-knowledge .rating-rail{flex-basis:112px}.score-knowledge .rating-rail-track{min-height:27px}.score-knowledge .knowledge-score-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.score-knowledge .knowledge-score-card{grid-template-columns:minmax(0,1fr);align-content:space-between;gap:6px;min-height:98px;padding:9px;display:grid}.score-knowledge .knowledge-score-card strong{min-height:28px;font-size:12px;line-height:1.32}.score-knowledge .rating-rail{flex-basis:auto;gap:1px;width:100%;min-width:0}.score-knowledge .rating-rail-track{min-height:24px;padding:4px}.score-knowledge .rating-rail-track button{height:12px}.score-knowledge .rating-rail-tone{font-size:10px}}.score-ability .ability-score-card .rating-rail{gap:1px;min-width:112px}.score-ability .ability-score-card .rating-rail-track{gap:2px;min-height:28px;padding:5px}.score-ability .ability-score-card .rating-rail-track button{height:14px;font-size:10px}.score-ability .ability-score-card .rating-rail-tone{height:0;min-height:0;font-size:10px;overflow:hidden}.score-ability .ability-score-card .rating-rail-tone:not(:empty){height:12px;margin-top:2px}.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){min-height:70px;padding:10px}.score-knowledge .knowledge-score-card{background:#fff;border-color:#efeff4}.score-knowledge .knowledge-score-card strong{color:#1a1b1c}.score-knowledge .rating-rail-track{background:#fff;border-color:#efeff4}.score-knowledge .rating-rail-track button{background:#f0f0f4}.score-knowledge .rating-rail-track button.is-current{color:#fff;background:linear-gradient(135deg,#7b8ce8 0%,#8b9bf0 100%)}.score-knowledge .rating-rail-tone{color:#7b8ce8}@media (width<=640px){.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){min-height:64px;padding:8px}.score-ability .ability-score-card .rating-rail-track{min-height:24px;padding:4px}.score-ability .ability-score-card .rating-rail-track button{height:12px}.score-ability .ability-score-card .rating-rail-tone:not(:empty){height:10px}}.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){grid-template-columns:minmax(0,1fr);align-content:start;gap:7px;min-height:96px;padding:12px;display:grid}.score-ability .ability-score-card .rating-rail{justify-items:start;gap:4px;width:100%;min-width:0;margin:0}.score-ability .ability-score-card .rating-rail-track{background:0 0;border:0;border-radius:0;align-items:center;gap:6px;width:max-content;min-height:0;padding:0;display:flex}.score-ability .ability-score-card .rating-rail-track button{color:#0000;background:#f0f0f4;border:0;border-radius:50%;flex:0 0 24px;width:24px;height:24px;padding:0;font-size:11px;line-height:1}.score-ability .ability-score-card .rating-rail-track button:hover{background:#cfd6fa;transform:translateY(-1px)}.score-ability .ability-score-card .rating-rail-track button.is-current:hover{background:linear-gradient(135deg,#7b8ce8 0%,#8b9bf0 100%)}.score-ability .ability-score-card .rating-rail-track button:focus-visible{outline-offset:3px;outline:2px solid #5f72de}@media (width<=640px){.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){min-height:90px;padding:10px}.score-ability .ability-score-card .rating-rail-track{gap:5px}.score-ability .ability-score-card .rating-rail-track button{flex-basis:22px;width:22px;height:22px}.score-ability .ability-score-card .rating-rail-tone,.score-ability .ability-score-card .rating-rail-tone:not(:empty){min-height:12px;font-size:10px}}.score-ability .core-performance-panel{box-shadow:none;background:#fff;border:1px solid #e4e3dd;border-radius:16px;padding:16px 18px 14px}.score-ability .core-performance-details>summary{color:#1a1b1c;min-height:22px;margin:0 0 14px;padding:0;font-size:15px;font-weight:700}.score-ability .core-performance-details>summary:before{color:#7b8ce8;background:#7b8ce826;border-radius:50%;width:22px;height:22px;font-size:17px;font-weight:500}.score-ability .ability-settings-summary em{color:#8a8fa8;font-size:12px}.score-ability .ability-collapse-action{color:#7b8ce8;background:#fff;border-color:#7b8ce8;padding:3px 10px;font-size:12px;font-weight:600}.score-ability .core-performance-details[open] .ability-collapse-action:after{font-size:12px}.score-ability .ability-score-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){min-height:96px;box-shadow:none;border-color:#efeff4;border-radius:12px;padding:12px}.score-ability .ability-score-card strong{color:#1a1b1c;font-size:13px;font-weight:600}.score-ability .record-more-button{color:#7b8ce8;text-align:center;background:0 0;border:0;width:100%;margin:12px 0 0;padding:0;font-size:12px;font-weight:600;display:block}@media (width<=640px){.score-ability .core-performance-panel{padding:16px}.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n){min-height:90px;padding:10px}}.score-ability .ability-score-card .rating-rail-track button{box-sizing:border-box!important;aspect-ratio:1!important;border:0!important;border-radius:50%!important;flex:0 0 22px!important;place-items:center!important;width:22px!important;min-width:22px!important;max-width:22px!important;height:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;font-size:11px!important;line-height:1!important;display:grid!important}.score-ability .ability-score-card .rating-rail-track button.is-current{color:#fff!important;background:linear-gradient(135deg,#7b8ce8 0%,#8b9bf0 100%)!important}.score-knowledge .knowledge-performance-panel{box-shadow:none;background:#fff;border:1px solid #e4e3dd;border-radius:16px;padding:16px 18px 14px}.score-ability .ability-score-list,.score-knowledge .knowledge-score-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:0!important}.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n),.score-knowledge .knowledge-score-card{min-height:96px!important;box-shadow:none!important;background:#fff!important;border:1px solid #efeff4!important;border-radius:12px!important;grid-template-columns:minmax(0,1fr)!important;align-content:start!important;gap:7px!important;padding:12px!important;display:grid!important}.score-ability .ability-score-card strong,.score-knowledge .knowledge-score-card strong{color:#1a1b1c!important;min-height:0!important;margin:0!important;font-size:13px!important;font-weight:600!important;line-height:1.35!important}.score-ability .ability-score-card .rating-rail,.score-knowledge .rating-rail{justify-items:start!important;gap:4px!important;width:max-content!important;min-width:0!important;margin:0!important;display:grid!important}.score-ability .ability-score-card .rating-rail-track,.score-knowledge .rating-rail-track{background:0 0!important;border:0!important;border-radius:0!important;align-items:center!important;gap:5px!important;width:max-content!important;height:22px!important;min-height:22px!important;padding:0!important;display:flex!important}.score-ability .ability-score-card .rating-rail-track button,.score-knowledge .rating-rail-track button{box-sizing:border-box!important;aspect-ratio:1!important;color:#0000!important;background:#f0f0f4!important;border:0!important;border-radius:50%!important;flex:0 0 22px!important;place-items:center!important;width:22px!important;min-width:22px!important;max-width:22px!important;height:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;font-size:11px!important;line-height:1!important;display:grid!important}.score-ability .ability-score-card .rating-rail-track button.is-filled,.score-knowledge .rating-rail-track button.is-filled{background:#dce0f8!important}.score-ability .ability-score-card .rating-rail-track button.is-current,.score-knowledge .rating-rail-track button.is-current{color:#fff!important;background:linear-gradient(135deg,#7b8ce8 0%,#8b9bf0 100%)!important;box-shadow:0 4px 9px #7b8ce838!important}.score-ability .ability-score-card .rating-rail-tone,.score-ability .ability-score-card .rating-rail-tone:not(:empty),.score-knowledge .rating-rail-tone,.score-knowledge .rating-rail-tone:not(:empty){color:#7b8ce8!important;opacity:1!important;text-align:left!important;height:auto!important;min-height:13px!important;margin:0!important;font-size:11px!important;font-weight:600!important;display:block!important;overflow:visible!important}@media (width<=640px){.score-knowledge .knowledge-performance-panel{padding:16px}.score-ability .ability-score-card,.score-ability .ability-score-card:nth-child(n),.score-knowledge .knowledge-score-card{min-height:90px!important;padding:10px!important}.score-ability .ability-score-card .rating-rail-tone,.score-ability .ability-score-card .rating-rail-tone:not(:empty),.score-knowledge .rating-rail-tone,.score-knowledge .rating-rail-tone:not(:empty){min-height:12px!important;font-size:10px!important}}.score-knowledge .knowledge-score-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.score-knowledge .knowledge-score-card{min-height:96px!important;box-shadow:none!important;background:#fff!important;border:1px solid #efeff4!important;border-radius:12px!important;grid-template-columns:minmax(0,1fr)!important;align-content:start!important;gap:7px!important;padding:12px!important;display:grid!important}.score-knowledge .knowledge-score-card strong{color:#1a1b1c!important;min-height:0!important;margin:0!important;font-size:13px!important;font-weight:600!important;line-height:1.35!important}.score-knowledge .rating-rail{justify-items:start!important;gap:4px!important;width:max-content!important;min-width:0!important;margin:0!important;display:grid!important}.score-knowledge .rating-rail-track{background:0 0!important;border:0!important;border-radius:0!important;align-items:center!important;gap:5px!important;width:max-content!important;height:22px!important;min-height:22px!important;padding:0!important;display:flex!important}.score-knowledge .rating-rail-track button{box-sizing:border-box!important;aspect-ratio:1!important;color:#0000!important;background:#f0f0f4!important;border:0!important;border-radius:50%!important;flex:0 0 22px!important;place-items:center!important;width:22px!important;min-width:22px!important;max-width:22px!important;height:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;font-size:11px!important;line-height:1!important;display:grid!important}.score-knowledge .rating-rail-track button.is-filled{background:#dce0f8!important}.score-knowledge .rating-rail-track button.is-current{color:#fff!important;background:linear-gradient(135deg,#7b8ce8 0%,#8b9bf0 100%)!important;box-shadow:0 4px 9px #7b8ce838!important}.score-knowledge .rating-rail-tone,.score-knowledge .rating-rail-tone:not(:empty){color:#7b8ce8!important;opacity:1!important;text-align:left!important;height:auto!important;min-height:13px!important;margin:0!important;font-size:11px!important;font-weight:600!important;display:block!important;overflow:visible!important}@media (width<=640px){.score-knowledge .knowledge-score-card{min-height:90px!important;padding:10px!important}.score-knowledge .rating-rail-track{gap:5px!important}}.record-preview-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:16px 0 0!important;padding:0!important;display:grid!important}.record-preview-actions .btn{min-width:0!important;height:44px!important;box-shadow:none!important;color:#fff!important;white-space:nowrap!important;border:0!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;padding:0 8px!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;display:flex!important}.record-preview-actions .preview-save-image{background:linear-gradient(105deg,#34d399 0%,#10b981 100%)!important}.record-preview-actions .preview-download-pdf{background:linear-gradient(105deg,#ff8a65 0%,#ff5252 100%)!important}.record-preview-actions .preview-final-save{background:linear-gradient(105deg,#7b8ce8 0%,#9b7fe2 100%)!important}.record-preview-actions .preview-return-edit{color:#6b7280!important;background:#fff!important;border:1px solid #e4e3dd!important;grid-column:1/-1!important}.record-preview-actions .preview-final-save:only-child{grid-column:1/-1!important}.record-preview-actions .preview-return-edit:hover{background:#f8f8fa!important}.record-preview-actions .btn:focus-visible{outline-offset:3px!important;outline:2px solid #7b8ce8!important}.record-preview-page-head{justify-content:flex-start!important;align-items:center!important;gap:8px!important;display:flex!important}.record-preview-page-head>div{text-align:left!important;flex:0 auto!important;min-width:0!important}.record-preview-page-head>span{color:#fff!important;width:max-content!important;min-height:30px!important;box-shadow:none!important;background:linear-gradient(105deg,#ff8a65 0%,#ff5252 100%)!important;border:0!important;border-radius:10px!important;flex:none!important;justify-content:center!important;align-items:center!important;margin-left:auto!important;padding:0 10px!important;font-size:12px!important;font-weight:700!important;line-height:1!important;display:inline-flex!important}@media (width<=640px){.score-ability .ability-score-card .rating-rail-track button{flex-basis:22px!important;width:22px!important;height:22px!important;min-height:22px!important;max-height:22px!important}.score-ability .ability-score-card .rating-rail-track{gap:5px!important}}@media (width<=800px){.mobile-primary-nav{isolation:isolate;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;min-height:56px;transform:translate(-50%);left:50%!important;right:auto!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;background:linear-gradient(105deg,#4b81ee 0%,#8060ec 100%)!important;border:0!important;border-radius:999px!important;width:min(100% - 36px,400px)!important;padding:4px 8px!important;display:grid!important;box-shadow:0 11px 22px #37379138,inset 0 1px #ffffff2e!important}.mobile-primary-nav button{place-items:center;transition:color .18s;position:relative;color:#ffffff8a!important;background:0 0!important;border:0!important;border-radius:999px!important;min-width:44px!important;min-height:46px!important;padding:0!important;font-size:0!important;line-height:1!important;display:grid!important}.mobile-primary-nav button .ic{place-items:center;width:30px;height:30px;transition:background .2s,box-shadow .2s,transform .28s cubic-bezier(.16,1,.3,1);display:grid;color:inherit!important;margin:0!important;font-size:0!important}.mobile-primary-nav button .ic svg{stroke-width:1.7px;width:21px;height:21px}.mobile-primary-nav button.active{color:#fff!important}.mobile-primary-nav button.active .ic{background:#3635976b;border-radius:50%;width:42px;height:42px;animation:.28s cubic-bezier(.16,1,.3,1) mobile-nav-focus;transform:translateY(-14px);box-shadow:0 0 0 3px #ffffff8a,0 7px 15px #241c4d40}.mobile-primary-nav button.active .ic svg{stroke-width:1.95px;width:22px;height:22px}.mobile-primary-nav button:after{content:"";opacity:0;background:#fff;border-radius:50%;width:5px;height:5px;transition:opacity .16s,transform .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:5px;transform:translateY(3px)}.mobile-primary-nav button.active:after{opacity:1;transform:translateY(0)}.mobile-primary-nav button:focus-visible{outline-offset:2px;outline:2px solid #fff}.record-action-bar{bottom:88px!important}}@keyframes mobile-nav-focus{0%{transform:translateY(-7px)scale(.86)}to{transform:translateY(-14px)scale(1)}}@media (prefers-reduced-motion:reduce){.mobile-primary-nav button,.mobile-primary-nav button .ic,.mobile-primary-nav button:after{transition:none}.mobile-primary-nav button.active .ic{animation:none}}@media (width<=800px){.top .record-action-bar{left:auto!important;right:14px!important;bottom:calc(86px + env(safe-area-inset-bottom))!important;z-index:42!important;width:max-content!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;flex-direction:row!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important}.top .record-action-bar .btn{width:52px!important;min-width:52px!important;height:36px!important;min-height:36px!important;box-shadow:none!important;border-radius:9px!important;flex:0 0 52px!important;justify-content:center!important;align-items:center!important;padding:0!important;font-size:0!important;display:flex!important}.top .record-action-bar .btn:after{font-size:11px!important;font-weight:700!important}.top .record-action-bar .primary{color:#4a40cc!important;background:#fff!important;border:1px solid #d5d0fa!important}.top .record-action-bar .save-draft-btn{background:linear-gradient(105deg,var(--companion-blue),var(--companion-violet))!important;color:#fff!important;border:0!important;box-shadow:0 5px 12px #4d3edd33!important}}.xueji-login-card{border-radius:36px 36px 0 0;top:300px;left:0;right:0}.xueji-login-card:before,.xueji-login-card:after{content:none}.record-preview-summary .record-preview-grid>div:nth-child(3) b{letter-spacing:-.035em;font-size:14px}.record-preview-page-head>span{color:#4864a7;background:linear-gradient(105deg,#b9d4ff 0%,#c9b9f5 100%);border:0;border-radius:999px;padding:7px 18px;font-weight:700;box-shadow:0 4px 10px #6e7ed224}.record-preview-page-head .archive-review-header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.record-preview-page-head .archive-review-header-actions span,.record-preview-page-head .archive-review-edit-button{min-height:30px;font:inherit;white-space:nowrap;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.record-preview-page-head .archive-review-header-actions span{color:#fff;background:linear-gradient(105deg,#ff8a65 0%,#ff5252 100%)}.record-preview-page-head .archive-review-edit-button{color:#4864a7;cursor:pointer;background:linear-gradient(105deg,#b9d4ff 0%,#c9b9f5 100%);box-shadow:0 4px 10px #6e7ed224}.record-preview-page-head .archive-review-edit-button:hover{filter:brightness(.98);box-shadow:0 6px 13px #6e7ed233}.record-preview-page-head .archive-review-edit-button:focus-visible{outline-offset:2px;outline:2px solid #6c72e8}.record-preview-actions .btn{color:#4864a7;background:linear-gradient(105deg,#b9d4ff 0%,#c9b9f5 100%);border:0;border-radius:999px;box-shadow:0 5px 12px #6e7ed229}.record-preview-actions .btn:hover{filter:brightness(.98);box-shadow:0 7px 15px #6e7ed238}.preview-export-status{text-align:center;color:#3f9142!important;background:#f0faf5!important;border-radius:10px!important;margin:10px 0 0!important;padding:9px 11px!important;font-size:12px!important;line-height:1.5!important}.record-preview-actions .btn.primary{color:#fff;background:linear-gradient(105deg,#aecfff 0%,#b9a6ee 100%)}@keyframes xueji-login-breathe{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-3px)}}@keyframes xueji-login-twinkle{0%,to{opacity:.52;transform:scale(.84)}50%{opacity:1;transform:scale(1.12)}}@keyframes xueji-login-happy{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes xueji-login-worry{0%,to{transform:translate(-50%)}30%{transform:translate(calc(-50% - 4px))rotate(-1deg)}70%{transform:translate(calc(4px - 50%))rotate(1deg)}}@media (width>=431px){.xueji-login-shell{border-radius:30px;min-height:760px}.xueji-login-page{padding:24px}}@media (width<=360px){.xueji-login-card{padding-left:21px;padding-right:21px;left:10px;right:10px}.xueji-login-cats{width:320px}.xueji-login-page h1{font-size:34px}}@media (prefers-reduced-motion:reduce){.xueji-login-cats,.xueji-login-star,.xueji-login-page.is-error .xueji-login-cats,.xueji-login-page.is-success .login-cats-success{animation:none}.login-cats-state,.login-cats-alert,.xueji-login-button,.xueji-login-field{transition:none}}@media (width<=800px){.mobile-primary-nav{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;min-height:64px;transform:translate(-50%);left:50%!important;right:auto!important;bottom:calc(13px + env(safe-area-inset-bottom))!important;background:#fff!important;border:1px solid #19202d12!important;border-radius:16px!important;width:min(100% - 32px,390px)!important;padding:5px 10px!important;display:grid!important;box-shadow:0 10px 26px #1d253729!important}.mobile-primary-nav button{place-items:center;transition:color .18s,transform .18s cubic-bezier(.16,1,.3,1);color:#bcc1ca!important;background:0 0!important;border:0!important;border-radius:12px!important;min-width:0!important;min-height:48px!important;padding:0!important;display:grid!important}.mobile-primary-nav button .ic{place-items:center;width:34px;height:34px;transition:background .18s,color .18s,box-shadow .18s,transform .22s cubic-bezier(.16,1,.3,1);display:grid;color:inherit!important;margin:0!important}.mobile-primary-nav button .ic svg{stroke-width:1.8px;width:21px;height:21px}.mobile-primary-nav button.active:not(.bottom-record-button){color:#ff3b30!important}.mobile-primary-nav .bottom-home-button.active .ic{background:#ff3b30;border-radius:10px;box-shadow:0 5px 11px #ff3b3038;color:#fff!important}.mobile-primary-nav .bottom-home-button.active .ic svg{stroke-width:2.25px;fill:currentColor}.mobile-primary-nav button.active:not(.bottom-record-button) .ic{color:#fff!important;background:linear-gradient(135deg,#6f9cf3 0%,#8467e8 100%)!important;box-shadow:0 7px 15px #5352c442!important}.mobile-primary-nav button.active:not(.bottom-record-button) .ic svg{color:#fff!important;stroke:currentColor!important}.mobile-primary-nav .bottom-record-button{z-index:1;position:relative;top:-24px}.mobile-primary-nav .bottom-record-button .bottom-record-icon,.mobile-primary-nav .bottom-record-button.active .bottom-record-icon{border:4px solid #fff;border-radius:50%;width:58px;height:58px;color:#fff!important;background:linear-gradient(135deg,#6f9cf3 0%,#8467e8 100%)!important;margin:0!important;animation:none!important;transform:none!important;box-shadow:0 9px 18px #5352c447!important}.mobile-primary-nav .bottom-record-button .bottom-record-icon svg{stroke-width:2.35px;width:28px;height:28px}.mobile-primary-nav button:active{transform:scale(.93)}.mobile-primary-nav .bottom-record-button:active{transform:scale(.93)translateY(-1px)}.mobile-primary-nav button:after{display:none!important}.mobile-primary-nav button:focus-visible{outline-offset:2px;outline:2px solid #ff3b30}.mobile-primary-nav .bottom-record-button:focus-visible{outline-color:#719d00}.record-action-bar{bottom:91px!important}}@media (prefers-reduced-motion:reduce){.mobile-primary-nav button,.mobile-primary-nav button .ic{transition:none!important}}.xueji-login-page{background:#eef2fb}.xueji-login-shell{background:radial-gradient(circle at 14% 18%,#cfe7ffd1 0 16%,#0000 16.3%),radial-gradient(circle at 96% 24%,#dcd3ffb8 0 25%,#0000 25.3%),linear-gradient(145deg,#dcecff 0%,#e9e8ff 55%,#f3edff 100%);box-shadow:0 22px 58px #524c9629}.xueji-login-shell:before,.xueji-login-shell:after{background:#ffffff57}.xueji-login-cats{z-index:2;height:144px;top:156px;overflow:hidden}.xueji-login-card{top:324px}.class-manage-actions .primary{background:linear-gradient(105deg,#7b8ce8 0%,#8b9bf0 100%)!important}.class-manage-add{color:#7b8ce8!important;background:#fff!important;border:1px dashed #7b8ce8!important}.class-manage-add:hover:not(:disabled){background:#f6f7ff!important;border-color:#6f80df!important}.class-manage-candidate-pill{box-sizing:border-box;min-height:32px!important}.phrase-panel{background:#fff;border:1px solid #e8eaf2;border-radius:14px;padding:14px}.phrase-cats{gap:8px;margin:0 0 10px}.phrase-cat-check{color:#6b7280;background:#fff;border-color:#e1e3eb;gap:0;padding:7px 13px;font-size:12px;font-weight:500}.phrase-cat-box{display:none}.phrase-cat-check.checked{color:#fff;background:linear-gradient(105deg,#7188e8 0%,#8b7de2 100%);border-color:#0000;font-weight:700;box-shadow:0 4px 10px #686cd02e}.phrase-cat-check.checked.phrase-cat-comprehensive,.phrase-cat-check.checked.phrase-cat-professional,.phrase-cat-check.checked.phrase-cat-improvement{color:#fff;background:linear-gradient(105deg,#7188e8 0%,#8b7de2 100%);border-color:#0000}.phrase-panel>input{box-sizing:border-box;border-radius:8px;height:38px;margin:0 0 11px;padding:0 11px;font-size:12px}.phrase-list-tools{color:#27364e;flex-wrap:wrap;align-items:center;margin:0 0 9px;font-size:12px;font-weight:700}.phrase-list-tools>span{flex:1 0 100%}.phrase-list-tools-actions{gap:8px;width:100%}.phrase-list-tools-actions .btn{color:#4868a3;background:#fff;border:1px solid #e0e3eb;border-radius:8px;flex:1 1 0;min-height:38px;padding:0 10px;font-size:12px}.phrase-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:188px;padding:0}.phrase-item{background:#f7f7f8;border-radius:7px;min-height:29px;padding:5px 6px;font-size:11px}.class-manage-modal>.class-manage-head{visibility:visible!important;opacity:1!important;color:#fff!important;background:linear-gradient(105deg,#7b8ce8 0%,#8b9bf0 100%)!important;border:0!important;border-radius:16px 16px 0 0!important;min-height:54px!important;margin:0!important;padding:0 16px!important;display:flex!important}.class-manage-modal>.class-manage-head b,.class-manage-modal>.class-manage-head small{color:#fff!important;display:block!important}.class-manage-modal>.class-manage-head .modal-close{color:#fff!important;background:0 0!important;display:grid!important}.class-manage-form{grid-template-columns:1fr!important}.phrase-cats{flex-wrap:nowrap!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;display:grid!important}.phrase-cat-check{white-space:nowrap!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;min-height:40px!important;padding:0 6px!important;font-size:12px!important;line-height:1!important;display:flex!important}.phrase-list .phrase-item{font-size:12px!important;font-weight:400!important}@media (width<=380px){.phrase-cats{gap:4px!important}.phrase-cat-check{min-height:38px!important;padding:0 4px!important;font-size:11px!important}.phrase-list .phrase-item{font-size:11px!important}}.score-ability .ability-score-card .rating-rail{justify-items:start!important;gap:4px!important;width:max-content!important;min-width:0!important;margin:0!important;display:grid!important}.score-ability .ability-score-card .rating-rail-track{background:0 0!important;border:0!important;border-radius:0!important;align-items:center!important;gap:5px!important;width:max-content!important;height:22px!important;min-height:22px!important;padding:0!important;display:flex!important}.score-ability .ability-score-card .rating-rail-track button{box-sizing:border-box!important;aspect-ratio:1!important;color:#0000!important;background:#f0f0f4!important;border:0!important;border-radius:50%!important;flex:0 0 22px!important;place-items:center!important;width:22px!important;min-width:22px!important;max-width:22px!important;height:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;font-size:11px!important;line-height:1!important;display:grid!important}.score-ability .ability-score-card .rating-rail-track button.is-filled{background:#dce0f8!important}.score-ability .ability-score-card .rating-rail-track button.is-current{color:#fff!important;background:linear-gradient(135deg,#7b8ce8 0%,#8b9bf0 100%)!important;box-shadow:0 4px 9px #7b8ce838!important}.score-ability .ability-score-card .rating-rail-tone,.score-ability .ability-score-card .rating-rail-tone:not(:empty){color:#7b8ce8!important;opacity:1!important;height:auto!important;min-height:13px!important;margin:0!important;font-size:11px!important;font-weight:600!important;display:block!important;overflow:visible!important}.record-action-alert-overlay{z-index:120;background:#00000080;place-items:center;padding:20px;animation:.18s ease-out record-alert-fade-in;display:grid;position:fixed;inset:0}.record-action-alert{box-sizing:border-box;text-align:center;background:#fff;border-radius:20px;width:min(360px,100%);padding:30px 22px 22px;animation:.22s cubic-bezier(.2,.85,.25,1) record-alert-rise-in;position:relative;box-shadow:0 18px 42px #19203738}.record-action-alert-close{color:#8a8fa8;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;inset-block-start:13px;inset-inline-end:13px}.record-action-alert-close:hover{color:#4d5567;background:#f4f3ee}.record-action-alert-close:focus-visible,.record-action-alert-actions button:focus-visible{outline-offset:2px;outline:3px solid #ff525247}.record-action-alert-icon{color:#ff7043;background:linear-gradient(135deg,#ff8a552e,#ff52521f);border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 14px;display:grid}.record-action-alert h2{color:#1a1b1c;margin:0;font-size:16px;font-weight:700;line-height:1.45}.record-action-alert p{color:#6b7280;max-width:30ch;margin:10px auto 22px;font-size:13px;line-height:1.6}.record-action-alert-actions{gap:10px;display:flex}.record-action-alert-actions button{min-width:0;height:44px;font:inherit;cursor:pointer;border-radius:10px;flex:1;font-size:13px;font-weight:600}.record-action-alert-cancel{color:#6b7280;background:#fff;border:1px solid #e4e3dd}.record-action-alert-confirm{color:#fff;background:linear-gradient(135deg,#ff8a65,#ff5252);border:1px solid #0000;box-shadow:0 8px 16px #ff525233}.record-action-alert-cancel:hover{background:#fafafa;border-color:#cfcfc9}.record-action-alert-confirm:hover{filter:brightness(1.03)}.batch-review-notice-icon{color:#3f9142;background:linear-gradient(135deg,#52c41a29,#7b8ce824)}.batch-review-notice-confirm{background:linear-gradient(135deg,#7b8ce8,#9b7fe2);box-shadow:0 8px 16px #7b8ce833}@keyframes record-alert-fade-in{0%{opacity:0}to{opacity:1}}@keyframes record-alert-rise-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.record-action-alert-overlay{padding:18px}.record-action-alert{width:min(360px,100%);padding:30px 20px 20px}}.report-package-message{color:#3f9142;text-align:center;background:#f5fbf5;border-block-end:1px solid #e4e3dd;margin:0;padding:9px 18px;font-size:12px;line-height:1.55}.batch-monthly-print-package{display:none}@media print{body.printing-monthly-package>*{visibility:hidden!important}body.printing-monthly-package #root,body.printing-monthly-package .batch-monthly-print-package,body.printing-monthly-package .batch-monthly-print-package *{visibility:visible!important}body.printing-monthly-package .batch-monthly-print-package{color:#1a1b1c!important;background:#fff!important;width:100%!important;display:block!important;position:absolute!important;inset:0!important}body.printing-monthly-package .batch-monthly-print-item{box-sizing:border-box!important;break-after:page!important;color:#1a1b1c!important;background:#fff!important;min-height:267mm!important;padding:16mm!important}body.printing-monthly-package .batch-monthly-print-item:last-child{break-after:auto!important}body.printing-monthly-package .batch-monthly-print-item header{border-bottom:1px solid #dbe3f0!important;gap:3mm!important;padding-bottom:8mm!important;display:grid!important}body.printing-monthly-package .batch-monthly-print-item header span,body.printing-monthly-package .batch-monthly-print-item header small,body.printing-monthly-print-item footer{color:#6b7280!important;font-size:10.5pt!important}body.printing-monthly-package .batch-monthly-print-item header strong{font-size:24pt!important;line-height:1.2!important}body.printing-monthly-package .batch-monthly-print-item dl{gap:12mm!important;margin:10mm 0!important;display:flex!important}body.printing-monthly-package .batch-monthly-print-item dl div{border:1px solid #e1e5ed!important;border-radius:3mm!important;min-width:36mm!important;padding:5mm!important}body.printing-monthly-package .batch-monthly-print-item dt{color:#6b7280!important;font-size:10pt!important}body.printing-monthly-package .batch-monthly-print-item dd{margin:2mm 0 0!important;font-size:16pt!important;font-weight:700!important}body.printing-monthly-package .batch-monthly-print-item section{margin-top:12mm!important}body.printing-monthly-package .batch-monthly-print-item h2{margin:0 0 5mm!important;font-size:16pt!important}body.printing-monthly-package .batch-monthly-print-item p{color:#333!important;white-space:pre-wrap!important;margin:0!important;font-size:11pt!important;line-height:1.85!important}body.printing-monthly-package .batch-monthly-print-item footer{inset-inline:16mm!important;position:absolute!important;bottom:14mm!important}}.record-image-capture-frame{z-index:-1!important;max-height:none!important;box-shadow:none!important;background:#f5f5f3!important;border:0!important;border-radius:0!important;display:block!important;position:fixed!important;inset-block-start:0!important;inset-inline-start:-20000px!important;overflow:visible!important}.record-image-capture-frame>.modal-body{background:#f5f5f3!important;max-height:none!important;padding:12px!important;display:block!important;overflow:visible!important}.record-image-capture-frame .record-preview-actions{display:none!important}.dimension-picker .dimension-picker-title{flex-wrap:wrap;align-items:center}.dimension-picker .dimension-custom-btn{box-sizing:border-box;white-space:nowrap;min-width:88px;height:40px;font-weight:600;color:#1a1b1c!important;background:#fff!important;border:1px solid #e4e3dd!important;border-radius:999px!important;min-height:40px!important;margin:0!important;padding:0 18px!important;font-size:13px!important}.dimension-picker .dimension-save-btn{box-sizing:border-box;white-space:nowrap;min-width:88px;height:40px;font-weight:600;color:#fff!important;background:linear-gradient(135deg,#7b8ce8,#9b7fe2)!important;border:0!important;border-radius:999px!important;min-height:40px!important;margin:0!important;padding:0 18px!important;font-size:13px!important}.dimension-picker .dimension-custom-btn:focus-visible,.dimension-picker .dimension-save-btn:focus-visible{outline-offset:2px;outline:2px solid #4a6cf7}.dimension-picker .dimension-picker-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.dimension-picker .dimension-picker-actions .btn{justify-content:center;align-items:center;display:inline-flex}.dimension-picker .dimension-picker-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dimension-picker .dimension-picker-options label{box-sizing:border-box;color:#6b7280;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e4e3dd;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:0;height:44px;padding:0 6px;font-size:13px;font-weight:500;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:flex}.dimension-picker .dimension-picker-options label.selected{color:#fff;background:linear-gradient(135deg,#7b8ce8,#9b7fe2);border-color:#0000;font-weight:600}.dimension-picker .dimension-picker-options label:focus-within{outline-offset:2px;outline:2px solid #4a6cf7}.dimension-picker .dimension-picker-options input{clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.dimension-picker .dimension-picker-options label span{text-overflow:clip;overflow:visible}@media (width<=700px){.dimension-picker .dimension-picker-options{grid-template-columns:repeat(3,minmax(0,1fr))}.dimension-picker .dimension-picker-title{display:flex}.dimension-picker .dimension-picker-title span{margin:0;display:block}.dimension-picker .dimension-picker-actions{justify-content:flex-end}.dimension-picker .dimension-picker-actions .btn{width:auto!important}}@media (width<=360px){.dimension-picker .dimension-picker-options{gap:7px}.dimension-picker .dimension-picker-options label{padding:0 3px;font-size:12px}}.honors-center{gap:18px;max-width:1180px;margin:0 auto;padding:24px 0 48px;display:grid}.honors-center-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.honors-center-header .title{align-items:center;gap:10px;margin:5px 0;display:flex}.honors-center-header .title svg{color:var(--companion-blue,#4a6cf7)}.honors-center-header p{margin:0}.honors-center-filters{flex-wrap:wrap;align-items:end;gap:14px;padding:18px;display:flex}.honors-center-filters label,.honors-rules form label{color:#68748d;gap:7px;font-size:12px;display:grid}.honors-center-filters input,.honors-center-filters select,.honors-rules input,.honors-rules select{color:#20283a;min-width:160px;min-height:42px;font:inherit;background:#fff;border:1px solid #dfe4ef;border-radius:10px;padding:0 12px}.honors-center-count{color:#4a6cf7;background:#f0f2ff;border-radius:999px;margin-inline-start:auto;padding:8px 12px;font-size:13px}.honors-center-list{gap:12px;display:grid}.honors-record{grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px;display:grid}.honors-record-icon{background:#f1f3ff;border-radius:14px;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.honors-record-main{min-width:0}.honors-record-title{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.honors-record-title h2,.honors-record-title b{color:#1a1b1c;margin:0;font-size:15px}.honors-record-title span,.honors-record-main small{color:#8992a9;font-size:12px}.honors-record-main p{color:#59657d;margin:6px 0;font-size:13px}.honors-status{color:#b97716;white-space:nowrap;background:#fff4e5;border-radius:999px;padding:6px 10px;font-size:12px}.honors-status.is-confirmed{color:#2c8c52;background:#eaf8ef}.honors-status.is-skipped,.honors-status.is-revoked{color:#7d8493;background:#f1f2f5}.honors-record-actions{gap:7px;display:flex}.honors-record-actions .btn{white-space:nowrap}.honors-center-empty{color:#8792ad;text-align:center;justify-items:center;gap:10px;padding:54px 18px;display:grid}.honors-center-empty b{color:#2b3345}.honors-center-empty span{font-size:13px}.honors-center-error{color:#bd4339;background:#fff2f0;border-radius:10px;margin:0;padding:12px 14px;font-size:13px}.honors-rules{padding:20px}.honors-rules h2{margin:0;font-size:17px}.honors-rules>p{margin:7px 0 16px}.honors-rules form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.honors-rules form .btn{min-height:42px}.honors-template-list{gap:8px;margin-top:18px;display:grid}.honors-template-row{border:1px solid #e7eaf1;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.honors-template-row small{color:#8792ad;margin-inline-start:auto}.honors-template-row>span{font-weight:650}.honors-template-row .btn{padding:7px 10px}@media (width<=700px){.honors-center{gap:12px;padding:16px 0 32px}.honors-center-header{flex-direction:column;align-items:flex-start}.honors-center-filters{grid-template-columns:1fr 1fr;gap:10px;padding:14px;display:grid}.honors-center-filters label:first-child{grid-column:1/-1}.honors-center-filters input,.honors-center-filters select{box-sizing:border-box;width:100%;min-width:0}.honors-center-count{justify-self:start;margin:0}.honors-record{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:14px}.honors-record-icon{width:38px;height:38px;font-size:20px}.honors-record-main{grid-column:2/-1}.honors-status{grid-area:1/3}.honors-record-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end}.honors-rules form{grid-template-columns:1fr 1fr}.honors-template-row{flex-wrap:wrap}.honors-template-row small{margin-inline-start:0}.honors-template-row .btn{margin-inline-start:auto}}.report-preview-modal .report-preview-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-preview-modal .report-preview-head>b{flex:1;min-width:0}.report-preview-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.report-preview-export{color:#fff;min-height:38px;font:inherit;white-space:nowrap;cursor:pointer;background:linear-gradient(120deg,#ff8a45 0%,#f04452 100%);border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:650;transition:filter .16s,transform .16s;display:inline-flex;box-shadow:0 5px 12px #f0445233}.report-preview-export:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.report-preview-export:focus-visible{outline-offset:3px;outline:2px solid #bd3548}.report-preview-export:disabled{cursor:not-allowed;opacity:.56;box-shadow:none}.report-preview-modal .honor-empty{font-size:13px!important;font-weight:400!important;line-height:1.6!important}@media (width<=520px){.report-preview-modal .report-preview-head{gap:7px;padding-inline:12px}.report-preview-modal .report-preview-head>b{overflow-wrap:normal;font-size:14px}.report-preview-actions{gap:6px}.report-preview-export{min-height:36px;padding-inline:12px;font-size:12px}.report-preview-actions .modal-close{width:36px;min-width:36px;height:36px;min-height:36px}}.knowledge-level-chips{background:#f7f9ff;border:1px solid #dfe4ef;border-radius:999px;align-items:center;gap:6px;padding:3px 4px;display:inline-flex}.knowledge-level-chip{color:#68748d;min-width:38px;height:28px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:0 10px;font-size:12px;font-weight:650;line-height:1;transition:background .15s,color .15s}.knowledge-level-chip:hover{color:#4a6cf7;background:#eaefff}.knowledge-level-chip.active{color:#fff;background:linear-gradient(135deg,#5a7bf5,#7b6ef0);box-shadow:0 2px 6px #4a6cf747}.knowledge-level-chip:focus-visible{outline-offset:2px;outline:2px solid #4a6cf7}.selected-knowledge-chip .knowledge-chip-level{letter-spacing:.02em;background:#ffffff42;border-radius:5px;align-items:center;height:16px;margin-right:5px;padding:0 5px;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.knowledge-picker-trigger{color:#4a6cf7;min-height:36px;font:inherit;cursor:pointer;background:#fbfcff;border:1px dashed #c3ccea;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.knowledge-picker-trigger:hover{background:#f2f5ff;border-color:#4a6cf7}.knowledge-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #4a6cf7}.knowledge-picker{background:#fff;border:1px solid #e2e7f2;border-radius:14px;margin-top:10px;overflow:hidden;box-shadow:0 10px 26px #23345a14}.knowledge-picker-search{color:#98a2b8;border-bottom:1px solid #eef1f7;align-items:center;gap:8px;padding:10px 12px;display:flex}.knowledge-picker-search input{color:#20283a;min-height:34px;font:inherit;background:#fbfcff;border:1px solid #dfe4ef;border-radius:9px;flex:1;padding:0 10px;font-size:13px}.knowledge-picker-search input:focus-visible{outline-offset:1px;outline:2px solid #4a6cf7}.knowledge-picker-body{max-height:320px;padding:6px 12px 10px;overflow:auto}.knowledge-picker-level{padding:6px 0}.knowledge-picker-level+.knowledge-picker-level{border-top:1px dashed #eef1f7}.knowledge-picker-level-head{align-items:center;gap:8px;padding:4px 2px 8px;display:flex}.knowledge-picker-level-head b{color:#3d4a68;font-size:13px}.knowledge-picker-level-head em{color:#98a2b8;font-size:11px;font-style:normal}.knowledge-picker-unit{padding:4px 0 6px}.knowledge-picker-unit-head{color:#68748d;justify-content:space-between;align-items:center;gap:10px;padding:2px 2px 6px;font-size:12px;font-weight:600;display:flex}.knowledge-picker-unit-head button{color:#4a6cf7;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 4px;font-size:12px}.knowledge-picker-unit-head button:hover{background:#eef2ff}.knowledge-picker-row{color:#2b3345;cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:7px 8px;font-size:13px;display:flex}.knowledge-picker-row:hover{background:#f6f8ff}.knowledge-picker-row input{accent-color:#4a6cf7;width:16px;height:16px}.knowledge-picker-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.knowledge-picker-empty{text-align:center;color:#98a2b8;padding:26px 12px;font-size:13px}.knowledge-picker .knowledge-history-toggle{color:#68748d;border-top:1px solid #eef1f7;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.knowledge-picker-foot{background:#fafbff;border-top:1px solid #eef1f7;justify-content:flex-end;padding:10px 12px;display:flex}.knowledge-picker-foot-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.knowledge-picker-foot .btn{min-height:34px}@media (width<=800px){.knowledge-level-chips{border-radius:12px;flex-wrap:wrap;justify-content:flex-start;width:100%}.knowledge-picker-trigger{justify-content:center;width:100%}.knowledge-picker-body{max-height:46vh}.knowledge-picker-foot{position:sticky;bottom:0}}.companion-layout-control{flex:none;position:relative}.companion-layout-trigger{color:#514b6c;min-height:38px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e4e2f0;border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:650;transition:color .15s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.companion-layout-trigger:hover{color:var(--companion-violet,#6b5cf6);background:#f7f6ff;border-color:#cfc8fb}.companion-layout-trigger:focus-visible{outline:2px solid var(--companion-violet,#6b5cf6);outline-offset:2px}.companion-layout-trigger[aria-expanded=true]{color:var(--companion-violet,#6b5cf6);background:#f2efff;border-color:#cfc8fb;box-shadow:0 4px 14px #6b5cf624}.companion-layout-backdrop{z-index:70;background:#18162d2e;position:fixed;inset:0}.companion-layout-panel{z-index:71;background:#fff;border:1px solid #e7e4f2;border-radius:16px;width:min(322px,100vw - 24px);max-height:min(68vh,520px);position:absolute;top:calc(100% + 10px);right:0;overflow:auto;box-shadow:0 20px 46px #26204a2e}.companion-layout-panel-head{justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.companion-layout-panel-head b{color:var(--companion-ink,#26243a);font-size:15px}.companion-layout-close{color:#6f6a86;width:28px;height:28px;font:inherit;cursor:pointer;background:#f1f0f7;border:0;border-radius:8px;place-items:center;font-size:16px;line-height:1;display:grid}.companion-layout-close:hover{color:#3c3757;background:#e7e4f2}.companion-layout-tip{color:#8b87a0;margin:0;padding:0 16px 10px;font-size:12px;line-height:1.6}.companion-layout-list{gap:8px;padding:0 12px 10px;display:grid}.companion-layout-row{cursor:default;background:#fff;border:1px solid #e9ecf3;border-radius:16px;grid-template-columns:22px 34px minmax(0,1fr) 28px;align-items:center;gap:10px;min-height:72px;padding:10px 12px;transition:border-color .16s,background .16s,opacity .16s;display:grid;box-shadow:0 2px 8px #28325006}.companion-layout-row:hover{background:#f6f5ff}.companion-layout-row.is-dragging{opacity:.55;background:#f8f7ff;border-color:#aaa1ff}.companion-layout-check{color:#fff;width:22px;min-width:22px;max-width:22px;height:22px;min-height:22px;max-height:22px;font:inherit;cursor:pointer;background:#fff;border:1.5px solid #bfc7d8;border-radius:50%;place-items:center;padding:0;font-size:14px;font-weight:800;line-height:1;display:grid}.companion-layout-check.is-checked{background:#625bff;border-color:#625bff}.companion-layout-drag{color:#99a5bd;cursor:grab;letter-spacing:-2px;background:0 0;border:0;border-radius:8px;place-items:center;width:28px;min-width:28px;max-width:28px;height:28px;min-height:28px;max-height:28px;padding:0;font-size:18px;line-height:1;display:grid}.companion-layout-drag:active{cursor:grabbing;color:#625bff;background:#f0efff}.companion-layout-icon{color:#625bff;background:#f1efff;border-radius:12px;place-items:center;width:34px;height:34px;font-size:19px;line-height:1;display:grid!important}.companion-layout-row span{gap:2px;min-width:0;display:grid}.companion-layout-row b{color:#3c3757;font-size:13px;font-weight:650}.companion-layout-row.is-on b{color:var(--companion-violet,#6b5cf6)}.companion-layout-row small{color:#9a96ad;font-size:11.5px;line-height:1.4}.companion-layout-foot{background:#fbfaff;border-top:1px solid #efedf6;justify-content:flex-end;gap:8px;padding:10px 12px;display:flex}.companion-layout-foot .btn{min-height:34px}@media (width>=801px){.companion-layout-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);scrollbar-width:thin;scrollbar-color:#a0a9bf73 transparent;background:#fffffff5;border-radius:24px;width:min(390px,100vw - 64px);max-height:calc(100vh - 80px);position:fixed;top:60px;right:32px;box-shadow:0 18px 50px #1f28481f}.companion-layout-panel::-webkit-scrollbar{width:5px}.companion-layout-panel::-webkit-scrollbar-thumb{background:#a0a9bf73;border-radius:99px}.companion-layout-panel-head{padding:20px 22px 8px}.companion-layout-panel-head b{color:#182033;font-size:20px}.companion-layout-close{background:#fff;border:1px solid #e8ebf2;border-radius:50%;width:40px;height:40px;font-size:20px}.companion-layout-foot{background:0 0;padding:12px 18px 18px}.companion-layout-foot .btn.primary{border-radius:14px;height:40px;padding:0 18px}}@media (width<=800px){.companion-layout-panel{width:auto;max-height:72vh;position:fixed;inset:auto 12px 12px}.companion-layout-trigger{min-height:36px;padding:0 12px;font-size:12.5px}.companion-layout-row small{font-size:12px}}.record-preview-page-head>.score-template-control{margin-left:auto!important}.record-preview-page-head>.score-template-control~span{margin-left:8px!important}.score-template-control{flex:none;position:relative}.score-template-trigger{color:#56506d;min-height:30px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e2e0ea;border-radius:10px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:700;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.score-template-trigger:hover{color:#6b5cf6;background:#f8f7ff;border-color:#cfc8fb}.score-template-trigger:focus-visible{outline-offset:2px;outline:2px solid #6b5cf6}.score-template-trigger[aria-expanded=true]{color:#6b5cf6;background:#f2efff;border-color:#cfc8fb}.score-template-backdrop{z-index:60;background:#18162d29;position:fixed;inset:0}.score-template-panel{z-index:61;text-align:left;background:#fff;border:1px solid #e7e4f2;border-radius:14px;width:min(312px,100vw - 24px);max-height:min(64vh,460px);position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 18px 42px #26204a33}.score-template-panel-head{justify-content:space-between;align-items:center;gap:10px;padding:13px 14px 8px;display:flex}.score-template-panel-head b{color:#26243a;font-size:14px}.score-template-close{color:#6f6a86;width:26px;height:26px;font:inherit;cursor:pointer;background:#f1f0f7;border:0;border-radius:8px;place-items:center;font-size:15px;line-height:1;display:grid}.score-template-close:hover{color:#3c3757;background:#e7e4f2}.score-template-tip{color:#8b87a0;margin:0;padding:0 14px 10px;font-size:12px;line-height:1.55}.score-template-list{gap:6px;padding:0 10px 10px;display:grid}.score-template-option{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e7e4f2;border-radius:11px;align-items:center;gap:10px;padding:10px 11px;transition:border-color .15s,background .15s;display:flex}.score-template-option:hover{background:#faf9ff;border-color:#cfc8fb}.score-template-option.is-active{background:#f4f2ff;border-color:#a99cf7}.score-template-option-copy{flex:auto;gap:2px;min-width:0;display:grid}.score-template-option-copy b{color:#3c3757;font-size:13px;font-weight:700}.score-template-option.is-active .score-template-option-copy b{color:#6b5cf6}.score-template-option-copy small{color:#9a96ad;font-size:11.5px;line-height:1.4}.score-template-option-sample{color:#6b5cf6;white-space:nowrap;flex:none;font-size:11px;font-style:normal;font-weight:700}.score-template-foot{background:#fbfaff;border-top:1px solid #efedf6;justify-content:flex-end;padding:9px 11px;display:flex}.score-template-foot .btn{min-height:32px}.score-template-star .knowledge-point-row{margin-bottom:8px}.score-template-star .knowledge-point-score-value{color:#1a1b1c;flex:none;font-size:15px;font-weight:700}.knowledge-point-stars{justify-content:space-between;align-items:center;gap:8px;display:flex}.knowledge-point-star-marks{color:#f5a623;letter-spacing:2px;font-size:15px}.knowledge-point-star-marks em{color:#d6d8e0;font-style:normal}.knowledge-star-row{background:0 0;justify-content:space-between;align-items:center;gap:12px;height:48px;display:flex}.knowledge-star-row+.knowledge-star-row{border-top:1px solid #f4f3ee}.record-preview-knowledge-list .knowledge-star-name{color:#1a1b1c;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:400;line-height:1.2;overflow:hidden}.knowledge-star-meta{flex:none;align-items:center;gap:8px;display:flex}.knowledge-star-marks{letter-spacing:1px;font-size:12px;line-height:1}.knowledge-star-marks i{color:#faad14;font-style:normal}.knowledge-star-marks em{color:#d9d9d9;font-style:normal}.knowledge-star-score{color:#1a1b1c;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;line-height:1}.knowledge-star-level{font-size:12px;font-weight:500;line-height:1}.knowledge-star-row.level-flexible .knowledge-star-level{color:#52c41a}.knowledge-star-row.level-proficient .knowledge-star-level{color:#7b8ce8}.knowledge-star-row.level-basic .knowledge-star-level{color:#faad14}.knowledge-star-row.level-reinforce .knowledge-star-level{color:#ea6668}@media (width<=520px){.score-template-trigger{padding:0 8px;font-size:11px}.score-template-panel{width:auto;max-height:66vh;position:fixed;inset:auto 10px 10px}}.record-preview-page-head>div>b{white-space:nowrap}.record-preview-section.score-template-gradient,.record-preview-section.score-template-starlist{border-radius:16px;padding:24px}.record-preview-modal .record-preview-section.score-template-gradient>h3,.record-preview-modal .record-preview-section.score-template-starlist>h3{color:#1a1b1c;margin:0 0 18px;font-size:16px;font-weight:700;line-height:1.3}.record-preview-section.score-template-gradient .record-preview-knowledge-list{flex-direction:column;gap:8px;display:flex}.record-preview-section.score-template-starlist .record-preview-knowledge-list{flex-direction:column;gap:0;display:flex}.knowledge-gradient-row{background:#f4f3ee;border-radius:10px;height:40px;position:relative;overflow:hidden}.knowledge-gradient-fill{width:var(--fill,0%);background:linear-gradient(90deg,#7b8ce8,#b794f6);border-radius:10px 0 0 10px;position:absolute;top:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000 100%);mask-image:linear-gradient(90deg,#000 85%,#0000 100%)}.knowledge-gradient-text{z-index:1;justify-content:space-between;align-items:center;gap:10px;height:100%;padding:0 14px;display:flex;position:relative}.knowledge-gradient-text>b{color:#1a1b1c;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;line-height:1.2;overflow:hidden}.knowledge-gradient-score{flex:none;align-items:center;gap:6px;display:flex}.knowledge-gradient-score strong{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;line-height:1}.knowledge-gradient-score em{white-space:nowrap;font-size:11px;font-style:normal;font-weight:600;line-height:1}.knowledge-gradient-row.level-flexible .knowledge-gradient-fill{background:linear-gradient(90deg,#52c41a,#95de64);-webkit-mask-image:none;mask-image:none}.knowledge-gradient-row.level-flexible .knowledge-gradient-text>b,.knowledge-gradient-row.level-flexible .knowledge-gradient-score strong,.knowledge-gradient-row.level-flexible .knowledge-gradient-score em{color:#fff}.knowledge-gradient-row.level-proficient .knowledge-gradient-fill{background:linear-gradient(90deg,#7b8ce8,#b794f6)}.knowledge-gradient-row.level-proficient .knowledge-gradient-score strong,.knowledge-gradient-row.level-proficient .knowledge-gradient-score em{color:#4a6cf7}.knowledge-gradient-row.level-basic .knowledge-gradient-fill{background:linear-gradient(90deg,#fa8c16,#ffc53d)}.knowledge-gradient-row.level-basic .knowledge-gradient-score strong,.knowledge-gradient-row.level-basic .knowledge-gradient-score em{color:#d46b08}.knowledge-gradient-row.level-reinforce .knowledge-gradient-fill{background:linear-gradient(90deg,#f5222d,#ff7875)}.knowledge-gradient-row.level-reinforce .knowledge-gradient-score strong,.knowledge-gradient-row.level-reinforce .knowledge-gradient-score em{color:#cf1322}.class-hub-modal{border-radius:20px;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden}.class-hub-modal .class-hub-head{align-items:flex-start;gap:12px;min-height:0;padding:18px 22px}.class-hub-head b{color:var(--companion-ink);font-size:18px;line-height:1.3;display:block}.class-hub-head small{color:var(--companion-muted);margin-top:6px;font-size:13px;display:block}.class-hub-body{gap:16px;padding:18px 22px;display:grid;overflow:auto}.class-hub-notice{color:#3b62c8;background:#eef4ff;border-radius:10px;margin:0;padding:9px 12px;font-size:13px;line-height:1.5}.class-hub-section{border:1px solid #eceaf5;border-radius:16px;padding:14px}.class-hub-section-head{align-items:baseline;gap:6px;margin-bottom:12px;display:flex}.class-hub-section-head b{color:var(--companion-ink);font-size:15px}.class-hub-section-head span{color:var(--companion-muted);font-size:12px}.class-hub-roster{flex-wrap:wrap;gap:14px 10px;display:flex}.class-hub-student{justify-items:center;gap:4px;width:60px;display:grid;position:relative}.class-hub-student b{width:100%;color:var(--companion-ink);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.class-hub-avatar{width:44px;height:44px}.class-hub-lesson{background:#fff;border:1px solid #eceaf5;border-radius:16px;padding:14px}.class-hub-lesson-head{color:var(--companion-ink);margin-bottom:8px;font-size:15px;font-weight:700}.class-hub-lesson-info{display:grid}.class-hub-lesson-row{min-height:38px;color:var(--companion-muted);border-bottom:1px solid #f1eff8;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;font-size:13px;display:grid}.class-hub-lesson-row:last-child{border-bottom:0}.class-hub-lesson-row svg{color:#7b8ce8}.class-hub-lesson-row b{color:var(--companion-ink);text-align:right;font-size:13px;font-weight:600}.class-hub-lesson-status{background:#fff1d9;border-radius:999px;padding:4px 9px;color:#c77a1f!important;font-size:12px!important}.class-hub-lesson-status.is-done{background:#e9f8ef;color:#16885f!important}.class-hub-guidance{color:#66718b;background:#f4f6ff;border-radius:13px;align-items:flex-start;gap:9px;padding:11px 13px;display:flex}.class-hub-guidance>b{color:#6b67e8;white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:12px;display:flex}.class-hub-guidance p{margin:0;font-size:12px;line-height:1.55}.class-hub-remove{box-sizing:border-box;color:#9a94b3;cursor:pointer;background:#fff;border:1px solid #eceaf5;border-radius:50%;flex:none;place-items:center;width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;padding:0;font-size:12px;line-height:1;display:grid;position:absolute;top:-2px;right:2px}.class-hub-remove:hover{color:#e05252;border-color:#f6c7c7}.class-hub-remove:disabled{opacity:.5;cursor:not-allowed}.class-hub-add-tile{width:60px;color:var(--companion-muted);cursor:pointer;background:0 0;border:0;justify-items:center;gap:4px;padding:0;display:grid}.class-hub-add-tile span{color:#7b74d8;border:1px dashed #cfc8fb;border-radius:50%;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.class-hub-add-tile b{font-size:11px;font-weight:500}.class-hub-candidates{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.class-hub-candidate{box-sizing:border-box;color:#514b6c;height:34px;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4e2f0;border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 5px;font-size:13px;display:inline-flex}.class-hub-candidate.selected{color:#fff;background:linear-gradient(105deg,#4b81ee,#8060ec);border-color:#0000}.class-hub-candidate:disabled{opacity:.6;cursor:not-allowed}.class-hub-candidate-avatar{width:24px;height:24px}.class-hub-add-confirm{width:100%}.class-hub-attendance-teacher{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.class-hub-attendance-label{color:var(--companion-muted);white-space:nowrap;flex:none;font-size:12px}.class-hub-teacher-pills{flex-wrap:wrap;gap:6px;display:flex}.class-hub-teacher-pill{box-sizing:border-box;color:#6b7280;height:28px;min-height:28px;max-height:28px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #e4e3dd;border-radius:999px;align-items:center;padding:0 12px;font-size:12.5px;line-height:1;display:inline-flex}.class-hub-teacher-pill.is-active{color:#3767f5;background:#3767f514;border-color:#3767f5;font-weight:700}.class-hub-teacher-pill:disabled{opacity:.55;cursor:default}.class-hub-teacher-empty{color:var(--companion-muted);font-size:12px}.class-hub-attendance-hint{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;line-height:1.4;display:flex}.class-hub-attendance-rule{color:#8a8fa8}.class-hub-attendance-by{color:var(--companion-muted)}.class-hub-attendance-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.class-hub-attendance-stats>div{background:#f7f7ff;border-radius:12px;padding:9px 11px}.class-hub-attendance-stats span{color:var(--companion-muted);font-size:11px;display:block}.class-hub-attendance-stats b{color:var(--companion-ink);margin-top:2px;font-size:19px;font-weight:700;display:block}.class-hub-attendance-stats b.is-present{color:#52c41a}.class-hub-attendance-stats b.is-leave{color:#d48806}.class-hub-attendance-stats b.is-absent{color:#e05252}.class-hub-attendance-list{display:grid}.class-hub-attendance-row{justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.class-hub-attendance-row+.class-hub-attendance-row{border-top:1px solid #f1eff8}.class-hub-attendance-name{box-sizing:border-box;color:#4a6cf7;text-overflow:ellipsis;white-space:nowrap;background:#7b8ce81f;border-radius:999px;align-items:center;max-width:58%;height:32px;padding:0 14px;font-size:13px;font-weight:500;line-height:1;display:inline-flex;overflow:hidden}.class-hub-attendance-actions{justify-content:flex-end;margin-top:12px;display:flex}.attendance-manage-head{margin-bottom:14px}.attendance-manage-head .title{align-items:center;gap:8px;display:flex}.card.attendance-manage{background:#fff;padding:16px}.attendance-manage-head p.muted{color:#8a8fa8;font-size:13px;line-height:1.6}.att-scope-tabs{flex-wrap:wrap;gap:8px;display:flex}.att-scope-tab{box-sizing:border-box;color:#6b7280;height:34px;min-height:34px;max-height:34px;font:inherit;cursor:pointer;white-space:nowrap;background:#f4f5f9;border:1px solid #0000;border-radius:999px;padding:0 14px;font-size:13px;line-height:1}.att-scope-tab.is-active{color:#3767f5;background:#fff;border-color:#3767f5;font-weight:700}.att-range-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px;display:grid}.att-range{position:relative}.att-range-trigger{box-sizing:border-box;color:#1a1b1c;width:100%;height:42px;min-height:42px;max-height:42px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4e3dd;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:700;display:flex}.att-range-value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.att-range-arrow{color:#8a8fa8;flex:none;font-size:12px;line-height:1}.att-range-panel{z-index:6;background:#fff;border:1px solid #e4e3dd;border-radius:12px;gap:10px;min-width:252px;padding:12px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 26px #141e3c1f}.att-range-field{color:#8a8fa8;gap:5px;font-size:12px;display:grid}.att-range-field input{box-sizing:border-box;color:#1a1b1c;width:100%;height:38px;font:inherit;background:#fff;border:1px solid #e4e3dd;border-radius:9px;padding:0 10px;font-size:13.5px}.att-range-done{box-sizing:border-box;color:#fff;height:34px;min-height:34px;font:inherit;cursor:pointer;background:#3767f5;border:0;border-radius:9px;font-size:13px}.att-quick-row{flex-wrap:wrap;gap:8px;display:flex}.att-quick{box-sizing:border-box;color:#6b7280;height:32px;min-height:32px;max-height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4e3dd;border-radius:999px;padding:0 16px;font-size:13px;line-height:1}.att-quick.is-active{color:#fff;background:#3767f5;border-color:#3767f5;font-weight:700}.att-filter{box-sizing:border-box;background:#fff;border:1px solid #e4e3dd;border-radius:10px;align-items:center;gap:8px;height:42px;padding:0 14px;display:flex;position:relative}.att-filter-select{color:#1a1b1c;min-width:0;height:100%;font:inherit;appearance:none;cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;flex:1;padding:0;font-size:14px;font-weight:700}.att-filter-select:focus{outline:none}.att-filter-arrow{color:#8a8fa8;flex:none;font-size:12px;line-height:1}.att-filter-grain{background:#fff}.attendance-manage-toast{color:#2c4ea8;background:#eef4ff;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;padding:8px 11px;font-size:12.5px;display:flex}.attendance-manage-toast button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.att-metric{color:#fff;border-radius:12px;padding:16px}.att-metric b{color:#fff;margin-top:6px;font-size:28px;font-weight:700;line-height:1.1;display:block}.att-metric-sub{color:#fff;opacity:.92;margin-top:4px;font-size:11px;font-weight:500;line-height:1.3;display:block}.att-composition{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e6f4ff80;border:1px solid #8bc3e94d;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.att-donut{flex:none;width:120px;height:120px;position:relative}.att-donut svg{width:120px;height:120px;display:block}.att-donut-track{fill:none;stroke:#fff9;stroke-width:14px}.att-donut-value{fill:none;stroke:url(#attDonutGradient);stroke-width:14px;stroke-linecap:round}.att-donut-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.att-donut-center b{color:#1a1b1c;font-size:20px;font-weight:700;line-height:1}.att-donut-center small{color:#8a8fa8;font-size:10px;line-height:1}.att-legend-row{align-items:center;gap:8px;display:flex}.att-legend-dot{border-radius:3px;flex:none;width:10px;height:10px}.att-legend-name{color:#8a8fa8;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:12px;overflow:hidden}.att-legend-value{color:#1a1b1c;flex:none;font-size:12px;font-weight:700}.att-dot-present{background:linear-gradient(135deg,#7b8ce8,#9b7fe2)}.att-dot-leave{background:#faad14}.att-dot-absent{background:#ea6668}.att-dot-unrecorded{background:#8a8fa8}.att-detail{border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.att-detail b{color:inherit;margin-top:2px;font-size:20px;font-weight:700;line-height:1.15;display:block}.att-detail-icon{opacity:.3;-webkit-user-select:none;user-select:none;flex:none;font-size:24px;line-height:1}.att-detail-absent{color:#ea6668;background:#fff0f0}.att-detail-unrecorded{color:#8a8fa8;background:#f5f5f5}.att-detail-lessons{color:#5b6fd0;background:#f0f0ff}.att-detail-amount{color:#7b1fa2;background:#f4f0ff}.attendance-chip{white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px;font-style:normal}.attendance-chip-present{color:#3f9142;background:#52c41a1a}.attendance-chip-leave{color:#d4880f;background:#faad141f}.attendance-chip-absent{color:#ea6668;background:#ea66681a}.attendance-chip-miss{color:#8a8fa8;background:#8a8fa81a}.attendance-session-head{justify-content:space-between;align-items:center;display:flex}.attendance-session-head b{font-size:14px}.attendance-session-head span{color:var(--companion-muted);font-size:12px}.attendance-session-list{background:#fff;flex-direction:column;gap:8px;padding:12px;display:flex}.attendance-session-row{box-sizing:border-box;cursor:pointer;text-align:left;background:#fff;border:1px solid #e4e3dd;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:40px;padding:10px 12px;display:flex}.attendance-session-row:hover{background:#f7f9ff;border-color:#c9d8fb}.attendance-session-when{align-items:center;gap:10px;min-width:0;display:flex}.attendance-session-date{color:#1a1b1c;white-space:nowrap;font-size:12px;font-weight:700}.attendance-session-divider{background:#e4e3dd;flex:none;width:1px;height:12px}.attendance-session-class{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.attendance-session-counts{flex:none;align-items:center;gap:6px;display:flex}.att-agg-scroll{overscroll-behavior-x:contain;overflow-x:auto}.att-agg-table{min-width:660px}.att-agg-row{color:#1a1b1c;border-bottom:1px solid #f2f3f6;grid-template-columns:minmax(96px,1.4fr) repeat(4,minmax(48px,.7fr)) minmax(48px,.7fr) minmax(52px,.8fr) minmax(64px,.9fr) minmax(76px,1fr);align-items:center;gap:6px;padding:9px 4px;font-size:12px;display:grid}.att-agg-head{color:#8a8fa8;border-bottom:1px solid #e4e3dd;font-weight:700}.att-agg-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.att-agg-name{font-weight:700}.att-agg-present{color:#3f9142}.att-agg-leave{color:#d4880f}.att-agg-absent{color:#ea6668}.att-agg-rate{font-weight:700}.att-agg-lessons{color:#13a8a8}.att-agg-amount{color:#722ed1}.attendance-manage-modal{flex-direction:column;width:min(560px,94vw);max-height:min(88dvh,900px);display:flex;overflow:hidden}.attendance-manage-modal-head{flex:none}.attendance-manage-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.attendance-manage-modal-foot{border-top:1px solid #e8ecf5;flex:none;justify-content:flex-end;gap:10px;padding:12px 16px;display:flex}.attendance-manage-modal-foot .btn{box-sizing:border-box;height:38px;min-height:38px;font:inherit;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:13.5px;line-height:1;display:flex}.attendance-edit-row{border-bottom:1px solid #f0f3f9;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.attendance-edit-student{color:var(--companion-ink);align-items:center;gap:9px;font-size:14px;display:flex}.attendance-edit-avatar{flex:none;width:30px;height:30px}.attendance-manage-modal .attendance-toggle{background:#f7f8fb;border:1px solid #dce2ed;border-radius:999px;flex:none;gap:0;width:168px;padding:3px;display:flex}.attendance-manage-modal .attendance-toggle button{width:auto;height:34px;min-height:34px;box-shadow:none;color:#6f7892;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1 1 0;font-size:12px}.attendance-manage-modal .attendance-toggle button.active{color:#fff;background:linear-gradient(105deg,var(--companion-blue),var(--companion-violet));box-shadow:none}.attendance-manage-modal .attendance-toggle button.active.attendance-leave{background:linear-gradient(105deg,#f6b73c,#f59e0b)}.attendance-manage-modal .attendance-toggle button.active.attendance-absent{background:linear-gradient(105deg,#fb923c,#ef4444)}@media (width<=640px){.attendance-session-row{flex-wrap:wrap;row-gap:6px}.attendance-session-when{flex:auto}.attendance-session-counts{flex-wrap:wrap}.att-range-row{grid-template-columns:minmax(0,1fr)}.att-range-panel{width:auto;min-width:0;left:0;right:0}}.class-hub-modal .attendance-toggle{background:#f7f8fb;border:1px solid #dce2ed;border-radius:999px;flex:none;gap:0;width:168px;padding:3px;display:flex}.class-hub-modal .attendance-toggle button{width:auto;height:34px;min-height:34px;box-shadow:none;color:#6f7892;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1 1 0;font-size:12px}.class-hub-modal .attendance-toggle button.active{color:#fff;background:linear-gradient(105deg,var(--companion-blue),var(--companion-violet));box-shadow:none}.class-hub-modal .attendance-toggle button.active.attendance-leave{background:linear-gradient(105deg,#f6b73c,#f59e0b)}.class-hub-modal .attendance-toggle button.active.attendance-absent{background:linear-gradient(105deg,#fb923c,#ef4444)}.class-hub-actions{background:#fff;border-top:1px solid #f1eff8;grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.4fr);gap:9px;padding:12px 22px 16px;display:grid}.class-hub-modal .class-hub-actions .btn,.class-hub-modal .class-hub-attendance-actions .btn,.class-hub-modal .class-hub-add-confirm{box-sizing:border-box;height:38px;min-height:38px;font:inherit;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:13.5px;line-height:1;display:flex}.class-hub-modal .class-hub-actions .btn.primary,.class-hub-modal .class-hub-attendance-actions .btn.primary{box-shadow:0 4px 12px #3767f533}.class-hub-modal .class-hub-attendance-actions .btn{flex:none;width:auto;min-width:0;padding:0 18px}.class-hub-modal .class-hub-attendance-actions .class-hub-delete-attendance{color:#d64545;box-shadow:none;background:#fff;border:1px solid #f0b7b7;margin-right:auto;font-weight:600}.class-hub-modal .class-hub-attendance-actions .class-hub-delete-attendance:hover:not(:disabled){background:#fff5f5;border-color:#e08b8b}.class-hub-modal .class-hub-attendance-actions .class-hub-delete-attendance:disabled{color:#b9b9b9;cursor:not-allowed;background:#fafafa;border-color:#ececec}.class-hub-modal .class-hub-add-confirm{color:#fff;background:linear-gradient(105deg,#389e0d,#95de64);border:0;font-weight:700;box-shadow:0 6px 16px #389e0d3d}.class-hub-modal .class-hub-add-confirm:hover:not(:disabled){background:linear-gradient(105deg,#2f8e0a,#85d551);box-shadow:0 8px 18px #389e0d4d}.class-hub-modal .class-hub-add-confirm:disabled{opacity:1;color:#a6aea3;box-shadow:none;cursor:not-allowed;background:#e7eae5;border:0}@media (width<=640px){.class-hub-modal{max-height:calc(100vh - 24px)}.class-hub-body{padding:14px}.class-hub-actions{gap:8px;padding:10px 14px 14px}.class-hub-modal .class-hub-actions .btn,.class-hub-modal .class-hub-attendance-actions .btn,.class-hub-modal .class-hub-add-confirm{height:36px;min-height:36px;padding:0 10px;font-size:12.5px}}.class-hub-wallet{background:#f6f9ff;border:1px solid #e3e9f7;border-radius:14px;padding:12px 14px}.class-hub-wallet-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.class-hub-wallet-head b{color:var(--companion-ink);font-size:14px}.class-hub-wallet-head span{color:var(--companion-muted);font-size:12px}.class-hub-wallet ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.class-hub-wallet li{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.class-hub-wallet-name{box-sizing:border-box;color:#4a6cf7;white-space:nowrap;background:#7b8ce81f;border-radius:999px;height:26px;padding:0 11px;font-weight:500;line-height:26px}.class-hub-wallet-delta{color:#cf1322;font-weight:500}.class-hub-wallet-left{color:var(--companion-muted);font-size:12px}.archive-wallet{background:#fff;border:1px solid #eceaf5;border-radius:16px;gap:12px;padding:14px;display:grid}.archive-summary .archive-summary-wallet{color:#3767f5}.archive-wallet-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.archive-wallet-head h3{color:var(--companion-ink);margin:0;font-size:15px;font-weight:500}.archive-wallet-add{box-sizing:border-box;color:#3b62c8;width:auto;min-width:0;max-width:none;height:32px;min-height:32px;max-height:32px;font:inherit;cursor:pointer;background:#f2f6ff;border:1px solid #d7e0fb;border-radius:999px;padding:0 14px;font-size:13px;font-weight:500;line-height:1}.archive-wallet-error{color:#a32d2d;background:#fdecec;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:10px;margin:0;padding:9px 12px;font-size:13px;line-height:1.5;display:flex}.archive-wallet-error button{box-sizing:border-box;color:#a32d2d;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;width:22px;min-width:22px;max-width:22px;height:22px;min-height:22px;max-height:22px;padding:0;font-size:15px;line-height:1}.archive-wallet-editor{background:#f8faff;border:1px dashed #cfd9f5;border-radius:14px;gap:12px;padding:14px;display:grid}.archive-wallet-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.archive-wallet-editor-grid label{color:var(--companion-muted);gap:5px;font-size:12px;display:grid}.archive-wallet-editor-grid label em{color:#cf1322;font-style:normal}.archive-wallet-editor-grid input{box-sizing:border-box;width:100%;height:38px;color:var(--companion-ink);background:#fff;border:1px solid #dce2ed;border-radius:10px;padding:0 11px;font-size:14px}.archive-wallet-editor-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.archive-wallet-editor-foot small{color:var(--companion-muted);font-size:12px}.archive-wallet-unitprice{color:var(--companion-ink);margin-right:auto;font-size:13px}.archive-wallet-unitprice b{color:#3767f5;font-weight:500}.archive-wallet-editor-foot .save{box-sizing:border-box;background:linear-gradient(105deg,var(--companion-blue),var(--companion-violet));color:#fff;height:38px;min-height:38px;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:0 18px;font-size:14px;font-weight:500}.archive-wallet-editor-foot .save:disabled{opacity:.6;cursor:default}.archive-wallet-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.archive-wallet-stats>div{background:#f7f9ff;border-radius:12px;gap:3px;padding:11px 12px;display:grid}.archive-wallet-stats small{color:var(--companion-muted);font-size:12px}.archive-wallet-stats b{color:var(--companion-ink);font-size:19px;font-weight:500;line-height:1.2}.archive-wallet-stats span{color:var(--companion-muted);font-size:12px}.archive-wallet-packages{gap:9px;display:grid}.archive-wallet-package{background:#fcfcff;border:1px solid #eceaf5;border-radius:13px;gap:7px;padding:11px 12px;display:grid;position:relative}.archive-wallet-package.is-closed{opacity:.65}.archive-wallet-package-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.archive-wallet-package-head b{color:var(--companion-ink);font-size:14px;font-weight:500}.archive-wallet-badge{box-sizing:border-box;color:#3767f5;white-space:nowrap;background:#3767f51a;border-radius:999px;height:22px;padding:0 10px;font-size:12px;line-height:22px}.archive-wallet-badge.is-expired{color:#a32d2d;background:#fdecec}.archive-wallet-package-meta{color:var(--companion-muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.archive-wallet-package-meta b{color:var(--companion-ink);font-weight:500}.archive-wallet-void{box-sizing:border-box;color:#a32d2d;width:auto;min-width:0;height:28px;min-height:28px;max-height:28px;font:inherit;cursor:pointer;background:#fff;border:1px solid #f0d3d3;border-radius:999px;justify-self:start;padding:0 12px;font-size:12px;line-height:1}.archive-wallet-empty{color:var(--companion-muted);margin:0;font-size:13px;line-height:1.6}.archive-wallet-ledger{border-top:1px solid #f1eff8;gap:7px;padding-top:11px;display:grid}.archive-wallet-ledger-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.archive-wallet-ledger-head b{color:var(--companion-ink);font-size:13px;font-weight:500}.archive-wallet-ledger-head span{color:var(--companion-muted);font-size:12px}.archive-wallet-ledger-row{grid-template-columns:88px minmax(0,1fr) 92px 76px;align-items:center;gap:8px;font-size:12px;display:grid}.archive-wallet-ledger-date{color:var(--companion-muted)}.archive-wallet-ledger-reason{color:var(--companion-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.archive-wallet-ledger-lessons{color:#cf1322;text-align:right;white-space:nowrap}.archive-wallet-ledger-lessons.is-reversal{color:#2b8178}.archive-wallet-ledger-amount{color:var(--companion-muted);text-align:right;white-space:nowrap}.add-student-package{background:#f8faff;border:1px dashed #cfd9f5;border-radius:14px;gap:10px;padding:13px 14px;display:grid}.add-student-package-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.add-student-package-head b{color:var(--companion-ink);font-size:14px;font-weight:500;display:block}.add-student-package-head b span{color:var(--companion-muted);margin-left:4px;font-size:12px;font-weight:400}.add-student-package-head small{color:var(--companion-muted);margin-top:4px;font-size:12px;display:block}.add-student-package-toggle{box-sizing:border-box;color:#3b62c8;width:auto;min-width:0;max-width:none;height:32px;min-height:32px;max-height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d7e0fb;border-radius:999px;flex:none;padding:0 14px;font-size:13px;font-weight:500;line-height:1}.add-student-package-error{color:#a32d2d;background:#fdecec;border-radius:9px;margin:0;padding:8px 11px;font-size:12px;line-height:1.5}.add-student-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.add-student-package-grid label{color:var(--companion-muted);gap:5px;font-size:12px;display:grid}.add-student-package-grid input{box-sizing:border-box;width:100%;height:38px;color:var(--companion-ink);background:#fff;border:1px solid #dce2ed;border-radius:10px;padding:0 11px;font-size:14px}.field-label-text{color:inherit;align-items:center;gap:6px;display:inline-flex}.field-icon{color:#3767f5;vertical-align:-2px;flex:none}.archive-wallet-head h3 .field-icon,.add-student-package-head b .field-icon{margin-right:2px}.add-student-package-unitprice .field-icon,.archive-wallet-unitprice .field-icon{color:#3767f5;margin-right:4px}.add-student-package-unitprice{color:var(--companion-ink);margin:0;font-size:13px}.add-student-package-unitprice b{color:#3767f5;font-weight:500}.add-student-package-unitprice span{color:var(--companion-muted);margin-left:8px;font-size:12px}@media (width<=640px){.archive-wallet-editor-grid,.add-student-package-grid{grid-template-columns:minmax(0,1fr)}.archive-wallet-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-wallet-ledger-row{grid-template-columns:76px minmax(0,1fr) 84px;row-gap:4px}.archive-wallet-ledger-amount{text-align:left;grid-column:1/-1}}.course-color-field{gap:6px;margin-bottom:12px;display:grid}.course-color-label{color:var(--companion-muted);font-size:12px}.course-color-options{flex-wrap:wrap;gap:8px;display:flex}.course-color-swatch{box-sizing:border-box;border:1px solid var(--swatch-border,#dce2ed);background:var(--swatch-bg,#f7f9ff);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;min-height:38px;max-height:38px;padding:0;display:inline-flex}.course-color-swatch i{background:var(--swatch-dot,#3767f5);border-radius:50%;width:14px;height:14px}.course-color-swatch:hover{box-shadow:0 2px 6px #283a5d1f}.course-color-swatch.selected{box-shadow:0 0 0 2px var(--swatch-dot,#3767f5)}.course-color-swatch:disabled{opacity:.55;cursor:default}:is(body .schedule-week>.schedule-day:not(.schedule-unscheduled),body .schedule-week>.schedule-day:not(.schedule-unscheduled):not(:has(.schedule-class)),body .schedule-week>.schedule-day.schedule-unscheduled){background:#fff!important;border:1px solid #e4e3dd!important}body .schedule-day .schedule-class[class*=course-]{background:var(--course-bg,#fff)!important;border:1px solid var(--course-border,#e4e3dd)!important;border-left-color:var(--course-border,#e4e3dd)!important;box-shadow:none!important}body .schedule-day.schedule-unscheduled .schedule-class{box-shadow:none!important;background:#fff!important;border:1px solid #e4e3dd!important}.schedule-class-course{color:var(--course-text,#52627a);align-items:center;gap:4px;font-weight:500;display:inline-flex}.schedule-class-dot{box-sizing:border-box;background:var(--course-dot,#3767f5);border-radius:50%;flex:none;width:7px;height:7px}.schedule-class-flag{color:#7d879b;background:#eef1f6;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-style:normal;line-height:1.6}body .schedule-class.is-attended,body .schedule-day .schedule-class.is-attended[class*=course-]{box-shadow:none!important;background:#f1f3f7!important;border:1px solid #dfe3ea!important}body .schedule-class.is-attended b{color:#8b93a3!important}body .schedule-class.is-attended .schedule-class-course{font-weight:400;color:#9aa2b2!important}body .schedule-class.is-attended .schedule-class-dot{background:#c5cbd6!important}body .schedule-class.is-empty,body .schedule-day .schedule-class.is-empty[class*=course-]{border-style:dashed!important;border-color:#e8b96a!important}body .schedule-class.is-empty:not(.is-attended) b{color:#8a5a12}.schedule-class-flag-empty{color:#b8760f;background:#fdf3e2;font-weight:600}.archive-wallet-head{flex-wrap:wrap;gap:8px}.archive-wallet-peek{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--companion-muted);flex:auto;font-size:12px;overflow:hidden}.archive-wallet-toggle{box-sizing:border-box;color:#5d6a83;height:32px;min-height:32px;max-height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e6f0;border-radius:999px;padding:0 14px;font-size:13px;line-height:1}.archive-wallet-toggle:hover{color:#3b62c8;border-color:#c9d4ec}.archive-wallet-package{background:linear-gradient(135deg,#f3f5ff 0%,#f8f3ff 100%);border-color:#e4e6fa}.archive-wallet-package.is-closed{opacity:1;background:linear-gradient(135deg,#fff7f7 0%,#fdeff1 100%);border-color:#f3dcdf}.archive-wallet-package.is-closed .archive-wallet-package-head b{color:#8a6a72}.archive-wallet-package.is-closed .archive-wallet-badge{color:#a32d2d;background:#fdecec}@media (width<=640px){.archive-wallet-head{flex-wrap:wrap}.archive-wallet-peek{flex-basis:100%;order:3}}body .rating-rail-tone.is-unrated,body .score-ability .ability-score-card .rating-rail-tone.is-unrated,body .score-knowledge .rating-rail-tone.is-unrated{color:#8a8fa8!important;font-weight:600!important}body .record-preview-knowledge-item.knowledge-unrated .knowledge-level-pill{color:#8a8fa8;background:#f0f2f7}body .record-preview-knowledge-item.knowledge-unrated .knowledge-point-title{color:#5b6379}body .schedule-month-grid{flex-direction:column;gap:6px;margin-top:22px;display:flex}.schedule-month-weekdays,.schedule-month-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.schedule-month-weekdays span{color:#8a8fa8;text-align:center;font-size:11px;font-weight:600}body .schedule-month-cell{background:#fff;border:1px solid #e4e3dd;border-radius:12px;flex-direction:column;gap:5px;min-width:0;min-height:104px;padding:7px 7px 8px;display:flex}body .schedule-month-cell.is-out{background:#fafbfc!important;border-color:#eef0f4!important}body .schedule-month-cell.is-out .schedule-month-date b{color:#c2c8d4}body .schedule-month-cell.is-today{box-shadow:inset 0 0 0 1px #3767f5;border-color:#3767f5!important}.schedule-month-date{color:#263e71;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:flex}.schedule-month-date b{font-size:13px;font-weight:650}.schedule-month-date em{color:#3767f5;background:#eef3ff;border-radius:999px;padding:1px 5px;font-size:9px;font-style:normal;font-weight:600}.schedule-month-classes{flex-direction:column;gap:4px;min-width:0;display:flex}.schedule-month-class{border:1px solid var(--course-border,#e4e3dd);border-left:3px solid var(--course-border,#e4e3dd);background:var(--course-bg,#fff);width:100%;min-width:0;color:var(--course-text,#52627a);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;border-radius:7px;padding:4px 6px;font-size:11px;font-weight:600;line-height:1.45;transition:transform .18s cubic-bezier(.16,1,.3,1);display:block}.schedule-month-class:hover{transform:translateY(-1px)}.schedule-month-class .schedule-class-dot{vertical-align:middle;margin-right:4px}body .schedule-month-class.is-attended{color:#9aa2b2!important;background:#f1f3f7!important;border-color:#dfe3ea!important}body .schedule-month-class.is-attended .schedule-class-dot{background:#c5cbd6!important}body .schedule-month-class.is-empty{color:#8a5a12!important;border-style:dashed!important;border-color:#e8b96a!important}body .schedule-month-grid>.schedule-day.schedule-unscheduled{border-radius:12px;margin-top:4px;padding:10px;background:#fff!important;border:1px solid #e4e3dd!important}@media (width<=800px){body .schedule-month-grid{gap:4px;margin-top:12px}.schedule-month-weekdays,.schedule-month-row{gap:4px}body .schedule-month-cell{border-radius:9px;gap:3px;min-height:76px;padding:5px}.schedule-month-date b{font-size:11px}.schedule-month-date em{display:none}.schedule-month-class{border-left-width:2px;padding:3px 4px;font-size:10px}}.record-date-field .record-date-hint{color:#8a8fa8;align-items:center;gap:6px;margin-top:5px;font-size:11px;line-height:1.5;display:flex}.record-date-field .record-date-hint button{color:#3767f5;font:inherit;cursor:pointer;background:#f5f7fd;border:1px solid #dbe2f3;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.record-date-field .record-date-hint button:hover{background:#eef3ff;border-color:#b9c6ee}body .record-date-field .record-date-hint.is-today{color:#b8760f}body .record-date-field .record-date-hint.is-today button{color:#b8760f;background:#fdf3e2;border-color:#f0dcb8}.class-create-action{white-space:nowrap}.class-create-modal{width:min(520px,100vw - 28px)}.class-create-modal .modal-body{padding:16px 18px 18px}.class-create-modal>.class-manage-head>div{min-width:0}.class-create-modal>.class-manage-head b{white-space:nowrap}.class-create-error{color:#b65353;background:#fff6f6;border:1px solid #f2c9c9;border-radius:9px;margin:0 0 12px;padding:9px 12px;font-size:13px;font-weight:600}.class-create-modal .class-manage-form{background:#fbfcff}.class-create-modal .class-manage-form>label{color:#272727;grid-template-columns:auto 1fr;align-items:center;gap:6px 4px;font-size:12px;font-weight:700;display:grid}.class-create-modal .class-manage-form>label>em{grid-column:2;justify-self:start}.class-create-modal .class-manage-form>label>input,.class-create-modal .class-manage-form>label>select{grid-column:1/-1;margin-top:2px}.class-create-modal .class-manage-section{margin-top:14px}.class-create-modal .class-create-students .class-student-grid{max-height:176px;overflow:auto}.class-create-actions{gap:10px;margin-top:16px;display:flex}.class-create-actions .btn{border-radius:10px;flex:1;min-height:42px}.class-create-actions .btn.primary{flex:1.35}@media (width<=560px){.class-create-modal>.class-manage-head small{display:none!important}.class-create-actions{flex-direction:column-reverse}.class-create-actions .btn{flex:none;width:100%}}.wb-quick-stack{flex-direction:column;gap:12px;display:flex}.wb-quick-card,.wb-pending-card{background:#fff;border:1px solid #e4e3dd;border-radius:16px;padding:16px}.wb-quick-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.wb-quick-row+.wb-quick-row{margin-top:12px}.schedule-week:not(.schedule-day)>.schedule-day:nth-child(6),.schedule-week:not(.schedule-day)>.schedule-day:nth-child(7){grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid}.schedule-week:not(.schedule-day)>.schedule-day:nth-child(6)>.schedule-day-head,.schedule-week:not(.schedule-day)>.schedule-day:nth-child(7)>.schedule-day-head{grid-column:1/-1;margin-bottom:0}.schedule-week:not(.schedule-day)>.schedule-day:nth-child(6)>.schedule-day-empty,.schedule-week:not(.schedule-day)>.schedule-day:nth-child(7)>.schedule-day-empty{grid-column:1/-1}.schedule-week:not(.schedule-day)>.schedule-day:nth-child(6)>.schedule-class+.schedule-class,.schedule-week:not(.schedule-day)>.schedule-day:nth-child(7)>.schedule-class+.schedule-class{margin-top:0}.wb-quick-item{min-height:0;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0;display:flex}.wb-quick-icon{flex:none;line-height:0;display:block}.wb-quick-icon-lg{width:52px;height:52px}.wb-quick-icon-sm{width:44px;height:44px}.wb-quick-label{text-align:center;color:#1a1b1c;line-height:1.3}.wb-quick-row-lg .wb-quick-label{font-size:12px}.wb-quick-row-sm .wb-quick-label{font-size:11px}.wb-pending-title{color:#1a1b1c;margin:0 0 12px;font-size:14px;font-weight:700}.wb-pending-list{flex-direction:column;display:flex}.wb-pending-item{align-items:center;gap:12px;padding:10px 0;display:flex}.wb-pending-item+.wb-pending-item{border-top:1px solid #f4f3ee}.wb-pending-avatar{flex:0 0 44px;width:44px;height:44px;display:block}.wb-pending-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.wb-pending-name{color:#1a1b1c;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.wb-pending-meta{color:#8a8fa8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.wb-pending-go{color:#4a6cf7;cursor:pointer;background:#fff;border:1px solid #7b8ce8;border-radius:999px;flex:none;align-items:center;height:28px;min-height:28px;max-height:28px;padding:6px 14px;font-size:12px;line-height:1;display:inline-flex}.wb-pending-go:hover{background:#f3f5ff}.wb-pending-empty{color:#8a8fa8;margin:0;padding:6px 0;font-size:12px}.wb-pending-more{color:#8a8fa8;text-align:center;cursor:pointer;background:0 0;border:0;width:100%;min-height:0;margin-top:10px;padding:6px 0 0;font-size:12px;display:block}.wb-pending-more:hover{color:#5c6479}.companion-dashboard{--wbc-line:#ecebf3;--wbc-ink:#1a1b1c;--wbc-muted:#8b8fa6;--wbc-brand:#6c5ce7;--wbc-brand-soft:#f3f1fe;--wbc-shadow:0 8px 22px #2f25710f;gap:18px}.companion-dashboard .companion-dashboard-head{align-items:flex-start;gap:14px;padding:0}.companion-dashboard .companion-dashboard-head p{color:var(--wbc-muted);letter-spacing:.01em;margin:0 0 2px;font-size:12px;font-weight:600}.companion-dashboard .companion-dashboard-head h1{color:var(--companion-ink);letter-spacing:-.02em;margin:0;font-size:30px;font-weight:800;line-height:1.2}.companion-dashboard .companion-dashboard-head h1 .companion-wave{vertical-align:-2px;margin-left:6px;font-size:22px;line-height:1;display:inline-block}.companion-dashboard .companion-dashboard-head>div>span{color:var(--wbc-muted);margin-top:5px;font-size:12.5px;font-weight:400;display:block}.subscription-status-card{color:#26382e;background:#f7fbf8;border:1px solid #dfe8e3;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 14px;padding:13px 16px;display:grid}.subscription-status-card>div{gap:3px;min-width:0;display:grid}.subscription-status-card>div>span,.subscription-status-card small{color:#68786f;font-size:12px}.subscription-status-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.subscription-status-badge{color:#287347;white-space:nowrap;background:#e5f3e9;border-radius:999px;grid-area:1/2/3;padding:5px 9px;font-size:12px;font-weight:700}.subscription-status-card.is-trial .subscription-status-badge{color:#4c59ac;background:#edf0ff}.subscription-status-card.is-grace .subscription-status-badge{color:#8b5b0d;background:#fff1d9}.subscription-status-card.is-frozen .subscription-status-badge,.subscription-status-card.is-cancelled .subscription-status-badge{color:#a23a32;background:#fce9e7}.subscription-status-error{color:#76531a;background:#fff9ec;border:1px solid #f0d9b1;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;font-size:13px;display:flex}.subscription-status-error button{color:#315d9a;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:650}.companion-dashboard .companion-layout-trigger{color:#5b5a72;height:34px;min-height:34px;box-shadow:none;background:#fff;border:1px solid #e2dff3;border-radius:11px;padding:0 12px;font-size:12.5px;font-weight:650}.companion-dashboard .companion-profile-card{box-shadow:var(--wbc-shadow);border-radius:18px;padding:20px 16px}.companion-dashboard .companion-profile-identity{border:0;flex-direction:column;align-items:center;gap:6px;width:100%;margin:0;padding:0;display:flex}.companion-dashboard .companion-profile-identity>div{flex-direction:column;align-items:center;gap:1px;display:flex}.companion-dashboard .companion-profile-identity b{color:var(--companion-ink);font-size:14px;font-weight:750}.companion-dashboard .companion-profile-identity span{color:var(--wbc-muted);font-size:11.5px}.companion-dashboard .companion-profile-avatar{width:60px;height:60px;margin:6px 0 2px;box-shadow:inset 0 0 0 1px #5541be14,0 6px 14px #2f25711a}.companion-dashboard .companion-profile-stats{border-top:0;align-items:center;width:100%;margin:0;padding:0;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;display:grid!important}.companion-dashboard .companion-profile-stats>div{justify-items:center;gap:5px;min-width:0;padding:0 4px;display:grid;position:relative}.companion-dashboard .companion-profile-stats>div+div{border-left:1px solid var(--wbc-line)}.companion-dashboard .companion-profile-stats strong{color:var(--companion-ink);letter-spacing:-.03em;align-items:center;font-size:26px;font-weight:800;line-height:1.1;display:inline-flex}.companion-dashboard .companion-profile-stats>div:nth-child(3) strong{color:#5a56f8}.companion-dashboard .companion-profile-stat-label{min-width:0;color:var(--wbc-muted);white-space:nowrap;justify-content:center;align-items:center;gap:2px;margin:0;font-size:11.5px;line-height:1.2;display:inline-flex}.companion-dashboard .companion-profile-stat-icon{color:#4c86ee;background:linear-gradient(145deg,#e8f2ff,#ddeaff);border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;display:grid;box-shadow:0 4px 9px #4c86ee24}.companion-dashboard .companion-profile-stat-icon svg{stroke-width:2.15px;width:12px;height:12px}.companion-dashboard .companion-profile-stats>div:nth-child(2) .companion-profile-stat-icon{color:#ef923d;background:linear-gradient(145deg,#fff1df,#ffe5c5);box-shadow:0 4px 9px #ef923d21}.companion-dashboard .companion-profile-stats>div:nth-child(3) .companion-profile-stat-icon{color:#6657e8;background:linear-gradient(145deg,#eee9ff,#e0d9ff);box-shadow:0 4px 9px #6657e826}.companion-dashboard .companion-profile-stat-label>svg:last-child{color:currentColor;stroke-width:2.1px;flex:none;width:10px;height:10px}.companion-dashboard .companion-profile-stats>div.has-dot>strong{position:relative}.companion-dashboard .companion-profile-stats>div.has-dot>strong:after{content:"";background:#ff7a45;border-radius:50%;width:7px;height:7px;position:absolute;top:-1px;right:-7px}@media (width>=1101px){.companion-dashboard .companion-hero-grid{grid-template-columns:minmax(280px,.84fr) minmax(360px,1.28fr) minmax(200px,.58fr)}.companion-dashboard .companion-profile-stats{border-top:1px solid var(--wbc-line);padding-top:14px}.companion-dashboard .companion-profile-stats>div{padding:0}.companion-dashboard .companion-profile-stat-label{white-space:nowrap;text-overflow:clip;max-width:none;font-size:11px;overflow:visible}}.companion-dashboard .wb-quick-card{border:1px solid var(--wbc-line);box-shadow:var(--wbc-shadow);background:#fff;border-radius:18px;padding:16px 16px 18px}.companion-dashboard .wb-quick-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.companion-dashboard .wb-quick-title{color:var(--wbc-ink);margin:0;font-size:15px;font-weight:750}.companion-dashboard .wb-quick-edit{height:24px;min-height:24px;max-height:24px;color:var(--wbc-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:1px;padding:0 2px;font-size:12px;font-weight:650;display:inline-flex}.companion-dashboard .wb-quick-edit:hover{color:var(--wbc-brand)}.companion-dashboard .wb-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px;display:grid}.companion-dashboard .wb-quick-item{min-height:0;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;padding:0;transition:transform .16s;display:flex}.companion-dashboard .wb-quick-item:active{transform:scale(.94)}.companion-dashboard .wb-quick-icon{flex:none;width:52px;height:52px;line-height:0;display:block}.companion-dashboard .wb-quick-label{color:#1a1b1c;text-align:center;font-size:12px;font-weight:600;line-height:1.25}.companion-dashboard .wb-pending-card{border:1px solid var(--wbc-line);box-shadow:var(--wbc-shadow);background:#fff;border-radius:18px;padding:16px}.companion-dashboard .wb-pending-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.companion-dashboard .wb-pending-title{color:var(--wbc-ink);align-items:center;gap:7px;margin:0;font-size:15px;font-weight:750;display:inline-flex}.companion-dashboard .wb-pending-count{background:var(--wbc-brand-soft);min-width:20px;height:20px;color:var(--wbc-brand);border-radius:999px;place-items:center;padding:0 6px;font-size:11.5px;font-weight:750;display:inline-grid}.companion-dashboard .wb-pending-all{height:24px;min-height:24px;max-height:24px;color:var(--wbc-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:1px;padding:0 2px;font-size:12px;font-weight:650;display:inline-flex}.companion-dashboard .wb-pending-all:hover{color:var(--wbc-brand)}.companion-dashboard .wb-pending-list{flex-direction:column;gap:6px;display:flex}.companion-dashboard .wb-pending-item{border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:9px 10px;display:flex}.companion-dashboard .wb-pending-item+.wb-pending-item{border-top:1px solid #0000}.companion-dashboard .wb-pending-item.is-next{background:var(--wbc-brand-soft);border-color:#e6e1fc}.companion-dashboard .wb-pending-avatar{flex:none;width:44px;height:44px;display:block}.companion-dashboard .wb-pending-when{min-width:38px;color:var(--wbc-ink);font-variant-numeric:tabular-nums;flex:none;font-size:14px;font-weight:750}.companion-dashboard .wb-pending-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.companion-dashboard .wb-pending-name{color:var(--wbc-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.companion-dashboard .wb-pending-meta{color:var(--wbc-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.companion-dashboard .wb-pending-side{flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.companion-dashboard .wb-pending-badge{color:#6c5ce7;white-space:nowrap;background:#efeafe;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;line-height:1.6}.companion-dashboard .wb-pending-go{color:#5b4be8;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d9d3f7;border-radius:999px;flex:none;align-items:center;height:30px;min-height:30px;max-height:30px;padding:6px 14px;font-size:12px;font-weight:650;line-height:1;transition:background .16s,border-color .16s;display:inline-flex}.companion-dashboard .wb-pending-go:hover{background:#f7f5ff;border-color:#bdb2f2}.companion-dashboard .wb-pending-item.is-next .wb-pending-go{color:#fff;background:linear-gradient(105deg,#6c5ce7,#8b7cf0);border-color:#0000;box-shadow:0 6px 14px #6c5ce747}.companion-dashboard .wb-pending-item.is-next .wb-pending-go:hover{background:linear-gradient(105deg,#5b4be8,#7a68ec);border-color:#0000}.companion-dashboard .wb-pending-empty{color:var(--wbc-muted);margin:0;padding:8px 0;font-size:12.5px}@media (width<=800px){html:has(.companion-dashboard){background:0 0}.app:has(.companion-dashboard){background:0 0}body:has(.companion-dashboard){background:#f8f9ff url(/assets/mobile-workbench-background-8B72eWRE.png) top/cover no-repeat fixed}.companion-dashboard{padding-top:max(8px,env(safe-area-inset-top));gap:14px}.companion-dashboard .companion-dashboard-head{gap:12px}.companion-dashboard .companion-dashboard-head h1{font-size:24px}.companion-dashboard .companion-dashboard-head h1 .companion-wave{margin-left:4px;font-size:18px}.companion-dashboard .companion-dashboard-head>div>span{margin-top:4px;font-size:12px}.companion-dashboard .companion-profile-card{align-items:center;padding:14px;grid-template-columns:minmax(0,.72fr) minmax(0,1.5fr)!important;gap:8px!important}.companion-dashboard .companion-profile-stats>div{padding:0 2px}.companion-dashboard .companion-profile-stat-label{white-space:nowrap}.companion-dashboard .companion-profile-avatar{width:52px;height:52px}.companion-dashboard .companion-profile-stats strong{font-size:22px}.companion-dashboard .companion-profile-stat-label{font-size:11px}.companion-dashboard .wb-quick-card{padding:14px 14px 16px}.companion-dashboard .wb-quick-grid{gap:12px 6px}.companion-dashboard .wb-quick-icon{width:52px;height:52px}.companion-dashboard .wb-pending-item{gap:8px;padding:8px}.companion-dashboard .wb-pending-avatar{width:38px;height:38px}.companion-dashboard .wb-pending-when{min-width:34px;font-size:13px}.companion-dashboard .wb-pending-go{height:28px;min-height:28px;max-height:28px;padding:5px 11px;font-size:11.5px}.mobile-primary-nav.bottom{box-sizing:border-box;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;height:64px!important;min-height:64px!important;padding:5px 10px calc(5px + env(safe-area-inset-bottom))!important;border:1px solid #19202d0f!important;border-radius:18px!important;display:grid!important;box-shadow:0 6px 20px #1d25371a!important}.mobile-primary-nav button{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px!important;padding:2px 0!important;display:flex!important}.mobile-primary-nav button .ic{width:32px!important;height:32px!important;margin:0!important}.mobile-primary-nav button .ic svg{width:22px!important;height:22px!important}.mobile-primary-nav .bottom-label{color:inherit;white-space:nowrap;font-size:10px;font-weight:600;line-height:1;display:block}.mobile-primary-nav button.active .bottom-label{font-weight:750}.mobile-primary-nav button.active .ic{border-radius:0!important;width:32px!important;height:32px!important;transform:none!important}.mobile-primary-nav button.active:not(.bottom-record-button) .ic{color:#6c5ce7!important;box-shadow:none!important;background:0 0!important}.mobile-primary-nav button.active:not(.bottom-record-button) .bottom-label{color:#6c5ce7!important}.mobile-primary-nav button.active:after{display:none!important}.mobile-primary-nav .bottom-record-button{justify-content:flex-start;position:relative;top:-16px!important}.mobile-primary-nav .bottom-record-button .bottom-record-icon,.mobile-primary-nav .bottom-record-button.active .bottom-record-icon{color:#fff!important;background:linear-gradient(135deg,#7c6bf0 0%,#6c5ce7 100%)!important;border:3px solid #fff!important;border-radius:50%!important;width:54px!important;height:54px!important;animation:none!important;transform:none!important;box-shadow:0 6px 14px #6c5ce73d!important}.mobile-primary-nav .bottom-record-button .bottom-record-icon svg{width:26px!important;height:26px!important}.mobile-primary-nav .bottom-record-label{margin-top:2px;font-size:10px!important;font-weight:650!important}}.att-apple{--att-ink:#111827;--att-ink-2:#7c86a5;--att-brand:#6c63f5;--att-brand-2:#7168f8;--att-hairline:#1118270e;--att-shadow:0 6px 24px #1118270e;--att-shadow-soft:0 2px 12px #1118270b;--att-r-lg:24px;--att-r:20px;--att-r-sm:16px;--att-r-xs:14px}html:has(.att-apple){background:0 0}.app:has(.att-apple){background:0 0}body:has(.att-apple){background-color:#fafbff;background-image:radial-gradient(880px 440px at 90% -8%,#6c63f51a,#0000 62%),radial-gradient(700px 400px at 4% -14%,#78aaff14,#0000 60%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:fixed;background-origin:padding-box;background-clip:border-box}.attendance-manage.att-apple{width:100%;max-width:920px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto;padding:0;display:block}.att-head{justify-content:space-between;align-items:flex-start;gap:16px;margin:4px 0 20px;display:flex}.att-head-main{flex-direction:column;min-width:0;display:flex}.att-title{color:var(--att-ink);letter-spacing:-.6px;margin:0;font-size:32px;font-weight:700;line-height:1.15}.att-sub{color:var(--att-ink-2);margin:7px 0 0;font-size:14px;font-weight:400;line-height:1.5}.att-head-side{flex-direction:column;flex:none;align-items:flex-end;gap:10px;display:flex}.att-brand-note{color:#6c63f56b;white-space:nowrap;-webkit-user-select:none;user-select:none;text-underline-offset:5px;font-family:Hanzipen SC,HanziPen SC,DFPGB_SL,Snell Roundhand,Bradley Hand,cursive;font-size:13px;font-weight:400;line-height:1.25;-webkit-text-decoration:underline wavy #8c7cf047;text-decoration:underline wavy #8c7cf047;text-decoration-thickness:1px;transform:rotate(-1.2deg)}.att-grain-pill{box-sizing:border-box;border:1px solid var(--att-hairline);height:34px;min-height:34px;max-height:34px;box-shadow:var(--att-shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.att-grain-pill .att-filter-select{color:var(--att-ink);padding:0;font-size:13px;font-weight:600}.att-filter-icon,.att-filter-caret{color:var(--att-ink-2);flex:none}.attendance-manage-filters{gap:12px;margin-bottom:20px;display:grid}.att-quick-seg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1118270b;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.att-quick-seg .att-quick{box-sizing:border-box;width:100%;height:36px;min-height:36px;max-height:36px;color:var(--att-ink-2);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:0 8px;font-size:14px;font-weight:600;line-height:1;transition:background .18s,color .18s,box-shadow .18s}.att-quick-seg .att-quick.is-active{background:linear-gradient(135deg,var(--att-brand) 0%,var(--att-brand-2) 100%);color:#fff;font-weight:650;box-shadow:0 4px 12px #6c63f538}.att-filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.att-filter-row .att-filter{box-sizing:border-box;border:1px solid var(--att-hairline);border-radius:var(--att-r-sm);height:46px;min-height:46px;max-height:46px;box-shadow:var(--att-shadow-soft);background:#fffffff0;align-items:center;gap:9px;padding:0 14px;display:flex}.att-filter-row .att-filter-select{color:var(--att-ink);font-size:15px;font-weight:500}.att-utility-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.att-utility-row .att-range{flex:auto;min-width:0;max-width:300px}.att-utility-row .att-range-trigger{border:1px solid var(--att-hairline);height:36px;min-height:36px;max-height:36px;color:var(--att-ink-2);background:#ffffffb8;border-radius:12px;padding:0 12px;font-size:12.5px;font-weight:500}.att-utility-row .att-scope-tabs{background:#1118270a;border-radius:14px;flex:none;gap:3px;padding:3px;display:flex}.att-utility-row .att-scope-tab{box-sizing:border-box;height:30px;min-height:30px;max-height:30px;color:var(--att-ink-2);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:0 12px;font-size:12.5px;font-weight:500;line-height:1}.att-utility-row .att-scope-tab.is-active{color:var(--att-brand);background:#fff;font-weight:600;box-shadow:0 1px 6px #11182712}.att-apple .attendance-manage-toast{color:#5b54d6;background:#f3f1fee6;border-radius:14px;margin:0 0 14px;padding:10px 14px;font-size:13px}.att-apple .attendance-manage-toast button{color:inherit}.att-apple>.muted{color:var(--att-ink-2);font-size:14px}.attendance-summary{flex-direction:column;gap:14px;max-width:none;margin-bottom:20px;display:flex}.att-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.att-metric{border:1px solid var(--att-hairline);border-radius:var(--att-r-lg);box-shadow:var(--att-shadow);align-items:flex-start;gap:14px;padding:20px;display:flex;position:relative}.att-metric-rate{background:linear-gradient(150deg,#f0faf3 0%,#f8fdfa 56%,#fff 100%)}.att-metric-sessions{background:linear-gradient(150deg,#f3f1fe 0%,#f8f7ff 56%,#fff 100%)}.att-metric-icon{border-radius:var(--att-r-xs);flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.att-metric-rate .att-metric-icon{color:#2f9e63;background:#34a8601a}.att-metric-sessions .att-metric-icon{color:var(--att-brand);background:#6c63f51a}.att-metric-body{flex-direction:column;min-width:0;display:flex}.att-metric small{color:var(--att-ink-2);font-size:14px;font-weight:500;line-height:1.3;display:block}.att-metric b{color:var(--att-ink);letter-spacing:-1px;margin-top:5px;font-size:38px;font-weight:700;line-height:1.05;display:block}.att-metric-rate b{color:#2f9e63}.att-metric-sessions b{color:var(--att-brand)}.att-metric-sub{color:var(--att-ink-2);margin-top:5px;font-size:13px;font-weight:400;line-height:1.3;display:block}.att-composition{border:1px solid var(--att-hairline);border-radius:var(--att-r-lg);box-shadow:var(--att-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;flex-direction:column;gap:14px;padding:20px;display:flex}.att-composition-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.att-composition-title{color:var(--att-ink);font-size:17px;font-weight:600;line-height:1.3;display:block}.att-composition-more{box-sizing:border-box;height:28px;min-height:28px;max-height:28px;color:var(--att-ink-2);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:1px;padding:0 2px 0 8px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.att-composition-more:hover{color:var(--att-brand)}.att-composition-body{align-items:center;gap:20px;display:flex}.att-donut,.att-donut svg{width:128px;height:128px}.att-donut-track{stroke:#eef0f7;stroke-width:14px}.att-donut-value{stroke-width:14px;stroke-linecap:round}.att-donut-center b{color:var(--att-ink);letter-spacing:-.5px;font-size:24px;font-weight:700;line-height:1}.att-donut-center small{color:var(--att-ink-2);font-size:11px}.att-legend{flex-direction:column;flex:auto;gap:0;min-width:0;display:flex}.att-legend-row{border-bottom:1px solid #1118270b;grid-template-columns:9px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 0;display:grid}.att-legend-row:last-child{border-bottom:0}.att-legend-dot{border-radius:999px;width:9px;height:9px}.att-legend-name{min-width:0;color:var(--att-ink-2);font-size:13px;font-weight:400}.att-legend-value{color:var(--att-ink);text-align:right;font-size:14px;font-weight:600}.att-legend-pct{min-width:46px;color:var(--att-ink-2);text-align:right;font-size:12.5px;font-weight:400}.att-legend .att-dot-present{background:linear-gradient(135deg,#7c8cf6,#9b8cf0)}.att-legend .att-dot-leave{background:#f0a94c}.att-legend .att-dot-absent{background:#e9756f}.att-legend .att-dot-unrecorded{background:#a9a3c4}.att-detail-block{flex-direction:column;gap:12px;display:flex}.att-detail-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.att-detail-title{color:var(--att-ink);font-size:17px;font-weight:600;line-height:1.3;display:block}.att-detail-compare{color:var(--att-ink-2);font-size:13px;font-weight:500}.att-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.att-detail{border:1px solid var(--att-hairline);border-radius:var(--att-r);box-shadow:var(--att-shadow-soft);justify-content:flex-start;align-items:flex-start;gap:12px;padding:16px;display:flex}.att-detail-icon{border-radius:var(--att-r-xs);opacity:1;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:0;display:inline-flex}.att-detail-body{flex-direction:column;min-width:0;display:flex}.att-detail small{color:var(--att-ink-2);font-size:13px;font-weight:400;line-height:1.2;display:block}.att-detail b{color:var(--att-ink);letter-spacing:-.4px;margin-top:3px;font-size:24px;font-weight:700;line-height:1.15;display:block}.att-detail-delta{color:#a5adc2;margin-top:5px;font-size:12px;line-height:1.2;display:block}.att-detail-absent{background:linear-gradient(160deg,#fff5f5 0%,#fff 74%)}.att-detail-absent .att-detail-icon{color:#d8605a;background:#e9756f1f}.att-detail-unrecorded{background:linear-gradient(160deg,#f7f8fc 0%,#fff 74%)}.att-detail-unrecorded .att-detail-icon{color:#6f7a99;background:#7c86a521}.att-detail-lessons{background:linear-gradient(160deg,#f4f7ff 0%,#fff 74%)}.att-detail-lessons .att-detail-icon{color:#4e7be0;background:#5d8cf01f}.att-detail-amount{background:linear-gradient(160deg,#f7f5ff 0%,#fff 74%)}.att-detail-amount .att-detail-icon{color:var(--att-brand);background:#6c63f51f}@media (width<=800px){.att-title{letter-spacing:-.4px;font-size:26px}.att-sub{font-size:13px}.att-brand-note{text-underline-offset:4px;font-size:11.5px}.att-utility-row .att-range{max-width:none}.att-utility-row .att-scope-tabs{justify-content:space-between;width:100%}.att-utility-row .att-scope-tab{text-align:center;flex:auto;padding:0 8px}}@media (width<=560px){.att-metric{border-radius:var(--att-r);flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.att-metric b{letter-spacing:-.8px;font-size:36px}.att-metric-icon{width:34px;height:34px}.att-composition,.att-detail{padding:16px}.att-composition-body{gap:14px}.att-donut,.att-donut svg{width:112px;height:112px}.att-donut-center b{font-size:21px}.att-legend-row{gap:8px}.att-legend-pct{min-width:40px;font-size:12px}.att-detail{flex-direction:column;align-items:flex-start;gap:8px}.att-detail b{font-size:21px}.att-detail-icon{border-radius:12px;width:30px;height:30px}}@media (width<=360px){.att-composition-body{flex-direction:column;align-items:stretch}.att-donut{align-self:center}.att-quick-seg .att-quick{font-size:13px}}@media (width>=481px) and (width<=1100px){.companion-dashboard .companion-profile-identity{flex:0 auto;width:auto;min-width:0}.companion-dashboard .companion-profile-identity>div{min-width:0}.companion-dashboard .companion-profile-stats{flex:auto;width:auto;min-width:0}.companion-dashboard .companion-profile-card{min-height:0;padding:6px 28px}.companion-dashboard .companion-profile-identity{gap:4px}.companion-dashboard .companion-profile-avatar{margin:0}.companion-dashboard .companion-profile-stats{align-self:center}.companion-dashboard .companion-profile-stats>div{gap:4px}.companion-dashboard .companion-profile-stat-label{font-size:12px}.companion-dashboard .companion-profile-stat-icon{flex-basis:28px;width:28px;height:28px}.companion-dashboard .companion-profile-stat-icon svg{width:14px;height:14px}}@media (width<=480px){.companion-dashboard .companion-profile-card{align-items:center;padding:12px 8px;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important}.companion-dashboard .companion-profile-identity{gap:3px;min-width:0;width:auto!important}.companion-dashboard .companion-profile-avatar{width:48px;height:48px;margin:0}.companion-dashboard .companion-profile-identity b{font-size:13px}.companion-dashboard .companion-profile-identity span{font-size:10px}.companion-dashboard .companion-profile-stats{display:contents!important}.companion-dashboard .companion-profile-stats>div{border-left:1px solid var(--wbc-line);align-content:center;align-self:stretch;gap:4px;padding:0 2px}.companion-dashboard .companion-profile-stats strong{font-size:21px}.companion-dashboard .companion-profile-stat-label{gap:1px;font-size:9px}.companion-dashboard .companion-profile-stat-icon{flex-basis:20px;width:20px;height:20px}.companion-dashboard .companion-profile-stat-icon svg{width:11px;height:11px}}@media (width>=481px) and (width<=1100px){.companion-dashboard .companion-profile-card{background:#fff;border-radius:26px;align-items:center;gap:0;min-height:160px;padding:20px 24px;box-shadow:0 8px 22px #2f25710b;grid-template-columns:minmax(0,1.05fr) repeat(3,minmax(0,1fr))!important;display:grid!important}.companion-dashboard .companion-profile-card>.companion-profile-identity{justify-content:center;gap:9px;width:auto;min-width:0}.companion-dashboard .companion-profile-identity>div{align-items:flex-start;gap:2px;min-width:0}.companion-dashboard .companion-profile-avatar{width:52px;height:52px;margin:0}.companion-dashboard .companion-profile-identity b{font-size:17px;font-weight:650}.companion-dashboard .companion-profile-identity span{font-size:13px}.companion-dashboard .companion-profile-stats{display:contents!important}.companion-dashboard .companion-profile-stats>div{border-left:1px solid #e8eaf2cc;align-content:center;align-self:stretch;gap:9px;padding:0 8px}.companion-dashboard .companion-profile-stats strong{font-size:35px;font-weight:700;line-height:1}.companion-dashboard .companion-profile-stat-label{color:#6f7895;gap:5px;font-size:14px;font-weight:450}.companion-dashboard .companion-profile-stat-icon{flex-basis:38px;width:38px;height:38px}.companion-dashboard .companion-profile-stat-icon svg{width:19px;height:19px}.companion-dashboard .companion-profile-stat-label>svg:last-child{color:#9aa5bd;width:12px;height:12px}}.class-bulk-teacher-bar{justify-content:flex-end;margin:0 0 10px;display:flex}.class-bulk-teacher-link{color:#4a52b8;white-space:nowrap;cursor:pointer;background:#f5f6ff;border:1px solid #d9dcf5;border-radius:999px;align-items:center;height:30px;min-height:30px;max-height:30px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:600;line-height:1;transition:background .16s,border-color .16s;display:inline-flex}.class-bulk-teacher-link:hover{background:#eaecff;border-color:#c3c8f0}.class-bulk-teacher-link:focus-visible{outline-offset:2px;outline:2px solid #4b81ee}.class-bulk-teacher-modal{width:min(600px,100vw - 28px)}.class-bulk-teacher-modal .modal-head b{white-space:nowrap}.class-bulk-teacher-quick{color:#27344b;background:#f7f9ff;border:1px solid #e2e8f2;border-radius:12px;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.class-bulk-teacher-quick select{min-width:0;height:40px;min-height:40px;max-height:40px;font:inherit;color:#27344b;background:#fff;border:1px solid #d9e2f2;border-radius:9px;flex:auto;padding:0 10px;font-size:13px}.class-bulk-teacher-quick small{color:#8a8fa8;flex:none;font-size:11px;font-weight:400}.class-bulk-teacher-list{background:#fff;border:1px solid #e9edf5;border-radius:12px;flex-direction:column;max-height:min(50dvh,440px);display:flex;overflow-y:auto}.class-bulk-teacher-row{border-bottom:1px solid #f1f3f8;align-items:center;gap:12px;padding:10px 12px;display:flex}.class-bulk-teacher-row:last-child{border-bottom:0}.class-bulk-teacher-row.is-blocked{background:#fbfbfc}.class-bulk-teacher-info{flex:auto;min-width:0}.class-bulk-teacher-info b{color:#1a1b1c;overflow-wrap:anywhere;font-size:14px;font-weight:700;line-height:1.35;display:block}.class-bulk-teacher-info small{color:#8b93a6;margin-top:2px;font-size:11px;font-weight:400;display:block}.class-bulk-teacher-select{width:min(180px,42vw);height:38px;min-height:38px;max-height:38px;font:inherit;color:#27344b;background:#fff;border:1px solid #d9e2f2;border-radius:9px;flex:none;padding:0 10px;font-size:13px}.class-bulk-teacher-select:disabled{color:#a2a8b5;background:#f4f5f8}@media (width<=560px){.class-bulk-teacher-quick{flex-wrap:wrap}.class-bulk-teacher-quick small{flex:100%}.class-bulk-teacher-row{flex-direction:column;align-items:stretch;gap:8px}.class-bulk-teacher-select{width:100%}}.profile .profile-pwd{color:var(--muted);background:0 0;border-radius:6px;min-height:30px;max-height:30px;margin-left:auto;padding:0;font-size:13px;line-height:30px}.profile .profile-pwd:hover{color:var(--brand)}.profile .logout{margin-left:auto}.profile .profile-pwd+.logout{margin-left:0}.teacher-pwd-modal{width:min(400px,100vw - 32px)}.teacher-pwd-form .field{margin-bottom:12px}.teacher-pwd-form .field input{width:100%}.teacher-pwd-done .msg{color:var(--brand);align-items:center;gap:7px;margin:4px 0 14px;font-weight:600;display:flex}.course-avatar{box-sizing:border-box;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.course-avatar-glyph{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-style:normal;display:block;transform:translateY(1px)}.wb-classes{max-width:980px;margin:0 auto;padding:4px 0 8px;display:block}.wb-classes-head{align-items:flex-start;gap:12px;margin:2px 0 14px;display:flex}.wb-classes-heading{flex:1;min-width:0}.wb-classes-back{color:#20264a;background:#ffffffb8;border:1px solid #171a3c0f;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;min-height:34px;max-height:34px;padding:0;display:none}.wb-classes-title{letter-spacing:-.4px;color:#151c34;margin:0;font-size:26px;font-weight:800;line-height:1.2}.wb-classes-sub{color:#7c86a2;margin:5px 0 0;font-size:13px;line-height:1.3}.wb-classes-new{color:#fff;background:#6a60fb;border-radius:999px;flex:none;align-items:center;gap:5px;height:34px;min-height:34px;max-height:34px;padding:0 15px;font-size:14px;font-weight:650;line-height:1;display:inline-flex;box-shadow:0 6px 14px #6a60fb42}.wb-classes-new:hover{background:#5b51f0}.wb-classes-new:active{transform:translateY(1px)}.wb-classes-search-row{grid-template-columns:minmax(0,1fr) 132px;gap:10px;margin-bottom:12px;display:grid}.wb-classes-search{box-sizing:border-box;color:#98a2b8;background:#fff;border:1px solid #171a3c12;border-radius:16px;align-items:center;gap:8px;height:48px;min-height:48px;padding:0 14px;display:flex;box-shadow:0 1px 3px #171a3c08}.wb-classes-search:focus-within{border-color:#b9b2ff;box-shadow:0 0 0 3px #6a60fb29}.wb-classes-search input{color:#1b2440;background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;min-height:0;font-size:15px}.wb-classes-search input::placeholder{color:#a6aec4}.wb-classes-weekday{box-sizing:border-box;background:#fff;border:1px solid #171a3c12;border-radius:16px;align-items:center;height:48px;min-height:48px;display:flex;position:relative;box-shadow:0 1px 3px #171a3c08}.wb-classes-weekday select{appearance:none;color:#2b3357;background:0 0;border:0;outline:none;width:100%;height:100%;min-height:0;padding:0 30px 0 14px;font-size:14px;font-weight:600}.wb-classes-weekday>.wb-classes-weekday-caret{pointer-events:none;color:#8a93ae;position:absolute;right:10px}.wb-class-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;margin:0;padding:2px 0 10px;display:flex;overflow:auto hidden}.wb-class-chips::-webkit-scrollbar{display:none}.wb-class-chips button{color:#5c6689;white-space:nowrap;background:#f3f3fc;border:0;border-radius:999px;flex:none;height:32px;min-height:32px;max-height:32px;padding:0 15px;font-size:13.5px;font-weight:600;line-height:1}.wb-class-chips button.active{color:#fff;background:#6a60fb}.wb-classes-reminder{box-sizing:border-box;text-align:left;background:#fff0df;border:1px solid #e98a2724;border-radius:14px;align-items:center;gap:9px;width:100%;min-height:42px;max-height:42px;margin-bottom:14px;padding:0 14px;display:flex}.wb-classes-reminder-icon{color:#fff;background:#f7902f;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;min-height:20px;display:inline-flex}.wb-classes-reminder-text{color:#b4611a;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.wb-classes-reminder-go{color:#d97706;flex:none;align-items:center;gap:2px;font-size:13.5px;font-weight:700;display:inline-flex}.wb-classes-list-head{justify-content:space-between;align-items:center;gap:12px;margin:2px 2px 10px;display:flex}.wb-classes-list-head b{color:#151c34;font-size:16px;font-weight:750}.wb-classes-manage{color:#6a60fb;background:#f1eefe;border-radius:999px;flex:none;align-items:center;gap:5px;height:30px;min-height:30px;max-height:30px;padding:0 12px;font-size:13.5px;font-weight:650;line-height:1;display:inline-flex}.wb-classes-manage.is-on{color:#fff;background:#6a60fb}.wb-classes-list{flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;display:flex}.wb-class-card{box-sizing:border-box;background:#fffffff5;border:1px solid #171a3c0b;border-radius:20px;padding:16px 16px 16px 14px;transition:box-shadow .18s,transform .18s;display:block;position:relative;box-shadow:0 4px 18px #171a3c0e}.wb-class-card.is-selected{border-color:#b9b2ff;box-shadow:0 0 0 2px #6a60fb2e,0 6px 18px #171a3c12}.wb-class-card-main{text-align:left;background:0 0;border:0;align-items:center;gap:13px;width:100%;min-height:0;max-height:none;padding:0;display:flex}.wb-class-card-copy{flex-direction:column;flex:1;gap:5px;min-width:0;padding-right:96px;display:flex}.wb-class-card-name{color:#151c34;text-overflow:ellipsis;white-space:nowrap;font-size:16.5px;font-weight:750;line-height:1.25;display:block;overflow:hidden}.wb-class-card-course{color:#7c86a2;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;display:block;overflow:hidden}.wb-class-card-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:1px;display:flex}.wb-class-chip{box-sizing:border-box;color:#5c6689;white-space:nowrap;background:#f4f6fc;border-radius:8px;align-items:center;gap:4px;height:24px;min-height:24px;padding:0 9px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.wb-class-chip.is-pending{color:#c2711b;background:#fff3e5}.wb-class-card-more{color:#98a2b8;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;min-height:30px;max-height:30px;padding:0;display:inline-flex;position:absolute;top:11px;right:11px}.wb-class-card-more:hover{color:#5c6689;background:#f4f5fb}.wb-class-card-count{color:#7c86a2;background:0 0;align-items:center;gap:3px;height:22px;min-height:22px;max-height:22px;padding:0;font-size:13px;font-weight:600;line-height:1;display:inline-flex;position:absolute;bottom:14px;right:14px}.wb-class-card-count b{color:#3d4666;font-weight:750}.wb-classes-empty{color:#7c86a2;margin:6px 2px;font-size:13.5px}.wb-sheet-overlay{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14182d57;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.wb-sheet{box-sizing:border-box;width:min(420px,100%);padding:10px 12px calc(14px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0;margin:0;animation:.22s cubic-bezier(.16,1,.3,1) wb-sheet-in;box-shadow:0 -12px 34px #14182d2e}@keyframes wb-sheet-in{0%{opacity:.6;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wb-sheet{animation:none}}.wb-sheet-head{border-bottom:1px solid #eef0f7;align-items:center;gap:10px;margin-bottom:6px;padding:6px 6px 12px;display:flex}.wb-sheet-head b{color:#151c34;text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;font-weight:750;overflow:hidden}.wb-sheet-head small{color:#7c86a2;margin-top:2px;font-size:12.5px;font-weight:500;display:block}.wb-sheet-item{color:#242b47;text-align:left;background:0 0;border-radius:12px;align-items:center;gap:10px;width:100%;height:48px;min-height:48px;max-height:48px;padding:0 10px;font-size:15px;font-weight:600;display:flex}.wb-sheet-item:hover{background:#f5f6fc}.wb-sheet-item.is-danger{color:#dc4c4c}.wb-sheet-item.is-danger:hover{background:#fef2f2}.wb-sheet-cancel{color:#3d4666;background:#f4f5fb;border-radius:14px;justify-content:center;align-items:center;width:100%;height:48px;min-height:48px;max-height:48px;margin-top:6px;font-size:15px;font-weight:700;display:flex}.wb-class-card-select{pointer-events:none;border:2px solid #0000;border-radius:20px;position:absolute;inset:0}.wb-class-card.is-selected .wb-class-card-select{border-color:#0000}@media (width<=800px){.wb-classes{max-width:none;padding:0 2px 6px}.wb-classes-head{align-items:center;gap:10px;margin:0 0 12px}.wb-classes-back{display:inline-flex}.wb-classes-title{font-size:23px}.wb-classes-new{height:32px;min-height:32px;max-height:32px;padding:0 13px;font-size:13.5px}.wb-classes-search-row{grid-template-columns:minmax(0,1fr) 116px;gap:8px}.wb-classes-search,.wb-classes-weekday{border-radius:15px;height:46px;min-height:46px}.wb-classes-search input{font-size:14.5px}.wb-classes-weekday select{padding-left:12px;font-size:13.5px}.wb-class-card{border-radius:18px;padding:14px 14px 14px 12px}.wb-class-card-copy{gap:4px;padding-right:78px}.wb-class-card-name{font-size:15.5px}.wb-class-card-more{width:28px;height:28px;min-height:28px;max-height:28px;top:9px;right:9px}.wb-class-card-count{font-size:12.5px;bottom:12px;right:12px}.wb-class-chip{height:22px;min-height:22px;padding:0 8px;font-size:11.5px}}@media (width<=400px){.wb-class-card-copy{padding-right:70px}}.wb-class-emoji-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;max-height:min(46vh,320px);padding:4px 2px 8px;display:grid;overflow-y:auto}.wb-class-emoji-option{background:#f5f6fc;border-radius:12px;justify-content:center;align-items:center;width:100%;height:44px;min-height:44px;max-height:44px;padding:0;font-size:22px;line-height:1;display:flex}.wb-class-emoji-option:hover{background:#edeefa}.wb-class-emoji-option.is-active{background:#f1eefe;box-shadow:inset 0 0 0 2px #6a60fb66}@media (width<=800px){html:has(.wb-classes){background:0 0}.app:has(.wb-classes){background:0 0}body:has(.wb-classes){background-color:#f2f2fe;background-image:none}}.app .main{padding-bottom:calc(128px + env(safe-area-inset-bottom,0px))}.app .mobile-primary-nav.bottom{z-index:60;left:50%;right:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));box-sizing:border-box;grid-template-columns:repeat(5,minmax(0,1fr));justify-content:stretch;align-items:center;gap:4px;position:fixed;transform:translate(-50%);-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fffffff5!important;border:1px solid #e1e6f2bf!important;border-radius:26px!important;width:min(100vw - 32px,920px)!important;height:72px!important;min-height:72px!important;padding:6px 14px!important;display:grid!important;box-shadow:0 7px 20px #4650781a!important}.app .mobile-primary-nav.bottom button{flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;min-width:0;line-height:1.1;color:#aab2c4!important;min-height:52px!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:2px 0!important;font-size:12px!important;font-weight:500!important;display:flex!important}.app .mobile-primary-nav.bottom button .ic{place-items:center;width:26px!important;height:26px!important;color:inherit!important;box-shadow:none!important;background:0 0!important;margin:0!important;display:grid!important}.app .mobile-primary-nav.bottom button .ic svg{color:currentColor!important;stroke:currentColor!important;width:24px!important;height:24px!important}.app .mobile-primary-nav.bottom button.active:not(.bottom-record-button){color:#635bff!important}.app .mobile-primary-nav.bottom button.active:not(.bottom-record-button) .bottom-label{font-weight:650;color:#635bff!important}.app .mobile-primary-nav.bottom button:active{transform:none!important}.app .mobile-primary-nav.bottom .bottom-record-button{z-index:1;justify-content:flex-start;gap:2px;position:relative;color:#98a2ba!important;top:-25px!important}.app .mobile-primary-nav.bottom .bottom-record-button .bottom-record-icon,.app .mobile-primary-nav.bottom .bottom-record-button.active .bottom-record-icon{color:#fff!important;background:#635bff!important;border:3px solid #fff!important;border-radius:50%!important;width:56px!important;height:56px!important;margin:0!important;animation:none!important;transform:none!important;box-shadow:0 7px 16px #635bff3b!important}.app .mobile-primary-nav.bottom .bottom-record-button .bottom-record-icon svg{stroke-width:2.2px;width:27px!important;height:27px!important}.app .mobile-primary-nav.bottom .bottom-record-label{margin:0;line-height:1.1;color:#98a2ba!important;font-size:12px!important;font-weight:500!important}.app .mobile-primary-nav.bottom .bottom-label{line-height:1.1;font-size:12px!important}@media (width<=800px){.app .main{padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))!important}.app .mobile-primary-nav.bottom{width:calc(100vw - 32px)!important}}@media (width>=801px){.app .mobile-primary-nav.bottom{display:none!important}}@media (width<=480px){.companion-dashboard .companion-profile-card{min-height:118px;padding:10px 6px}.companion-dashboard .companion-profile-avatar{width:42px;height:42px}.companion-dashboard .companion-profile-identity b{font-size:12px}.companion-dashboard .companion-profile-identity span{font-size:9px}.companion-dashboard .companion-profile-stats>div{gap:3px;padding:0 1px}.companion-dashboard .companion-profile-stats strong{font-size:20px}.companion-dashboard .companion-profile-stat-label{font-size:8px}.companion-dashboard .companion-profile-stat-icon,.companion-dashboard .companion-profile-stat-label>svg:last-child{display:none}}@media (width>=481px) and (width<=1100px){.companion-dashboard .companion-profile-card{border-radius:20px;min-height:128px;padding:16px 20px}.companion-dashboard .companion-profile-avatar{width:46px;height:46px}.companion-dashboard .companion-profile-identity b{font-size:15px}.companion-dashboard .companion-profile-identity span{font-size:12px}.companion-dashboard .companion-profile-stats>div{gap:6px;padding:0 6px}.companion-dashboard .companion-profile-stats strong{font-size:30px}.companion-dashboard .companion-profile-stat-label{white-space:nowrap;justify-content:center;gap:4px;font-size:12px;overflow:visible}.companion-dashboard .companion-profile-stat-icon{flex-basis:30px;width:30px;height:30px}.companion-dashboard .companion-profile-stat-icon svg{width:15px;height:15px}}@media (width>=561px){.schedule-page{max-width:1120px!important;padding:28px 36px 32px!important}.schedule-page .schedule-toolbar{align-items:center!important}.schedule-page .schedule-range{gap:12px!important;margin:12px 0 10px!important}.schedule-page .schedule-range b{font-size:20px!important}.schedule-page .schedule-range button{width:44px!important;height:44px!important}.schedule-page .schedule-date-strip{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:12px!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0 0 10px!important}.schedule-page .schedule-date-item{border-radius:16px!important;gap:5px!important;min-width:0!important;min-height:78px!important;padding:10px 6px!important}.schedule-page .schedule-date-item span{font-size:13px!important}.schedule-page .schedule-date-item b{font-size:22px!important}.schedule-page .schedule-date-item.selected{background:var(--brand-gradient)!important;box-shadow:0 6px 14px #4d59e02e!important}.schedule-page>.muted{margin:0 0 8px!important;font-size:13px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.companion-dashboard .companion-profile-stats>div{place-items:center}.companion-dashboard .companion-profile-stats>div:nth-child(3) .companion-profile-stat-label>span:last-of-type{background:linear-gradient(100deg,#5a73ff 0%,#765ef5 52%,#9a66ed 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.companion-dashboard .companion-profile-stats>div.has-dot>strong:after{width:8px;height:8px;top:-7px;right:-9px}@media (width<=480px){.companion-dashboard .companion-profile-card{min-height:124px;padding:14px 8px;grid-template-columns:92px repeat(3,minmax(0,1fr))!important;gap:0!important}.companion-dashboard .companion-profile-card>.companion-profile-identity{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:0;width:auto!important;display:flex!important}.companion-dashboard .companion-profile-avatar{width:48px;height:48px;margin:0}.companion-dashboard .companion-profile-identity b{font-size:15px}.companion-dashboard .companion-profile-identity span{font-size:11px}.companion-dashboard .companion-profile-stats{display:contents!important}.companion-dashboard .companion-profile-stats>div{flex-direction:column;place-content:center;align-items:center;gap:4px;min-width:0;padding:0 3px;display:flex!important}.companion-dashboard .companion-profile-stats strong{font-size:29px;line-height:.95}.companion-dashboard .companion-profile-stat-label{white-space:normal;justify-content:center;gap:3px;max-width:100%;margin:0;font-size:11px;line-height:1.2;overflow:visible}.companion-dashboard .companion-profile-stat-icon{flex:0 0 18px;width:18px;height:18px;display:grid}.companion-dashboard .companion-profile-stat-icon svg{width:11px;height:11px}.companion-dashboard .companion-profile-stat-label>svg:last-child{display:none}}.wb-students{max-width:752px;margin:0 auto;padding:6px 16px 10px;display:block}.wb-students-back{color:#20264a;background:#fffc;border:1px solid #171a3c0f;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;min-height:34px;max-height:34px;margin:0 0 2px -6px;padding:0;display:none}.wb-students-top{align-items:center;gap:12px;margin:0 0 18px;display:flex}.wb-students-heading{flex:1;min-width:0}.wb-students-title{letter-spacing:-.4px;color:#111827;margin:0;font-size:28px;font-weight:750;line-height:1.15}.wb-students-sub{color:#8a93ad;margin:6px 0 0;font-size:14px;line-height:1.3}.wb-students-add{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#635bff 0%,#7168f8 100%);border:0;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:6px;height:44px;min-height:44px;max-height:44px;padding:0 18px;font-size:15px;font-weight:650;line-height:1;display:inline-flex;box-shadow:0 4px 12px #635bff33}.wb-students-add:hover{filter:brightness(1.04);background:linear-gradient(135deg,#635bff 0%,#7168f8 100%)}.wb-students-add:active{transform:translateY(1px)}.wb-students-searchrow{grid-template-columns:minmax(0,1fr) 96px;gap:10px;margin:0 0 14px;display:grid}.wb-students-search{box-sizing:border-box;color:#98a2b8;background:#fff;border:1px solid #171a3c12;border-radius:14px;align-items:center;gap:8px;height:48px;min-height:48px;padding:0 14px;display:flex;box-shadow:0 1px 3px #171a3c08}.wb-students-search:focus-within{border-color:#b9b2ff;box-shadow:0 0 0 3px #635bff24}.wb-students-search .student-search{width:100%;min-width:0;height:100%;min-height:0;box-shadow:none;color:#111827;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:16px}.wb-students-search .student-search::placeholder{color:#a6aec4}.wb-students-manage{color:#3d4666;white-space:nowrap;background:#fffffff2;border:1px solid #171a3c12;border-radius:14px;justify-content:center;align-items:center;gap:6px;height:48px;min-height:48px;max-height:48px;padding:0 10px;font-size:14.5px;font-weight:650;line-height:1;display:inline-flex;box-shadow:0 1px 3px #171a3c08}.wb-students-manage:hover{background:#fff}.wb-students-manage.active,.wb-students-manage.active:hover{color:#fff;background:#635bff;border-color:#635bff}.wb-students-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;margin:0;padding:2px 0 10px;display:flex;overflow:auto hidden}.wb-students-chips::-webkit-scrollbar{display:none}.wb-students-chips button{color:#5c6689;white-space:nowrap;background:#f6f7fb;border:1px solid #171a3c0b;border-radius:999px;flex:none;height:36px;min-height:36px;max-height:36px;padding:0 15px;font-size:13.5px;font-weight:600;line-height:1}.wb-students-chips button.active{color:#fff;background:#635bff;border-color:#635bff}.wb-students-listhead{justify-content:space-between;align-items:center;gap:12px;margin:14px 2px 12px;display:flex}.wb-students-listhead b{color:#111827;font-size:20px;font-weight:700}.wb-students-sort{color:#7c86a5;cursor:pointer;align-items:center;gap:4px;font-size:14px;font-weight:550;display:inline-flex;position:relative}.wb-students-sort:focus-within{outline-offset:2px;border-radius:8px;outline:2px solid #b9b2ff}.wb-students-sort select{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.students-card{box-shadow:none;background:0 0;border:0;flex-direction:column;gap:9px;padding:0;display:flex;position:relative;overflow:visible}.stu-row{z-index:auto;background:0 0;border:0;align-items:stretch;gap:8px;min-width:0;padding:0;display:flex;position:relative}.stu-row:first-of-type{border-top:0}.stu-row:last-child{border-bottom:0}.stu-row-hit{box-sizing:border-box;text-align:left;background:#fff;border:0;border-radius:19px;flex:1;align-items:center;gap:13px;width:100%;min-width:0;min-height:86px;max-height:96px;padding:14px;transition:box-shadow .18s,transform .18s;display:flex;box-shadow:0 2px 12px #171a3c0d}.stu-row-hit:hover{background:#fff;box-shadow:0 4px 16px #171a3c14}.stu-row-hit:active{transform:scale(.995)}.stu-row .stu-row-hit.student-archive-action{width:100%;font-size:inherit!important;color:inherit!important;background:#fff!important;border:0!important;padding:14px!important;box-shadow:0 2px 12px #171a3c0d!important}.stu-row .stu-row-hit.student-archive-action:hover{background:#fff!important;box-shadow:0 4px 16px #171a3c14!important}.stu-row-avatar{flex:0 0 50px;width:50px;height:50px}.stu-row-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.stu-row-copy b{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:650;line-height:1.2;overflow:hidden}.stu-row-copy small{color:#7c86a5;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:450;line-height:1.2;overflow:hidden}.stu-row-pill{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;height:28px;min-height:28px;max-height:28px;padding:0 11px;font-size:12.5px;font-weight:650;line-height:1;display:inline-flex}.stu-row-pill svg{fill:currentColor}.stu-row-pill.is-unrated{color:#8a93a8;background:#f4f5f8}.stu-row-pill.is-good{color:#2e9e5b;background:#e7f6ec}.stu-row-pill.is-fair{color:#c77a1f;background:#fdf4e5}.stu-row-chevron{color:#a3abc0;flex:none}.stu-row.is-managing .stu-row-hit{flex:1}.stu-row .student-delete-action{border-radius:12px;flex:none;align-self:center;min-height:38px;max-height:38px;padding:0 12px}@media (prefers-reduced-motion:reduce){.stu-row-hit,.wb-students-add{transition:none;transform:none}}@media (width<=800px){html:has(.wb-students){background:0 0}.app:has(.wb-students){background:0 0}body:has(.wb-students){background-color:#fafbff;background-image:radial-gradient(560px 320px at 85% -80px,#6a60fb1f,#0000 70%)}.wb-students-back{display:inline-flex}.wb-students{padding:6px 16px calc(14px + env(safe-area-inset-bottom,0px))}}@media (width<=430px){.wb-students-searchrow{grid-template-columns:minmax(0,1fr) 88px;gap:8px}.wb-students-add{padding:0 16px}}.wb-students-listwrap{max-width:752px;margin:0 auto;padding:0 16px 12px}@media (width<=800px){.wb-students-listwrap{padding:0 16px calc(14px + env(safe-area-inset-bottom,0px))}}.modal-overlay{z-index:70}.mr-page{--mr-ink:#17191f;--mr-muted:#8d96ab;--mr-muted-2:#64708b;--mr-line:#eceef4;color:#17191f;max-width:760px;margin:0 auto;padding:0 0 8px;background:0 0!important}.main:has(.mr-page){padding-top:22px;padding-left:24px;padding-right:24px}.mr-bg{display:none}@media (width<=800px){html:has(.mr-page){background:0 0}.app:has(.mr-page){background:0 0}body:has(.mr-page){background-color:#f4f7fe;background-image:none}.mr-bg{z-index:0;pointer-events:none;background:url(/assets/mobile-report-background-BrXwcl47.jpg) top/cover no-repeat;display:block;position:fixed;inset:0}.mr-page>:not(.mr-bg):not(.modal-overlay){z-index:1;position:relative}.main:has(.mr-page){padding-top:12px;padding-left:24px;padding-right:24px}}.mr-page .mr-heading{margin:0 0 20px}.mr-page .mr-title{color:#17191f;letter-spacing:-.5px;margin:0;font-size:30px;font-weight:700;line-height:1.15}.mr-page .mr-subtitle{color:#8d96ab;margin:6px 0 0;font-size:14px;font-weight:400;line-height:1.35}.mr-page .mr-toolbar{grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:12px;margin:0 0 20px;display:grid}.mr-page .mr-search,.mr-page .mr-month{box-sizing:border-box;color:#8892a8;cursor:text;align-items:center;gap:9px;font-size:14px;position:relative;background:#ffffffe6!important;border:1px solid #d7dce8b3!important;border-radius:16px!important;justify-content:flex-start!important;height:56px!important;min-height:56px!important;max-height:56px!important;padding:0 16px!important;display:flex!important;box-shadow:0 4px 16px #25305009!important}.mr-page .mr-month{cursor:pointer;justify-content:flex-start!important}.mr-page .mr-search svg,.mr-page .mr-month svg{color:#8892a8;flex:none}.mr-page .mr-month span{color:#1c1e24;text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:650;overflow:hidden}.mr-page .mr-search input{color:#1c1e24;width:100%;min-width:0;font:inherit;font-size:16px;background:0 0!important;border:0!important;outline:0!important}.mr-page .mr-search input::placeholder{color:#a5aec2!important}.mr-page .mr-month input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.mr-page .mr-search:focus-within{border-color:#b9b2ff!important;box-shadow:0 0 0 3px #635bff21!important}.mr-page .mr-month:has(input:focus-visible){border-color:#b9b2ff!important;box-shadow:0 0 0 3px #635bff21!important}.mr-page .mr-desktop-actions{flex-wrap:wrap;gap:10px;margin:0 0 20px;display:flex}@media (width<=800px){.mr-page .mr-desktop-actions{display:none}}.mr-page .mr-card{background:#fffffff0!important;border:1px solid #e1e4eca6!important;border-radius:24px!important;margin:0 0 22px!important;padding:24px!important;box-shadow:0 8px 30px #2d37550b!important}.mr-page .mr-card .report-picker-title{align-items:baseline;margin:0 0 18px}.mr-page .mr-card .report-picker-title label{color:#17191f;letter-spacing:-.2px;font-size:22px;font-weight:700;line-height:1.25}.mr-page .mr-card .report-picker-title>span{color:#64708b;font-size:14px;font-weight:500;background:0 0!important;border-radius:0!important;padding:0!important}.mr-page .mr-card .report-student-picker{max-height:none;overflow:visible;background:0 0!important;border:0!important;padding:0!important;display:block!important}.mr-page .mr-filters{border:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0 0 14px!important;padding:0!important;display:grid!important}.mr-page .mr-field{box-sizing:border-box;cursor:pointer;background:#ffffffb3;border:1px solid #e5e8f0;border-radius:16px;height:68px;padding:11px 38px 11px 16px;position:relative;display:block!important}.mr-page .mr-field-label{color:#929cb2;font-size:12px;font-weight:500;line-height:1.2;display:block}.mr-page .mr-field select{width:100%;font:inherit;text-overflow:ellipsis;appearance:none;cursor:pointer;outline:0;font-weight:500;line-height:1.3;display:block;color:#20232a!important;background:0 0!important;border:0!important;border-radius:0!important;height:auto!important;min-height:0!important;max-height:none!important;margin:5px 0 0!important;padding:0!important;font-size:16px!important}.mr-page .mr-field-caret{color:#a9b1c6;pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.mr-page .mr-bulk-row{margin:0 0 16px;display:flex}.mr-page .mr-bulk-actions{grid-template-columns:none!important;gap:10px!important;margin:0!important;display:flex!important}.mr-page .mr-select-all,.mr-page .mr-clear{height:44px;min-height:44px;max-height:44px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.mr-page .mr-select-all{color:#4e6cff;background:#f2f5ff;border:1px solid #4e6cff2e}.mr-page .mr-clear{color:#68738a;background:#f7f8fa;border:1px solid #0000}.mr-page .mr-select-all:disabled{opacity:.5;cursor:not-allowed}.mr-page .mr-select-all:focus-visible,.mr-page .mr-clear:focus-visible{outline-offset:2px;outline:2px solid #b9b2ff}.mr-page .mr-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:10px;overflow:auto hidden;background:0 0!important;border:0!important;grid-template-columns:none!important;margin:0!important;padding:2px 2px 4px!important;display:flex!important}.mr-page .mr-chips::-webkit-scrollbar{display:none}.mr-page .mr-chips .report-student-option{box-sizing:border-box;font:inherit;white-space:nowrap;cursor:pointer;flex:none;gap:6px;font-size:14.5px;font-weight:600;position:relative;color:#4b5468!important;height:44px!important;min-height:44px!important;max-height:44px!important;box-shadow:none!important;background:#f7f8fc!important;border:1px solid #ebedf3!important;border-radius:999px!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;padding:0 16px!important;display:inline-flex!important}.mr-page .mr-chips .report-student-option .report-student-name{text-align:left;max-width:none}.mr-page .mr-chips .report-student-option.selected{color:#4e6cff!important;background:#f2f5ff!important;border:1.5px solid #7892ff!important}.mr-page .mr-chips .report-student-option:after{content:none!important;display:none!important}.mr-page .mr-chips .report-student-option:focus-visible{outline-offset:2px;outline:2px solid #b9b2ff}.mr-page .mr-chip-check{fill:#4e6cff;color:#fff;flex:none}.mr-page .mr-empty{color:#929cb2;text-align:center;border-radius:16px;place-items:center;min-height:96px;padding:20px;font-size:13.5px;line-height:1.6;display:grid;background:#f7f8fcb3!important;border:1px dashed #d7dce8f2!important;margin:0!important}.mr-page .mr-queue{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}.mr-page .mr-queue .report-queue-list{flex-wrap:wrap;gap:8px;margin:16px 0 0!important;display:flex!important}.mr-page .mr-queue .report-queue-chip{border-radius:999px;align-items:center;gap:6px;height:34px;min-height:34px;max-height:34px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex;color:#5c6689!important;background:#f4f5f9!important;border:0!important}.mr-page .mr-queue .report-queue-chip.done{color:#4e6cff!important;background:#edf1fe!important}.mr-page .mr-queue .report-queue-chip.error{color:#d2544c!important;background:#fff1f0!important}.mr-page .mr-queue .report-queue-chip button:first-child{max-width:none;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:0;padding:0;color:inherit!important}.mr-page .mr-queue .report-queue-chip em{font-size:12.5px;font-style:normal;font-weight:500;color:inherit!important}.mr-page .mr-queue .report-queue-chip .queue-remove{width:14px;height:14px;color:inherit;opacity:.65;margin-left:0}.mr-page .mr-queue .mr-queue-foot{margin:14px 0 0}.mr-page .mr-queue .report-queue-preview{color:#4e6cff;height:38px;min-height:38px;max-height:38px;font:inherit;cursor:pointer;background:#f2f5ff;border:1px solid #4e6cff33;border-radius:12px;padding:0 18px;font-size:13px;font-weight:650}.mr-page .mr-queue .report-queue-error{color:#b6534d;background:#fff3f1;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.5;margin:12px 0 0!important}.mr-page .mr-card-foot{border-top:1px solid var(--mr-line);justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding-top:18px;display:flex}.mr-page .mr-foot-count{color:#64708b;min-width:0;font-size:14px;font-weight:500}.mr-page .mr-foot-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.mr-page .mr-generate{color:#fff;height:52px;min-height:52px;max-height:52px;font:inherit;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#496cff 0%,#635bff 100%);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:16px;font-weight:650;line-height:1;display:inline-flex;box-shadow:0 8px 20px #4f5eff2e}.mr-page .mr-generate:disabled{opacity:.6;cursor:not-allowed}.mr-page .mr-generate:active{transform:translateY(1px)}.mr-page .mr-publish{color:#4b5468;height:44px;min-height:44px;max-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #171a3c14;border-radius:14px;padding:0 16px;font-size:14px;font-weight:600}@media (width<=800px){.mr-page .mr-generate{flex:none}}.mr-page .mr-card>.msg{font-size:13px;line-height:1.5;color:#3f9142!important;background:#52c41a14!important;border-radius:12px!important;margin:14px 0 0!important;padding:10px 12px!important}.mr-page .mr-archive-card{overflow:hidden;background:#ffffffeb!important;border:1px solid #e1e4eca6!important;border-radius:22px!important;margin:0 0 24px!important;padding:0!important;box-shadow:0 8px 30px #2d37550b!important}.mr-page .mr-archive-head{align-items:center;gap:12px;padding:20px 20px 14px;margin:0!important}.mr-page .mr-archive-head>div{align-items:center;gap:10px;min-width:0;display:flex}.mr-page .mr-archive-head b{color:#17191f;letter-spacing:-.2px;font-size:22px;font-weight:700}.mr-page .mr-archive-head span{color:#536dff;background:#f0f2ff;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:650}.mr-page .mr-archive-head small{color:#69758f;white-space:nowrap;font-size:13px;font-weight:500}.mr-page .mr-archive-list{grid-template-columns:none!important;gap:0!important;display:block!important}.mr-page .mr-archive-row{position:relative;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;display:block!important}.mr-page .mr-archive-row+.mr-archive-row:before{content:"";background:#e1e4ece6;height:1px;position:absolute;top:0;left:76px;right:20px}.mr-page .mr-archive-row:hover,.mr-page .mr-archive-row:focus-within{box-shadow:none!important;background:#f4f6ffb8!important;border:0!important}.mr-page .mr-archive-open{box-sizing:border-box;text-align:left;width:100%;min-height:76px;font:inherit;cursor:pointer;background:0 0;border:0;justify-items:start;margin:0;grid-template-rows:auto!important;grid-template-columns:auto minmax(0,1fr) auto auto!important;align-items:center!important;gap:14px!important;padding:0 20px!important;display:grid!important}.mr-page .mr-archive-avatar{color:#5a6bf2;background-color:#eef1fe;border-radius:50%;place-items:center;width:44px;height:44px;font-size:17px;font-weight:650;line-height:1;display:grid!important}.mr-page .mr-archive-copy{justify-items:start;min-width:0;gap:3px!important;display:grid!important}.mr-page .mr-archive-copy b{color:#202229;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;font-weight:600;line-height:1.25;overflow:hidden}.mr-page .mr-archive-copy small{color:#8994ae;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;line-height:1.25;overflow:hidden}.mr-page .mr-archive-pill{color:#e58a22;white-space:nowrap;background:#fff5e8;font-size:12px;font-style:normal;font-weight:600;line-height:1.25;border-radius:999px!important;grid-area:auto!important;justify-self:auto!important;padding:6px 10px!important}.mr-page .mr-archive-pill.published{color:#2e9e5b;background:#e8f5ec}.mr-page .mr-archive-chevron{color:#b7bfd0}.mr-page .mr-archive-card .monthly-report-archive-empty{color:#8994ae;margin:0;padding:0 20px 22px;font-size:13px;line-height:1.6}@media (width<=800px){.mr-page .mr-card{border-radius:24px!important;padding:24px!important}.mr-page .mr-card-foot{flex-wrap:wrap;gap:12px}.mr-page .mr-archive-head{padding:18px 18px 12px}.mr-page .mr-archive-open{min-height:72px;gap:12px!important;padding:0 18px!important}.mr-page .mr-archive-row+.mr-archive-row:before{left:72px;right:18px}.mr-page .mr-archive-avatar{width:42px;height:42px;font-size:16px}.mr-page .mr-toolbar{grid-template-columns:minmax(0,1fr) minmax(148px,max-content);gap:12px}.mr-page .mr-month{gap:7px;padding:0 12px!important}.mr-page .mr-month span{font-size:14px}}@media (width<=430px){.mr-page .mr-toolbar{grid-template-columns:minmax(0,1fr) minmax(140px,max-content);gap:10px}.mr-page .monthly-report-selection-card .report-student-picker>.mr-filters{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important}.mr-page .mr-field{height:68px;padding:11px 22px 11px 10px}.mr-page .mr-field select{letter-spacing:-.2px}.mr-page .mr-month span{font-size:13px}}.main .card.wb-today-card{background:#fffffff0!important;border:1px solid #dee2ecb3!important;border-radius:24px!important;padding:24px!important;box-shadow:0 8px 30px #2834550b!important}.wb-today-card .wb-tc-head{align-items:center;gap:12px;min-width:0;display:flex}.wb-today-card .wb-tc-head h2{color:#1d2330;letter-spacing:-.2px;white-space:nowrap;margin:0;font-size:18px;font-weight:650}.wb-today-card .wb-tc-icon{color:#536dff;background:#f2f5ff;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.wb-today-card .wb-tc-count{color:#74809a;white-space:nowrap;background:#f3f5fa;border-radius:999px;flex:none;padding:6px 12px;font-size:13px;font-weight:500}.wb-today-card .wb-tc-collapse{color:#78849d;height:32px;min-height:32px;max-height:32px;font:inherit;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:4px;margin-left:auto;padding:0 4px;font-size:14px;font-weight:500;display:inline-flex}.wb-today-card .wb-tc-caret{transition:transform .18s}.wb-today-card .wb-tc-caret.is-open{transform:rotate(180deg)}.wb-today-card .wb-tc-empty{justify-content:space-between;align-items:center;gap:16px;padding:18px 0 4px;display:flex}.wb-today-card .wb-tc-empty-copy{gap:5px;min-width:0;display:grid}.wb-today-card .wb-tc-empty-copy b{color:#252b37;font-size:15px;font-weight:500}.wb-today-card .wb-tc-empty-copy small{color:#8a95ab;font-size:13px;line-height:1.5}.wb-today-card .wb-tc-add{color:#4f68f5;height:44px;min-height:44px;max-height:44px;font:inherit;cursor:pointer;background:#f0f3ff;border:0;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.wb-today-card .wb-tc-add:hover{background:#e7ecff}.wb-today-card .wb-tc-add:active{transform:translateY(1px)}.wb-today-card .wb-tc-divider{background:#eceff5;height:1px;margin:24px 0}.wb-today-card .wb-tc-empty-note{color:#8a95ab;margin:4px 0 8px;font-size:13px}.wb-today-card .wb-tc-row{text-align:left;width:100%;min-height:84px;max-height:96px;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:12px 0;display:flex;position:relative}.wb-today-card .wb-tc-row:hover .wb-tc-copy b{color:#4f68f5}.wb-today-card .wb-tc-row+.wb-tc-row:before{content:"";background:#edf0f5;height:1px;position:absolute;top:0;left:62px;right:0}.wb-today-card .wb-tc-row .companion-avatar{border:1px solid #edf0f6;border-radius:50%;flex:0 0 48px;width:48px;height:48px}.wb-today-card .wb-tc-copy{flex:1;gap:4px;min-width:0;display:grid}.wb-today-card .wb-tc-copy b{color:#202530;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.25;transition:color .15s;overflow:hidden}.wb-today-card .wb-tc-copy small{color:#8490a8;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;line-height:1.3;overflow:hidden}.wb-today-card .wb-tc-status{white-space:nowrap;border-radius:999px;flex:none;padding:5px 10px;font-size:12px;font-style:normal;font-weight:500}.wb-today-card .wb-tc-status.is-present{color:#3d9165;background:#eff8f3}.wb-today-card .wb-tc-status.is-leave{color:#e58a22;background:#fff5e8}.wb-today-card .wb-tc-status.is-absent{color:#d25454;background:#fdeeed}.wb-today-card .wb-tc-chevron{color:#8d98ae;flex:none}@media (width<=800px){.main .card.wb-today-card{border-radius:22px!important;padding:20px 18px!important}.wb-today-card .wb-tc-empty{flex-wrap:wrap;gap:12px}.wb-today-card .wb-tc-empty-copy{flex:1;min-width:0}.wb-today-card .wb-tc-add{flex:none}}@media (width>=801px){.schedule-page .schedule-subtitle{color:#8a95a8;margin:6px 0 0;font-size:13px;line-height:1.4}.schedule-page .schedule-date-item{color:#66738b;min-height:70px;box-shadow:none!important;background:0 0!important;border:0!important}.schedule-page .schedule-date-item span{color:#9aa4b8;font-weight:600}.schedule-page .schedule-date-item b{color:#1f2b45}.schedule-page .schedule-date-item:hover{transform:translateY(-1px);background:#f3f5fb!important}.schedule-page .schedule-date-item.selected{background:var(--brand-gradient)!important;box-shadow:0 8px 18px #4d59e03d!important}.schedule-page .schedule-date-item.selected span{color:#ffffffdb}.schedule-page .schedule-date-item.selected b{color:#fff}.schedule-page .schedule-week:not(.schedule-day){grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=800px){.app .mobile-primary-nav.bottom .bottom-record-button{z-index:auto;flex-direction:column;align-items:center;color:inherit!important;justify-content:center!important;gap:0!important;padding:0!important;display:flex!important;position:static!important;top:0!important}.app .mobile-primary-nav.bottom .bottom-record-button .bottom-record-icon,.app .mobile-primary-nav.bottom .bottom-record-button.active .bottom-record-icon{place-items:center;color:#fff!important;background:#635bff!important;border:0!important;border-radius:50%!important;width:40px!important;height:40px!important;margin:0 0 16px!important;animation:none!important;display:grid!important;transform:none!important;box-shadow:0 4px 10px #635bff38!important}.app .mobile-primary-nav.bottom .bottom-record-button .bottom-record-icon svg{stroke-width:2.3px;color:#fff!important;stroke:currentColor!important;width:23px!important;height:23px!important}.app .mobile-primary-nav.bottom .bottom-record-button:active{transform:none!important}.app .mobile-primary-nav.bottom .bottom-record-button:active .bottom-record-icon{transform:scale(.92)!important}.app .mobile-primary-nav.bottom .bottom-record-label{display:none!important}}@media (prefers-reduced-motion:reduce){.app .mobile-primary-nav.bottom .bottom-record-button,.app .mobile-primary-nav.bottom .bottom-record-button .bottom-record-icon{transition:none!important;animation:none!important}}@media (width<=560px){.schedule-page .schedule-view-switch button{min-width:44px;padding:8px 11px;font-size:14px}.schedule-page .schedule-range{gap:6px}.schedule-page .schedule-range b{font-size:13px}.schedule-page .schedule-range button{border-radius:50%;width:40px;height:40px;min-height:40px;max-height:40px;padding:0;font-size:22px;line-height:1}.schedule-page .schedule-subtitle{color:#8a95a8;margin:4px 0 0;font-size:12px;line-height:1.35}}@media (width>=561px){.schedule-page .schedule-range b{font-size:18px!important}}.companion-dashboard+.grid.two{margin-top:0!important}.record-top-hero{background-image:linear-gradient(#f3f8ff 0%,#f8fbff 46%,#fff 100%);background-repeat:no-repeat;border-radius:22px;min-height:190px;padding:16px 16px 0;position:relative;overflow:hidden}.record-top-hero:before{content:"";z-index:0;pointer-events:none;background-image:url(/assets/record-hero-Cbwv5UgE.jpg);background-position:100% 0;background-repeat:no-repeat;background-size:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0 12%,#000 40%);mask-image:linear-gradient(90deg,#0000 0 12%,#000 40%)}.record-top-hero>div:first-child{z-index:1;min-width:0;position:relative}.record-top-subtitle{color:#8a95a8;margin:6px 0 0;font-size:12px;line-height:1.35}@media (width>=801px){.record-top-hero{border-radius:24px;min-height:200px;padding:24px 24px 0}.record-top-hero:before{background-position:100%;background-size:auto 145%}.record-top-subtitle{font-size:13px;line-height:1.4}}.record-level-progress .record-level-bar{display:none}.record-level-progress .record-level-count{font-style:normal}.record-level-progress .record-level-unit{font-style:normal;font-size:inherit}@media (width<=800px){.record-progress-panel{gap:12px;margin:0 0 16px}.record-progress-block{border-color:#e6ecf6;border-radius:14px;padding:14px 14px 16px}.record-progress-block h3{color:#22304a;margin:0 0 12px;font-size:15px}.record-progress-tags{flex-wrap:nowrap;gap:8px;display:flex}.record-progress-tags span{color:#44506e;white-space:nowrap;background:#f1f3f7;border-radius:14px;flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-width:0;padding:12px 6px;font-size:12.5px;font-weight:600;display:flex;overflow:hidden}.record-progress-tags span:first-child{background:#eefaf3}.record-progress-tags span:nth-child(2){background:#eff5fe}.record-progress-tags span:nth-child(3){background:#fef7ec}.record-progress-tags span.unlocked,.record-progress-tags span:first-child.unlocked,.record-progress-tags span:nth-child(2).unlocked,.record-progress-tags span:nth-child(3).unlocked{color:#44506e;background:#eefaf3}.record-progress-tags span:nth-child(2).unlocked{background:#eff5fe}.record-progress-tags span:nth-child(3).unlocked{background:#fef7ec}.record-level-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.record-level-progress span{color:#6b7a97;background:#eef5fe;border-radius:12px;min-width:0;padding:10px 8px 11px;font-size:11px;line-height:1.15;display:block}.record-level-progress b{color:#0d5ef5;margin-right:5px;font-size:17px;font-weight:800;line-height:1}.record-level-progress .record-level-count{color:#6b7a97;font-size:11px}.record-level-progress .record-level-unit{display:none}.record-level-progress .record-level-bar{background:#d5e5f9;border-radius:999px;height:6px;margin-top:9px;display:block;overflow:hidden}.record-level-progress .record-level-bar>i{background:#3b96fb;border-radius:999px;height:100%;display:block}.record-level-progress span:nth-child(3){background:#f2f1fe}.record-level-progress span:nth-child(3) b{color:#6f45fa}.record-level-progress span:nth-child(3) .record-level-bar{background:#e2ddfe}.record-level-progress span:nth-child(3) .record-level-bar>i{background:#9176fa}.record-level-progress span:nth-child(4){background:#fcf2fe}.record-level-progress span:nth-child(4) b{color:#a610f8}.record-level-progress span:nth-child(4) .record-level-bar{background:#f4d7fc}.record-level-progress span:nth-child(4) .record-level-bar>i{background:#e07ff5}.record-flow{justify-content:space-between;align-items:flex-start;gap:0;padding:16px 6px 14px}.record-flow button{min-width:0;box-shadow:none;text-align:center;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1 1 0;align-items:center;gap:9px;padding:0 2px;display:flex;position:relative}.record-flow button b{color:#77869b;background:#e9eef6;border-radius:50%;width:32px;min-width:32px;height:32px;font-size:13px}.record-flow button.active{box-shadow:none;background:0 0;border-color:#0000}.record-flow button.active b{color:#fff;background:#3767f5}.record-flow button span{color:#8b97a8;text-align:center;text-overflow:ellipsis;grid-column:auto;max-width:100%;font-size:11.5px;line-height:1.3;overflow:hidden}.record-flow button.active span{color:#2f68d8;font-weight:700}.record-flow i{display:none}.record-flow button:not(:last-child):after{content:"";pointer-events:none;background:#dfe4ee;height:1px;position:absolute;top:15.5px;left:calc(50% + 22px);right:calc(22px - 50%)}}@media (width<=640px){html body .score-ability .ability-score-card .rating-rail,html body .score-knowledge .knowledge-score-card .rating-rail{width:100%!important}html body .score-ability .ability-score-card .rating-rail-track,html body .score-knowledge .knowledge-score-card .rating-rail-track{gap:4px!important;width:100%!important}html body .score-ability .ability-score-card .rating-rail-track button,html body .score-knowledge .knowledge-score-card .rating-rail-track button{aspect-ratio:1!important;flex:1 1 0!important;width:auto!important;min-width:0!important;max-width:22px!important;height:auto!important;min-height:0!important;max-height:22px!important}@supports not (aspect-ratio:1 / 1){html body .score-ability .ability-score-card .rating-rail-track button,html body .score-knowledge .knowledge-score-card .rating-rail-track button{--xueji-dot:min(22px,calc((100vw / 2 - 87px) / 5));width:var(--xueji-dot)!important;min-width:var(--xueji-dot)!important;max-width:var(--xueji-dot)!important;height:var(--xueji-dot)!important;min-height:var(--xueji-dot)!important;max-height:var(--xueji-dot)!important;flex:none!important}}}.add-student-success-overlay{z-index:1200}.add-student-success-modal{text-align:center;border:1px solid #e4e9f5;border-radius:22px;width:min(360px,100vw - 36px);padding:30px 26px 24px;box-shadow:0 24px 70px #23315b3d}.add-student-success-icon{color:#25a663;background:#e9f8ef;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 15px;display:grid}.add-student-success-modal h2{color:#263452;margin:0;font-size:21px;font-weight:800}.add-student-success-modal p{color:#76839d;margin:9px 0 23px;font-size:15px;line-height:1.6}.add-student-success-modal .btn{border-radius:12px;width:100%;min-height:46px}.save-image-preview-overlay{z-index:100;background:#0e1423c7;padding:12px}.save-image-preview-modal{background:#f5f6fa;border:1px solid #ffffff3d;border-radius:18px;flex-direction:column;width:min(760px,100%);height:min(92dvh,1000px);padding:14px;display:flex;box-shadow:0 22px 70px #0000004d}.save-image-preview-modal>header{justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 12px;display:flex}.save-image-preview-modal>header b,.save-image-preview-modal>header small{display:block}.save-image-preview-modal>header b{color:#263452;font-size:16px}.save-image-preview-modal>header small{color:#68758d;margin-top:3px;font-size:12px}.save-image-preview-modal>header button{color:#34415b;cursor:pointer;background:#e8ebf3;border:0;border-radius:50%;flex:0 0 38px;height:38px;font-size:25px;line-height:1}.save-image-preview-scroll{overscroll-behavior:contain;text-align:center;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.save-image-preview-scroll img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:default;background:#fff;border-radius:8px;width:auto;max-width:100%;height:auto;margin:0 auto;display:block}.save-image-preview-modal>.btn{border-radius:12px;flex:none;width:100%;min-height:44px;margin-top:12px}.preview-export-status{color:#2762d9;text-align:center;margin:10px 0 0;font-size:13px}.config-summary{min-width:0}.course-content-row .actions .btn{display:inline-flex!important}.course-content-row{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.course-content-row>div:first-child{flex:1;gap:5px;min-width:0;display:grid}.course-content-row input{border:1px solid var(--line);width:100%;min-width:0;font:inherit;border-radius:8px;padding:9px 10px}.course-content-add .actions{align-self:end}.course-content-actions{flex:none;justify-content:flex-end;align-items:center}.course-content-actions .btn{min-width:78px}.course-content-delete{background:var(--danger-soft)!important;color:var(--danger)!important;box-shadow:none!important;border-color:#edb7b4!important}.course-content-delete:hover{border-color:var(--danger)!important;background:#ffe5e3!important;box-shadow:0 4px 12px #c24f4f24!important}@media (width<=680px){.course-content-row{flex-direction:column;align-items:stretch}.course-content-row .course-content-actions{align-self:flex-end;gap:6px;width:auto;margin-top:-2px;display:flex!important}.course-content-row .course-content-actions .btn{width:auto;min-width:0;min-height:34px;padding:6px 11px;font-size:12px;line-height:1.2}.course-content-add .actions{align-self:stretch}.course-content-add .btn{width:100%}}.ai-not-configured{color:#8a6418;background:#fff8e8;border:1px solid #f2d8a8;border-radius:8px;margin-top:6px;padding:7px 9px;font-size:12px;line-height:1.5}.template-center{min-width:0}.template-controls{align-items:end}.template-list{min-width:0}.template-list .row{flex-wrap:wrap}@media (width<=800px){.template-controls{grid-template-columns:1fr!important}.template-controls .actions,.template-controls .actions .btn{width:100%}.config-summary{grid-template-columns:1fr!important}.config-summary .badge{box-sizing:border-box;width:100%}}.wizard-preset-picker{gap:14px;display:grid}.wizard-preset-picker-head b,.wizard-preset-picker-head small{display:block}.wizard-preset-picker-head b{color:#304568;font-size:14px}.wizard-preset-picker-head small{color:#7b8aa1;margin-top:4px;font-size:12px}.wizard-preset-options{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}.wizard-preset-option{width:100%;min-width:0;min-height:76px;font:inherit;cursor:pointer;align-items:center;gap:12px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;color:#344764!important;box-shadow:none!important;text-align:left!important;background:#fff!important;border:1px solid #dbe4f2!important;border-radius:12px!important;padding:13px 14px!important;display:flex!important}.wizard-preset-option:hover{transform:translateY(-1px);background:#f8faff!important;border-color:#9eb7f8!important}.wizard-preset-option:focus-visible{outline-offset:2px;outline:3px solid #406ceb47}.wizard-preset-option.selected{background:#f1f5ff!important;border-color:#5480ef!important;box-shadow:0 0 0 2px #5480ef1f!important}.wizard-preset-indicator{color:#fff;border:1.5px solid #aebbd0;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:grid}.wizard-preset-option.selected .wizard-preset-indicator{background:#3d6deb;border-color:#3d6deb}.wizard-preset-copy{gap:4px;min-width:0;display:grid}.wizard-preset-copy b{color:#2b3b58;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.wizard-preset-copy small{color:#8090a7;font-size:12px}@media (width<=620px){.wizard-preset-options{grid-template-columns:1fr}.wizard-preset-option{min-height:64px}}.student-direction-tabs button,.class-choice,.class-student-chip,.record-student-chip,.record-selected-avatar,.batch-student-option,.report-student-option{background:var(--course-bg,#f5f7fb);border-color:var(--course-border,#dbe3f0);color:var(--course-text,#52627a)}.student-direction-tabs button.active,.class-choice.selected,.class-student-chip.selected,.batch-student-option.selected,.report-student-option.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--course-border,#8fb3ff) 70%,white)}body .student-direction-tabs button[class*=course-],body .class-choice[class*=course-],body .class-student-chip[class*=course-],body .record-student-chip[class*=course-],body .record-selected-avatar[class*=course-],body .batch-student-option[class*=course-],body .report-student-option[class*=course-]{background:var(--course-bg,#f5f7fb)!important;border-color:var(--course-border,#dbe3f0)!important;color:var(--course-text,#52627a)!important}body .batch-student-option[class*=course-]:not(.completed):not(.current){background:var(--course-bg,#f5f7fb)!important;border-color:var(--course-border,#dbe3f0)!important}:root{--color-canvas:#f6f8fc;--color-surface:#fff;--color-surface-subtle:#f8faff;--color-text-primary:#172033;--color-text-secondary:#5f6f86;--color-text-muted:#7d8aa0;--color-border:#dfe6f0;--color-primary:#2f68d8;--color-primary-soft:#eaf1ff;--color-success:#25865f;--color-success-soft:#eaf7f0;--color-warning:#b97822;--color-warning-soft:#fff5e6;--color-danger:#bd514d;--color-danger-soft:#fff0ef;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 4px 14px #1e375f0f;--shadow-md:0 12px 30px #1e375f14;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;--icon-stroke:1.65}html{background:var(--color-canvas)}body{background:var(--color-canvas);color:var(--color-text-primary);font-family:var(--font-ui);font-variant-numeric:tabular-nums}button,input,select,textarea{font-family:inherit}svg.lucide{stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}button,input,select,textarea{min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #2f68d852}.app{background:var(--color-canvas)}.side{background:var(--color-surface);border-color:var(--color-border)}.nav-icon-fallback{border:1px solid var(--color-border);background:var(--color-surface-subtle);width:28px;height:28px;color:var(--color-primary);border-radius:8px;place-items:center;font-size:12px;font-weight:800;display:grid}.nav button.active .nav-icon-fallback{background:var(--color-primary-soft);border-color:#b9cef8}.nav-loading{gap:10px;padding:8px 12px;display:grid}.nav-loading-title{color:var(--color-text-muted);font-size:12px}.nav-loading span:not(.nav-loading-title),.profile-loading span{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0f3f8 25%,#e6ebf3 37%,#f0f3f8 63%) 0 0/400% 100%;height:38px;animation:1.2s ease-in-out infinite workspace-skeleton;display:block}.profile-loading{gap:7px;width:100%;display:grid}.profile-loading span:first-child{width:76%;height:14px}.profile-loading span:last-child{width:54%;height:11px;animation-delay:80ms}@keyframes workspace-skeleton{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.nav-loading span,.profile-loading span{animation:none}}.main{color:var(--color-text-primary)}.card{border-color:var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn{border-radius:var(--radius-sm);border-color:var(--color-border);min-height:44px}.btn.primary{background:var(--color-primary);border-color:var(--color-primary)}.field label,.admin-form-grid label{color:var(--color-text-primary)}.field input,.field select,.field textarea,.admin-form-grid input,.admin-form-grid select{border-color:var(--color-border);min-height:44px}.muted,.stat-label{color:var(--color-text-secondary)}.msg[role=status],[role=status]{line-height:1.6}.empty-state,.loading-state,.error-state{padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text-secondary);line-height:1.7}.error-state{background:var(--color-danger-soft);color:var(--color-danger);border-color:#efc1bf}.import-confirm{width:min(520px,100vw - 32px);margin:12vh auto 0}.import-confirm:focus{outline-offset:3px;outline:3px solid #2f68d83d}.import-undo{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-success-soft);color:var(--color-success);border:1px solid #c7dfd2;line-height:1.6}.empty-state:before{content:"暂无内容";color:var(--color-text-primary);margin-bottom:6px;font-weight:700;display:block}.error-state:before{content:"需要处理";margin-bottom:6px;font-weight:700;display:block}.template-intro{max-width:62ch;margin:6px 0 0;line-height:1.7}.template-guide{color:#506887;background:#f7faff;border:1px solid #dce7f8;border-radius:14px;margin:0 0 14px;padding:16px 18px}.template-guide-title{color:#243d65;font-size:16px;font-weight:800}.template-guide p{margin:6px 0 14px;line-height:1.6}.template-guide-steps{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.template-guide-steps>div{grid-template-columns:26px 1fr;align-items:center;column-gap:8px;display:grid}.template-guide-steps span{color:#fff;background:#3767f5;border-radius:50%;grid-row:span 2;place-items:center;width:26px;height:26px;font-weight:800;display:grid}.template-guide-steps b,.template-guide-steps small{grid-column:2}.template-guide-steps small{color:#7d8fa9}.template-guide-example{border-top:1px solid #e2eaf6;flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:12px;display:flex}@media (width<=680px){.template-guide-steps{grid-template-columns:1fr;gap:10px}}.template-row-button{text-align:left;background:var(--color-surface);border:0;border-top:1px solid var(--color-border);width:100%;color:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.template-row-button:hover{background:var(--color-surface-subtle)}.template-detail{margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.template-detail-head{justify-content:space-between;gap:var(--space-4);align-items:flex-start;display:flex}.template-detail h3{margin:0;font-size:18px}.template-detail p{margin:4px 0 0}.template-versions{margin-top:var(--space-4)}.template-versions .row{gap:var(--space-3)}.template-versions small{display:inline}.template-import{gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:grid}.template-import label{font-weight:700}.template-import textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;min-height:96px;padding:10px 12px}.template-preview-result{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-success-soft);color:var(--color-success);border:1px solid #b9dec9}.template-preview-result ul{color:var(--color-danger);margin:8px 0 0;padding-left:20px}.lesson-template-editor{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.template-version-select{min-height:44px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 0}.template-version-select:hover b{color:var(--color-primary)}.guardian-report-surface,.admin-panel,.experience-page,.template-center{background:var(--color-surface)}.guardian-report-surface h1,.guardian-report-surface h2,.guardian-report-surface h3,.admin-panel h1,.admin-panel h2,.experience-page h1,.experience-page h2{letter-spacing:-.02em}.guardian-report-surface .report-section,.guardian-report-surface .level,.guardian-report-surface .honor{transition:border-color .18s,box-shadow .18s}.guardian-report-surface .report-section:hover,.guardian-report-surface .level:hover,.guardian-report-surface .honor:hover{box-shadow:var(--shadow-sm);border-color:#c7d8f3}.admin-panel .list-row,.admin-panel .admin-section{min-width:0}.admin-panel .list-row{transition:background-color .18s}.admin-panel .list-row:hover{background:var(--color-surface-subtle)}.admin-panel .table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md)}.trial-form,.trial-report,.experience-native-form,.experience-native-preview{min-width:0}.trial-form input:invalid,.trial-form select:invalid,.trial-form textarea:invalid{border-color:#e7aaa6}.trial-form button:disabled,.template-center button:disabled,.admin-panel button:disabled{cursor:not-allowed}.loading-state{position:relative}.loading-state:after{content:"";vertical-align:-1px;border:2px solid #c7d8f3;border-top-color:var(--color-primary);border-radius:50%;width:12px;height:12px;margin-left:8px;animation:.8s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-state:after{animation:none}}::selection{color:#173d82;background:#cfe0ff}@media (width>=1024px){.main{max-width:1440px;padding-inline:40px}.admin-panel .admin-section,.template-center .template-detail{scroll-margin-top:24px}}@media (width>=1440px){.main{padding-inline:48px}}@media (width<=767px){.main{padding-inline:12px}.card{border-radius:var(--radius-md)}.template-detail{padding:var(--space-4)}.template-row-button{flex-direction:column;align-items:flex-start;gap:6px}.template-versions .row{flex-direction:column;align-items:flex-start}.template-versions .row .btn{width:100%}.lesson-template-editor .actions{grid-template-columns:1fr;display:grid}.guardian-report-surface,.experience-page{width:100%;max-width:100%}.admin-panel .table-wrap{max-width:100%;overflow-x:auto}}@media (width>=768px) and (width<=1023px){.main{padding-inline:24px}}@media (width>=768px){.guardian-report-surface,.experience-page,.admin-panel,.template-center{min-width:0}.guardian-report-surface .report-stat{gap:clamp(20px,4vw,48px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.course-wizard{border-top:3px solid var(--primary,#3767f5)}.student-direction-tabs button[style],.class-choice[style],.class-student-chip[style]{background:var(--course-bg);border-color:var(--course-border);color:var(--course-text)}.wizard-stepper{background:#f7f9fd;border:1px solid #e1e8f4;border-radius:14px;align-items:flex-start;gap:10px;margin:22px 0 26px;padding:10px 12px;list-style:none;display:flex;overflow-x:auto}.wizard-stepper .wizard-step{box-sizing:border-box;color:#8391a7;text-align:center;border:1px solid #0000;border-radius:10px;flex-direction:column;flex:0 0 130px;align-items:center;gap:6px;min-width:130px;font-size:12px;display:flex}.wizard-stepper .wizard-step-arrow{color:#b8c4d7;flex:0 0 20px;place-items:center;width:20px;height:26px;margin-top:1px;font-size:17px;line-height:1;display:grid}.wizard-step-number{color:#71819b;background:#e9eef6;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-weight:800;display:grid}.wizard-step-copy{white-space:nowrap;gap:2px;display:grid}.wizard-step-copy b{font-size:13px;font-weight:700}.wizard-step-copy small{color:inherit;font-size:10px}.wizard-stepper .wizard-step.completed,.wizard-stepper .wizard-step.current{color:#3767f5}.wizard-stepper .wizard-step.completed .wizard-step-number,.wizard-stepper .wizard-step.current .wizard-step-number{color:#3767f5;background:#dce9ff}.wizard-stepper .wizard-step.current{background:#fff;border-color:#b8d0ff;box-shadow:0 4px 12px #3767f514}.wizard-stepper .wizard-step.current .wizard-step-number{color:#fff;background:#3767f5}.course-wizard>label,.course-wizard .form-grid>label{flex-direction:column;gap:6px;min-width:0;font-weight:600;display:flex}.course-wizard>label input,.course-wizard .form-grid>label input,.course-wizard>label select,.course-wizard .form-grid>label select{box-sizing:border-box;width:100%}.course-wizard input,.course-wizard select,.course-wizard textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text-primary);font:inherit;padding:11px 14px;line-height:1.5;transition:border-color .16s,box-shadow .16s,background-color .16s;box-shadow:inset 0 1px #17203305}.course-wizard textarea{resize:vertical;min-height:132px}.course-wizard input::placeholder,.course-wizard textarea::placeholder{color:var(--color-text-muted);opacity:1}.course-wizard input:focus,.course-wizard select:focus,.course-wizard textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2f68d829}.wizard-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.wizard-actions .btn{min-height:48px;padding-inline:18px}@media (width<=680px){.wizard-stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-block:14px 18px;padding:8px;display:grid;overflow:visible}.wizard-stepper .wizard-step{border-radius:8px;flex-basis:auto;gap:3px;min-width:0;padding:5px 2px;font-size:10px}.wizard-stepper .wizard-step-arrow{display:none}.wizard-step-number{width:22px;height:22px;font-size:10px}.wizard-step-copy{white-space:normal;gap:1px}.wizard-step-copy b{font-size:10px;line-height:1.2}.wizard-step-copy small{display:none}}.wizard-preview-actions{gap:8px;margin-top:8px;display:flex}.wizard-preview-actions .btn{min-width:0}@media (width<=680px){.wizard-preview-actions .btn{flex:1;min-height:44px}}.wizard-save-draft{font-weight:700;box-shadow:0 5px 14px #b9782224;background:var(--color-warning-soft)!important;color:#855414!important;border-color:#ebc881!important}.wizard-save-draft:hover{background:#ffedca!important;border-color:#d9ad5c!important}.wizard-save-draft:active{transform:translateY(1px)}.wizard-steps{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:14px 0 18px;display:grid}.wizard-steps button{border:1px solid var(--line);background:var(--surface,#fff);min-width:0;color:var(--muted);cursor:pointer;border-radius:9px;padding:8px 6px;font-size:12px}.wizard-steps button.active{border-color:var(--primary,#3767f5);background:color-mix(in srgb, var(--primary,#3767f5) 10%, white);color:var(--primary,#3767f5);font-weight:700}.wizard-tree{border:1px solid var(--line);background:var(--surface-subtle,#f8fafc);border-radius:12px;gap:7px;margin-top:12px;padding:14px;display:grid}.wizard-tree-root{font-weight:700}.wizard-tree-item{background:var(--surface,#fff);border-radius:8px;justify-content:space-between;gap:12px;padding:7px 10px;display:flex}.wizard-tree-item small{color:var(--muted)}.wizard-publish,.wizard-complete{border:1px solid var(--line);border-radius:12px;gap:12px;padding:16px;display:grid}@media (width<=700px){.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-tree-item{flex-direction:column;align-items:flex-start;gap:2px}.wizard-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wizard-actions .btn{width:100%;min-width:0;padding-inline:var(--space-3)}.wizard-save-draft{grid-column:1/-1}}.trial-v2{min-width:0;max-width:100%;overflow-x:clip}.trial-v2-form,.trial-v2-preview{box-sizing:border-box;min-width:0;max-width:100%}.trial-v2-preview,.trial-v2-preview *{overflow-wrap:anywhere}@media (width<=1100px){.trial-v2{grid-template-columns:minmax(0,1fr)!important}}body .class-choice[class*=course-]{color:#1a1b1c!important;background:#fff!important;border-color:#e4e3dd!important}body .class-choice.selected[class*=course-]{background:#fff!important;border-color:#7b8ce8!important;box-shadow:inset 0 0 0 1px #7b8ce8!important}body .class-choice .class-choice-manage{box-sizing:border-box!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important}.plan-admin-page{color:#202833;max-width:1180px;margin:0 auto;padding:28px 30px 48px}.plan-admin-header{border-bottom:1px solid #dce2e8;justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.plan-admin-header-actions{gap:8px;display:flex}.plan-admin-header span{color:#596573;font-size:12px}.plan-admin-header h1{margin:5px 0;font-size:26px}.plan-admin-header p{color:#687382;margin:0}.plan-admin-header button,.plan-admin-footer button{color:#26333f;background:#fff;border:1px solid #c5ced8;border-radius:6px;padding:9px 14px}.plan-admin-header button:disabled,.plan-admin-footer button:disabled{opacity:.55}.plan-admin-alert,.plan-admin-success{border-radius:4px;padding:10px 12px}.plan-admin-alert{color:#a3382b;background:#fff0ed}.plan-admin-success{color:#216b43;background:#eaf7ef}.plan-admin-layout{grid-template-columns:230px minmax(0,1fr);gap:28px;margin-top:22px;display:grid}.plan-admin-list{border-top:1px solid #dce2e8;flex-direction:column;align-self:start;display:flex}.plan-admin-list button{text-align:left;color:#27333f;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #dce2e8;gap:5px;padding:14px 12px;display:grid;position:relative}.plan-admin-list button.selected{background:#eef5f4;box-shadow:inset 3px 0 #21836f}.plan-admin-list small,.plan-admin-section-head small,.plan-admin-footer small{color:#697583}.plan-admin-list span{color:#536272;font-size:12px;position:absolute;top:15px;right:12px}.plan-admin-editor{min-width:0}.plan-admin-section{border-bottom:1px solid #dce2e8;margin-bottom:22px;padding:0 0 22px}.plan-admin-section-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.plan-admin-section-head h2,.plan-admin-locked h2{margin:0 0 4px;font-size:17px}.plan-admin-section-head>span{color:#596573;font-size:12px}.plan-admin-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.plan-admin-fields label{color:#45515e;gap:6px;font-size:13px;display:grid}.plan-admin-fields label.wide{grid-column:span 2}.plan-admin-fields input,.plan-admin-fields select{color:#202833;background:#fff;border:1px solid #c8d1da;border-radius:4px;width:100%;min-width:0;height:38px;padding:0 10px}.plan-admin-switches{flex-wrap:wrap;gap:20px;margin-top:18px;display:flex}.plan-admin-switches label{align-items:center;gap:8px;font-size:13px;display:flex}.plan-admin-switches input{accent-color:#21836f}.plan-admin-locked{background:#f4f6f7;border:0;border-radius:4px;justify-content:space-between;align-items:center;padding:14px;display:flex}.plan-admin-locked p{color:#66717c;margin:5px 0 0;font-size:13px}.plan-admin-locked>span{color:#586673;font-size:12px}.plan-admin-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.plan-admin-footer button.primary{color:#fff;background:#176f61;border-color:#176f61;font-weight:600}.plan-admin-footer small{max-width:70%}@media (width<=760px){.plan-admin-page{padding:18px 16px 30px}.plan-admin-header{align-items:flex-start;gap:12px}.plan-admin-header-actions{flex-direction:column}.plan-admin-layout{grid-template-columns:1fr;gap:20px}.plan-admin-list{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.plan-admin-list button{border:1px solid #dce2e8;border-radius:4px;min-width:0}.plan-admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-admin-footer{flex-direction:column;align-items:flex-start}.plan-admin-footer small{max-width:none}}.platform-account-page{color:#202833;max-width:980px;margin:0 auto;padding:28px 30px 48px}.platform-account-header{border-bottom:1px solid #dce2e8;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.platform-account-header>div>span{color:#596573;font-size:12px}.platform-account-header h1{margin:5px 0;font-size:26px}.platform-account-header p{color:#687382;margin:0}.platform-account-header nav{gap:8px;display:flex}.platform-account-header button{color:#26333f;cursor:pointer;background:#fff;border:1px solid #c5ced8;border-radius:8px;padding:9px 14px}.platform-account-card{background:#fff;border:1px solid #e0e5ee;border-radius:18px;max-width:620px;margin:28px auto;padding:26px;box-shadow:0 12px 32px #26324a0d}.platform-account-card h2{margin:0 0 8px;font-size:19px}.platform-account-note{color:#6b7484;margin:0 0 22px;font-size:14px;line-height:1.6}.platform-account-card form{gap:11px;display:grid}.platform-account-card label{color:#344054;gap:7px;font-weight:600;display:grid}.platform-account-card input{height:46px;font:inherit;border:1px solid #d5dcea;border-radius:10px;outline:none;padding:0 13px;font-weight:400}.platform-account-card input:focus{border-color:#5a6ff0;box-shadow:0 0 0 3px #5a6ff022}.platform-account-card small{color:#7c8799;margin-top:-5px}.platform-account-primary{color:#fff;cursor:pointer;background:linear-gradient(100deg,#4777eb,#6857e9);border:0;border-radius:11px;height:46px;margin-top:8px;font-size:15px;font-weight:700}.platform-account-primary:disabled{opacity:.6;cursor:wait}.platform-account-alert,.platform-account-success{border-radius:10px;margin:4px 0;padding:11px 13px}.platform-account-alert{color:#a3382b;background:#fff0ed}.platform-account-success{color:#216b43;background:#eaf7ef;line-height:1.5}@media (width<=650px){.platform-account-page{padding:18px 16px 32px}.platform-account-header{flex-direction:column;align-items:stretch}.platform-account-header nav{justify-content:flex-start}.platform-account-card{margin:20px 0;padding:20px}}.xueji-login-page{background:#1474dc;place-items:center;min-height:100dvh;padding:0;font-family:inherit;display:grid;overflow:hidden}.xueji-login-shell{isolation:isolate;background:radial-gradient(circle at 15% 18%,#7ce4ffb8 0 16%,#0000 16.3%),radial-gradient(circle at 97% 25%,#8875ff42 0 25%,#0000 25.3%),linear-gradient(145deg,#19bde8 0%,#198fe7 54%,#2a61d9 100%);width:min(430px,100vw);min-height:100dvh;position:relative;overflow:hidden;box-shadow:0 22px 58px #0d2c7657}.xueji-login-shell:before,.xueji-login-shell:after{z-index:-1;content:"";background:#ffffff21;border-radius:50%;position:absolute}.xueji-login-shell:before{width:285px;height:285px;bottom:62px;right:-155px}.xueji-login-shell:after{width:185px;height:185px;bottom:-28px;left:-102px}.xueji-login-status{top:max(22px,env(safe-area-inset-top));color:#fff;letter-spacing:.02em;align-items:baseline;gap:9px;display:flex;position:absolute;left:27px}.xueji-login-status b{font-size:18px}.xueji-login-status span{opacity:.82;font-size:11px;font-weight:650}.xueji-login-page h1{z-index:2;color:#fff;text-align:center;letter-spacing:-.06em;text-shadow:0 2px #0c4ab61f;margin:0;font-size:37px;font-weight:850;line-height:1.08;position:absolute;top:78px;left:0;right:0}.xueji-login-subtitle{z-index:2;color:#ffffffde;text-align:center;margin:0;font-size:13px;font-weight:600;position:absolute;top:125px;left:0;right:0}.xueji-login-star{z-index:2;color:#ffe964;filter:drop-shadow(0 2px 4px #0c58ad2e);font-size:22px;line-height:1;animation:2.3s ease-in-out infinite xueji-login-twinkle;position:absolute}.login-star-a{top:101px;left:15%}.login-star-b{font-size:15px;animation-delay:-1.1s;top:129px;right:13%}.xueji-login-cats{z-index:4;transform-origin:50% 100%;width:min(342px,91vw);height:142px;animation:3.2s ease-in-out infinite xueji-login-breathe;position:absolute;top:156px;left:50%;overflow:hidden;transform:translate(-50%)}.login-cats-state{opacity:0;width:100%;height:auto;transition:opacity .2s,transform .22s cubic-bezier(.16,1,.3,1);position:absolute;top:-48px;left:0}.xueji-login-page.is-password .login-cats-idle,.xueji-login-page.is-success .login-cats-idle{opacity:0;transform:translateY(5px)scale(.985)}.xueji-login-page.is-success .login-cats-success{opacity:1;animation:.52s ease-in-out 2 xueji-login-happy;top:-40px}.login-cats-alert{color:#fff;opacity:0;background:#ff5c67;border-radius:50%;place-items:center;width:25px;height:25px;font-size:17px;font-weight:900;line-height:1;transition:opacity .16s,transform .2s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:17px;left:18%;transform:translateY(5px)scale(.7);box-shadow:0 5px 11px #87183033}.xueji-login-page.is-error .login-cats-alert{opacity:1;transform:translateY(0)scale(1)}.xueji-login-page.is-error .xueji-login-cats{animation:.42s ease-in-out 2 xueji-login-worry}.xueji-login-card{z-index:3;padding:43px 27px max(30px,env(safe-area-inset-bottom));background:#fff;border-radius:44px 44px 0 0;flex-direction:column;display:flex;position:absolute;inset:282px 16px 0;box-shadow:0 -8px 24px #15499e1a}.xueji-login-card:before,.xueji-login-card:after{content:"";background:#fff;border-radius:50%;width:74px;height:74px;position:absolute;top:-29px}.xueji-login-card:before{left:-25px}.xueji-login-card:after{right:-25px}.xueji-login-card-head{z-index:1;color:#1b3357;justify-content:space-between;align-items:center;margin:0 4px 22px;display:flex;position:relative}.xueji-login-card-head b{letter-spacing:-.03em;font-size:21px}.xueji-login-card-head span{color:#168ade;background:#e8f6ff;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.xueji-login-field{z-index:1;color:#8290a8;background:#f3f6fb;border:1.5px solid #0000;border-radius:16px;align-items:center;gap:11px;height:57px;margin-bottom:13px;padding:0 14px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex;position:relative}.xueji-login-field:focus-within{background:#fff;border-color:#18a4eb;box-shadow:0 0 0 3px #23b0ef24}.xueji-login-field>svg{stroke-width:2px;color:#77869d;flex:none;width:21px;height:21px}.xueji-login-field input{color:#223452;width:100%;min-width:0;font:inherit;font-size:15px;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.xueji-login-field input::placeholder{color:#9ba7b9}.xueji-password-toggle{color:#8290a8;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;padding:0;display:grid}.xueji-password-toggle:hover{color:#238ed7;background:#e9f3fb}.xueji-password-toggle:focus-visible{outline-offset:2px;outline:2px solid #168fe0}.xueji-password-toggle:disabled{cursor:default;opacity:.55}.xueji-password-toggle svg{width:21px;height:21px}.xueji-login-error{z-index:1;color:#e34d59;margin:-2px 3px 10px;font-size:13px;font-weight:650;line-height:1.35;position:relative}.xueji-login-button{z-index:1;height:55px;box-shadow:none;color:#fff;font:inherit;letter-spacing:.04em;cursor:not-allowed;background:linear-gradient(110deg,#b7c0ce,#9faaba);border:0;border-radius:999px;margin-top:8px;font-size:17px;font-weight:800;transition:background .24s,box-shadow .24s,transform .18s;position:relative}.xueji-login-button.is-ready{cursor:pointer;background:linear-gradient(110deg,#16c0ec,#147ee0);box-shadow:0 10px 20px #148fde47}.xueji-login-button.is-ready:hover{transform:translateY(-1px);box-shadow:0 12px 24px #148fde59}.xueji-login-button.is-ready:active{transform:translateY(1px)scale(.99)}.xueji-login-button:disabled{opacity:1}.xueji-login-page.is-success .xueji-login-button{background:linear-gradient(110deg,#38c983,#14a96a);box-shadow:0 10px 20px #14a96a3b}.xueji-login-help{z-index:1;color:#8996a9;text-align:center;margin:21px 4px 0;font-size:12px;line-height:1.6;position:relative}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width>=431px){.xueji-login-shell{border-radius:30px;min-height:760px}.xueji-login-page{padding:24px}}@media (width<=360px){.xueji-login-card{padding-left:21px;padding-right:21px;left:10px;right:10px}.xueji-login-cats{width:320px}.xueji-login-page h1{font-size:34px}}@media (prefers-reduced-motion:reduce){.xueji-login-cats,.xueji-login-star,.xueji-login-page.is-error .xueji-login-cats,.xueji-login-page.is-success .login-cats-success{animation:none}.login-cats-state,.login-cats-alert,.xueji-login-button,.xueji-login-field{transition:none}}.xueji-login-page{background:#1474dc!important;overflow:hidden auto!important}.xueji-login-shell{background:radial-gradient(circle at 15% 18%,#7ce4ffb8 0 16%,#0000 16.3%),radial-gradient(circle at 97% 25%,#8875ff42 0 25%,#0000 25.3%),linear-gradient(145deg,#19bde8 0%,#198fe7 54%,#2a61d9 100%)!important}.xueji-login-cats{z-index:6!important}.xueji-login-card{min-height:calc(100dvh - 280px)!important;padding:43px 27px max(30px,env(safe-area-inset-bottom))!important;border-radius:0!important;margin:280px 16px 0!important;display:flex!important;position:relative!important;inset:auto!important}.xueji-login-card:before{z-index:0!important;content:""!important;background:#fff!important;border-radius:50% 50% 0 0/100% 100% 0 0!important;height:96px!important;display:block!important;position:absolute!important;top:-48px!important;left:0!important;right:0!important}.xueji-login-field.has-error{background:#fff7f7!important;border-color:#e34d59!important}.xueji-password-toggle{flex-basis:44px!important;width:44px!important;height:44px!important}.xueji-login-ready-hint{z-index:1;color:#75849a;text-align:center;margin:10px 4px -3px;font-size:12px;line-height:1.4;position:relative}.xueji-login-help{color:#748399!important}@media (height<=700px){.xueji-login-status{top:max(15px,env(safe-area-inset-top))}.xueji-login-page h1{font-size:34px;top:58px}.xueji-login-subtitle{top:101px}.login-star-a{top:85px}.login-star-b{top:110px}.xueji-login-cats{width:min(320px,89vw);top:132px}.xueji-login-card{min-height:calc(100dvh - 246px)!important;margin-top:246px!important;padding-top:34px!important}}@media (width>=431px){.xueji-login-card{min-height:480px!important}}.xueji-login-cats{width:min(276px,74vw)!important}.xueji-login-card:before,.xueji-login-card:after{z-index:0!important;content:""!important;background:#fff!important;border-radius:50% 50% 0 0!important;width:62%!important;height:76px!important;display:block!important;position:absolute!important;top:-54px!important}.xueji-login-card:before{bottom:auto!important;left:0!important;right:auto!important}.xueji-login-card:after{bottom:auto!important;left:auto!important;right:0!important}.xueji-login-card{margin-left:20px!important;margin-right:20px!important}@media (height<=700px){.xueji-login-cats{width:min(262px,72vw)!important}.xueji-login-card{margin-left:20px!important;margin-right:20px!important}}.xueji-login-clouds{z-index:5;pointer-events:none;position:absolute;inset:0}.xueji-login-cloud{background:#fff;border-radius:50%;display:block;position:absolute;top:225px}.xueji-login-cloud.cloud-left{width:34%;height:112px;left:20px}.xueji-login-cloud.cloud-right{width:38%;height:112px;right:20px}.xueji-login-card:before,.xueji-login-card:after{content:none!important;display:none!important}@media (height<=700px){.xueji-login-cats{width:min(310px,83vw)!important;height:135px!important;top:112px!important}.xueji-login-cloud{top:194px}.xueji-login-cloud.cloud-mid{top:188px}.xueji-login-card{min-height:calc(100dvh - 246px)!important;margin-top:246px!important;padding-top:29px!important}}.xueji-login-page.is-success .login-cats-password{opacity:0!important}.xueji-login-page.is-success .login-cats-success{opacity:1!important}@media (height<=700px){.xueji-login-cats{width:min(300px,80vw)!important;height:158px!important;top:98px!important}.xueji-login-cloud{top:199px!important}.xueji-login-cloud.cloud-mid{top:192px!important}.xueji-login-card{min-height:calc(100dvh - 255px)!important;margin-top:255px!important;padding-top:18px!important}.xueji-login-field{margin-bottom:11px!important}}.xueji-login-subtitle{display:none}.xueji-login-card{border-radius:0 0 32px 32px!important}.xueji-login-cats{z-index:8!important;width:min(304px,81vw)!important;height:195px!important;top:155px!important}.login-cats-state{top:-22px!important}.login-cats-password{top:-24px!important}.login-cats-success{top:-14px!important}.xueji-login-clouds{z-index:5!important;inset:0 20px!important}.xueji-login-cloud{background:#fff!important;border-radius:50% 50% 0 0!important;height:118px!important;top:224px!important}.xueji-login-cloud.cloud-left{width:39%!important;left:0!important}.xueji-login-cloud.cloud-mid{width:48%!important;height:146px!important;top:204px!important;left:50%!important;transform:translate(-50%)!important}.xueji-login-cloud.cloud-right{width:39%!important;right:0!important}.xueji-login-card{z-index:7!important;border-radius:0 0 32px 32px!important;min-height:calc(100dvh - 278px)!important;margin:278px 20px 0!important;padding-top:31px!important}.login-cats-idle{opacity:1!important}.login-cats-password{opacity:0!important}.xueji-login-page.is-password .login-cats-idle{opacity:0!important;transform:translateY(5px)scale(.985)!important}.xueji-login-page.is-password .login-cats-password{opacity:1!important}.xueji-login-page.is-success .login-cats-idle{opacity:0!important}@media (height<=700px){.xueji-login-cats{width:min(292px,78vw)!important;height:183px!important;top:132px!important}.login-cats-state{top:-21px!important}.xueji-login-cloud{height:110px!important;top:199px!important}.xueji-login-cloud.cloud-mid{height:134px!important;top:183px!important}.xueji-login-card{min-height:calc(100dvh - 250px)!important;margin-top:250px!important;padding-top:20px!important}}.xueji-login-clouds{display:none!important}.xueji-login-card{isolation:isolate!important;background:0 0!important;overflow:visible!important}.xueji-login-card:before{z-index:0!important;content:""!important;background:url(/assets/cloud-panel-frame-transparent-D6CPiySo.webp) 50%/100% 100% no-repeat!important;border-radius:0!important;width:auto!important;height:auto!important;display:block!important;position:absolute!important;inset:-32px 0 0!important}.xueji-login-card:after{content:none!important;display:none!important}.xueji-login-card>*{z-index:1!important;position:relative!important}.xueji-login-cats,.xueji-login-cats *,.login-cats-state,.login-cats-alert,.xueji-desktop-cat-dock,.xueji-login-clouds,.xueji-login-cloud,.xueji-login-star{pointer-events:none!important}.xueji-desktop-brand,.xueji-desktop-kicker,.xueji-desktop-capabilities{display:none}@media (width>=901px){.xueji-login-page{min-width:0;min-height:100dvh;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f8fc!important;padding:0!important;display:block!important;overflow:hidden auto!important}.xueji-login-shell{grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);width:100%;min-width:0;min-height:max(100dvh,850px);display:grid;position:relative;overflow:hidden;box-shadow:none!important;background:radial-gradient(circle at 69% 34%,#e2e9ff9e,#0000 25%),#f7f8fc!important;border-radius:0!important}.xueji-desktop-brand{grid-area:1/1;min-width:0;min-height:100%;padding:42px clamp(36px,6vw,92px);display:block;position:relative;overflow:hidden}.xueji-desktop-brand:before,.xueji-desktop-brand:after{content:"";pointer-events:none;border:1px solid #5b6fb21f;border-radius:50%;position:absolute}.xueji-desktop-brand:before{width:430px;height:430px;top:110px;right:-230px}.xueji-desktop-brand:after{border-color:#7081bf17;width:350px;height:350px;bottom:-180px;left:-115px}.xueji-desktop-brand-mark{z-index:1;color:#1b2945;align-items:center;gap:10px;text-decoration:none;display:inline-flex;position:relative}.xueji-desktop-brand-mark>span{background:linear-gradient(145deg,#5065e9,#293e8a);border-radius:9px;align-items:flex-end;gap:3px;width:28px;height:28px;padding:5px;display:flex;box-shadow:0 9px 20px #2d429c2e}.xueji-desktop-brand-mark i{background:#fff;border-radius:2px;flex:1}.xueji-desktop-brand-mark i:first-child{height:8px}.xueji-desktop-brand-mark i:nth-child(2){height:14px}.xueji-desktop-brand-mark i:nth-child(3){height:18px}.xueji-desktop-brand-mark b{letter-spacing:-.05em;font-size:21px;font-weight:800}.xueji-desktop-brand-mark small{color:#687794;margin-left:1px;font-size:11px;font-weight:600}.xueji-desktop-brand-copy{z-index:1;color:#17233d;width:min(680px,100% - 100px);position:absolute;top:clamp(250px,30vh,330px);left:clamp(36px,6vw,92px)}.xueji-desktop-brand-copy p{color:#586fc5;letter-spacing:.18em;margin:0 0 19px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:11px;font-weight:800}.xueji-desktop-brand-copy h2{letter-spacing:-.045em;margin:0;font-size:clamp(38px,4.15vw,62px);font-weight:750;line-height:1.14}.xueji-desktop-brand-copy>span{color:#67748a;max-width:420px;margin-top:23px;font-size:15px;line-height:1.8;display:block}.xueji-login-form-pane{z-index:1;background:#ffffff85;grid-area:1/2;place-items:center;min-width:0;min-height:100%;padding:80px clamp(24px,4vw,64px) 152px;display:grid;position:relative}.xueji-login-status,.xueji-login-star,.xueji-login-clouds{display:none!important}.xueji-desktop-card-frame{background:#fffffff0;border:1px solid #dae1f1f5;border-radius:30px;width:min(430px,100%);min-height:552px;padding:47px 48px 36px;position:relative;box-shadow:0 32px 76px #36447521}.xueji-desktop-cat-dock.xueji-login-cats{z-index:3!important;transform-origin:50%!important;width:205px!important;height:108px!important;margin:0!important;animation:none!important;position:absolute!important;inset:-108px auto auto 50%!important;overflow:visible!important;transform:translate(-50%)!important}.xueji-desktop-cat-dock .login-cats-state{object-fit:contain;object-position:center bottom;width:100%!important;height:auto!important;top:0!important;left:0!important}.xueji-desktop-cat-dock .login-cats-alert{display:none!important}.xueji-desktop-kicker{color:#586fc5;text-align:center;letter-spacing:.18em;margin:0 0 13px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:10px;font-weight:800;display:block}.xueji-login-page h1#xueji-login-title{text-align:center;letter-spacing:-.045em;font-weight:800;line-height:1.22;color:#17213b!important;width:auto!important;text-shadow:none!important;margin:0!important;font-size:38px!important;position:static!important}.xueji-login-page .xueji-login-subtitle{text-align:center;font-weight:400;line-height:1.6;color:#748097!important;width:auto!important;margin:10px 0 27px!important;font-size:14px!important;display:block!important;position:static!important}.xueji-login-card{min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;gap:15px!important;margin:0!important;padding:0!important;display:grid!important;position:static!important;overflow:visible!important}.xueji-login-card:before,.xueji-login-card:after{content:none!important;display:none!important}.xueji-login-field{grid-template-rows:auto 54px;grid-template-columns:minmax(0,1fr) 44px;min-width:0;height:auto!important;box-shadow:none!important;color:#37425a!important;background:0 0!important;border:0!important;border-radius:0!important;gap:8px 0!important;margin:0!important;padding:0!important;display:grid!important;overflow:visible!important}.xueji-login-field:focus-within{box-shadow:none!important;background:0 0!important;border:0!important}.xueji-login-field>svg{display:none!important}.xueji-login-field .sr-only{color:#37425a;grid-area:1/1/auto/-1;font-size:13px;font-weight:700;clip:auto!important;white-space:normal!important;border:0!important;width:auto!important;height:auto!important;margin:0!important;position:static!important;overflow:visible!important}.xueji-login-field input{grid-area:2/1/auto/-1;min-width:0;color:#17213b!important;background:#f9faff!important;border:1px solid #e0e5f0!important;border-radius:13px!important;width:100%!important;height:54px!important;padding:0 16px!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Noto Sans SC,sans-serif!important;font-size:15px!important}.xueji-login-field input:focus{background:#fff!important;border-color:#7064ef!important;box-shadow:0 0 0 4px #6655eb1f!important}.xueji-login-field input::placeholder{opacity:1;color:#98a1b1!important;font-weight:400!important}.xueji-password-toggle{z-index:2;grid-area:2/2;justify-self:end;margin:5px 5px 0 0;color:#7a86a1!important;width:44px!important;height:44px!important}.xueji-login-field.has-error input{background:#fff7f7!important;border-color:#e34d59!important}.xueji-login-error{line-height:1.45;color:#d94350!important;margin:-3px 0 0!important;font-size:13px!important}.xueji-login-button{width:100%;background:linear-gradient(102deg,#32499e,#5e48d3)!important;border-radius:12px!important;height:55px!important;margin:5px 0 0!important;font-size:16px!important;box-shadow:0 14px 24px #3a47ac33!important}.xueji-login-button:disabled{cursor:not-allowed;opacity:.56}.xueji-login-button.is-ready:enabled{cursor:pointer;opacity:1}.xueji-login-ready-hint{display:none!important}.xueji-login-help{text-align:center;line-height:1.7;color:#8c96a8!important;margin:14px 0 0!important;font-size:12px!important}.xueji-desktop-capabilities{z-index:2;background:#fffffff0;border:1px solid #dae1f0f0;border-radius:28px;grid-template-columns:repeat(3,minmax(0,1fr));width:min(930px,67vw);min-height:98px;display:grid;position:absolute;bottom:28px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 22px 52px #3d4d8717}.xueji-desktop-capabilities>span{grid-template-rows:1fr 1fr;grid-template-columns:32px 1fr;align-items:center;column-gap:12px;min-width:0;padding:16px 28px;display:grid}.xueji-desktop-capabilities>span+span{border-left:1px solid #6e7cad24}.xueji-desktop-capabilities i{color:#586dca;background:linear-gradient(145deg,#dce4ff,#f6f7ff);border-radius:50%;grid-row:1/3;place-items:center;width:25px;height:25px;font-size:13px;font-style:normal;font-weight:800;display:grid;box-shadow:0 5px 14px #4858a41f}.xueji-desktop-capabilities>span:nth-child(2) i{color:#775bd4;background:linear-gradient(145deg,#e9e1ff,#f8f4ff)}.xueji-desktop-capabilities>span:nth-child(3) i{color:#239875;background:linear-gradient(145deg,#ddf6ee,#f3fffa)}.xueji-desktop-capabilities b{color:#26344f;letter-spacing:.01em;align-self:end;font-size:13px;font-weight:800}.xueji-desktop-capabilities small{color:#68758b;align-self:start;margin-top:3px;font-size:10px;line-height:1.4}}@media (width>=901px) and (width<=1120px){.xueji-desktop-brand{padding-left:32px;padding-right:28px}.xueji-desktop-brand-copy{width:calc(100% - 58px);left:32px}.xueji-desktop-brand-copy h2{font-size:clamp(32px,3.8vw,42px)}.xueji-desktop-brand-copy>span{max-width:360px;font-size:13px}.xueji-login-form-pane{padding-left:24px;padding-right:24px}.xueji-desktop-card-frame{width:min(390px,100%);padding-left:30px;padding-right:30px}.xueji-desktop-capabilities{width:min(680px,76vw)}.xueji-desktop-capabilities>span{padding-left:18px;padding-right:18px}}@media (width>=901px) and (height<=850px){.xueji-login-page{overflow-y:auto!important}.xueji-login-shell{min-height:850px}}@media (width<=900px){.xueji-desktop-brand,.xueji-desktop-kicker,.xueji-desktop-capabilities{display:none!important}.xueji-login-form-pane,.xueji-desktop-card-frame{display:contents!important}}
