:root{--ink:#17251f;--muted:#718078;--line:#e4ebe7;--surface:#fff;--canvas:#f5f8f6;--green:#146b4b;--green-2:#0d573d;--green-soft:#e9f5ef;--blue:#3f75cc;--violet:#7859c7;--orange:#c7722b;--danger:#bd4a48;--danger-soft:#fff0ef;--warning:#b7791f;--shadow:0 12px 32px rgba(27,61,45,.08);--radius:18px;--sidebar:246px}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;color:var(--ink);background:var(--canvas);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;min-width:0}img,video,svg{max-width:100%}button{cursor:pointer}::selection{background:#cbe9da;color:#123d2c}
.app-body{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#0e392b;color:#fff;display:flex;flex-direction:column;padding:28px 18px 18px;z-index:40;overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 9px}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#f1fff7;color:#126847;font-family:STKaiti,KaiTi,serif;font-size:21px;font-weight:800;box-shadow:0 4px 16px rgba(0,0,0,.14)}.brand strong{display:block;font-size:18px;letter-spacing:.08em}.brand small{display:block;margin-top:3px;font-size:10px;color:#a9c9bc;letter-spacing:.08em}.exam-chip{margin:26px 8px 18px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:10px;color:#bfd5cc;font-size:11px}.exam-chip span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#68d39e;margin-right:7px;box-shadow:0 0 0 4px rgba(104,211,158,.12)}.main-nav{display:flex;flex-direction:column;gap:5px}.main-nav a{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:11px;color:#bcd0c8;font-size:14px;font-weight:500;transition:.18s}.main-nav a:hover{background:rgba(255,255,255,.06);color:#fff}.main-nav a.active{background:#fff;color:#174c38;box-shadow:0 7px 18px rgba(0,0,0,.13)}.nav-icon{display:inline-grid;width:22px;height:22px;place-items:center;font-size:16px}.sidebar-foot{margin-top:auto;padding-top:24px}.user-card{display:flex;align-items:center;gap:9px;padding:10px 8px;border-radius:12px;transition:.18s}.user-card:hover,.user-card.active{background:rgba(255,255,255,.07)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:#d9f0e4;color:#166947;font-size:14px;font-weight:750}.avatar.small{width:31px;height:31px;font-size:12px}.user-card>span:nth-child(2){min-width:0;flex:1}.user-card strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card small{display:block;color:#9cbaae;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card b{font-size:20px;color:#9fbdb1}.logout-button{width:100%;border:0;background:transparent;color:#88aa9c;font-size:12px;padding:8px;margin-top:4px}.logout-button:hover{color:#fff}.app-main{margin-left:var(--sidebar);min-height:100vh}.mobile-header{display:none}.page{width:min(1440px,100%);margin:auto;padding:38px 42px 56px}.page-header{margin-bottom:26px}.page-header.split{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-header h1{font-size:29px;line-height:1.2;letter-spacing:-.03em;margin:7px 0 7px}.page-header p,.subtle{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:750}.eyebrow.light{color:#85c4aa}.danger-text{color:var(--danger)!important}
.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 17px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:650;font-size:13px;transition:.18s;white-space:nowrap}.button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(21,63,44,.09)}.button.primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 7px 18px rgba(20,107,75,.19)}.button.primary:hover{background:var(--green-2)}.button.soft{background:var(--green-soft);border-color:transparent;color:var(--green)}.button.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.button.small{min-height:34px;padding:0 12px;font-size:12px}.button.large{min-height:49px;font-size:14px}.button.wide{width:100%}.text-link{color:var(--green);font-weight:650;font-size:12px;white-space:nowrap}.text-link:hover{text-decoration:underline}
.metric-grid{display:grid;gap:16px;margin-bottom:20px}.metric-grid.four{grid-template-columns:repeat(4,1fr)}.metric-grid.three{grid-template-columns:repeat(3,1fr)}.metric-card{position:relative;display:flex;align-items:flex-start;gap:14px;min-height:138px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 16px rgba(20,54,39,.035);overflow:hidden}.metric-card.accent{background:linear-gradient(145deg,#f7fffa 0%,#edf8f2 100%);border-color:#d4e8dd}.metric-card.accent:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:rgba(29,139,96,.06);right:-25px;top:-29px}.metric-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:#dff2e8;color:var(--green);font-weight:800}.metric-icon.blue{background:#edf4ff;color:var(--blue)}.metric-icon.violet{background:#f0edfa;color:var(--violet)}.metric-icon.orange{background:#fff1e7;color:var(--orange)}.metric-card>div{min-width:0}.metric-card small{display:block;color:var(--muted);font-size:12px;margin:0 0 8px}.metric-card strong{display:block;font-size:27px;line-height:1;font-weight:760;letter-spacing:-.04em}.metric-card strong em{font-style:normal;font-size:12px;color:var(--muted);font-weight:550;margin-left:5px;letter-spacing:0}.metric-card p{font-size:11px;color:#9aa59f;margin:12px 0 0}.content-grid{display:grid;gap:20px}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr)}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 4px 17px rgba(20,54,39,.03);min-width:0}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-header h2{font-size:17px;margin:4px 0 4px}.panel-header p{font-size:11px;color:var(--muted);margin:0;line-height:1.55}.empty{text-align:center;color:var(--muted);padding:50px 18px}.empty.compact{padding:34px 18px}.empty>span{display:block;font-size:31px;color:#a5bbb0;margin-bottom:10px}.empty h3{font-size:14px;color:var(--ink);margin:0 0 6px}.empty p{font-size:12px;margin:0 0 8px}.weak-list,.attempt-list,.activity-list,.class-card-list{display:flex;flex-direction:column}.weak-item{display:flex;align-items:center;gap:13px;padding:14px 3px;border-top:1px solid #edf1ee}.weak-item:first-child{border-top:0}.weak-item:hover strong{color:var(--green)}.course-dot{width:8px;height:8px;background:#e79a54;border-radius:50%;flex:none}.grow{min-width:0;flex:1}.weak-item small,.attempt-item small,.class-mini small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.weak-item strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.18s}.rate{text-align:right;flex:none}.rate strong{display:block!important;font-size:16px!important;color:var(--danger)}.rate small{margin:3px 0 0}.progress{height:7px;border-radius:99px;background:#edf2ef;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2b9a70,#69c39f)}.progress.thin{height:3px;margin-top:9px}.weak-item .progress i{background:linear-gradient(90deg,#dc6c5f,#ecae63)}.attempt-item{display:flex;align-items:center;gap:12px;padding:13px 2px;border-top:1px solid #edf1ee}.attempt-item:first-child{border-top:0}.attempt-date{width:38px;height:38px;border-radius:10px;background:#f0f5f2;display:grid;place-items:center;color:var(--green);font-size:10px;font-weight:750;flex:none}.attempt-item>div{min-width:0;flex:1}.attempt-item strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attempt-item small{margin:3px 0 0}.attempt-item b{font-size:13px;color:var(--green);flex:none}.class-mini{display:flex;align-items:center;gap:12px;padding:15px 3px;border-top:1px solid #edf1ee}.class-mini:first-child{border-top:0}.class-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#e8f5ee;color:var(--green);font-family:STKaiti,KaiTi,serif;font-weight:800}.class-mini>div:nth-child(2){flex:1;min-width:0}.class-mini strong{display:block;font-size:13px}.class-mini .rate strong{color:var(--green)}.activity-item{display:flex;align-items:center;gap:10px;padding:13px 2px;border-top:1px solid #edf1ee}.activity-item:first-child{border-top:0}.status-dot{width:8px;height:8px;border-radius:50%;background:#aaa}.status-dot.ok{background:#3ea674;box-shadow:0 0 0 4px #e7f5ed}.status-dot.bad{background:#d0645e;box-shadow:0 0 0 4px #fceceb}.activity-item>div{flex:1;min-width:0}.activity-item strong{display:block;font-size:12px}.activity-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.activity-item time{color:#9aa59f;font-size:10px}.coverage-list{display:flex;flex-direction:column;gap:19px;padding-top:5px}.coverage-item{display:grid;grid-template-columns:145px minmax(80px,1fr) 38px;align-items:center;gap:14px}.coverage-item strong{display:block;font-size:12px}.coverage-item span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.coverage-item b{text-align:right;font-size:11px;color:var(--green)}
.flash-stack{position:fixed;top:20px;right:24px;z-index:100;width:min(410px,calc(100vw - 32px));display:flex;flex-direction:column;gap:9px}.flash{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);font-size:12px;line-height:1.5}.flash>span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:800}.flash.error>span{background:var(--danger-soft);color:var(--danger)}.flash button{margin-left:auto;background:transparent;border:0;color:#9aa59f;font-size:18px}.auth-flashes{right:calc(15vw - 20px)}
.auth-body{background:#fff;min-height:100vh}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(440px,.88fr)}.auth-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b3d2d 0%,#0f5b40 55%,#19724f 100%);color:#fff;padding:54px 7vw}.auth-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to bottom,black,transparent)}.auth-visual-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column}.auth-brand{padding:0}.auth-copy{margin:auto 0;max-width:580px}.auth-copy h1{font-family:STSong,Songti SC,serif;font-size:clamp(42px,5vw,70px);line-height:1.13;letter-spacing:.04em;margin:19px 0 22px;font-weight:700}.auth-copy p{max-width:520px;color:#b9d5c9;line-height:1.9;font-size:15px}.exam-facts{display:grid;grid-template-columns:repeat(4,1fr);max-width:570px;padding-top:24px;border-top:1px solid rgba(255,255,255,.13)}.exam-facts div{border-left:1px solid rgba(255,255,255,.1);padding-left:20px}.exam-facts div:first-child{border:0;padding-left:0}.exam-facts strong{display:block;font-size:22px}.exam-facts span{display:block;font-size:10px;color:#9cc3b2;margin-top:4px}.visual-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.06)}.visual-orb.one{width:440px;height:440px;right:-170px;top:5%;box-shadow:inset 0 0 80px rgba(255,255,255,.025)}.visual-orb.two{width:260px;height:260px;right:8%;bottom:-150px}.auth-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;background:#fbfdfc}.login-card{width:min(390px,100%)}.login-card h2{font-size:29px;margin:9px 0 6px;letter-spacing:-.02em}.login-card>.subtle{margin-bottom:30px}.field{display:block;margin-bottom:17px}.field>span:first-child{display:block;font-size:12px;font-weight:650;margin-bottom:7px}.field input,.field select,.field textarea,.input{width:100%;border:1px solid #dce5e0;border-radius:10px;background:#fff;padding:0 13px;min-height:45px;color:var(--ink);outline:none;transition:.18s}.field textarea{padding-top:12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:#69aa8f;box-shadow:0 0 0 3px rgba(37,134,94,.09)}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:58px}.password-wrap button{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--green);font-size:11px}.demo-accounts{margin-top:22px;padding:13px 15px;border-radius:10px;background:#f0f5f2;color:var(--muted);display:flex;flex-direction:column;gap:4px;font-size:10px;line-height:1.5}.demo-accounts strong{color:#52635b;margin-bottom:2px}.auth-foot{position:absolute;bottom:20px;color:#9aa59f;font-size:10px}.error-page{min-height:100vh;display:grid;place-items:center}.app-main .error-page{min-height:70vh}.error-card{text-align:center;max-width:470px}.error-symbol{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:19px;background:var(--danger-soft);color:var(--danger);font-size:27px;font-weight:800}.error-card h1{font-size:26px;margin:8px 0}.error-card p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 22px}
/* Shared content and tables */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar .field{margin:0}.toolbar input,.toolbar select{min-height:40px}.search-input{min-width:240px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{padding:12px 15px;text-align:left;background:#f8faf9;color:#6d7c75;font-size:10px;letter-spacing:.04em;white-space:nowrap}.data-table td{padding:14px 15px;border-top:1px solid #edf1ee;vertical-align:middle}.data-table tbody tr:hover{background:#fbfdfc}.data-table strong{font-size:12px}.data-table small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.badge{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:99px;background:#eef3f0;color:#5d6d65;font-size:10px;font-weight:700}.badge.level-了解{background:#eef3f6;color:#517084}.badge.level-理解{background:#edf3ff;color:#426cb2}.badge.level-掌握{background:#fff0e7;color:#b66327}.badge.success{background:var(--green-soft);color:var(--green)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:#fff7df;color:#9a6b16}.badge.primary{background:#eaf1ff;color:#3d68ad}.badge.muted{background:#f0f3f1;color:#7b8881}.inline-actions{display:flex;gap:7px;align-items:center}.inline-actions form{margin:0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:28px 0 12px}.section-title h2{font-size:17px;margin:0}.section-title p{font-size:11px;color:var(--muted);margin:5px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .field{margin:0}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.note{padding:13px 15px;border-radius:11px;background:#f0f6f3;color:#557066;font-size:11px;line-height:1.7}.note.warning{background:#fff8e9;color:#89631f}.note.danger{background:var(--danger-soft);color:#98504d}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs a,.tabs button{border:0;background:transparent;padding:10px 12px;color:var(--muted);font-size:12px;border-bottom:2px solid transparent}.tabs .active{color:var(--green);border-bottom-color:var(--green);font-weight:700}.divider{height:1px;background:var(--line);margin:20px 0}
.header-facts{display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px 5px}.header-facts span{padding:0 17px;color:var(--muted);font-size:10px;border-left:1px solid var(--line)}.header-facts span:first-child{border:0}.header-facts strong{display:block;font-size:17px;color:var(--ink);margin-bottom:2px}.filter-panel{padding:13px;background:#fff;border:1px solid var(--line);border-radius:14px}.knowledge-list{display:flex;flex-direction:column;gap:15px}.knowledge-group{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.knowledge-group>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;background:#f9fbfa;border-bottom:1px solid var(--line)}.knowledge-group>header h2{display:inline;margin:0 0 0 10px;font-size:14px}.knowledge-group>header small{color:var(--muted);font-size:10px}.course-label{display:inline-flex;padding:4px 8px;border-radius:6px;background:#e5f2eb;color:var(--green);font-size:10px;font-weight:750}.knowledge-row{display:flex;align-items:center;gap:14px;min-height:70px;padding:11px 19px;border-top:1px solid #edf1ee}.knowledge-row:first-child{border-top:0}.knowledge-row:hover{background:#fbfdfc}.point-code{display:inline-flex;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;color:#658076;background:#eef4f1;border-radius:6px;padding:4px 7px;white-space:nowrap}.point-code.large{font-size:10px;padding:5px 8px}.point-main{flex:1;min-width:0}.point-main>strong{display:block;font-size:13px;font-weight:650}.point-main small{display:flex;align-items:center;gap:8px;margin-top:7px}.evidence-ok,.evidence-missing{font-size:10px;color:var(--green)}.evidence-missing{color:#9a8d71}.mastery-cell{text-align:right;min-width:85px}.mastery-cell>strong{display:block;font-size:14px;margin-bottom:5px}.row-arrow{color:#9aaca3;font-size:20px}.breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:10px;margin-bottom:20px}.breadcrumb a{color:var(--green)}.point-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:27px 30px;border-radius:20px;background:linear-gradient(130deg,#0f4b37,#176a4b);color:#fff;box-shadow:0 15px 34px rgba(14,72,51,.16)}.point-hero>div:first-child{min-width:0}.point-hero h1{font-size:25px;line-height:1.42;margin:11px 0 7px;max-width:800px;overflow-wrap:anywhere}.point-hero p{color:#b8d2c7;margin:0;font-size:11px}.point-hero .point-code{background:rgba(255,255,255,.11);color:#d4e8df}.level-seal{width:83px;height:83px;border-radius:50%;display:grid;place-items:center;align-content:center;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.07);flex:none}.level-seal small{font-size:9px;color:#b7d1c6}.level-seal strong{font-family:STKaiti,KaiTi,serif;font-size:23px;margin-top:3px}.point-actions{display:flex;justify-content:flex-end;margin:15px 0}.point-grid{grid-template-columns:minmax(0,1fr) 315px;margin-top:20px;align-items:start}.excerpt-list{display:flex;flex-direction:column;gap:13px}.excerpt-card{min-width:0;border:1px solid #dfe9e4;border-radius:14px;padding:17px;background:#fcfefd}.excerpt-card.draft{background:#fffdf8;border-color:#eee4ce}.excerpt-card header{display:flex;align-items:center;justify-content:space-between;gap:13px}.excerpt-card header>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.excerpt-card header strong{font-size:12px;overflow-wrap:anywhere}.source-meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.source-meta span{font-size:9px;color:#74827b;background:#eff3f1;padding:4px 7px;border-radius:5px}.bibliography-note{margin:10px 0 0;padding:9px 11px;border-radius:8px;background:#fff7e5;color:#806324;font-size:9px;line-height:1.6}.excerpt-card blockquote{margin:12px 0 0;padding:14px 16px;border-left:3px solid #5ba482;background:#f3f8f5;border-radius:0 9px 9px 0;color:#34483f;font-family:STSong,Songti SC,serif;font-size:14px;line-height:1.95;overflow-wrap:anywhere;word-break:break-word}.icon-button{border:0;background:transparent;font-size:10px;padding:5px}.sticky-panel{position:sticky;top:25px}.type-stats{display:flex;flex-direction:column;gap:16px}.type-stat{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.type-stat strong{font-size:11px}.type-stat span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.type-stat b{font-size:15px;color:var(--green)}.type-stat .progress{grid-column:1/-1;height:5px}.knowledge-rule{text-align:center;padding:20px 5px}.knowledge-rule>span{display:grid;place-items:center;width:49px;height:49px;margin:0 auto 13px;border-radius:15px;background:var(--green-soft);color:var(--green);font-family:STKaiti,KaiTi,serif;font-size:22px}.knowledge-rule h3{font-size:14px;margin:0 0 7px}.knowledge-rule p{color:var(--muted);font-size:11px;line-height:1.7;margin:0}.dialog{width:min(680px,calc(100vw - 30px));max-height:90vh;border:0;border-radius:18px;padding:0;box-shadow:0 30px 90px rgba(4,35,23,.25);overflow:auto}.dialog::backdrop{background:rgba(4,28,19,.55);backdrop-filter:blur(3px)}.dialog>form{padding:25px}.dialog header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.dialog h2{margin:5px 0 4px;font-size:21px}.dialog header p{color:var(--muted);font-size:11px;margin:0}.dialog-close{border:0;background:#f1f4f2;width:32px;height:32px;border-radius:9px;color:#728078;font-size:20px}.dialog footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.exam-standard{padding:11px 16px;background:#fff;border:1px solid var(--line);border-radius:12px}.exam-standard span{display:block;color:var(--muted);font-size:9px}.exam-standard strong{display:block;font-size:12px;margin-top:4px}.callout{display:flex;align-items:center;gap:13px;padding:15px 18px;margin-bottom:18px;border-radius:14px;background:#eef6f2;border:1px solid #d7e9df}.callout>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#fff;color:var(--green);font-size:17px}.callout>div{flex:1}.callout strong{font-size:12px}.callout p{color:var(--muted);font-size:10px;margin:4px 0 0;line-height:1.5}.callout.blocked{background:#fff8e9;border-color:#efe2bf}.callout.blocked>span{color:var(--warning)}.builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;align-items:start;gap:20px}.builder-grid main{display:flex;flex-direction:column;gap:20px}.builder-section>header{display:flex;align-items:center;gap:13px;margin-bottom:18px}.builder-section>header>div{flex:1}.builder-section>header h2{font-size:17px;margin:0 0 3px}.builder-section>header p{font-size:10px;color:var(--muted);margin:0}.builder-section>header>b{font-size:11px;color:var(--green);background:var(--green-soft);padding:7px 10px;border-radius:8px}.step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--green);color:#fff;font-size:12px;font-weight:750}.point-filters{display:grid;grid-template-columns:1fr 1.2fr 1.2fr auto;gap:8px;margin-bottom:12px}.point-filters select,.point-filters input{width:100%;height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;font-size:11px;outline:none}.point-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:410px;overflow:auto;padding-right:4px}.point-option{position:relative;display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:11px;cursor:pointer;transition:.16s}.point-option:hover{border-color:#a6cbbb}.point-option.selected{border-color:#54a17f;background:#f1f9f5}.point-option.locked{opacity:.58;cursor:not-allowed;background:#f7f8f7}.point-option>input{position:absolute;opacity:0}.checkmark{display:grid;place-items:center;width:19px;height:19px;border-radius:6px;border:1px solid #ccd9d2;color:transparent;font-size:10px;flex:none}.point-option input:checked+.checkmark{background:var(--green);border-color:var(--green);color:#fff}.point-option>div{min-width:0}.point-option small{display:block;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.point-option strong{display:block;font-size:11px;line-height:1.5;margin:4px 0 6px}.point-option div>span{font-size:9px;color:#708078}.point-option .badge{font-style:normal;min-height:18px;padding:0 6px}.picker-empty{text-align:center;padding:30px;color:var(--muted);font-size:11px}.type-config-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.type-config{display:grid;grid-template-columns:28px minmax(160px,1fr) 85px 10px 105px 56px;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid #edf1ee}.type-config:first-child{border-top:0}.type-toggle{position:relative}.type-toggle input{position:absolute;opacity:0}.type-toggle span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #cad7d1;border-radius:6px;color:transparent;font-size:10px}.type-toggle input:checked+span{background:var(--green);border-color:var(--green);color:#fff}.type-name strong{display:block;font-size:11px}.type-name small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.type-config>label:not(.type-toggle)>span:first-child{display:block;color:var(--muted);font-size:8px;margin-bottom:3px}.type-config input[type=number]{width:100%;height:33px;border:1px solid var(--line);border-radius:8px;padding:0 8px;outline:none}.type-config>b{color:#9aa59f;font-size:11px}.type-config>em{font-style:normal;color:var(--green);font-size:10px;text-align:right}.score-input{position:relative;display:block}.score-input input{padding-right:28px!important}.score-input i{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted);font-size:9px}.builder-summary h2{font-size:20px;margin:5px 0 18px}.builder-summary .field{margin-bottom:13px}.summary-numbers{display:grid;grid-template-columns:1fr 1fr;margin:18px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.summary-numbers>div+div{border-left:1px solid var(--line);padding-left:16px}.summary-numbers span{display:block;color:var(--muted);font-size:9px}.summary-numbers strong{display:block;font-size:22px;margin-top:5px}.summary-numbers em{font-style:normal;font-size:10px;color:var(--muted);margin-left:3px}.grounding-rule{display:flex;gap:9px;padding:11px;background:#f0f7f4;border-radius:10px;margin-bottom:14px}.grounding-rule>span{color:var(--green);font-weight:800}.grounding-rule p{font-size:9px;line-height:1.6;color:#61756b;margin:0}.grounding-rule strong{display:block;color:#34594a;font-size:10px}.generate-tip{text-align:center;color:var(--muted);font-size:9px;margin:9px 0 0}.button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.generating-overlay{position:fixed;inset:0;z-index:120;background:rgba(5,32,22,.7);backdrop-filter:blur(7px);display:grid;place-items:center}.generating-overlay[hidden]{display:none}.generating-card{width:min(390px,calc(100vw - 35px));padding:36px;text-align:center;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.ai-loader{display:grid;place-items:center;width:55px;height:55px;margin:0 auto 17px;border-radius:17px;background:var(--green-soft);color:var(--green);font-size:23px;animation:pulse 1.4s infinite}.generating-card h2{font-size:18px;margin:0 0 7px}.generating-card p,.generating-card small{font-size:10px;color:var(--muted)}.loading-bar{height:5px;background:#edf2ef;border-radius:99px;overflow:hidden;margin:20px 0 11px}.loading-bar i{display:block;height:100%;width:40%;background:var(--green);border-radius:inherit;animation:loading 1.6s infinite}@keyframes pulse{50%{transform:scale(1.08);box-shadow:0 0 0 8px rgba(20,107,75,.06)}}@keyframes loading{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}
.exam-page{width:min(1320px,100%)}.exam-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 19px;margin:-15px 0 20px;background:rgba(245,248,246,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.exam-header>div{display:flex;align-items:center;gap:10px}.exam-header a{font-family:STKaiti,KaiTi,serif;color:var(--green);font-weight:800}.exam-header>div>span{width:1px;height:14px;background:var(--line)}.exam-header strong{font-size:12px}.exam-meta span{color:var(--muted);font-size:10px}.exam-meta b{min-width:64px;text-align:center;padding:7px 9px;border-radius:8px;background:#173e30;color:#fff;font-family:ui-monospace,monospace;font-size:13px}.exam-meta b.urgent{background:var(--danger)}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}.question-list{display:flex;flex-direction:column;gap:14px}.question-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;scroll-margin-top:80px}.question-card>header{display:flex;align-items:center;gap:10px}.question-number{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#183f31;color:#fff;font-size:12px;font-weight:700}.question-card>header>div{display:flex;gap:6px;flex:1}.question-card>header>b{font-size:11px}.question-card>h2{font-size:15px;line-height:1.75;margin:18px 0;font-weight:620}.option-list{display:flex;flex-direction:column;gap:8px}.answer-option{position:relative;display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.15s}.answer-option:hover{border-color:#9fc5b4;background:#fbfdfc}.answer-option:has(input:checked){border-color:#52a07e;background:#f0f8f4}.answer-option input{position:absolute;opacity:0}.option-letter{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid #ccd8d2;font-size:10px;color:#61736a}.option-letter.square{border-radius:7px}.answer-option input:checked+.option-letter{background:var(--green);border-color:var(--green);color:#fff}.answer-option strong{font-size:12px;font-weight:520}.fill-answer{max-width:520px}.essay-answer{min-height:145px;padding-top:12px!important}.answer-sheet header{display:flex;align-items:center;justify-content:space-between}.answer-sheet h2{font-size:16px;margin:4px 0}.answer-sheet header>span{font-size:11px;color:var(--green);font-weight:700}.answer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:17px 0}.answer-grid a{aspect-ratio:1;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;color:#6d7b74;font-size:10px}.answer-grid a.done{background:var(--green);border-color:var(--green);color:#fff}.answer-legend{display:flex;gap:15px;padding:10px 0 15px;border-top:1px solid var(--line)}.answer-legend span{font-size:9px;color:var(--muted)}.answer-legend i{display:inline-block;width:9px;height:9px;border:1px solid #ccd7d1;border-radius:3px;margin-right:5px}.answer-legend i.done{background:var(--green);border-color:var(--green)}.answer-sheet>p{text-align:center;color:var(--muted);font-size:9px;line-height:1.5;margin:9px 0 0}
.result-hero{display:flex;align-items:center;gap:25px;padding:25px 28px;background:linear-gradient(135deg,#0f4534,#176b4c);border-radius:20px;color:#fff;box-shadow:0 14px 35px rgba(14,73,52,.15)}.score-ring{--score:0;width:116px;height:116px;border-radius:50%;background:conic-gradient(#78d4a9 calc(var(--score)*1%),rgba(255,255,255,.12) 0);padding:7px;flex:none}.score-ring>div{height:100%;border-radius:50%;display:grid;place-items:center;align-content:center;background:#124b38}.score-ring strong{font-size:33px}.score-ring span{font-size:9px;color:#b4d1c5}.result-copy{flex:1;min-width:0}.result-copy h1{font-size:21px;margin:8px 0 4px}.result-copy>p{font-size:10px;color:#b3d0c4;margin:0}.result-copy>div{display:flex;gap:22px;margin-top:17px}.result-copy>div span{font-size:9px;color:#a8cabc}.result-copy>div strong{display:block;color:#fff;font-size:13px;margin-top:3px}.result-actions{display:flex;flex-direction:column;gap:8px}.result-hero .result-actions .button:not(.primary){background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.15);color:#fff}.callout.weak-result{margin-top:18px;background:#fff8ed;border-color:#f0dfc1}.result-filter{display:flex;border:1px solid var(--line);border-radius:9px;background:#fff;padding:3px}.result-filter button{border:0;background:transparent;padding:7px 10px;border-radius:6px;color:var(--muted);font-size:10px}.result-filter button.active{background:var(--green-soft);color:var(--green);font-weight:700}.review-list{display:flex;flex-direction:column;gap:13px}.review-card{background:#fff;border:1px solid var(--line);border-left:4px solid #58a67f;border-radius:15px;padding:20px}.review-card.wrong{border-left-color:#d06760}.review-card>header{display:flex;align-items:center;gap:10px}.review-status{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:800}.review-card.wrong .review-status{background:var(--danger-soft);color:var(--danger)}.review-card>header>div{display:flex;align-items:center;gap:8px;flex:1}.review-card>header a{font-size:10px;color:var(--muted)}.review-card>header>b{font-size:11px}.review-card>h2{font-size:14px;line-height:1.7;margin:16px 0}.review-card>h2 span{color:var(--muted);margin-right:5px}.answer-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-comparison>div{padding:11px 13px;border-radius:9px;background:#f5f8f6}.answer-comparison small{font-size:9px;color:var(--muted)}.answer-comparison p{font-size:11px;margin:5px 0 0;line-height:1.6}.explanation{margin-top:11px;padding:13px;border:1px solid #e4ebe7;border-radius:10px}.explanation strong{font-size:10px;color:var(--green)}.explanation p{font-size:11px;line-height:1.75;margin:6px 0}.explanation span{font-size:9px;color:var(--muted)}.evidence-detail{margin-top:10px}.evidence-detail summary{cursor:pointer;color:var(--green);font-size:10px}.evidence-detail>div{padding:12px;margin-top:7px;background:#f2f7f4;border-radius:9px}.evidence-detail strong{font-size:9px;color:#668076}.evidence-detail blockquote{font-family:STSong,Songti SC,serif;font-size:11px;line-height:1.8;margin:8px 0 0;color:#455c51}
.compact-metrics .metric-card{min-height:106px}.wrong-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wrong-card{display:flex;flex-direction:column;padding:18px;background:#fff;border:1px solid #eadedb;border-top:3px solid #d06a62;border-radius:14px}.wrong-card.resolved{border-color:#dce9e2;border-top-color:#4da078}.wrong-card>header{display:flex;align-items:center;gap:8px}.wrong-card>header>span:nth-child(2){flex:1;color:var(--muted);font-size:9px}.wrong-card>header>b{font-size:9px;color:var(--danger)}.wrong-point{font-size:10px;color:var(--green);margin-top:14px}.wrong-card h2{font-size:13px;line-height:1.7;margin:10px 0 13px}.wrong-card details{border-top:1px solid var(--line);padding-top:10px}.wrong-card summary{font-size:10px;color:var(--green);cursor:pointer}.wrong-card details>div{padding:10px;background:#f5f8f6;border-radius:8px;margin-top:8px}.wrong-card details strong{font-size:9px;color:var(--muted)}.wrong-card details p{font-size:10px;line-height:1.65;margin:4px 0 9px}.wrong-card>footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px}.wrong-card>footer small{font-size:9px;color:var(--muted)}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.class-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:.18s}.class-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#c9ddd3}.class-card>header{display:flex;align-items:center;justify-content:space-between}.class-icon.large{width:48px;height:48px;border-radius:14px;font-size:20px}.class-card h2{font-size:16px;margin:15px 0 5px}.class-card>p{color:var(--muted);font-size:10px;margin:0}.class-card>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.class-card>div span{padding:10px;background:#f5f8f6;border-radius:9px;color:var(--muted);font-size:9px}.class-card>div strong{display:block;color:var(--ink);font-size:12px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-card>footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;color:var(--green);font-size:10px;font-weight:700}.table-note{margin-left:auto;color:var(--muted);font-size:9px}.table-wrap.flat{border:0;border-radius:0}.student-cell{display:flex;align-items:center;gap:9px}.student-cell strong{white-space:nowrap}.table-rate{display:flex;align-items:center;gap:9px;min-width:120px}.table-rate .progress{width:75px;height:5px}.table-rate strong{font-size:10px}.data-table code{font-size:10px;background:#f1f4f2;padding:4px 6px;border-radius:5px}.student-hero{display:flex;align-items:center;gap:16px;padding:24px 27px;background:#fff;border:1px solid var(--line);border-radius:18px}.avatar.xl{width:62px;height:62px;font-size:22px}.student-hero>div:nth-child(2){flex:1}.student-hero h1{font-size:22px;margin:5px 0 4px}.student-hero p{color:var(--muted);font-size:10px;margin:0}.student-summary{display:flex!important;gap:0!important}.student-summary span{padding:0 19px;border-left:1px solid var(--line);color:var(--muted);font-size:9px}.student-summary strong{display:block;color:var(--ink);font-size:17px;margin-bottom:3px}.student-tabs{display:flex;gap:6px;margin:20px 0 12px}.student-tabs button{border:1px solid transparent;background:transparent;border-radius:9px;padding:9px 13px;color:var(--muted);font-size:11px}.student-tabs button.active{background:#fff;border-color:var(--line);color:var(--green);font-weight:700}.student-mastery-list{display:flex;flex-direction:column;gap:9px}.mastery-row{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 17px}.mastery-head{display:grid;grid-template-columns:auto minmax(220px,1fr) auto 55px 90px 25px;gap:11px;align-items:center}.mastery-head>div small{display:block;color:var(--muted);font-size:9px;margin-bottom:3px}.mastery-head>div a{display:block;font-size:11px;font-weight:650}.mastery-head>strong{text-align:right;font-size:13px}.mastery-head>button{border:0;background:#f0f4f2;border-radius:6px;height:25px;color:var(--green)}.mastery-row>.progress{height:4px;margin-top:12px}.mastery-types{display:flex;gap:8px;flex-wrap:wrap;padding-top:13px;margin-top:12px;border-top:1px solid var(--line)}.mastery-types[hidden]{display:none}.type-chip{min-width:105px;padding:9px 10px;border-radius:8px;background:#f5f8f6}.type-chip.overall{background:var(--green-soft)}.type-chip span{display:block;font-size:8px;color:var(--muted)}.type-chip strong{display:block;font-size:12px;margin-top:4px}.type-chip small{font-size:8px;color:var(--muted)}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.model-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.model-card.disabled{opacity:.68}.model-card>header{display:flex;align-items:center;gap:11px}.model-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1c7051,#103f30);color:#fff;font-size:12px;font-weight:800}.model-card>header>div{flex:1}.model-card h2{font-size:14px;margin:0 0 3px}.model-card header p{color:var(--muted);font-size:9px;margin:0}.model-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.model-card dl div{padding:10px;background:#f7f9f8;border-radius:8px;min-width:0}.model-card dt{font-size:8px;color:var(--muted)}.model-card dd{font-size:10px;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-card>footer{display:flex;gap:7px;padding-top:13px;border-top:1px solid var(--line)}.check-field{display:flex;align-items:center;gap:8px;font-size:11px}.check-field input{accent-color:var(--green)}.small-dialog{width:min(420px,calc(100vw - 30px))}.profile-grid{grid-template-columns:320px minmax(0,520px);align-items:start}.profile-card{text-align:center}.profile-card>.avatar{margin:0 auto}.profile-card h2{font-size:18px;margin:11px 0 7px}.profile-card dl{margin:22px 0 0}.profile-card dl div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid var(--line);font-size:10px}.profile-card dt{color:var(--muted)}.profile-card dd{margin:0}.profile-form{max-width:420px}
@media(max-width:1100px){.metric-grid.four{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr 1fr}.auth-visual{padding:42px}.exam-facts{grid-template-columns:repeat(2,1fr);gap:18px}.exam-facts div:nth-child(3){border:0;padding-left:0}.point-grid,.builder-grid{grid-template-columns:1fr}.sticky-panel{position:static}.builder-grid aside{order:-1}.builder-grid aside .builder-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.builder-summary>.eyebrow,.builder-summary>h2,.builder-summary>.grounding-rule,.builder-summary>.generate-tip{display:none}.builder-summary .summary-numbers{margin:0}.builder-summary .button{align-self:end}.exam-layout{grid-template-columns:1fr}.exam-layout aside{order:-1}.answer-sheet{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:15px}.answer-sheet .answer-grid{margin:0}.answer-sheet .answer-legend,.answer-sheet>p{display:none}.class-grid{grid-template-columns:repeat(2,1fr)}.student-hero{align-items:flex-start;flex-wrap:wrap}.student-summary{width:100%;padding-top:14px;border-top:1px solid var(--line)}.student-summary span:first-child{border:0;padding-left:0}}
@media(max-width:760px){:root{--sidebar:260px}.sidebar{transform:translateX(-100%);transition:.23s}.sidebar.open{transform:none}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(4,23,16,.45);z-index:35}.sidebar.open~.app-main+.sidebar-backdrop{display:block}.app-main{margin-left:0}.mobile-header{position:sticky;top:0;z-index:30;height:62px;padding:0 18px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.mobile-header button{border:0;background:transparent;font-size:19px}.mobile-brand{display:flex;align-items:center;gap:8px}.mobile-brand .brand-mark{width:29px;height:29px;border-radius:8px;font-size:15px;background:var(--green-soft)}.mobile-brand strong{font-size:14px}.page{padding:25px 17px 44px}.page-header.split{align-items:flex-start;flex-direction:column}.page-header h1{font-size:25px}.metric-grid.four,.metric-grid.three{grid-template-columns:1fr 1fr}.metric-card{padding:17px;min-height:125px}.metric-card strong{font-size:24px}.metric-card p{display:none}.panel{padding:17px}.auth-shell{display:block}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:35px 24px}.auth-foot{bottom:12px}.auth-flashes{right:16px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.search-input{min-width:100%;width:100%}.coverage-item{grid-template-columns:120px 1fr 35px}.knowledge-group>header small{display:none}.knowledge-row{align-items:flex-start;padding:13px}.knowledge-row>.point-code{display:none}.mastery-cell{min-width:55px}.point-hero{padding:22px}.point-hero h1{font-size:19px}.level-seal{width:66px;height:66px}.point-filters{grid-template-columns:1fr 1fr}.point-filters input{grid-column:1/-1}.point-picker{grid-template-columns:1fr}.type-config{grid-template-columns:25px 1fr 65px 6px 85px}.type-config>em{display:none}.builder-grid aside .builder-summary{display:block}.builder-summary>.eyebrow,.builder-summary>h2,.builder-summary>.grounding-rule,.builder-summary>.generate-tip{display:block}.exam-header{top:62px}.exam-header>div:first-child strong,.exam-header>div:first-child span{display:none}.answer-sheet{display:block}.answer-sheet .answer-grid{margin:15px 0}.answer-sheet .answer-legend{display:flex}.result-hero{align-items:flex-start;flex-wrap:wrap}.score-ring{width:95px;height:95px}.result-actions{width:100%;flex-direction:row}.result-actions .button{flex:1}.answer-comparison{grid-template-columns:1fr}.wrong-grid,.class-grid,.model-grid{grid-template-columns:1fr}.mastery-head{grid-template-columns:auto 1fr auto auto}.mastery-head>.point-code,.mastery-head>.badge:first-of-type{display:none}.mastery-head>strong{grid-column:3}.mastery-head>.badge:last-of-type{display:none}.student-summary{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important}.student-summary span{border:0;padding:0}.profile-grid{grid-template-columns:1fr}}
@media(max-width:480px){.metric-grid.four,.metric-grid.three{grid-template-columns:1fr}.metric-card{min-height:112px}.weak-item{align-items:flex-start}.page-header .button{width:100%}.toolbar>*{width:100%}.toolbar .button{width:100%}.flash-stack{right:16px}.coverage-item{grid-template-columns:1fr 38px}.coverage-item .progress{grid-column:1/2;grid-row:2}.coverage-item b{grid-row:1;grid-column:2}.panel-header{flex-direction:column}.panel-header>.button{width:100%}}
@media(max-width:600px){.point-hero{align-items:flex-start;gap:12px;padding:19px}.point-hero h1{font-size:18px}.level-seal{width:58px;height:58px}.level-seal small{font-size:8px}.level-seal strong{font-size:18px}.excerpt-card{padding:13px}.excerpt-card header{align-items:flex-start}.excerpt-card blockquote{padding:12px;font-size:13px;line-height:1.85}.source-meta:empty{display:none}.breadcrumb{overflow:hidden;white-space:nowrap}.breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis}.quiz-builder-page .panel{overflow:hidden}.question-card{padding:17px}.question-card>h2{font-size:14px}.result-copy>div{gap:12px;flex-wrap:wrap}}
.protected-text{position:relative;isolation:isolate;overflow:hidden;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none;cursor:default}.protected-text::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background-image:var(--protected-watermark);background-repeat:repeat;background-position:center top;background-size:420px 160px}.copy-protection-toast{position:fixed;left:50%;bottom:28px;z-index:150;transform:translate(-50%,18px);max-width:calc(100vw - 32px);padding:11px 16px;border-radius:10px;background:rgba(14,57,43,.94);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:12px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.copy-protection-toast.show{opacity:1;transform:translate(-50%,0)}
.admin-page-actions{display:flex;align-items:center;gap:14px;margin:0 0 14px}.admin-page-actions span{color:var(--muted);font-size:11px}.system-label{display:inline-flex;padding:4px 8px;border-radius:6px;background:#e9edf8;color:#4d5e91;font-size:10px;font-weight:750}.bulk-panel{position:sticky;top:12px;z-index:18;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 13px;padding:11px 13px;border:1px solid #cfe0d7;border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 9px 24px rgba(18,64,45,.08);backdrop-filter:blur(10px)}.bulk-panel .field{min-width:170px;margin:0}.bulk-panel input,.bulk-panel select{min-height:36px}.bulk-select-all{display:flex;align-items:center;gap:7px;font-size:11px}.bulk-select-all input,.row-checkbox input{accent-color:var(--green)}.bulk-panel>strong{font-size:11px;color:var(--green)}.bulk-option[hidden]{display:none}.replace-fields{display:flex;gap:7px}.replace-fields input{width:145px}.admin-knowledge-row{padding:0}.admin-knowledge-row.archived{opacity:.68;background:#faf8f5}.row-checkbox{display:grid;place-items:center;align-self:stretch;width:45px;flex:none;border-right:1px solid var(--line)}.knowledge-row-link{display:flex;align-items:center;gap:14px;flex:1;min-width:0;padding:11px 19px}.curricula-page{width:min(1300px,100%)}.system-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.system-card{display:flex;flex-direction:column;gap:7px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#fff}.system-card:hover,.system-card.active{border-color:#7cb296;box-shadow:0 9px 24px rgba(16,77,52,.08)}.system-card.active{background:var(--green-soft)}.system-card>span{color:var(--green);font-family:ui-monospace,monospace;font-size:9px}.system-card>strong{font-size:13px}.system-card>small{color:var(--muted);font-size:9px}.curricula-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start}.curricula-grid>main,.curricula-grid>aside{display:flex;flex-direction:column;gap:15px}.system-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:17px}.system-facts span{padding:12px;border-radius:10px;background:#f5f8f6}.system-facts small{display:block;color:var(--muted);font-size:9px}.system-facts strong{display:block;margin-top:5px;font-size:12px}.curriculum-course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.curriculum-course{padding:13px;border:1px solid var(--line);border-radius:11px}.curriculum-course header{display:flex;justify-content:space-between;align-items:center;gap:9px}.curriculum-course header>div{display:flex;align-items:center;gap:8px}.curriculum-course header strong{font-size:11px}.curriculum-course header>span,.curriculum-course>div{font-size:9px;color:var(--muted)}.curriculum-course>div{margin-top:11px}.curriculum-course>div b{color:var(--ink);font-size:11px}.curriculum-course>div i{font-style:normal;margin:0 4px}.project-chip-list{display:flex;flex-wrap:wrap;gap:8px}.project-chip-list>span{min-width:190px;padding:10px 12px;border-radius:9px;background:#f5f8f6}.project-chip-list small,.project-chip-list strong{display:block}.project-chip-list small{color:var(--muted);font-size:8px}.project-chip-list strong{font-size:10px;margin-top:4px}.level-admin-list{display:flex;flex-direction:column;gap:8px}.level-admin-list>div{padding:11px;border:1px solid var(--line);border-radius:10px}.level-admin-list p{font-size:10px;margin:7px 0 4px}.level-admin-list small,.form-hint{color:var(--muted);font-size:9px}.stack-form{display:flex;flex-direction:column;gap:12px}.check-line{display:flex;align-items:center;gap:7px;font-size:10px}.check-line input{accent-color:var(--green)}.form-section-title{margin:20px 0 12px;padding-top:18px;border-top:1px solid var(--line);font-size:13px}.wide-dialog{width:min(820px,calc(100vw - 30px))}.point-filters.multi-system{grid-template-columns:1fr 1fr 1fr 1.2fr auto}
@media(max-width:1100px){.curricula-grid{grid-template-columns:1fr}.curricula-grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.point-filters.multi-system{grid-template-columns:1fr 1fr 1fr}.point-filters.multi-system input{grid-column:auto}}
@media(max-width:760px){.system-switcher{grid-template-columns:1fr}.system-facts{grid-template-columns:1fr 1fr}.curriculum-course-list{grid-template-columns:1fr}.curricula-grid>aside{display:flex}.bulk-panel{position:static;align-items:stretch}.bulk-panel>*{width:100%}.bulk-panel .field{width:100%}.knowledge-row-link{align-items:flex-start;padding:13px}.knowledge-row-link>.point-code{display:none}.row-checkbox{width:38px}.point-filters.multi-system{grid-template-columns:1fr 1fr}.point-filters.multi-system input{grid-column:1/-1}.admin-page-actions{align-items:stretch;flex-direction:column}.admin-page-actions .button{width:100%}}
.transcription-config{margin:0 0 14px;padding:12px;border-radius:10px;background:#f5f8f6}.transcription-config .field{margin:0}.transcription-config .field>div{display:flex;gap:7px}.transcription-config input{min-width:0}.transcription-config small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.recitation-rule{padding:11px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.recitation-rule span,.recitation-rule strong{display:block}.recitation-rule span{color:var(--muted);font-size:9px}.recitation-rule strong{margin-top:3px;font-size:15px}.recitation-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.recorder-form{display:flex;flex-direction:column;gap:15px}.recitation-search{margin-bottom:-5px}.recorder-box{padding:22px;border:1px solid #d9e5df;border-radius:16px;background:linear-gradient(145deg,#f8fbf9,#eef6f2)}.recorder-visual{display:flex;align-items:center;gap:13px}.microphone-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;font-size:18px;box-shadow:0 0 0 8px rgba(20,107,75,.08)}.recorder-visual>div{flex:1}.recorder-visual strong,.recorder-visual small{display:block}.recorder-visual strong{font-size:14px}.recorder-visual small{margin-top:5px;color:var(--muted);font-size:9px}.recorder-visual time{font-family:ui-monospace,monospace;font-size:21px;font-weight:750;color:var(--green)}.recorder-bars{height:48px;display:flex;align-items:center;justify-content:center;gap:5px;margin:18px 0}.recorder-bars i{width:4px;height:10px;border-radius:5px;background:#9fc7b4;transition:.2s}.recorder-box.recording .microphone-icon{background:var(--danger);animation:pulse 1.2s infinite}.recorder-box.recording .recorder-bars i{animation:voicebar .8s ease-in-out infinite alternate}.recorder-box.recording .recorder-bars i:nth-child(3n){animation-delay:.15s}.recorder-box.recording .recorder-bars i:nth-child(4n){animation-delay:.3s}.recorder-box.ready{border-color:#72ab90;background:#f1f8f4}@keyframes voicebar{to{height:42px;background:#48a079}}.recorder-actions{display:flex;justify-content:center;gap:10px}.recitation-audio,.recorder-box audio{width:100%;margin-top:14px}.upload-fallback{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid rgba(50,100,75,.13)}.upload-fallback>span,.upload-fallback small{color:var(--muted);font-size:9px}.recitation-recent-list{display:flex;flex-direction:column}.recitation-recent-list>a{display:flex;align-items:center;gap:9px;padding:11px 0;border-top:1px solid var(--line)}.recitation-recent-list>a:first-child{border-top:0}.recitation-recent-list>a>div{flex:1;min-width:0}.recitation-recent-list strong,.recitation-recent-list small{display:block}.recitation-recent-list strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recitation-recent-list small{margin-top:4px;color:var(--muted);font-size:8px}.recitation-recent-list b{font-size:10px}.recitation-tips{text-align:center}.recitation-tips>span{display:grid;place-items:center;width:48px;height:48px;margin:auto;border-radius:14px;background:var(--green-soft);color:var(--green);font-family:STKaiti,KaiTi,serif;font-size:21px}.recitation-tips h3{font-size:13px}.recitation-tips ol{text-align:left;padding-left:19px;color:var(--muted);font-size:10px;line-height:1.8}.recitation-result-hero{display:flex;align-items:center;gap:20px;padding:24px 27px;border-radius:20px;background:linear-gradient(135deg,#104835,#17694b);color:#fff}.recitation-score{width:95px;height:95px;display:grid;place-items:center;align-content:center;flex:none;border-radius:50%;border:6px solid rgba(112,213,166,.65);background:rgba(0,0,0,.1)}.recitation-score strong{font-size:29px}.recitation-score span{font-size:8px;color:#bad7ca}.recitation-result-hero>div:nth-child(2){flex:1;min-width:0}.recitation-result-hero h1{margin:7px 0;font-size:20px}.recitation-result-hero p{margin:0;color:#b8d4c8;font-size:9px}.recitation-report-grid{grid-template-columns:minmax(0,1fr) 320px;margin-top:18px;align-items:start}.recitation-report-grid>main{display:flex;flex-direction:column;gap:14px}.transcript-text{padding:17px;border-radius:11px;background:#f5f8f6;font-family:STSong,Songti SC,serif;font-size:13px;line-height:1.9}.recitation-annotations{display:flex;flex-direction:column;gap:10px}.annotation{display:flex;gap:11px;padding:13px;border:1px solid var(--line);border-left:4px solid #6ba78b;border-radius:10px}.annotation>span{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:8px;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:800}.annotation.missing,.annotation.incorrect{border-left-color:#c96a61}.annotation.missing>span,.annotation.incorrect>span{background:var(--danger-soft);color:var(--danger)}.annotation.suggestion{border-left-color:#cc9747}.annotation.suggestion>span{background:#fff6e6;color:#a86d17}.annotation>div{min-width:0}.annotation small{display:block;color:var(--muted);font-size:8px;margin-bottom:3px}.annotation blockquote,.annotation p{margin:0 0 8px;font-size:10px;line-height:1.65}.annotation blockquote{padding:8px 10px;background:#f5f8f6;border-radius:7px}.annotation strong{font-size:10px;line-height:1.65}.recitation-sub-scores{display:flex;flex-direction:column;gap:14px}.recitation-sub-scores>div{display:grid;grid-template-columns:1fr auto;gap:7px}.recitation-sub-scores span{font-size:10px}.recitation-sub-scores strong{font-size:12px}.recitation-sub-scores .progress{grid-column:1/-1;height:5px}.recitation-overall,.missing-points{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.recitation-overall span,.missing-points>strong{font-size:9px;color:var(--green)}.recitation-overall p,.missing-points li{font-size:10px;line-height:1.75}.missing-points ul{padding-left:17px}.recitation-report-grid aside .button{margin-top:15px}
@media(max-width:1100px){.recitation-grid,.recitation-report-grid{grid-template-columns:1fr}.recitation-grid aside .recitation-tips{display:none}}
@media(max-width:760px){.recorder-box{padding:17px}.recorder-visual{align-items:flex-start;flex-wrap:wrap}.recorder-visual>div{min-width:180px}.recorder-visual time{margin-left:auto}.recorder-actions{flex-direction:column}.recorder-actions .button{width:100%}.recitation-result-hero{align-items:flex-start;flex-wrap:wrap;padding:19px}.recitation-result-hero>.badge{margin-left:auto}.recitation-score{width:75px;height:75px}.recitation-score strong{font-size:23px}.student-tabs{overflow-x:auto}.student-tabs button{flex:none}.transcription-config .field>div{flex-direction:column}.transcription-config .button{width:100%}}

/* Role color systems */
body.role-admin{--ink:#18243a;--muted:#718099;--line:#e1e8f4;--canvas:#f5f8ff;--green:#2563eb;--green-2:#1d4ed8;--green-soft:#eaf2ff;--sidebar-bg:#142b58;--sidebar-muted:#b9c9e7;--sidebar-subtle:#90a7d2;--brand-bg:#eff5ff;--hero-start:#183d82;--hero-end:#2f6ce5;--primary-light:#71a2ff;--shadow:0 12px 32px rgba(25,68,145,.09)}
body.role-teacher{--ink:#17251f;--muted:#718078;--line:#e4ebe7;--canvas:#f5f8f6;--green:#146b4b;--green-2:#0d573d;--green-soft:#e9f5ef;--sidebar-bg:#0e392b;--sidebar-muted:#bcd0c8;--sidebar-subtle:#9cbaae;--brand-bg:#f1fff7;--hero-start:#0f4b37;--hero-end:#176a4b;--primary-light:#69c39f}
body.role-student{--ink:#30231c;--muted:#806f65;--line:#f0e1d6;--canvas:#fff8f2;--green:#f97316;--green-2:#dc5a0a;--green-soft:#fff0e5;--sidebar-bg:#5b2a0d;--sidebar-muted:#f3c9aa;--sidebar-subtle:#dca77f;--brand-bg:#fff7ed;--hero-start:#b8430c;--hero-end:#f97316;--primary-light:#fbb06f;--shadow:0 12px 32px rgba(154,67,16,.09)}
.app-body .sidebar{background:var(--sidebar-bg)}.app-body .brand-mark{background:var(--brand-bg);color:var(--green)}.app-body .brand small,.app-body .exam-chip,.app-body .main-nav a{color:var(--sidebar-muted)}.app-body .main-nav a.active{color:var(--green)}.app-body .exam-chip span{background:var(--primary-light);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-light) 18%,transparent)}.app-body .user-card small,.app-body .user-card b,.app-body .logout-button{color:var(--sidebar-subtle)}.app-body .avatar{background:var(--green-soft);color:var(--green)}.app-body .point-hero,.app-body .result-hero,.app-body .recitation-result-hero{background:linear-gradient(135deg,var(--hero-start),var(--hero-end));box-shadow:0 15px 34px color-mix(in srgb,var(--hero-start) 22%,transparent)}.app-body .point-hero p,.app-body .result-copy>p,.app-body .result-copy>div span,.app-body .recitation-result-hero p,.app-body .recitation-score span{color:rgba(255,255,255,.72)}.app-body .point-hero .point-code{color:rgba(255,255,255,.88)}.app-body .model-logo{background:linear-gradient(135deg,var(--hero-end),var(--hero-start))}.app-body .score-ring{background:conic-gradient(var(--primary-light) calc(var(--score)*1%),rgba(255,255,255,.12) 0)}.app-body .score-ring>div,.app-body .exam-meta b,.app-body .question-number{background:var(--hero-start)}.app-body .recitation-score{border-color:color-mix(in srgb,var(--primary-light) 72%,white)}.app-body .progress i{background:linear-gradient(90deg,var(--green),var(--primary-light))}.app-body .metric-card.accent{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--green-soft) 78%,white));border-color:color-mix(in srgb,var(--green) 20%,white)}.app-body .metric-card.accent:after{background:color-mix(in srgb,var(--green) 7%,transparent)}.app-body .metric-icon{background:var(--green-soft);color:var(--green)}.app-body .field input:focus,.app-body .field select:focus,.app-body .field textarea:focus,.app-body .input:focus{border-color:color-mix(in srgb,var(--green) 62%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent)}.app-body .answer-option:has(input:checked){border-color:var(--green);background:var(--green-soft)}.app-body .course-label,.app-body .class-icon{background:var(--green-soft);color:var(--green)}.app-body .recorder-box{border-color:color-mix(in srgb,var(--green) 22%,white);background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--green-soft) 72%,white))}.app-body .recorder-box.ready{border-color:var(--green);background:var(--green-soft)}.app-body .recorder-bars i{background:color-mix(in srgb,var(--green) 45%,white)}.app-body .copy-protection-toast{background:color-mix(in srgb,var(--hero-start) 94%,black)}.role-admin ::selection{background:#cfe0ff;color:#153369}.role-teacher ::selection{background:#cbe9da;color:#123d2c}.role-student ::selection{background:#ffd8b8;color:#7b2f08}

/* Student-first orange home */
.student-home.auth-shell{grid-template-columns:minmax(560px,1.22fr) minmax(430px,.78fr)}.student-home .auth-visual{background:linear-gradient(145deg,#9f3508 0%,#ea580c 48%,#fb7b1d 100%);padding:42px 6vw}.student-home .auth-visual:before{display:none}.student-home .auth-brand .brand-mark{background:#fff7ed;color:#ea580c;box-shadow:0 10px 28px rgba(105,36,5,.2)}.student-home .auth-brand small{color:#ffddc4}.student-home .home-hero{position:relative;z-index:2;margin:auto 0;max-width:720px}.home-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:99px;background:rgba(255,255,255,.09);color:#fff4eb;font-size:11px}.home-kicker span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#e6560c;font-size:9px;font-weight:850}.student-home .home-hero h1{font-size:clamp(43px,5vw,72px);line-height:1.12;letter-spacing:-.045em;margin:22px 0 18px}.student-home .home-hero h1 em{font-style:normal;color:#ffe0bd}.student-home .home-hero>p{max-width:620px;margin:0;color:#ffe1cc;font-size:15px;line-height:1.85}.home-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:28px}.home-feature-grid article{display:flex;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(116,34,3,.17);backdrop-filter:blur(6px)}.home-feature-grid article>span{display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:10px;background:rgba(255,255,255,.16);font-weight:800}.home-feature-grid strong,.home-feature-grid small{display:block}.home-feature-grid strong{font-size:12px}.home-feature-grid small{margin-top:3px;color:#ffd9bf;font-size:8px;line-height:1.45}.home-trust-row{position:relative;z-index:2;display:flex;gap:22px;flex-wrap:wrap;color:#ffdbc1;font-size:10px}.home-trust-row i{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:4px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-style:normal}.commerce-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(135deg,black,transparent 75%)}.commerce-orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.06);filter:blur(1px)}.commerce-orb.one{width:430px;height:430px;right:-180px;top:-110px}.commerce-orb.two{width:220px;height:220px;right:12%;bottom:-130px;border:35px solid rgba(255,255,255,.035);background:transparent}.student-home .auth-panel{position:relative;background:#fffaf6}.student-home .login-card{width:min(410px,100%)}.student-entry-mark{display:flex;align-items:center;gap:11px;margin-bottom:26px;padding:12px 13px;border:1px solid #f4dfd0;border-radius:13px;background:#fff}.student-entry-mark>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#fff0e5;color:#f97316;font-family:STKaiti,KaiTi,serif;font-size:20px;font-weight:800}.student-entry-mark strong,.student-entry-mark small{display:block}.student-entry-mark strong{font-size:12px}.student-entry-mark small{margin-top:3px;color:#9a7e6c;font-size:9px}.student-home .eyebrow{color:#f97316}.student-home .login-card h2{font-size:28px}.student-home .field input{border-color:#eadbd0;background:#fff}.student-home .field input:focus{border-color:#fb923c;box-shadow:0 0 0 3px rgba(249,115,22,.11)}.student-home .password-wrap button{color:#ea580c}.student-home .button.primary{background:linear-gradient(135deg,#fb7b1d,#e95b0b);border-color:#e95b0b;box-shadow:0 10px 24px rgba(222,83,8,.22)}.student-home .button.primary:hover{background:linear-gradient(135deg,#f97316,#cf4b05)}.login-role-row{display:flex;justify-content:center;gap:16px;margin-top:18px;color:#8b776b;font-size:9px}.login-role-row span{display:flex;align-items:center;gap:5px}.login-role-row i{width:7px;height:7px;border-radius:50%}.student-dot{background:#f97316}.teacher-dot{background:#146b4b}.admin-dot{background:#2563eb}.student-home .demo-accounts{display:block;margin-top:15px;padding:0;border:1px solid #f0e2d8;background:#fff;color:#806f65}.student-home .demo-accounts summary{padding:10px 13px;cursor:pointer;font-size:10px;font-weight:650;list-style:none}.student-home .demo-accounts summary:after{content:"＋";float:right;color:#f97316}.student-home .demo-accounts[open] summary:after{content:"－"}.student-home .demo-accounts div{display:flex;flex-direction:column;gap:4px;padding:0 13px 11px;font-size:9px}.student-home .auth-foot{color:#a38f82}
@media(max-width:900px){.student-home.auth-shell{grid-template-columns:1fr 1fr}.student-home .auth-visual{padding:38px}.home-feature-grid{grid-template-columns:1fr}.home-feature-grid article:nth-child(3){display:none}.home-trust-row{gap:12px}.home-trust-row span:nth-child(3),.home-trust-row span:nth-child(4){display:none}}
@media(max-width:760px){.student-home.auth-shell{display:flex;flex-direction:column}.student-home .auth-visual{display:block;min-height:auto;padding:24px 20px 28px}.student-home .auth-visual-inner{height:auto}.student-home .auth-brand strong{font-size:16px}.student-home .home-hero{margin:38px 0 22px}.student-home .home-hero h1{font-size:34px;margin:16px 0 12px}.student-home .home-hero>p{font-size:12px;line-height:1.7}.home-feature-grid{grid-template-columns:1fr 1fr;margin-top:18px}.home-feature-grid article{padding:10px}.home-feature-grid article:nth-child(3){display:none}.home-trust-row{display:none}.student-home .auth-panel{min-height:auto;padding:34px 22px 58px}.student-entry-mark{margin-bottom:22px}.student-home .auth-foot{position:static;margin-top:28px}.commerce-orb.one{width:260px;height:260px}}

/* Curriculum ownership and class-system binding */
.inline-admin{margin-top:11px;padding-top:9px;border-top:1px solid var(--line)}.inline-admin summary,.point-admin-details>summary{cursor:pointer;color:var(--green);font-size:10px;font-weight:700}.inline-edit-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0 6px}.inline-edit-form input,.inline-edit-form select{min-height:35px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:10px}.inline-edit-form input:first-child{flex:1;min-width:150px}.text-button{padding:4px 0;border:0;background:transparent;color:var(--green);font-size:9px;font-weight:700}.project-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-admin-item{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f9fbfa}.project-admin-item>summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.project-admin-item>summary span,.project-admin-item>summary small,.project-admin-item>summary strong{display:block}.project-admin-item>summary small{color:var(--muted);font-size:8px}.project-admin-item>summary strong{margin-top:3px;font-size:10px}.project-admin-item>summary b{color:var(--green);font-size:9px}.compact-bulk{position:static;box-shadow:none;background:var(--green-soft)}.curricula-point-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}.curricula-point-item{display:flex;align-items:stretch;border-top:1px solid var(--line);background:#fff}.curricula-point-item:first-child{border-top:0}.curricula-point-item.archived{opacity:.7;background:#fbf9f7}.curricula-point-summary{display:flex;align-items:center;gap:12px;min-width:0;flex:1;padding:12px}.curricula-point-summary>div{min-width:0}.curricula-point-summary small,.curricula-point-summary strong,.curricula-point-summary span{display:block}.curricula-point-summary small{color:var(--muted);font-size:8px}.curricula-point-summary strong{margin:4px 0;font-size:11px;line-height:1.5}.curricula-point-summary span{color:var(--muted);font-size:8px}.curricula-point-summary i{font-style:normal}.point-admin-details{width:86px;padding:14px 12px;border-left:1px solid var(--line)}.point-admin-details[open]{width:min(560px,70%)}.point-admin-body{margin-top:12px}.point-admin-body hr{border:0;border-top:1px solid var(--line);margin:15px 0}.point-admin-body h4{font-size:11px;margin:0 0 10px}.excerpt-admin-line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px dashed var(--line)}.excerpt-admin-line:first-of-type{border-top:0}.excerpt-admin-line span,.excerpt-admin-line strong,.excerpt-admin-line small{display:block}.excerpt-admin-line strong{font-size:9px}.excerpt-admin-line small{margin-top:3px;color:var(--muted);font-size:8px}.excerpt-add-form{margin-top:13px;padding:12px;border-radius:10px;background:#f6f8f7}.class-card>.badge{display:inline-flex;margin-top:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-line.full{grid-column:1/-1}
@media(max-width:900px){.project-admin-list{grid-template-columns:1fr}.point-admin-details[open]{width:65%}}
@media(max-width:760px){.curricula-point-item{flex-wrap:wrap}.curricula-point-item>.row-checkbox{min-height:72px}.curricula-point-summary{width:calc(100% - 38px)}.curricula-point-summary>.point-code{display:none}.point-admin-details,.point-admin-details[open]{width:100%;border-left:0;border-top:1px solid var(--line)}.inline-edit-form{align-items:stretch;flex-direction:column}.inline-edit-form>*{width:100%}.project-admin-item .inline-edit-form{margin-top:12px}}

/* AI provider guide and flexible account rules */
.model-security-note,.account-rule-note{display:flex;align-items:center;gap:12px;margin-bottom:18px}.model-security-note strong,.account-rule-note strong{flex:none;color:var(--green);font-size:11px}.model-security-note span,.account-rule-note span{font-size:10px;line-height:1.65}.model-guide{padding:22px}.model-guide>.panel-header{margin-bottom:17px}.provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:13px}.provider-card{display:flex;flex-direction:column;min-width:0;padding:17px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#fff,#f8fafc)}.provider-card.recommended{border-color:color-mix(in srgb,var(--green) 35%,white);box-shadow:0 10px 25px color-mix(in srgb,var(--green) 9%,transparent)}.provider-card.caution{background:linear-gradient(145deg,#fff,#fffbf2)}.provider-card-head{display:flex;align-items:flex-start;gap:10px}.provider-card-head>div{flex:1;min-width:0}.provider-mark{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:var(--green-soft);color:var(--green);font-family:STKaiti,KaiTi,serif;font-size:17px;font-weight:800}.provider-card h3{margin:1px 0 4px;font-size:12px}.provider-card h3+p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.provider-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.provider-card dl>div{min-width:0;padding:9px;border-radius:9px;background:#f0f4f7}.provider-card dt{color:var(--muted);font-size:8px}.provider-card dd{margin:4px 0 0;overflow:hidden;color:var(--ink);font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.provider-tip{flex:1;margin:0;color:var(--muted);font-size:9px;line-height:1.7}.provider-card footer{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.provider-card footer a{color:var(--green);font-size:8px;font-weight:700}.setup-steps{margin-top:16px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.setup-steps summary{padding:13px 15px;cursor:pointer;color:var(--green);font-size:11px;font-weight:800}.setup-steps ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0;padding:0 15px 15px;list-style:none;counter-reset:guide}.setup-steps li{position:relative;padding:12px 11px 12px 39px;border-radius:10px;background:#fff;counter-increment:guide}.setup-steps li:before{content:counter(guide);position:absolute;left:10px;top:11px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:9px;font-weight:850}.setup-steps strong,.setup-steps span{display:block}.setup-steps strong{font-size:9px}.setup-steps span{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.65}.transcription-config{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px}.transcription-config .field{margin:0}.transcription-config>small{grid-column:1/-1}.models-page>.section-title{margin-top:22px}.users-page .inline-actions{flex-wrap:wrap}.account-rule-note{background:#edf3ff;color:#4f6282}
@media(max-width:1000px){.setup-steps ol{grid-template-columns:1fr 1fr}.provider-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media(max-width:760px){.model-security-note,.account-rule-note{align-items:flex-start;flex-direction:column;gap:4px}.model-guide{padding:16px}.provider-card{padding:14px}.provider-card dl{grid-template-columns:1fr}.provider-card footer{align-items:stretch;flex-direction:column}.provider-card footer .button,.provider-card footer a{width:100%;text-align:center}.setup-steps ol{grid-template-columns:1fr}.transcription-config{grid-template-columns:1fr}.transcription-config>small{grid-column:auto}.users-page .panel{padding:12px}.users-page .toolbar .search-input{width:100%}}

/* Knowledge detail navigation */
.point-grid.point-grid-wide{grid-template-columns:minmax(0,1fr)}.textbook-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.excerpt-back-link{flex:none;white-space:nowrap}.excerpt-card header>div{flex:1}.point-grid-wide main{max-width:none}
@media(max-width:600px){.textbook-header-actions{justify-content:flex-start;width:100%}.textbook-header-actions .button{width:100%;text-align:center}.excerpt-card header{flex-wrap:wrap}.excerpt-back-link{width:100%;padding-top:8px;border-top:1px solid var(--line);text-align:right}}

/* Connected AI models: one full-width horizontal record per model */
.models-page .model-grid{grid-template-columns:minmax(0,1fr)}
.models-page .model-card{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.8fr);grid-template-areas:"identity facts" "voice voice" "actions actions";align-items:center;gap:14px 18px}
.models-page .model-card>header{grid-area:identity;min-width:0}
.models-page .model-card>dl{grid-area:facts;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.models-page .model-card>dl div{min-height:58px}
.models-page .model-card>.transcription-config{grid-area:voice;grid-template-columns:minmax(180px,.9fr) minmax(220px,1.2fr) auto auto;margin:0}
.models-page .model-card>.transcription-config>small{grid-column:auto;align-self:center;margin:0;white-space:nowrap}
.models-page .model-card>footer{grid-area:actions;justify-content:flex-end;padding-top:12px}
.users-page .badge.role-teacher{background:#5b4acb;color:#fff;box-shadow:0 4px 10px rgba(91,74,203,.2)}
.classes-page .class-card{background:var(--class-card-bg);border-color:var(--class-card-border)}
.classes-page .class-card:nth-child(5n+1){--class-card-bg:#f1f6ff;--class-card-border:#d9e5fb}
.classes-page .class-card:nth-child(5n+2){--class-card-bg:#effaf6;--class-card-border:#d5eee4}
.classes-page .class-card:nth-child(5n+3){--class-card-bg:#fff6ee;--class-card-border:#f4dfce}
.classes-page .class-card:nth-child(5n+4){--class-card-bg:#f7f3ff;--class-card-border:#e4daf8}
.classes-page .class-card:nth-child(5n+5){--class-card-bg:#fffbea;--class-card-border:#efe5b9}
.classes-page .class-card>.class-card-metrics>span{background:rgba(255,255,255,.68)}
.classes-page .class-card .class-card-action{border-color:var(--class-card-border)}
.classes-page .class-card:hover{background:color-mix(in srgb,var(--class-card-bg) 82%,white);border-color:color-mix(in srgb,var(--class-card-border) 72%,var(--green));box-shadow:0 7px 18px rgba(27,55,96,.055)}
.admin-dashboard-metrics .dashboard-metric-link{color:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.admin-dashboard-metrics .dashboard-metric-link:after{content:"↗";position:absolute;right:15px;top:13px;color:color-mix(in srgb,var(--metric-icon-color) 72%,white);font-size:12px;font-weight:800;opacity:0;transform:translate(-4px,4px);transition:.18s}
.admin-dashboard-metrics .dashboard-metric-link:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--metric-icon-color) 34%,var(--line));box-shadow:0 11px 24px color-mix(in srgb,var(--metric-icon-color) 11%,transparent)}
.admin-dashboard-metrics .dashboard-metric-link:hover:after{opacity:1;transform:none}
.admin-dashboard-metrics .dashboard-metric-link:focus-visible{outline:3px solid color-mix(in srgb,var(--metric-icon-color) 28%,transparent);outline-offset:3px}
.admin-dashboard-metrics .dashboard-metric-icon{width:42px;height:42px;flex:none;background:var(--metric-icon-bg);color:var(--metric-icon-color);border:1px solid color-mix(in srgb,var(--metric-icon-color) 13%,white);box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}
.admin-dashboard-metrics .dashboard-metric-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.admin-dashboard-metrics .tone-cobalt{--metric-icon-color:#315fc4;--metric-icon-bg:#e8efff}
.admin-dashboard-metrics .tone-teal{--metric-icon-color:#087f72;--metric-icon-bg:#e4f7f3}
.admin-dashboard-metrics .tone-violet{--metric-icon-color:#6d4ac7;--metric-icon-bg:#f0eaff}
.admin-dashboard-metrics .tone-amber{--metric-icon-color:#b96818;--metric-icon-bg:#fff0dd}
@media(max-width:980px){.models-page .model-card{grid-template-columns:170px minmax(0,1fr)}.models-page .model-card>header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px}.models-page .model-card>header .model-logo{grid-row:1/3}.models-page .model-card>header .badge{grid-column:2;justify-self:start}.models-page .model-card>dl{grid-template-columns:repeat(4,minmax(0,1fr))}.models-page .model-card>.transcription-config{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) auto}.models-page .model-card>.transcription-config>small{grid-column:1/-1}}
@media(max-width:760px){.models-page .model-card{grid-template-columns:1fr;grid-template-areas:"identity" "facts" "voice" "actions"}.models-page .model-card>dl{grid-template-columns:1fr 1fr}.models-page .model-card>.transcription-config{grid-template-columns:1fr}.models-page .model-card>.transcription-config>small{grid-column:auto}.models-page .model-card>footer{align-items:stretch;flex-direction:column}.models-page .model-card>footer form,.models-page .model-card>footer .button{width:100%}}

/* Twelve question types and explained course editing */
.matching-answer{display:flex;flex-direction:column;gap:9px}.matching-answer>div{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(180px,1fr);align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfcfb}.matching-answer span{display:flex;align-items:center;gap:9px;font-size:11px}.matching-answer span b,.ordering-options b{display:grid;place-items:center;width:25px;height:25px;flex:none;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:9px}.matching-answer i{color:var(--muted);font-size:9px;font-style:normal}.matching-answer select{min-height:42px}.ordering-options{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.ordering-options span{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fbfcfb;font-size:11px}.inline-admin-help{margin:10px 0;padding:9px 10px;border-radius:8px;background:var(--green-soft);color:var(--muted);font-size:9px;line-height:1.65}.course-edit-form{display:grid;grid-template-columns:minmax(125px,1fr) 82px 72px;gap:7px;align-items:end;margin:9px 0}.course-edit-form label span{display:block;margin-bottom:4px;color:var(--muted);font-size:8px}.course-edit-form input{width:100%;min-height:35px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:10px}.course-edit-form .button{grid-column:1/-1;justify-self:end}
@media(max-width:600px){.matching-answer>div{grid-template-columns:1fr}.matching-answer i{display:none}.course-edit-form{grid-template-columns:1fr}.course-edit-form .button{grid-column:auto;width:100%}}

/* Student multidimensional analysis and semester reset */
.analysis-overview-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr);align-items:start;gap:16px;margin-bottom:16px}.analysis-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.analysis-radar-panel,.analysis-insight-panel,.analysis-chart-grid>.panel{min-height:0}.analysis-radar-panel{position:sticky;top:22px}.analysis-score{display:flex;align-items:center;gap:9px}.analysis-score>strong{font-size:30px;line-height:1;color:var(--green)}.radar-wrap{display:grid;place-items:center;min-height:310px}.radar-chart{width:min(390px,100%);overflow:visible}.radar-grid{fill:none;stroke:#dfe8e3;stroke-width:1}.radar-axis{stroke:#e8eeeb;stroke-width:1}.radar-value{fill:color-mix(in srgb,var(--green) 18%,transparent);stroke:var(--green);stroke-width:2;stroke-linejoin:round}.radar-dot{fill:#fff;stroke:var(--green);stroke-width:2}.radar-label{fill:var(--ink);font-size:9px;font-weight:700}.radar-number{fill:var(--muted);font-size:8px}.analysis-verdict{display:flex;align-items:center;gap:15px;padding:18px;border-radius:14px;background:linear-gradient(135deg,var(--green-soft),#fff)}.analysis-verdict>span{display:grid;place-items:center;width:66px;height:66px;flex:none;border-radius:50%;background:var(--green);color:#fff;font-size:25px;font-weight:800}.analysis-verdict strong{font-size:16px}.analysis-verdict p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.analysis-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.analysis-facts>div{padding:12px;border:1px solid var(--line);border-radius:10px}.analysis-facts dt{color:var(--muted);font-size:9px}.analysis-facts dd{margin:5px 0 0;font-size:15px;font-weight:750}.analysis-facts dd.up{color:#26875e}.analysis-facts dd.down{color:var(--danger)}.analysis-advice{padding:13px 14px;border-left:3px solid var(--green);border-radius:0 10px 10px 0;background:#f7faf8}.analysis-advice strong{font-size:10px}.analysis-advice p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.7}.analysis-bars{display:flex;flex-direction:column;gap:14px}.analysis-bar{display:grid;grid-template-columns:minmax(105px,145px) minmax(90px,1fr) 38px;align-items:center;gap:12px}.analysis-bar>div:first-child strong,.analysis-bar>div:first-child span{display:block}.analysis-bar>div:first-child strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-bar>div:first-child span{margin-top:3px;color:var(--muted);font-size:8px}.analysis-bar em{font-size:10px;font-style:normal;font-weight:750;text-align:right}.dual-progress{position:relative;height:8px;border-radius:99px;background:#edf2ef;overflow:hidden}.dual-progress i,.dual-progress b{position:absolute;inset:0 auto 0 0;border-radius:inherit}.dual-progress i{background:color-mix(in srgb,var(--green) 18%,white)}.dual-progress b{background:linear-gradient(90deg,var(--green),color-mix(in srgb,var(--green) 65%,white))}.type-analysis-bars{max-height:286px;padding-right:4px;overflow:auto}.level-chart{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.level-chart>div{padding:13px;border:1px solid var(--line);border-radius:11px}.level-chart>div>strong{float:right;font-size:13px}.level-chart .progress{clear:both;margin:13px 0 7px}.level-chart small{color:var(--muted);font-size:8px}.trend-chart{height:260px;display:flex;align-items:stretch;gap:9px;padding:18px 6px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 49px,#edf1ef 50px)}.trend-chart>div{height:100%;min-width:24px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.trend-chart span{font-size:8px;font-weight:700}.trend-chart i{width:min(30px,78%);min-height:5px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--green) 70%,white),var(--green))}.trend-chart small{height:18px;color:var(--muted);font-size:7px;white-space:nowrap}.reset-warning{margin-bottom:14px;padding:14px;border:1px solid #f3c9c6;border-radius:11px;background:var(--danger-soft)}.reset-warning strong{font-size:11px;color:var(--danger)}.reset-warning p{margin:5px 0 0;color:#8d5c59;font-size:10px;line-height:1.7}.button:disabled{cursor:not-allowed;opacity:.45;transform:none!important;box-shadow:none!important}
.diagnosis-header{align-items:flex-start}.diagnosis-header .analysis-score{flex-direction:column;align-items:flex-end;gap:5px}.diagnosis-summary{margin-bottom:15px;padding:13px 14px;border-left:4px solid var(--green);border-radius:0 10px 10px 0;background:#f5faf7}.diagnosis-summary.danger{border-color:var(--danger);background:var(--danger-soft)}.diagnosis-summary.warning{border-color:#d78b23;background:#fff8e8}.diagnosis-summary strong{font-size:11px}.diagnosis-summary p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.75}.dimension-diagnosis>header,.score-band-guide>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.dimension-diagnosis>header strong,.score-band-guide>header strong{font-size:12px}.dimension-diagnosis>header span,.score-band-guide>header span{color:var(--muted);font-size:9px}.dimension-diagnosis{display:flex;flex-direction:column;gap:7px}.dimension-diagnosis>article{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.dimension-diagnosis>article.is-priority{border-color:#efc3bf;background:#fff8f7}.dimension-score{display:flex;align-items:center;gap:7px}.dimension-score>span{font-size:11px;font-weight:750}.dimension-score>strong{margin-left:auto;color:var(--green);font-size:18px}.dimension-score>em{font-style:normal}.dimension-diagnosis article>p{margin:6px 0;color:var(--muted);font-size:9px;line-height:1.6}.dimension-diagnosis article>div:last-child{display:grid;grid-template-columns:auto 1fr;gap:7px;padding-top:7px;border-top:1px dashed var(--line);font-size:9px;line-height:1.6}.dimension-diagnosis article>div:last-child b{color:var(--green)}.dimension-diagnosis article.is-priority>div:last-child b{color:var(--danger)}.score-band-guide{margin-top:17px}.score-band-guide>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.score-band-guide article{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px}.score-band-guide article.current{border-color:color-mix(in srgb,var(--green) 45%,white);box-shadow:inset 3px 0 var(--green)}.score-band-guide article>div{min-width:0}.score-band-guide article strong{display:block;font-size:9px}.score-band-guide article p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.55}.teacher-action-plan{margin-top:15px;padding:13px 14px;border-radius:10px;background:#eef8f3}.teacher-action-plan>span{font-size:11px;font-weight:800;color:var(--green)}.teacher-action-plan ol{margin:8px 0 0;padding-left:18px}.teacher-action-plan li{padding:3px 0;color:var(--muted);font-size:9px;line-height:1.65}.teacher-action-plan li strong{color:var(--ink)}
@media(max-width:900px){.analysis-overview-grid{grid-template-columns:1fr}.analysis-radar-panel{position:static}.analysis-chart-grid{grid-template-columns:1fr}.radar-wrap{min-height:280px}.class-detail-page .point-actions{flex-wrap:wrap}}
@media(max-width:760px){.analysis-overview-grid,.analysis-chart-grid{gap:12px}.analysis-radar-panel,.analysis-insight-panel,.analysis-chart-grid>.panel{padding:15px}.radar-wrap{min-height:250px}.radar-chart{width:280px}.analysis-facts{grid-template-columns:1fr 1fr}.analysis-bar{grid-template-columns:95px minmax(70px,1fr) 34px;gap:8px}.level-chart{grid-template-columns:1fr}.trend-chart{height:220px;gap:4px}.trend-chart span{font-size:7px}.class-detail-page .point-actions{width:100%}.class-detail-page .point-actions .button{flex:1}.class-table-panel{padding:12px}.student-tabs{scrollbar-width:none}}

/* Account pagination and destructive account management */
.user-filter-toolbar{align-items:flex-end}.page-size-field{display:flex;align-items:center;gap:7px}.page-size-field>span:first-child{margin:0;color:var(--muted);white-space:nowrap}.page-size-field select{min-width:92px}.user-batch-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:11px 13px;border:1px solid #f0d0ce;border-radius:11px;background:#fff8f7}.user-batch-bar label,.user-batch-bar>span{font-size:10px;font-weight:650}.user-batch-bar input,.user-table input{accent-color:var(--danger)}.user-batch-bar small{margin-left:auto;color:#936865;font-size:9px}.select-column{width:54px;text-align:center!important}.username-cell{display:flex;align-items:center;gap:9px;min-width:145px}.username-cell small{margin:0;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:15px}.pagination>span{color:var(--muted);font-size:10px}.button.disabled{pointer-events:none;opacity:.45}
@media(max-width:760px){.user-filter-toolbar{align-items:stretch}.user-filter-toolbar>*{width:100%}.page-size-field{display:grid;grid-template-columns:48px 1fr}.user-batch-bar{align-items:stretch}.user-batch-bar small{width:100%;margin:0}.user-batch-bar .button{margin-left:auto}.pagination{justify-content:center}.user-table .select-column{position:sticky;left:0;z-index:2;background:#fff}.user-table th.select-column{background:#f8faf9}}

/* Directory workbench selected for curriculum and knowledge browsing */
.curriculum-workbench{height:100vh;overflow:hidden;background:#fff}.workbench-topbar{height:72px;display:flex;align-items:center;gap:18px;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96)}.system-select-form{display:flex;align-items:center;gap:12px}.system-select-form label{font-size:12px;font-weight:700}.system-select-form select{width:255px;min-height:44px;padding:0 13px;border:1px solid #d8e1ef;border-radius:9px;background:#fff;color:var(--ink)}.system-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:750}.system-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#b7c0ce}.system-status.enabled{color:#19a94b}.system-status.enabled:before{background:#19b94f}.system-status.disabled{color:var(--danger)}.system-updated{color:var(--muted);font-size:10px}.workbench-top-actions{display:flex;gap:10px;margin-left:auto}.action-menu{position:relative}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu>div{position:absolute;right:0;top:49px;z-index:30;width:190px;padding:7px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 18px 45px rgba(25,54,104,.15)}.action-menu button,.action-menu a{display:block;width:100%;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:11px;text-align:left}.action-menu button:hover,.action-menu a:hover{background:var(--green-soft);color:var(--green)}.workbench-body{height:calc(100vh - 72px);display:grid;grid-template-columns:365px minmax(0,1fr);transition:grid-template-columns .2s}.catalog-pane{min-width:0;overflow:auto;border-right:1px solid var(--line);background:#fbfcff;padding:22px 16px}.catalog-pane>header,.knowledge-catalog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.catalog-pane>header h1,.knowledge-catalog>header h2{margin:0;font-size:17px}.catalog-pane>header button,.knowledge-catalog>header button{border:0;background:transparent;color:var(--muted);font-size:10px}.catalog-search{display:block;position:relative}.catalog-search>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.catalog-search input,.knowledge-catalog select{width:100%;min-height:42px;padding:0 13px;border:1px solid #dbe3ef;border-radius:9px;background:#fff;color:var(--ink);outline:none}.catalog-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 9%,transparent)}.catalog-actions{display:flex;gap:8px;margin:13px 0}.catalog-batch-bar{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px;margin-bottom:10px;border:1px solid #cdddf8;border-radius:10px;background:var(--green-soft)}.catalog-batch-bar strong{align-self:center;font-size:10px;color:var(--green)}.catalog-batch-bar select{min-height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:9px}.catalog-batch-bar .button{grid-column:1/-1}.catalog-tree details{margin:0}.catalog-tree summary{cursor:pointer;list-style:auto}.catalog-tree summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-tree summary b{margin-left:auto;padding:3px 8px;border-radius:12px;background:#eef2f7;color:#708098;font-size:8px}.tree-system>summary,.tree-course>summary,.tree-project>summary{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 7px;font-size:11px;font-weight:750}.tree-system>summary{font-size:12px}.tree-course{margin-left:13px!important}.tree-project{margin-left:16px!important}.tree-project>summary{font-weight:650}.tree-points{display:flex;flex-direction:column;gap:2px;margin-left:18px}.tree-point-wrap{display:flex;align-items:center;min-width:0}.tree-point-wrap.archived{opacity:.55}.tree-check{display:none;width:25px;flex:none}.batch-mode .tree-check{display:block}.tree-check input{accent-color:var(--green)}.tree-point{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;width:100%;min-width:0;padding:8px 9px;border-radius:9px}.tree-point small{grid-column:1/-1;color:#70859e;font-family:ui-monospace,monospace;font-size:8px}.tree-point span{overflow:hidden;font-size:10px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.tree-point i{align-self:center;padding:2px 6px;border-radius:7px;background:#eef2f7;color:#667895;font-size:8px;font-style:normal}.tree-point:hover,.tree-point.active{background:#eaf1ff;color:#174ca6}.tree-point.active{box-shadow:inset 0 0 0 1px #bfd2ff}.editor-pane{min-width:0;overflow:auto;background:#fff}.editor-header{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:124px;padding:22px 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}.editor-header>div:first-child{min-width:0}.editor-header p{margin:0 0 13px;color:var(--muted);font-size:10px}.editor-header h1{display:flex;align-items:center;gap:10px;min-width:0;margin:0;font-size:20px;line-height:1.4}.editor-header>div:last-child{display:flex;align-items:center;gap:9px;flex:none}.editor-header form{margin:0}.editor-section{margin:18px 20px;padding:20px;border:1px solid var(--line);border-radius:13px;background:#fff}.editor-section>h2,.excerpt-editor-section>header h2{margin:0;font-size:14px}.point-editor-form{display:grid;grid-template-columns:minmax(210px,1fr) minmax(260px,1.7fr);gap:16px 22px;margin-top:18px}.point-editor-form label>span,.point-state>span,.excerpt-inline-form label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px}.point-editor-form input,.point-editor-form select,.excerpt-inline-form input,.excerpt-inline-form select,.excerpt-inline-form textarea{width:100%;min-height:42px;padding:0 12px;border:1px solid #dce4ef;border-radius:8px;background:#fff;color:var(--ink);outline:none}.point-editor-form .wide{grid-column:1/-1}.point-state strong{display:inline-flex;align-items:center;gap:7px;font-size:10px}.point-state strong:before{content:"";width:8px;height:8px;border-radius:50%;background:#b5bdc8}.point-state strong.active{color:#18884b}.point-state strong.active:before{background:#19ad55}.excerpt-editor-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}.excerpt-editor-section>header p{margin:5px 0 0;color:var(--muted);font-size:10px}.excerpt-editor-section>header>span{color:var(--muted);font-size:10px}.excerpt-editor-table{overflow:hidden;border:1px solid var(--line);border-radius:10px}.excerpt-table-head,.excerpt-editor-row{display:grid;grid-template-columns:210px minmax(300px,1fr) 105px}.excerpt-table-head{background:#f7f9fc;color:var(--muted);font-size:9px}.excerpt-table-head span{padding:11px 12px}.excerpt-editor-row>div,.excerpt-editor-row>blockquote{min-width:0;margin:0;padding:14px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.excerpt-editor-row>div:last-child{border-right:0}.excerpt-source strong,.excerpt-source span{display:block}.excerpt-source strong{font-size:10px;line-height:1.55}.excerpt-source span{margin-top:6px;color:var(--muted);font-size:8px;line-height:1.5}.excerpt-source i{margin-top:10px;font-style:normal}.excerpt-editor-row>blockquote{max-height:280px;overflow:auto;color:#3e4d61;font-family:STSong,Songti SC,serif;font-size:11px;line-height:1.9;white-space:normal}.excerpt-row-actions{display:flex;flex-direction:column;gap:8px}.excerpt-row-actions summary{cursor:pointer;color:var(--green);font-size:9px;font-weight:700}.excerpt-row-actions details[open]{position:absolute;right:130px;z-index:20;width:min(520px,60vw);padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(26,56,105,.17)}.excerpt-inline-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.excerpt-inline-form textarea{padding:10px;resize:vertical}.editor-empty{display:grid;place-items:center;align-content:center;min-height:360px;color:var(--muted);text-align:center}.editor-empty h2{color:var(--ink);font-size:18px}.editor-empty p{font-size:11px}.editor-empty.compact{min-height:150px}.workbench-empty{padding:60px}.catalog-collapsed .workbench-body{grid-template-columns:0 minmax(0,1fr)}.catalog-collapsed .catalog-pane{padding:0;border:0;overflow:hidden}.catalog-mobile-toggle{display:none}.dialog>.dialog-sheet{padding:25px}.dialog-sheet>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.dialog-sheet h2{margin:0 0 5px}.dialog-sheet p{margin:0;color:var(--muted);font-size:10px}.catalog-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.catalog-settings-grid section{min-width:0}.catalog-settings-grid h3{font-size:12px}.catalog-settings-grid details{padding:10px;border-top:1px solid var(--line)}.catalog-settings-grid details:first-of-type{border-top:0}.catalog-settings-grid summary{cursor:pointer;font-size:10px;font-weight:700}.catalog-settings-grid details>form{margin-top:12px}.level-preview{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}

.knowledge-browser{height:100vh;overflow:hidden;background:#fff}.knowledge-browser-top{height:122px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 30px;border-bottom:1px solid var(--line);background:var(--canvas)}.knowledge-browser-top h1{margin:5px 0 5px;font-size:24px}.knowledge-browser-top p{margin:0;color:var(--muted);font-size:11px}.knowledge-browser-top>div:last-child{display:flex;align-items:center;gap:14px}.knowledge-browser-top>div:last-child>span{color:var(--muted);font-size:10px}.knowledge-browser-top>div:last-child strong{color:var(--ink);font-size:18px}.knowledge-browser-body{height:calc(100vh - 122px);display:grid;grid-template-columns:330px minmax(0,1fr);transition:grid-template-columns .2s}.knowledge-catalog{min-width:0;overflow:auto;padding:20px 15px;border-right:1px solid var(--line);background:#fbfcff}.knowledge-catalog>form{margin-bottom:10px}.knowledge-reader{min-width:0;overflow:auto;background:#fff}.reader-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 34px;border-bottom:1px solid var(--line)}.reader-header>div:first-child{min-width:0;flex:1}.reader-header p{margin:0 0 8px;color:var(--muted);font-size:10px}.reader-header h1{max-width:830px;margin:7px 0 0;font-size:22px;line-height:1.35;overflow-wrap:anywhere}.reader-header>div:last-child{display:flex;align-items:center;gap:12px;flex:none}.level-seal-small{display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:62px;border:1px solid #9fd8ca;border-radius:50%;background:#e9f7f2;color:#18735e;box-shadow:inset 0 0 0 4px rgba(255,255,255,.52)}.level-seal-small.level-理解{border-color:#a9c5ef;background:#edf4ff;color:#3868ad}.level-seal-small.level-掌握{border-color:#efb68d;background:#fff1e6;color:#b75b25}.level-seal-small small{font-size:7px}.level-seal-small strong{margin-top:3px;font-size:15px}.reader-section{margin:14px 34px;padding:0;border:0;border-radius:0}.reader-excerpts{display:flex;flex-direction:column;gap:15px}.reader-excerpt{overflow:hidden;border:1px solid var(--line);border-radius:12px}.reader-excerpt.draft{background:#fffaf1}.reader-excerpt>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:14px 16px;background:#f8fafc}.reader-excerpt>header strong,.reader-excerpt>header span{display:block}.reader-excerpt>header strong{font-size:11px}.reader-excerpt>header div:first-child span{margin-top:4px;color:var(--green);font-size:8px}.reader-excerpt>header div:last-child{display:flex;gap:6px;flex-wrap:wrap}.reader-excerpt>header div:last-child span{padding:4px 7px;border-radius:6px;background:#eef2f6;color:var(--muted);font-size:8px}.reader-excerpt blockquote{margin:0;padding:22px 24px;color:#3d4c43;background:#f6faf8;font-family:STSong,Songti SC,serif;font-size:14px;line-height:2;white-space:normal}.knowledge-browser.catalog-collapsed .knowledge-browser-body{grid-template-columns:0 minmax(0,1fr)}.knowledge-browser.catalog-collapsed .knowledge-catalog{padding:0;border:0;overflow:hidden}

@media(max-width:1050px){.workbench-body{grid-template-columns:310px minmax(0,1fr)}.system-updated{display:none}.point-editor-form{grid-template-columns:1fr 1fr}.excerpt-table-head,.excerpt-editor-row{grid-template-columns:170px minmax(260px,1fr) 90px}.knowledge-browser-body{grid-template-columns:290px minmax(0,1fr)}}
@media(max-width:760px){.curriculum-workbench,.knowledge-browser{height:calc(100vh - 62px)}.workbench-topbar{height:auto;min-height:72px;padding:11px 14px;gap:8px;flex-wrap:wrap}.system-select-form{width:100%}.system-select-form select{width:auto;flex:1}.system-status{margin-left:auto}.workbench-top-actions{margin-left:0}.workbench-top-actions .button{min-height:36px}.workbench-body{position:relative;height:calc(100% - 114px);display:block}.catalog-pane{position:absolute;inset:0 auto 0 0;z-index:25;width:min(360px,92vw);transform:translateX(-102%);box-shadow:12px 0 35px rgba(21,48,94,.16);transition:transform .2s}.catalog-mobile-open .catalog-pane{transform:none}.editor-pane{height:100%}.catalog-mobile-toggle{display:inline-flex;margin:12px 14px}.editor-header{position:static;align-items:flex-start;flex-direction:column;padding:16px}.editor-header h1{font-size:17px}.editor-header>div:last-child{width:100%;flex-wrap:wrap}.editor-header>div:last-child .button{flex:1}.editor-section{margin:11px;padding:14px}.point-editor-form{grid-template-columns:1fr;gap:12px}.point-editor-form .wide{grid-column:auto}.excerpt-table-head{display:none}.excerpt-editor-row{display:flex;flex-direction:column}.excerpt-editor-row>div,.excerpt-editor-row>blockquote{border-right:0}.excerpt-row-actions details[open]{position:fixed;inset:80px 14px auto;width:auto;max-height:calc(100vh - 100px);overflow:auto}.catalog-settings-grid{grid-template-columns:1fr}.knowledge-browser-top{height:auto;min-height:110px;align-items:flex-start;padding:16px;flex-direction:column}.knowledge-browser-top h1{font-size:20px}.knowledge-browser-body{position:relative;height:calc(100% - 150px);display:block}.knowledge-catalog{position:absolute;inset:0 auto 0 0;z-index:25;width:min(345px,92vw);transform:translateX(-102%);box-shadow:12px 0 35px rgba(21,48,94,.16);transition:transform .2s}.knowledge-browser.catalog-mobile-open .knowledge-catalog{transform:none}.knowledge-reader{height:100%}.reader-header{align-items:flex-start;flex-direction:column;padding:16px}.reader-header h1{font-size:19px}.reader-header>div:last-child{width:100%;justify-content:space-between}.reader-section{margin:11px;padding:14px}.reader-section>header,.reader-excerpt>header{align-items:flex-start;flex-direction:column}.reader-excerpt blockquote{padding:17px 15px;font-size:13px;line-height:1.9}}

/* Compact quiz builder: locate first, reveal only the relevant points */
.compact-builder-section{padding:20px}.scope-workflow{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc}.scope-system{display:flex;align-items:center;gap:10px;margin-bottom:12px}.scope-system span{padding:4px 7px;border-radius:6px;background:var(--green-soft);color:var(--green);font-size:8px;font-weight:750}.scope-system strong{font-size:11px}.scope-selectors{display:grid;grid-template-columns:1fr 1.2fr 1fr auto;align-items:end;gap:9px}.scope-selectors label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:8px}.scope-selectors select,.scope-selectors input{width:100%;height:39px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);outline:none}.scope-selectors select:focus,.scope-selectors input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 9%,transparent)}.search-action{height:39px;white-space:nowrap}.selected-point-area{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start;margin-top:12px;padding:11px 13px;border-radius:11px;background:var(--green-soft)}.selected-point-area>div:first-child strong,.selected-point-area>div:first-child small{display:block}.selected-point-area>div:first-child strong{font-size:10px}.selected-point-area>div:first-child small{margin-top:3px;color:var(--muted);font-size:8px}.selected-point-strip{display:flex;gap:6px;min-width:0;padding-bottom:2px;overflow:auto}.selected-empty{align-self:center;color:var(--muted);font-size:9px}.selected-point-chip{display:flex;align-items:center;gap:6px;max-width:220px;flex:none;padding:6px 7px 6px 9px;border:1px solid color-mix(in srgb,var(--green) 22%,white);border-radius:8px;background:#fff;color:var(--ink)}.selected-point-chip span{overflow:hidden;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.selected-point-chip b{color:var(--muted);font-size:11px}.point-results-shell{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px}.point-results-shell[hidden],.type-setting-row[hidden]{display:none!important}.point-results-shell>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.point-results-shell>header strong,.point-results-shell>header small{display:block}.point-results-shell>header strong{font-size:10px}.point-results-shell>header small{margin-top:3px;color:var(--muted);font-size:8px}.compact-point-picker{max-height:310px}.compact-point-picker .point-option{padding:9px 10px}.compact-point-picker .point-option strong{margin:2px 0 4px;font-size:10px}.compact-point-picker .point-option small,.compact-point-picker .point-option div>span{font-size:8px}.type-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.type-choice{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:2px 8px;align-items:center;min-height:58px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.type-choice:hover,.type-choice.selected{border-color:color-mix(in srgb,var(--green) 52%,white);background:var(--green-soft)}.type-choice input{position:absolute;opacity:0}.type-choice-check{grid-row:1/3;display:grid;place-items:center;width:19px;height:19px;border:1px solid #cbd8d2;border-radius:6px;color:transparent;font-size:9px}.type-choice.selected .type-choice-check{border-color:var(--green);background:var(--green);color:#fff}.type-choice strong{font-size:10px}.type-choice small{color:var(--muted);font-size:8px}.selected-type-settings{margin-top:13px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.selected-type-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:#f7faf8}.selected-type-head strong{font-size:9px}.selected-type-head span{color:var(--muted);font-size:8px}.type-settings-empty{margin:0;padding:18px;color:var(--muted);font-size:9px;text-align:center}.type-setting-row{display:grid;grid-template-columns:minmax(145px,1fr) 76px 10px 102px 55px;align-items:end;gap:9px;padding:10px 12px;border-top:1px solid var(--line)}.type-setting-row>div strong,.type-setting-row>div small{display:block}.type-setting-row>div strong{font-size:10px}.type-setting-row>div small{margin-top:2px;color:var(--muted);font-size:8px}.type-setting-row>label>span:first-child{display:block;margin-bottom:3px;color:var(--muted);font-size:8px}.type-setting-row input{width:100%;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#fff}.type-setting-row>b{align-self:center;color:var(--muted);font-size:9px}.type-setting-row>em{align-self:center;color:var(--green);font-size:9px;font-style:normal;text-align:right}.quiz-builder-page .builder-summary{padding:19px}

/* Keep filtered result cards collapsed despite their flex display rule. */
.point-option[hidden]{display:none!important}

/* Question type administration */
.type-rule-note{display:flex;gap:11px;margin-bottom:16px}.type-rule-note strong{font-size:10px}.type-rule-note span{color:var(--muted);font-size:9px}.question-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.question-type-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(25,54,104,.04)}.question-type-card.disabled{opacity:.72;background:#fafbfc}.question-type-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-type-card>header>div{display:flex;align-items:center;gap:8px}.question-type-card h2{margin:0;font-size:14px}.type-order{display:grid;place-items:center;min-width:25px;height:25px;padding:0 5px;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:8px;font-weight:750}.question-type-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0}.question-type-card dl>div{padding:9px;border-radius:8px;background:#f5f8f6}.question-type-card dt{color:var(--muted);font-size:8px}.question-type-card dd{margin:4px 0 0;font-size:9px;font-weight:700}.type-prompt-preview{min-height:76px;padding:10px 11px;border-left:3px solid color-mix(in srgb,var(--green) 42%,white);border-radius:0 8px 8px 0;background:#f8faf9}.type-prompt-preview strong{font-size:8px}.type-prompt-preview p{display:-webkit-box;margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.question-type-card>footer{display:flex;align-items:center;gap:7px;margin-top:12px}.question-type-card>footer form{margin:0}.type-delete-note{display:block;margin-top:8px;color:var(--muted);font-size:8px}

@media(max-width:1100px){.quiz-builder-page .builder-grid aside{order:initial}.quiz-builder-page .builder-grid aside .builder-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quiz-builder-page .builder-summary>.eyebrow,.quiz-builder-page .builder-summary>h2,.quiz-builder-page .builder-summary>.grounding-rule,.quiz-builder-page .builder-summary>.generate-tip{display:none}.scope-selectors{grid-template-columns:1fr 1.2fr 1fr auto}.type-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.compact-builder-section{padding:14px}.compact-builder-section>header{align-items:flex-start}.compact-builder-section>header p{line-height:1.55}.compact-builder-section>header>b{padding:5px 7px;font-size:9px;white-space:nowrap}.scope-workflow{padding:11px}.scope-selectors{grid-template-columns:1fr}.scope-selectors .scope-keyword{grid-column:auto}.search-action{width:100%}.selected-point-area{grid-template-columns:1fr;gap:7px}.selected-point-area>div:first-child small{display:none}.point-results-shell{padding:9px}.compact-point-picker{grid-template-columns:1fr;max-height:285px}.type-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.type-choice{min-height:54px;padding:8px}.selected-type-head{position:sticky;top:0}.type-setting-row{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:9px 7px;padding:14px 12px}.type-setting-row>div{grid-column:1/-1}.type-setting-row>label{min-width:0}.type-setting-row>b{display:grid;place-items:center;height:42px}.type-setting-row input{height:42px;font-size:16px}.type-setting-row .score-input input{padding-right:28px!important}.type-setting-row>em{display:none}.quiz-builder-page .builder-grid aside .builder-summary{display:block}.quiz-builder-page .builder-summary>.eyebrow,.quiz-builder-page .builder-summary>h2,.quiz-builder-page .builder-summary>.grounding-rule,.quiz-builder-page .builder-summary>.generate-tip{display:block}.question-type-grid{grid-template-columns:1fr}.question-type-card dl{grid-template-columns:1fr 1fr}.question-type-card>footer{flex-wrap:wrap}.question-type-card>footer .button{min-height:35px}.type-rule-note{align-items:flex-start;flex-direction:column}}

/* Recitation catalog and textbook prompt */
.recitation-point-selectors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.6fr);gap:12px}.recitation-point-selectors .field{margin:0}.recitation-point-selectors select:disabled{background:#f5f6f5;color:#9aa39f;cursor:not-allowed}.recitation-source{overflow:hidden;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--green-soft) 36%,white)}.recitation-source[hidden],.recitation-source-body[hidden]{display:none!important}.recitation-source>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid color-mix(in srgb,var(--green) 12%,var(--line))}.recitation-source h3{margin:5px 0 3px;font-size:14px;line-height:1.5}.recitation-source header p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.recitation-source-body{padding:0}.recitation-source blockquote{max-height:310px;margin:0;padding:18px 20px;overflow:auto;background:rgba(255,255,255,.72);color:var(--ink);font-family:STSong,"Songti SC",serif;font-size:13px;line-height:1.95;white-space:pre-wrap}.recitation-source [data-source-toggle]{flex:none}
@media(max-width:900px){.recitation-point-selectors{grid-template-columns:1fr 1fr}.recitation-point-selectors .field:last-child{grid-column:1/-1}}
@media(max-width:600px){.recitation-point-selectors{grid-template-columns:1fr}.recitation-point-selectors .field:last-child{grid-column:auto}.recitation-source>header{align-items:stretch;flex-direction:column}.recitation-source [data-source-toggle]{align-self:flex-start}.recitation-source blockquote{max-height:260px;padding:15px;font-size:12px}}

/* Refined visual system · selected direction 2 */
:root{--ink:#17211f;--muted:#6f7c78;--line:#e3e9e6;--surface:#fff;--canvas:#f7f9f8;--radius:14px;--shadow:0 10px 28px rgba(22,45,37,.055);--sidebar:280px}
body{background:var(--canvas);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;letter-spacing:.005em}
body.role-admin{--ink:#182238;--muted:#6f7b91;--line:#e2e7f0;--canvas:#f7f8fb;--green:#3158b7;--green-2:#24448f;--green-soft:#edf1fb;--sidebar-bg:#182d61;--sidebar-muted:#c4cee2;--sidebar-subtle:#9eacc8;--brand-bg:#f2f5fc;--hero-start:#294f9f;--hero-end:#294f9f;--primary-light:#85a1e0;--shadow:0 10px 28px rgba(35,59,112,.06)}
body.role-teacher{--ink:#152420;--muted:#6f7e79;--line:#e2e9e6;--canvas:#f7f9f8;--green:#0b6f61;--green-2:#07564b;--green-soft:#e9f5f2;--sidebar-bg:#075345;--sidebar-muted:#c3d9d3;--sidebar-subtle:#99bdb4;--brand-bg:#f1faf7;--hero-start:#0a695b;--hero-end:#0a695b;--primary-light:#71b8a9;--shadow:0 10px 28px rgba(13,73,61,.055)}
body.role-student{--ink:#2f241f;--muted:#806f66;--line:#eee1d9;--canvas:#fbf8f5;--green:#d96828;--green-2:#ad4e1a;--green-soft:#fff0e6;--sidebar-bg:#743310;--sidebar-muted:#f0cfb9;--sidebar-subtle:#d9aa8a;--brand-bg:#fff7f1;--hero-start:#bd5720;--hero-end:#bd5720;--primary-light:#efa36f;--shadow:0 10px 28px rgba(112,55,24,.055)}
.app-body .sidebar{padding:30px 18px 18px;border-right:1px solid rgba(255,255,255,.08);background:var(--sidebar-bg)}
.app-body .brand{padding:0 10px}.app-body .brand-mark{width:42px;height:42px;border-radius:11px;box-shadow:none}.app-body .brand strong{font-size:20px;letter-spacing:.055em}.app-body .brand small{margin-top:4px;letter-spacing:.03em}
.app-body .exam-chip{margin:28px 8px 20px;padding:11px 13px;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.045)}
.app-body .main-nav{gap:6px}.app-body .main-nav a{min-height:48px;padding:11px 14px;border-radius:9px;font-size:15px;font-weight:560}.app-body .main-nav a:hover{background:rgba(255,255,255,.07)}.app-body .main-nav a.active{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.09)}

/* Unified brand and navigation icon system. */
.brand-logo{display:block;width:42px;height:42px;flex:none;border:0;border-radius:0;object-fit:contain;background:transparent}
.mobile-brand .brand-logo{width:29px;height:29px;border-radius:0}
.role-student .main-nav{margin-top:24px}
.nav-icon{width:22px;height:22px;flex:none}
.nav-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.main-nav a.active .nav-icon svg{stroke-width:2}
.teacher-assignment-banner,.student-archive-actions{display:flex;align-items:center;gap:12px;margin:-10px 0 22px}
.teacher-assignment-banner{padding:14px 16px;border:1px solid color-mix(in srgb,var(--green) 22%,white);border-radius:10px;background:var(--green-soft)}
.teacher-assignment-banner span,.teacher-assignment-banner em{color:var(--muted);font-size:12px;font-style:normal}.teacher-assignment-banner strong{font-size:16px}.teacher-assignment-banner a{margin-left:auto;color:var(--green);font-size:12px;font-weight:700}
.student-archive-actions{justify-content:flex-end}
.recitation-result-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.recitation-result-actions .button{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.08)}
.class-student-toolbar form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.class-student-toolbar .field{margin:0}.class-student-toolbar .search-input{min-width:250px}
.app-body .user-card{border-radius:9px}.app-body .avatar{background:var(--brand-bg)}.app-body .logout-button{margin-top:2px}.sidebar-copyright{margin:16px -18px -18px;padding:16px 12px 2px;border-top:1px solid rgba(255,255,255,.12);color:var(--sidebar-subtle);font-size:10px;line-height:1.6;text-align:center}.sidebar-copyright a{color:#fff;text-decoration:underline;text-underline-offset:3px}.sidebar-copyright a:hover{color:var(--sidebar-muted)}
.app-main{background:var(--canvas)}.page{padding:38px 42px 58px}.page-header{margin-bottom:24px}.page-header h1{color:var(--ink);font-size:28px;font-weight:730;letter-spacing:-.035em}.page-header p,.subtle{color:var(--muted)}
.button{border-color:var(--line);border-radius:8px;box-shadow:none}.button:hover{transform:none;border-color:color-mix(in srgb,var(--green) 34%,var(--line));box-shadow:none}.button.primary,.app-body .button.primary{box-shadow:none}.button.soft{border-color:color-mix(in srgb,var(--green) 12%,white)}
.panel,.metric-card,.knowledge-group,.class-card,.model-card,.header-facts,.filter-panel,.table-wrap{border-color:var(--line);border-radius:var(--radius);box-shadow:none}.metric-card{padding:21px}.metric-card.accent,.app-body .metric-card.accent{background:color-mix(in srgb,var(--green-soft) 62%,white);border-color:color-mix(in srgb,var(--green) 15%,white)}.metric-card.accent:after{display:none}.metric-icon{border-radius:9px}.data-table th{background:#f7f9f8}.data-table td{border-top-color:var(--line)}.data-table tbody tr:hover{background:color-mix(in srgb,var(--green-soft) 28%,white)}
.app-body .point-hero,.app-body .result-hero,.app-body .recitation-result-hero{background:var(--hero-start);box-shadow:none}.app-body .progress i,.progress i,.weak-item .progress i{background:var(--green)}.app-body .model-logo{background:var(--hero-start)}
.field input,.field select,.field textarea,.input,.catalog-search input,.knowledge-catalog select{border-color:var(--line);border-radius:8px}.note,.filter-panel,.scope-workflow,.selected-point-area{border-radius:10px}

/* Knowledge reader: airy editorial layout with course-specific hierarchy */
.knowledge-browser{background:#fff}.knowledge-browser-top{height:148px;padding:25px 38px;background:#fbfcfb}.knowledge-browser-top h1{margin:7px 0;font-size:28px;font-weight:730;letter-spacing:-.03em}.knowledge-browser-top p{font-size:12px}.knowledge-browser-body{height:calc(100vh - 148px);grid-template-columns:430px minmax(0,1fr)}.knowledge-catalog{padding:26px 20px;background:#fbfcfb}.knowledge-catalog>header{margin-bottom:18px}.knowledge-catalog>header h2{font-size:20px}.catalog-search input{min-height:48px;padding:0 15px;background:#fff;font-size:13px}.knowledge-catalog .catalog-tree{display:flex;flex-direction:column;gap:7px;margin-top:16px}.knowledge-catalog .tree-course{margin:0!important;--course-accent:#1194a1;--course-ink:#16747d;--course-bg:#e9f6f7;--project-bg:#f2f9fa;--point-bg:#f8fcfc;--course-line:#a6dadd;--course-active:#d9eeee}.knowledge-catalog .tree-course.course-tone-2{--course-accent:#cf870d;--course-ink:#a86a08;--course-bg:#fff5e4;--project-bg:#fff9ef;--point-bg:#fffdf8;--course-line:#eed09a;--course-active:#f8e7c8}.knowledge-catalog .tree-course.course-tone-3{--course-accent:#7656d7;--course-ink:#6847c7;--course-bg:#f1edff;--project-bg:#f7f4ff;--point-bg:#fbfaff;--course-line:#cbbdf4;--course-active:#e7e0fb}.knowledge-catalog .tree-course.course-tone-4{--course-accent:#4770c8;--course-ink:#3d62b4;--course-bg:#edf2ff;--project-bg:#f5f7ff;--point-bg:#fafbff;--course-line:#bdccee;--course-active:#e0e8fb}.knowledge-catalog .tree-course.course-tone-5{--course-accent:#dd5b54;--course-ink:#c84943;--course-bg:#fff0ef;--project-bg:#fff7f6;--point-bg:#fffbfa;--course-line:#efbbb7;--course-active:#f9dfdc}
.knowledge-catalog .tree-course>summary{min-height:50px;padding:0 13px;border-left:4px solid var(--course-accent);border-radius:7px;background:var(--course-bg);color:var(--course-ink);font-size:13px}.knowledge-catalog .tree-course>summary b{background:rgba(255,255,255,.62);color:var(--course-ink)}
.knowledge-catalog .tree-project{margin:4px 0 0 10px!important;padding-left:9px;border-left:2px solid var(--course-line)}.knowledge-catalog .tree-project>summary{min-height:42px;padding:0 11px;border-radius:6px;background:var(--project-bg);color:color-mix(in srgb,var(--course-ink) 86%,var(--ink));font-size:11px}.knowledge-catalog .tree-project>summary b{background:rgba(255,255,255,.72);color:var(--course-ink)}
.knowledge-catalog .tree-points{gap:3px;margin:3px 0 5px 8px;padding-left:9px;border-left:1px solid var(--course-line)}.knowledge-catalog .tree-point{padding:9px 10px;border-radius:6px;background:var(--point-bg);color:color-mix(in srgb,var(--course-ink) 30%,var(--ink))}.knowledge-catalog .tree-point small{color:color-mix(in srgb,var(--course-ink) 72%,white);font-size:8px}.knowledge-catalog .tree-point span{font-size:10.5px}.knowledge-catalog .tree-point i{background:rgba(255,255,255,.72);color:var(--course-ink)}.knowledge-catalog .tree-point:hover{background:color-mix(in srgb,var(--course-active) 65%,white);color:var(--course-ink)}.knowledge-catalog .tree-point.active{background:var(--course-active);color:var(--course-ink);box-shadow:inset 3px 0 0 var(--course-accent)}
.knowledge-reader{background:#fff}.reader-header{min-height:0;padding:18px 34px}.reader-header p{margin-bottom:8px;font-size:10px}.reader-header h1{margin-top:7px;font-size:22px;font-weight:720;letter-spacing:-.015em}.level-seal-small{width:62px;height:62px}.reader-section{margin:14px 34px;padding:0;border:0;border-radius:0}.reader-excerpt{border-radius:10px}.reader-excerpt>header{padding:16px 19px;background:#fbfcfb}.reader-excerpt blockquote{padding:28px 31px;background:#f7faf8;color:#43504b;font-size:15px;line-height:2.08}

/* Course colors also guide the administrator's curriculum workbench, more quietly. */
.catalog-pane .tree-course.course-tone-1{--course-accent:#1194a1;--course-soft:#eaf7f8}.catalog-pane .tree-course.course-tone-2{--course-accent:#cf870d;--course-soft:#fff5e4}.catalog-pane .tree-course.course-tone-3{--course-accent:#7656d7;--course-soft:#f1edff}.catalog-pane .tree-course.course-tone-4{--course-accent:#4770c8;--course-soft:#edf2ff}.catalog-pane .tree-course.course-tone-5{--course-accent:#dd5b54;--course-soft:#fff0ef}.catalog-pane .tree-course[class*="course-tone-"]>summary{border-left:3px solid var(--course-accent);border-radius:6px;background:var(--course-soft);color:var(--course-accent)}

/* Public/student entrance follows the same restrained warm language. */
.student-home .auth-visual{background:#9b451d}.student-home .commerce-grid,.student-home .commerce-orb{display:none}.student-home .auth-panel{background:#fffaf6}.student-home .auth-brand .brand-mark{box-shadow:none}.student-home .home-kicker{border-radius:8px;background:rgba(255,255,255,.1)}.student-home .home-feature-grid article{border-radius:10px;background:rgba(83,31,10,.22);backdrop-filter:none}.student-home .home-feature-grid article>span{border-radius:8px}.student-home .button.primary{background:#d96828;border-color:#d96828;box-shadow:none}.student-home .button.primary:hover{background:#ad4e1a}.student-entry-mark{border-radius:10px}.student-home .demo-accounts{border-radius:8px}

@media(max-width:1200px) and (min-width:761px){:root{--sidebar:246px}.knowledge-browser-body{grid-template-columns:320px minmax(0,1fr)}.reader-header{padding:14px 24px}.reader-section{margin:12px 24px}}
@media(max-width:760px){.app-body .sidebar{padding-top:24px}.sidebar-copyright{margin-bottom:-18px}.mobile-header{background:rgba(255,255,255,.96);box-shadow:0 2px 12px rgba(27,43,36,.04)}.page{padding:24px 16px 42px}.panel{padding:16px}.metric-grid.four,.metric-grid.three{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:112px;padding:14px;gap:10px}.metric-icon{width:34px;height:34px}.metric-card strong{font-size:22px}.knowledge-browser-top{height:126px;min-height:126px;padding:15px 16px;gap:7px}.knowledge-browser-top p{display:none}.knowledge-browser-top>div:last-child{width:100%;justify-content:space-between}.knowledge-browser-body{height:calc(100% - 126px)}.knowledge-catalog{width:min(360px,94vw);padding:18px 14px}.knowledge-catalog .tree-course>summary{min-height:46px}.reader-header{min-height:auto;padding:14px 16px}.reader-header h1{font-size:18px}.level-seal-small{width:60px;height:60px}.reader-section{margin:10px 12px;padding:0}.reader-excerpt blockquote{padding:18px 16px;font-size:13px}.student-home .auth-visual{background:#9b451d}}
@media(max-width:360px){.metric-grid.four,.metric-grid.three{grid-template-columns:1fr}}

/* Class list: one calm, scannable row per class. */
.classes-page .class-grid{grid-template-columns:1fr;gap:12px}.classes-page .class-card{display:grid;grid-template-columns:56px minmax(220px,1fr) minmax(260px,1.15fr) 118px;align-items:center;gap:18px;min-height:104px;padding:17px 20px;border-radius:12px}.classes-page .class-card:hover{transform:none;border-color:color-mix(in srgb,var(--green) 32%,var(--line));background:color-mix(in srgb,var(--green-soft) 20%,white);box-shadow:none}.classes-page .class-card>.class-icon{grid-column:1;width:48px;height:48px;border-radius:12px}.classes-page .class-card>.class-card-identity{display:block;min-width:0;margin:0}.classes-page .class-card-title{display:flex;align-items:center;gap:10px;min-width:0}.classes-page .class-card h2{min-width:0;margin:0;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classes-page .class-card-identity span{padding:0;background:transparent;color:var(--muted)}.classes-page .class-card-title .badge{display:inline-flex;flex:none;min-height:22px;padding:0 8px}.classes-page .class-card-title .badge.success{background:var(--green-soft);color:var(--green)}.classes-page .class-card-title .badge.muted{background:#f0f3f1;color:#7b8881}.class-system-label{display:block;margin-top:8px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classes-page .class-card>.class-card-metrics{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(140px,1.3fr);gap:10px;min-width:0;margin:0}.classes-page .class-card-metrics>span{min-width:0;padding:10px 12px;border-radius:8px;background:#f5f8f6}.classes-page .class-card-metrics small{display:block;margin-bottom:5px;color:var(--muted);font-size:9px}.classes-page .class-card-metrics strong{display:block;margin:0;color:var(--ink);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-card-action{display:flex;align-items:center;justify-content:flex-end;gap:13px;align-self:stretch;padding-left:18px;border-left:1px solid var(--line);color:var(--green);font-size:11px;font-weight:700;white-space:nowrap}.class-card-action b{font-size:15px}
@media(max-width:1000px) and (min-width:761px){.classes-page .class-card{grid-template-columns:52px minmax(180px,1fr) 105px;gap:14px}.classes-page .class-card>.class-card-metrics{grid-column:2;grid-row:2}.classes-page .class-card-action{grid-column:3;grid-row:1/3}.classes-page .class-card>.class-icon{grid-row:1/3;align-self:start}}
@media(max-width:760px){.classes-page .class-grid{gap:10px}.classes-page .class-card{grid-template-columns:48px minmax(0,1fr);gap:13px;min-height:0;padding:15px}.classes-page .class-card>.class-icon{grid-column:1;grid-row:1;align-self:start;width:44px;height:44px}.classes-page .class-card>.class-card-identity{grid-column:2;grid-row:1}.classes-page .class-card>.class-card-metrics{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr}.class-card-action{grid-column:1/-1;grid-row:3;justify-content:space-between;min-height:38px;padding:10px 2px 0;border-top:1px solid var(--line);border-left:0}}

/* Paginated class list without the decorative class icon. */
.class-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.class-list-toolbar>span{color:var(--muted);font-size:10px}.class-list-toolbar form{margin:0}.class-list-toolbar .field{display:flex;align-items:center;gap:8px}.class-list-toolbar .field>span{margin:0;white-space:nowrap}.class-list-toolbar select{min-width:96px}.classes-page .class-card{grid-template-columns:minmax(220px,1fr) minmax(260px,1.15fr) 118px}.class-pagination{margin-bottom:4px}
@media(max-width:1000px) and (min-width:761px){.classes-page .class-card{grid-template-columns:minmax(180px,1fr) 105px}.classes-page .class-card>.class-card-identity{grid-column:1;grid-row:1}.classes-page .class-card>.class-card-metrics{grid-column:1;grid-row:2}.classes-page .class-card-action{grid-column:2;grid-row:1/3}}
@media(max-width:760px){.class-list-toolbar{align-items:flex-end}.classes-page .class-card{grid-template-columns:minmax(0,1fr)}.classes-page .class-card>.class-card-identity{grid-column:1;grid-row:1}.classes-page .class-card>.class-card-metrics{grid-column:1;grid-row:2}.classes-page .class-card-action{grid-column:1;grid-row:3}}

/* Follow-up refinements for account roles, knowledge catalog and class owners. */
.user-table td:nth-child(3){white-space:nowrap}.user-table td:nth-child(3)>.badge{display:inline-flex;align-items:center;white-space:nowrap;writing-mode:horizontal-tb}.knowledge-reader{position:relative}.catalog-reopen-button{display:none;position:absolute;top:18px;left:18px;z-index:20}.knowledge-browser.catalog-collapsed .catalog-reopen-button{display:inline-flex}.knowledge-browser.catalog-collapsed .reader-header{padding-left:150px}.classes-page .class-card{grid-template-columns:minmax(185px,.72fr) minmax(335px,1.45fr) 112px}.classes-page .class-card>.class-card-metrics{grid-template-columns:minmax(78px,.48fr) minmax(235px,1.52fr)}.classes-page .class-card-metrics>span:nth-child(2) strong{white-space:normal;line-height:1.45}.model-research-note{margin-top:14px}
@media(max-width:1000px) and (min-width:761px){.classes-page .class-card{grid-template-columns:minmax(180px,1fr) 105px}.classes-page .class-card>.class-card-metrics{grid-template-columns:minmax(85px,.55fr) minmax(220px,1.45fr)}}
@media(max-width:760px){.catalog-reopen-button{display:none!important}.knowledge-browser.catalog-collapsed .reader-header{padding-left:34px}.classes-page .class-card{grid-template-columns:minmax(0,1fr)}.classes-page .class-card>.class-card-metrics{grid-template-columns:90px minmax(0,1fr)}}

/* Dialog controls: one compact, accessible visual language across every modal. */
.dialog-close{position:relative;display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #e4e9ed;border-radius:50%;background:#f7f9fa;color:#66737c;font-size:0;line-height:1;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}
.dialog-close::before,.dialog-close::after{content:"";position:absolute;width:14px;height:2px;border-radius:99px;background:currentColor}
.dialog-close::before{transform:rotate(45deg)}
.dialog-close::after{transform:rotate(-45deg)}
.dialog-close:hover{border-color:color-mix(in srgb,var(--green) 25%,#e4e9ed);background:var(--green-soft);color:var(--green);transform:rotate(4deg)}
.dialog-close:active{transform:scale(.94)}
.dialog-close:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}
.sort-guidance{display:inline-flex!important;align-items:center;margin:0 0 0 7px!important;padding:2px 6px;border-radius:99px;background:var(--green-soft);color:var(--green)!important;font-size:8px!important;font-weight:650;vertical-align:middle;white-space:nowrap}

/* Knowledge-point creation: hierarchy, level choice and textbook evidence in one flow. */
.catalog-create-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.catalog-create-actions .button{min-width:0;padding-left:8px;padding-right:8px;white-space:nowrap}
.catalog-create-actions .button.primary{grid-column:1/-1}
.point-onboarding>span{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 4px;border-radius:16px;background:var(--green-soft);color:var(--green);font-family:STKaiti,KaiTi,serif;font-size:24px}
.point-onboarding .button{margin-top:8px}
.point-create-dialog{width:min(900px,calc(100vw - 30px))}
.point-create-dialog>form{padding:24px 26px}
.point-create-section{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.point-create-section+.point-create-section{margin-top:14px}
.point-create-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}
.point-create-section-title>b{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:var(--green);color:#fff;font-size:11px}
.point-create-section-title>div{min-width:0;flex:1}
.point-create-section-title h3{margin:1px 0 4px;font-size:14px}
.point-create-section-title p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}
.point-create-section-title>.badge{margin-left:auto}
.level-choice-field{min-width:0;margin:0;padding:0;border:0}
.level-choice-field legend{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:650}
.level-choice-field legend small{padding:2px 6px;border-radius:99px;background:var(--green-soft);color:var(--green);font-size:8px}
.level-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.level-choice{position:relative;display:block;cursor:pointer}
.level-choice>input{position:absolute;opacity:0;pointer-events:none}
.level-choice>span{display:block;min-height:76px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;transition:.16s}
.level-choice strong,.level-choice small,.level-choice em{display:block}
.level-choice strong{font-size:12px}
.level-choice small{margin-top:4px;color:var(--muted);font-size:8px}
.level-choice em{margin-top:6px;color:var(--muted);font-size:8px;font-style:normal;line-height:1.45}
.level-choice:hover>span{border-color:color-mix(in srgb,var(--green) 38%,var(--line))}
.level-choice>input:checked+span{border-color:var(--green);background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green)}
.level-choice>input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 15%,transparent)}
.evidence-create-section{background:color-mix(in srgb,var(--green-soft) 25%,white)}
.form-blocked-note{margin:0;padding:11px;border-radius:8px;background:#fff7e9;color:#8a6428;font-size:9px;line-height:1.6}
@media(max-width:760px){.point-create-dialog>form{padding:18px}.point-create-section{padding:13px}.point-create-section-title>.badge{display:none}.level-choice-grid{grid-template-columns:1fr}.level-choice>span{min-height:0}.catalog-create-actions{grid-template-columns:1fr 1fr}.catalog-create-actions .button.primary{grid-column:1/-1}.catalog-create-actions .catalog-batch-button{grid-column:1/-1}}

/* New knowledge points use the same editor surface as existing points. */
.point-create-editor{min-height:100%;padding-bottom:18px}
.point-create-evidence{background:color-mix(in srgb,var(--green-soft) 18%,white)}
.point-create-evidence-fields{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px 22px;margin-top:8px}
.point-create-evidence-fields label{display:block;min-width:0}
.point-create-evidence-fields label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px}
.point-create-evidence-fields select,.point-create-evidence-fields textarea{width:100%;min-height:42px;padding:0 12px;border:1px solid #dce4ef;border-radius:8px;background:#fff;color:var(--ink);outline:none}
.point-create-evidence-fields textarea{min-height:250px;padding:12px;line-height:1.75;resize:vertical}
.point-create-evidence-fields select:focus,.point-create-evidence-fields textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 10%,transparent)}
@media(max-width:760px){.point-create-evidence-fields{grid-template-columns:1fr}.point-create-evidence-fields textarea{min-height:220px}}

/* Account state: compact, legible and impossible to wrap into vertical text. */
.account-status{display:inline-flex;align-items:center;gap:7px;min-height:27px;padding:0 10px;border:1px solid transparent;border-radius:99px;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}
.account-status i{width:7px;height:7px;flex:none;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 13%,transparent)}
.account-status strong{font:inherit}
.account-status.is-active{border-color:#cde8db;background:#edf8f3;color:#247a57}
.account-status.is-disabled{border-color:#efd6d4;background:#fff2f1;color:#b55750}
.user-table th:nth-child(5),.user-table td:nth-child(5){min-width:82px;text-align:center}

/* Textbook excerpts switch between protected reading and in-place editing. */
.excerpt-editor-row>.excerpt-content-cell{padding:0}
.excerpt-content-cell{min-width:0;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff}
.excerpt-content-cell>[data-excerpt-display]{height:100%;max-height:320px;overflow:auto;margin:0;padding:14px;color:#3e4d61;font-family:STSong,"Songti SC",serif;font-size:11px;line-height:1.9;white-space:normal}
.excerpt-inline-edit-form{display:flex;flex-direction:column;gap:11px;padding:14px;background:#fff}
.excerpt-inline-edit-form[hidden],.excerpt-row-actions [hidden],.excerpt-content-cell>[hidden]{display:none!important}
.excerpt-inline-edit-form label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px}
.excerpt-inline-edit-form select,.excerpt-inline-edit-form textarea{width:100%;padding:10px 12px;border:1px solid #d8e1ef;border-radius:8px;background:#fff;color:var(--ink);outline:none}
.excerpt-inline-edit-form select{min-height:42px}
.excerpt-inline-edit-form textarea{min-height:230px;resize:vertical;font-size:11px;line-height:1.8}
.excerpt-inline-edit-form select:focus,.excerpt-inline-edit-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 11%,transparent)}
.excerpt-editor-row.editing{background:var(--green-soft)}
.excerpt-editor-row.editing .excerpt-content-cell{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--green) 28%,transparent)}
.excerpt-row-actions>.text-button,.excerpt-row-actions>.button{width:100%;justify-content:center}
@media(max-width:1250px) and (min-width:761px){.workbench-body{grid-template-columns:310px minmax(0,1fr)}.catalog-pane{padding:18px 13px}.editor-header{position:static;align-items:flex-start;flex-direction:column;min-height:0;padding:18px 20px}.editor-header h1{font-size:18px}.editor-header>div:last-child{width:100%;flex-wrap:wrap}.editor-section{margin:13px 12px;padding:15px}.excerpt-table-head{display:none}.excerpt-editor-row{display:flex;flex-direction:column}.excerpt-editor-row>div{border-right:0}.excerpt-source{display:flex;align-items:center;gap:10px}.excerpt-source i{margin:0 0 0 auto}.excerpt-row-actions{flex-direction:row;flex-wrap:wrap}.excerpt-row-actions>.text-button,.excerpt-row-actions>.button{width:auto;flex:1}.excerpt-row-actions>form{width:100%}.excerpt-row-actions>form .text-button{width:100%}}
@media(max-width:760px){.excerpt-content-cell{border-right:0}.excerpt-content-cell>[data-excerpt-display]{max-height:360px}.excerpt-inline-edit-form textarea{min-height:260px}.excerpt-row-actions{flex-direction:row;flex-wrap:wrap}.excerpt-row-actions>.text-button,.excerpt-row-actions>.button{width:auto;flex:1}.excerpt-row-actions>form{width:100%}.excerpt-row-actions>form .text-button{width:100%}}

/* Multi-class teacher assignment and account spreadsheet import. */
.page-header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.assignment-field{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}
.assignment-field[hidden]{display:none!important}
.assignment-field legend{padding:0 7px;color:var(--ink);font-size:11px;font-weight:700}
.assignment-field legend small{margin-left:6px;color:var(--muted);font-size:8px;font-weight:500}
.assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.assignment-grid label{position:relative;display:block;cursor:pointer}
.assignment-grid input{position:absolute;opacity:0;pointer-events:none}
.assignment-grid span{display:flex;align-items:center;min-height:39px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:10px;transition:.16s}
.assignment-grid span:before{content:"";width:14px;height:14px;margin-right:8px;border:1px solid #bdc9d9;border-radius:4px;background:#fff}
.assignment-grid input:checked+span{border-color:var(--green);background:var(--green-soft);color:var(--green);font-weight:700}
.assignment-grid input:checked+span:before{content:"✓";display:grid;place-items:center;border-color:var(--green);background:var(--green);color:#fff;font-size:9px}
.assignment-grid input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 14%,transparent)}
.assignment-empty{margin:0;color:var(--muted);font-size:9px}
.user-class-label{display:inline-block;max-width:160px;line-height:1.55}
.user-class-label.teacher-classes{color:var(--green);font-weight:650}
.import-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:3px 0 16px}
.import-guide>div{display:grid;grid-template-columns:25px 1fr;gap:2px 8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8faff}
.import-guide b{grid-row:1/3;display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:var(--blue);color:#fff;font-size:10px}
.import-guide strong{font-size:10px}
.import-guide span{color:var(--muted);font-size:8px;line-height:1.45}
.import-example{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;padding:13px 15px;border-radius:10px;background:#f5f7fb}
.import-example strong{font-size:10px}.import-example code{font-size:9px;color:#536178;white-space:normal}
.upload-drop{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:17px;border:1px dashed #aebed6;border-radius:11px;background:#fbfcff}
.upload-drop>span{font-size:11px;font-weight:700}.upload-drop input{max-width:100%;font-size:10px}.upload-drop small{width:100%;color:var(--muted);font-size:8px}
@media(max-width:760px){.page-header-actions{width:100%}.page-header-actions .button{flex:1}.assignment-grid,.import-guide{grid-template-columns:1fr}.user-class-label{max-width:125px}.users-page .user-table{min-width:850px}.upload-drop{align-items:flex-start;flex-direction:column}}

/* Student AI paper and recitation archives. */
.account-status.is-pending{border-color:#eadcb8;background:#fff9ea;color:#9a6d18}
.auto-scope-rule{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px;padding:11px;border:1px solid #e6d9be;border-radius:10px;background:#fffbf2;color:#745b2c;transition:.18s}
.auto-scope-rule>span{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:6px;background:#f4e6c4;color:#8a6827;font-size:11px;font-weight:800}
.auto-scope-rule p{margin:0;font-size:9px;line-height:1.6}.auto-scope-rule strong{display:block;color:#5b4825;font-size:10px}
.auto-scope-rule.selected{border-color:#b9dccd;background:#edf8f3;color:#39705a}.auto-scope-rule.selected>span{background:#d8eee4;color:#247a57}.auto-scope-rule.selected strong{color:#247a57}
.history-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}
.history-stat-grid>article{--history-card-bg:#fff;--history-card-border:var(--line);--history-card-accent:var(--green);position:relative;min-height:102px;padding:18px 19px;border:1px solid var(--history-card-border);border-radius:15px;background:var(--history-card-bg);overflow:hidden}
.history-stat-grid>article:nth-child(1){--history-card-bg:#fff2ea;--history-card-border:#f4d9ca;--history-card-accent:#bd633b}
.history-stat-grid>article:nth-child(2){--history-card-bg:#eef6ff;--history-card-border:#d6e6f5;--history-card-accent:#4477a8}
.history-stat-grid>article:nth-child(3){--history-card-bg:#f5f1ff;--history-card-border:#e3daf5;--history-card-accent:#765ba4}
.history-stat-grid>article:nth-child(4){--history-card-bg:#edf8f3;--history-card-border:#d6ebdf;--history-card-accent:#3b8061}
.history-stat-grid>article:after{content:"";position:absolute;right:-20px;bottom:-28px;width:74px;height:74px;border:1px solid color-mix(in srgb,var(--history-card-accent) 10%,transparent);border-radius:50%;background:color-mix(in srgb,var(--history-card-accent) 5%,transparent)}
.history-stat-grid span{display:block;color:var(--muted);font-size:10px}.history-stat-grid strong{display:block;margin-top:11px;font-size:27px;line-height:1;letter-spacing:-.04em}.history-stat-grid strong small{margin-left:5px;color:var(--muted);font-size:10px;font-weight:550;letter-spacing:0}
.history-panel{padding:0;overflow:hidden}.history-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:19px 21px;border-bottom:1px solid var(--line)}.history-toolbar h2{margin:0 0 4px;font-size:17px}.history-toolbar p{margin:0;color:var(--muted);font-size:10px}.history-toolbar form{display:flex;align-items:flex-end;gap:9px}.field.compact{display:grid;grid-template-columns:auto 105px;align-items:center;gap:7px}.field.compact>span{margin:0;white-space:nowrap}.field.compact select{min-height:37px;padding:0 31px 0 10px}
.paper-history-list{display:flex;flex-direction:column}.paper-history-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 21px;border-bottom:1px solid var(--line);transition:.18s}.paper-history-row:hover{background:color-mix(in srgb,var(--green-soft) 30%,white)}.paper-file-icon{display:grid;place-items:center;width:49px;height:58px;border-radius:10px 10px 14px 10px;background:linear-gradient(150deg,var(--green-soft),#f5fbf8);border:1px solid color-mix(in srgb,var(--green) 15%,var(--line));color:var(--green)}.paper-file-icon span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;font-weight:800;line-height:1}.paper-history-main{min-width:0}.paper-history-main header{display:flex;align-items:center;gap:9px;margin-bottom:5px}.paper-history-main h3{min-width:0;margin:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paper-history-main>p{margin:0 0 10px;color:var(--muted);font-size:9px}.paper-history-main>div{display:flex;align-items:center;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:9px}.paper-history-main>div span{padding-right:15px;border-right:1px solid var(--line)}.paper-history-main>div span:last-child{border:0}.paper-history-main>div b{color:var(--ink);font-size:11px}.paper-history-main>div .paper-score b{color:var(--green);font-size:13px}.history-panel>.pagination{margin:0;padding:16px 21px}
.recitation-progress-panel{margin-bottom:18px}.coverage-total{font-size:24px;color:var(--green)}.course-progress-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.course-progress-list>article{padding:15px;border:1px solid var(--line);border-radius:11px;background:#fbfdfc}.course-progress-list header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.course-progress-list h3{margin:0 0 4px;font-size:12px}.course-progress-list p{margin:0;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-progress-list header>strong{font-size:15px;color:var(--green)}.course-progress-list .progress{margin:11px 0 9px}.course-progress-list footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-progress-list footer span{min-width:0;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-progress-list footer b{flex:none;color:var(--green);font-size:8px}
.recitation-record-list{display:flex;flex-direction:column}.recitation-record-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto 55px 78px;align-items:center;gap:13px;padding:14px 21px;border-bottom:1px solid var(--line);transition:.18s}.recitation-record-list>a:hover{background:color-mix(in srgb,var(--green-soft) 30%,white)}.recitation-record-index{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--green-soft);color:var(--green);font-family:STKaiti,KaiTi,serif;font-weight:800}.recitation-record-list a>div{min-width:0}.recitation-record-list strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recitation-record-list small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.recitation-record-list a>b{font-size:13px;color:var(--green);text-align:right}.recitation-record-list em{color:var(--green);font-size:9px;font-style:normal;font-weight:650;white-space:nowrap}
.recitation-overview-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px}.recitation-overview-numbers span{padding:10px 7px;border-radius:9px;background:#f5f8f6;color:var(--muted);font-size:8px;text-align:center}.recitation-overview-numbers strong{display:block;margin-bottom:4px;color:var(--ink);font-size:15px}.recitation-overview-card>.progress{margin-bottom:9px}.recitation-next-tip{margin:0 0 13px;color:var(--muted);font-size:8px;line-height:1.6}

/* Expandable recitation progress: course > project > knowledge point. */
.course-progress-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fbfdfc;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.course-progress-card[open]{grid-column:1/-1;border-color:color-mix(in srgb,var(--green) 34%,var(--line));box-shadow:0 12px 28px color-mix(in srgb,var(--green) 8%,transparent)}
.course-progress-card>summary,.project-progress-group>summary{list-style:none;cursor:pointer}.course-progress-card>summary::-webkit-details-marker,.project-progress-group>summary::-webkit-details-marker{display:none}
.course-progress-summary{padding:15px}.course-progress-summary header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.course-progress-summary h3{margin:0 0 4px;font-size:12px}.course-progress-summary p{margin:0;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-progress-summary header>strong{font-size:15px;color:var(--green)}
.course-progress-summary .progress{margin:11px 0 9px}.course-progress-summary footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-progress-summary footer span{min-width:0;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-progress-summary footer b{flex:none;color:var(--green);font-size:8px}
.progress-disclosure{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:11px;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);color:var(--green)}.progress-disclosure b{font-size:8px}.progress-disclosure i{font-size:13px;font-style:normal;transition:transform .18s}.course-progress-card[open] .progress-disclosure i{transform:rotate(180deg)}
.course-progress-detail{padding:0 15px 15px;border-top:1px solid var(--line);background:#fff}.course-progress-detail>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 2px 11px}.course-progress-detail>header strong,.course-progress-detail>header span{display:block}.course-progress-detail>header strong{font-size:11px}.course-progress-detail>header span,.course-progress-detail>header small{margin-top:3px;color:var(--muted);font-size:8px}
.project-progress-list{display:flex;flex-direction:column;gap:8px}.project-progress-group{border:1px solid var(--line);border-radius:10px;background:#fafcfb;overflow:hidden}.project-progress-group[open]{border-color:color-mix(in srgb,var(--green) 24%,var(--line));background:#fff}.project-progress-group>summary{display:grid;grid-template-columns:auto minmax(0,1fr) 105px auto 18px;align-items:center;gap:10px;padding:11px 12px}.project-progress-group>summary:hover{background:color-mix(in srgb,var(--green-soft) 35%,white)}.project-number{padding:4px 7px;border-radius:6px;background:var(--green-soft);color:var(--green);font-size:8px;font-weight:750;white-space:nowrap}.project-progress-group>summary>strong{min-width:0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-progress-group>summary>b{color:var(--green);font-size:10px}.project-progress-group>summary>em{color:var(--muted);font-size:13px;font-style:normal;transition:transform .18s}.project-progress-group[open]>summary>em{transform:rotate(180deg)}
.project-mini-progress{height:5px;border-radius:99px;background:#e9efec;overflow:hidden}.project-mini-progress i{display:block;height:100%;border-radius:inherit;background:var(--green)}
.point-progress-list{border-top:1px solid var(--line)}.point-progress-row{display:grid;grid-template-columns:26px minmax(0,1fr) 180px auto;align-items:center;gap:11px;min-height:61px;padding:9px 12px;border-bottom:1px solid #edf1ef;background:#fff;transition:background .16s}.point-progress-row:last-child{border-bottom:0}.point-progress-row:hover{background:color-mix(in srgb,var(--green-soft) 28%,white)}
.point-state-icon{display:grid;place-items:center;width:22px;height:22px;border:1px solid #d6dfda;border-radius:50%;background:#fff;color:#98a49e;font-size:10px;font-weight:800}.point-progress-name{min-width:0}.point-progress-name small,.point-progress-name strong{display:block}.point-progress-name small{margin-bottom:3px;color:var(--muted);font-size:7px}.point-progress-name strong{font-size:9px;line-height:1.45}.point-progress-status b,.point-progress-status small{display:block}.point-progress-status b{font-size:8px}.point-progress-status small{margin-top:3px;color:var(--muted);font-size:7px}.point-progress-row>em{color:var(--green);font-size:8px;font-style:normal;font-weight:700;white-space:nowrap}
.point-progress-row.is-complete .point-state-icon{border-color:#bfe2d2;background:#eaf7f1;color:#23805a}.point-progress-row.is-complete .point-progress-status b{color:#23805a}.point-progress-row.is-processing .point-state-icon{border-color:#d9c98e;background:#fff9e6;color:#9b7417}.point-progress-row.is-processing .point-progress-status b{color:#8d6917}.point-progress-row.is-retry .point-state-icon{border-color:#efc7c3;background:#fff2f1;color:#b6534b}.point-progress-row.is-retry .point-progress-status b{color:#b6534b}.point-progress-row.is-not-started .point-state-icon:after{content:"";width:6px;height:6px;border-radius:50%;background:#c2cbc6}
@media(max-width:900px){.history-stat-grid{grid-template-columns:repeat(2,1fr)}.course-progress-list{grid-template-columns:1fr}.paper-history-row{grid-template-columns:46px minmax(0,1fr)}.paper-history-row>.button{grid-column:1/-1;width:100%}.recitation-record-list>a{grid-template-columns:38px minmax(0,1fr) auto}.recitation-record-list .account-status{grid-column:2}.recitation-record-list a>b{grid-column:3;grid-row:1}.recitation-record-list em{grid-column:3;grid-row:2}}
@media(max-width:760px){.history-toolbar{align-items:stretch;flex-direction:column}.history-toolbar form{width:100%}.history-toolbar .field.compact{flex:1;grid-template-columns:1fr}.paper-history-row{padding:15px}.paper-history-main header{align-items:flex-start;flex-direction:column}.paper-history-main h3{white-space:normal}.paper-history-main>div{gap:8px}.history-stat-grid>article{min-height:91px;padding:15px}.history-stat-grid strong{font-size:23px}.recitation-record-list>a{padding:13px 15px}.recitation-record-list small{white-space:normal}.project-progress-group>summary{grid-template-columns:auto minmax(0,1fr) auto 18px}.project-mini-progress{display:none}.point-progress-row{grid-template-columns:24px minmax(0,1fr) auto}.point-progress-status{grid-column:2}.point-progress-row>em{grid-column:3;grid-row:1/3}.course-progress-detail{padding:0 10px 10px}.course-progress-detail>header small{display:none}}

/* Scalable wrong-question archive. */
.wrong-summary-strip{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:11px;margin-bottom:16px}.wrong-summary-strip>a{position:relative;display:flex;align-items:center;gap:12px;min-height:88px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:.18s}.wrong-summary-strip>a:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.wrong-summary-strip>a.active{box-shadow:inset 0 0 0 2px currentColor}.wrong-summary-strip>a>span{display:grid;place-items:center;width:37px;height:37px;flex:none;border-radius:11px;font-size:16px}.wrong-summary-strip small,.wrong-summary-strip strong{display:block}.wrong-summary-strip small{color:var(--muted);font-size:9px}.wrong-summary-strip strong{margin-top:5px;font-size:24px;line-height:1}.wrong-summary-strip em{margin-left:4px;font-size:9px;font-style:normal}.wrong-summary-strip>a>b{margin-left:auto;color:var(--muted);font-size:8px;font-weight:550;text-align:right}.wrong-summary-strip .is-unresolved{border-color:#efd5cd;background:#fff7f3;color:#b85445}.wrong-summary-strip .is-unresolved>span{background:#fbe8e1}.wrong-summary-strip .is-resolved{border-color:#cfe4d9;background:#f3faf6;color:#2e7c5c}.wrong-summary-strip .is-resolved>span{background:#e2f2e9}.wrong-summary-strip .is-all{background:#f8faf9;color:var(--green)}.wrong-summary-strip .is-all>span{background:var(--green-soft)}
.wrong-filter-panel{margin-bottom:16px;padding:16px 18px}.wrong-filter-panel>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.wrong-filter-panel>header strong,.wrong-filter-panel>header span{display:block}.wrong-filter-panel>header strong{font-size:11px}.wrong-filter-panel>header span,.wrong-filter-panel>header small{margin-top:3px;color:var(--muted);font-size:8px}.wrong-filter-grid{display:grid;grid-template-columns:1fr 1.15fr 1.45fr 1.35fr 85px auto auto;align-items:end;gap:8px}.wrong-filter-grid label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:8px}.wrong-filter-grid select,.wrong-filter-grid input{width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:10px;outline:none}.wrong-filter-grid select:focus,.wrong-filter-grid input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 9%,transparent)}.wrong-filter-grid .button{height:38px;white-space:nowrap}
.wrong-archive-list{display:flex;flex-direction:column;gap:12px}.wrong-point-group{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.wrong-point-group>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;background:#f7faf8;border-bottom:1px solid var(--line)}.wrong-point-group>header>div:first-child{min-width:0}.wrong-point-group>header span{display:block;margin-bottom:3px;color:var(--green);font-size:8px;font-weight:750}.wrong-point-group>header h2{margin:0;font-size:12px;line-height:1.4}.wrong-point-group>header p{margin:4px 0 0;color:var(--muted);font-size:8px}.wrong-point-group>header>div:last-child{display:flex;align-items:center;gap:8px;flex:none}.wrong-point-group>header b{font-size:10px}.wrong-point-group>header em{padding:5px 7px;border-radius:7px;background:#fbe8e1;color:#b85445;font-size:8px;font-style:normal}.wrong-point-group>header em.resolved{background:#e4f2ea;color:#2e7c5c}.wrong-point-group>header a{padding-left:8px;border-left:1px solid var(--line);color:var(--green);font-size:8px;font-weight:700}
.wrong-question-rows{display:flex;flex-direction:column}.wrong-archive-row{display:grid;grid-template-columns:82px minmax(0,1fr) 112px 72px;align-items:center;gap:13px;min-height:64px;padding:10px 15px;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);transition:background .16s,transform .16s}.wrong-archive-row:last-child{border-bottom:0}.wrong-archive-row:hover{transform:translateX(2px)}.wrong-archive-row.is-unresolved{background:#fff8f5}.wrong-archive-row.is-unresolved:hover{background:#fff2ec}.wrong-archive-row.is-resolved{background:#f4faf7}.wrong-archive-row.is-resolved:hover{background:#edf7f2}.wrong-row-state{display:flex;align-items:center;gap:7px}.wrong-row-state i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;font-size:10px;font-style:normal}.is-unresolved .wrong-row-state i{background:#fbe4dd;color:#b85445}.is-unresolved .wrong-row-state b{color:#b85445}.is-resolved .wrong-row-state i{background:#dff0e7;color:#287555}.is-resolved .wrong-row-state b{color:#287555}.wrong-row-state b{font-size:8px;white-space:nowrap}.wrong-row-stem{min-width:0}.wrong-row-stem small,.wrong-row-stem strong{display:block}.wrong-row-stem small{margin-bottom:4px;color:var(--muted);font-size:7px}.wrong-row-stem strong{font-size:10px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrong-row-meta b,.wrong-row-meta small{display:block;text-align:right}.wrong-row-meta b{font-size:8px}.wrong-row-meta small{margin-top:4px;color:var(--muted);font-size:7px}.wrong-archive-row>em{color:var(--green);font-size:8px;font-style:normal;font-weight:700;white-space:nowrap}.wrong-pagination{margin-top:16px}
.wrong-detail-back{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:var(--muted);font-size:9px}.wrong-detail-back a{color:var(--green);font-weight:650}.wrong-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:22px;margin-bottom:17px;padding:23px 25px;border:1px solid var(--line);border-radius:17px}.wrong-detail-hero.is-unresolved{border-color:#efd1c8;background:linear-gradient(135deg,#fff9f6,#fff)}.wrong-detail-hero.is-resolved{border-color:#cbe2d6;background:linear-gradient(135deg,#f2faf6,#fff)}.wrong-detail-hero>div>span{margin-right:7px}.wrong-detail-state{display:inline-flex;padding:6px 9px;border-radius:8px;font-size:9px;font-weight:750}.is-unresolved .wrong-detail-state{background:#fbe4dd;color:#b85445}.is-resolved .wrong-detail-state{background:#dff0e7;color:#287555}.wrong-detail-hero h1{max-width:850px;margin:14px 0 9px;font-size:20px;line-height:1.55}.wrong-detail-hero p{margin:0;color:var(--muted);font-size:9px}.wrong-detail-hero>aside{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:21px;border-left:1px solid var(--line)}.wrong-detail-hero>aside>span{color:var(--muted);font-size:8px}.wrong-detail-hero>aside>strong{margin:5px 0 14px;font-size:28px}.wrong-detail-hero>aside small{margin-left:4px;font-size:9px}.wrong-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:16px}.wrong-detail-grid main{display:flex;flex-direction:column;gap:12px}.wrong-detail-section{padding:18px}.wrong-detail-section>header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.wrong-detail-section>header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--green-soft);color:var(--green);font-size:9px;font-weight:800}.wrong-detail-section h2{margin:0;font-size:13px}.wrong-detail-section header p{margin:3px 0 0;color:var(--muted);font-size:8px}.wrong-option-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wrong-option-list>div{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcfc}.wrong-option-list b{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:6px;background:#fff;border:1px solid var(--line);font-size:8px}.wrong-option-list span{font-size:9px;line-height:1.55}.wrong-answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wrong-answer-compare>div{padding:14px;border-radius:10px;background:#f7f9f8}.wrong-answer-compare>div:first-child{background:#fff4f0}.wrong-answer-compare small{color:var(--muted);font-size:8px}.wrong-answer-compare p{margin:7px 0;font-size:11px;line-height:1.65}.wrong-answer-compare b{color:#b85445;font-size:9px}.wrong-explanation{padding:14px;border-left:3px solid var(--green);border-radius:0 10px 10px 0;background:#f5f9f7}.wrong-explanation p{margin:0;font-size:10px;line-height:1.8}.wrong-explanation span{display:block;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:var(--green);font-size:9px}.wrong-evidence>strong{display:block;margin-bottom:9px;font-size:9px}.wrong-evidence blockquote{max-height:350px;overflow:auto;margin:0}.wrong-detail-aside h2{margin:5px 0 14px;font-size:15px}.wrong-detail-aside dl{margin:0 0 15px}.wrong-detail-aside dl>div{padding:10px 0;border-top:1px solid var(--line)}.wrong-detail-aside dt{color:var(--muted);font-size:8px}.wrong-detail-aside dd{margin:4px 0 0;font-size:9px;line-height:1.55}.wrong-detail-aside .button+.button{margin-top:8px}
@media(max-width:1050px){.wrong-filter-grid{grid-template-columns:repeat(3,1fr)}.wrong-keyword{grid-column:1/3}.wrong-per-page{grid-column:3}.wrong-detail-grid{grid-template-columns:1fr}.wrong-detail-grid>aside{order:-1}.wrong-detail-aside{position:static}.wrong-detail-aside dl{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.wrong-detail-aside dl>div{border:0;padding:8px;background:#f7f9f8;border-radius:8px}}
@media(max-width:760px){.wrong-summary-strip{grid-template-columns:1fr 1fr}.wrong-summary-strip .is-all{grid-column:1/-1}.wrong-summary-strip>a{min-height:76px;padding:12px}.wrong-summary-strip>a>b{display:none}.wrong-filter-grid{grid-template-columns:1fr 1fr}.wrong-filter-grid label,.wrong-keyword,.wrong-per-page{grid-column:auto}.wrong-filter-grid .wrong-keyword{grid-column:1/-1}.wrong-point-group>header{align-items:flex-start;flex-direction:column}.wrong-point-group>header>div:last-child{width:100%;flex-wrap:wrap}.wrong-archive-row{grid-template-columns:74px minmax(0,1fr) auto;gap:9px;padding:10px}.wrong-row-meta{grid-column:2}.wrong-row-meta b,.wrong-row-meta small{text-align:left}.wrong-archive-row>em{grid-column:3;grid-row:1/3}.wrong-detail-hero{grid-template-columns:1fr;padding:18px}.wrong-detail-hero>aside{padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}.wrong-detail-hero>aside>strong{margin-bottom:10px}.wrong-detail-hero h1{font-size:17px}.wrong-detail-aside dl{grid-template-columns:1fr 1fr}.wrong-option-list,.wrong-answer-compare{grid-template-columns:1fr}}

/* Shared subject palette. The sequence matches the course colors in 考纲知识. */
.course-tone-1{--course-accent:#1194a1;--course-ink:#16747d;--course-bg:#e9f6f7;--course-line:#a6dadd}
.course-tone-2{--course-accent:#cf870d;--course-ink:#a86a08;--course-bg:#fff5e4;--course-line:#eed09a}
.course-tone-3{--course-accent:#7656d7;--course-ink:#6847c7;--course-bg:#f1edff;--course-line:#cbbdf4}
.course-tone-4{--course-accent:#4770c8;--course-ink:#3d62b4;--course-bg:#edf2ff;--course-line:#bdccee}
.course-tone-5{--course-accent:#dd5b54;--course-ink:#c84943;--course-bg:#fff0ef;--course-line:#efbbb7}
.course-progress-card[class*="course-tone-"]{border-color:var(--course-line);background:var(--course-bg)}
.course-progress-card[class*="course-tone-"] .course-progress-summary header>strong,
.course-progress-card[class*="course-tone-"] .course-progress-summary footer b,
.course-progress-card[class*="course-tone-"] .progress-disclosure{color:var(--course-ink)}
.course-progress-card[class*="course-tone-"] .course-progress-summary .progress i,
.course-progress-card[class*="course-tone-"] .project-mini-progress i{background:var(--course-accent)}
.course-progress-card[class*="course-tone-"][open]{border-color:var(--course-accent);box-shadow:0 12px 28px color-mix(in srgb,var(--course-accent) 10%,transparent)}
.course-progress-card[class*="course-tone-"] .course-progress-detail{border-color:var(--course-line)}
.course-progress-card[class*="course-tone-"] .project-number{background:var(--course-bg);color:var(--course-ink)}
.wrong-point-group[class*="course-tone-"]{border-color:var(--course-line)}
.wrong-point-group[class*="course-tone-"]>header{background:var(--course-bg);border-color:var(--course-line)}
.wrong-point-group[class*="course-tone-"]>header span,.wrong-point-group[class*="course-tone-"]>header a{color:var(--course-ink)}
.recitation-record-list>a[class*="course-tone-"] .recitation-record-index{background:var(--course-bg);color:var(--course-ink)}
.recitation-record-list>a[class*="course-tone-"]:hover{background:color-mix(in srgb,var(--course-bg) 65%,white)}
.sidebar-copyright a{text-decoration:none}

/* Compact student dashboard metrics: all four values stay on one line. */
.student-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px}
.student-metric-strip .metric-card{align-items:center;min-height:92px;padding:14px 15px;border-radius:14px}
.student-metric-strip .metric-icon{width:35px;height:35px;flex:none}
.student-metric-strip .metric-card small{margin-bottom:5px;font-size:10px}
.student-metric-strip .metric-card strong{font-size:23px}
.student-metric-strip .metric-card p{margin-top:7px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Full-paper answer view: roomy header, type navigation and grouped questions. */
.exam-page{scroll-behavior:smooth}
.exam-header{min-height:72px;margin:-15px 0 14px;padding:10px 18px;border:1px solid var(--line);border-radius:0 0 14px 14px}
.exam-title{min-width:0;flex:1}.exam-title strong{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exam-meta{flex:none;gap:8px!important}
.exam-meta-item,.exam-timer-card{display:flex!important;align-items:center!important;justify-content:space-between;gap:8px!important;min-width:88px;min-height:45px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}
.exam-timer-card{min-width:142px}
.exam-meta-item small,.exam-timer-card small{color:var(--muted);font-size:8px}
.exam-meta-item strong{font-size:17px;line-height:1}.exam-meta-item em{margin-left:3px;color:var(--muted);font-size:8px;font-style:normal}
.exam-meta .exam-timer-card b{min-width:70px;padding:6px 8px}.exam-timer-card b.urgent{background:var(--danger)}
.exam-type-nav{position:sticky;top:73px;z-index:18;display:flex;align-items:stretch;gap:8px;margin-bottom:14px;padding:10px 12px;border:1px solid #ecdacf;border-radius:13px;background:rgba(255,252,249,.96);box-shadow:0 5px 18px rgba(92,49,24,.05);backdrop-filter:blur(10px);scroll-margin-top:85px}
.exam-type-nav>div{display:flex;flex-direction:column;justify-content:center;min-width:180px;padding:0 8px}.exam-type-nav>div strong{margin-top:3px;font-size:9px}
.exam-type-nav>a{display:grid;grid-template-columns:auto auto;align-content:center;gap:3px 8px;min-width:105px;padding:8px 11px;border:1px solid #edd9cd;border-radius:9px;background:#fff;transition:.16s}
.exam-type-nav>a:hover{border-color:#d66a28;background:#fff5ee;transform:translateY(-1px)}
.exam-type-nav>a span{font-size:11px;font-weight:750}.exam-type-nav>a b{color:#d56425;font-size:10px;text-align:right}.exam-type-nav>a small{grid-column:1/-1;color:var(--muted);font-size:7px}
.question-type-group{display:flex;flex-direction:column;gap:12px;scroll-margin-top:145px}
.question-type-group+.question-type-group{margin-top:12px}
.question-type-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border-left:4px solid #d66a28;border-radius:11px;background:#fff5ee}
.question-type-header>div>span{color:#d56425;font-size:8px;font-weight:750}.question-type-header h2{display:inline;margin:0 8px 0 4px;font-size:16px}.question-type-header p{display:inline;margin:0;color:var(--muted);font-size:9px}.question-type-header>strong{color:#b94e17;font-size:11px}
.exam-back-top{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:2px;border:1px solid #ecdacf;border-radius:12px;background:#fff8f3;color:#c55b22;font-size:12px;font-weight:750}
.exam-back-top:hover{background:#ffefe4}
.answer-sheet .exam-submit-button{background:#c43f3c;border-color:#c43f3c;color:#fff;box-shadow:0 8px 20px rgba(196,63,60,.2)}
.answer-sheet .exam-submit-button:hover:not(:disabled){background:#a93130}
.answer-sheet .exam-submit-button:disabled{background:#c95a56;border-color:#c95a56;color:#fff;cursor:not-allowed;opacity:.72;box-shadow:none;transform:none}
.exam-submit-rule{color:#a94b47!important}.exam-submit-rule.ready{color:#287555!important}

@media(max-width:900px){
  .student-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .exam-type-nav{overflow-x:auto}.exam-type-nav>div{min-width:165px}.exam-type-nav>a{flex:none}
}
@media(max-width:760px){
  .student-metric-strip{grid-template-columns:1fr 1fr!important}
  .exam-header{top:62px;align-items:flex-start;flex-direction:column;gap:8px}.exam-title{width:100%}.exam-meta{width:100%}.exam-meta-item,.exam-timer-card{flex:1;justify-content:center}
  .exam-type-nav{top:166px;margin-left:-4px;margin-right:-4px}.exam-type-nav>div{display:none}.question-type-group{scroll-margin-top:230px}.question-type-header{align-items:flex-start}.question-type-header p{display:block;margin:5px 0 0}
}

/* Class detail: navigation, status and maintenance actions are visually separated. */
.class-detail-header{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:22px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fbfcff 100%)}
.class-detail-copy{min-width:0;max-width:355px;flex:1}
.class-detail-copy h1{margin-bottom:8px}
.class-detail-copy p{max-width:340px;margin-bottom:0;line-height:1.7}
.class-detail-control-stack{display:flex;min-width:410px;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px}
.class-detail-overview-actions,.class-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.class-control,.class-student-pill{display:inline-flex;min-height:39px;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid transparent;border-radius:10px;font-size:10px;font-weight:750;line-height:1;white-space:nowrap}
.class-control{cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}
.class-control:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(28,53,92,.07)}
.class-control svg,.class-student-pill svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.class-control-back{border-color:#dfe6ef;background:#fff;color:#53647b}
.class-student-pill{min-width:88px;border-color:#d9e4f7;background:#eef4ff;color:#315da7}
.class-student-pill>span{display:flex;align-items:baseline;gap:4px}.class-student-pill strong{font-size:15px}.class-student-pill small{font-size:9px;font-weight:650}
.class-control-reset{border-color:#f0dfbd;background:#fff8e9;color:#91601e}
.class-control-settings{border-color:#315cbb;background:#315cbb;color:#fff}
.class-control-delete{border-color:#f0d2d0;background:#fff1f0;color:#c34f4a}
.class-control:disabled{cursor:not-allowed;opacity:.42;transform:none;box-shadow:none}
@media(max-width:900px){.class-detail-header{align-items:flex-start;flex-direction:column}.class-detail-copy{max-width:420px}.class-detail-control-stack{width:100%;min-width:0;align-items:stretch}.class-detail-overview-actions,.class-admin-actions{justify-content:flex-start}}
@media(max-width:760px){.class-detail-header{gap:18px;padding:17px}.class-detail-copy,.class-detail-copy p{max-width:100%}.class-detail-overview-actions{display:grid;grid-template-columns:minmax(0,1fr) auto}.class-admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.class-control,.class-student-pill{padding:0 10px}.class-control svg{width:15px;height:15px}}

/* Wrong-book knowledge library: complete curriculum tree + selected point archive. */
.wrong-library-page{padding-top:22px}.wrong-library-page>.page-header{align-items:center;margin-bottom:9px}.wrong-page-heading{min-width:0}.wrong-library-page>.page-header .eyebrow{font-size:9px}.wrong-library-page>.page-header h1{margin:3px 0;font-size:24px}.wrong-library-page>.page-header>.button{min-height:36px;padding:0 15px}
.wrong-header-meta{display:flex;align-items:center;gap:10px;min-width:0}.wrong-header-meta>p{flex:none;margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.wrong-summary-strip{gap:8px;margin-bottom:10px}.wrong-summary-strip>div{position:relative;display:flex;align-items:center;gap:9px;min-height:56px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.wrong-summary-strip>div>span{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;font-size:13px}.wrong-summary-strip small{font-size:7px}.wrong-summary-strip strong{margin-top:2px;font-size:18px}.wrong-summary-strip em{font-size:7px}.wrong-summary-strip>div>b{margin-left:auto;color:var(--muted);font-size:9px;font-weight:600;text-align:right}
.wrong-mastery-guide{display:flex;align-items:center;gap:6px;min-width:0}.wrong-mastery-guide>span{flex:none;padding:3px 6px;border-radius:5px;background:#f8e4d5;color:#b45731;font-size:7px;font-weight:800}.wrong-mastery-guide p{margin:0;color:#726963;font-size:7.5px;line-height:1.45;white-space:nowrap}.wrong-mastery-guide strong{color:#493f39}
.wrong-library-layout{display:grid;grid-template-columns:360px minmax(0,1fr);align-items:start;gap:16px}
.wrong-catalog-pane{position:sticky;top:18px;max-height:calc(100vh - 36px);padding:0;overflow:auto}
.wrong-catalog-pane>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-bottom:1px solid var(--line)}.wrong-catalog-pane>header h2{margin:0;font-size:12px}.wrong-catalog-pane>header>strong{flex:none;color:var(--muted);font-size:8px}
.wrong-catalog-tree{display:flex;flex-direction:column;gap:7px;padding:0 10px 14px}.wrong-catalog-tree details>summary{list-style:none;cursor:pointer}.wrong-catalog-tree details>summary::-webkit-details-marker{display:none}
.wrong-course-group{border:1px solid var(--course-line);border-radius:11px;background:#fff;overflow:hidden}.wrong-course-group>summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto 15px;align-items:center;gap:9px;min-height:58px;padding:9px 11px;background:var(--course-bg);color:var(--course-ink)}.wrong-folder-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.67);font-size:12px}.wrong-course-group>summary strong,.wrong-course-group>summary small{display:block}.wrong-course-group>summary strong{font-size:11px}.wrong-course-group>summary small{margin-top:4px;color:color-mix(in srgb,var(--course-ink) 68%,white);font-size:7px}.wrong-folder-count{white-space:nowrap;font-size:8px}.wrong-folder-count b{font-size:12px}.wrong-course-group summary>i,.wrong-project-group summary>i{font-style:normal;transition:transform .18s}.wrong-course-group[open]>summary>i,.wrong-project-group[open]>summary>i{transform:rotate(180deg)}
.wrong-project-list{display:flex;flex-direction:column;gap:5px;padding:7px;background:#fff}.wrong-project-group{border-left:2px solid var(--course-line)}.wrong-project-group>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto 14px;align-items:center;gap:7px;min-height:47px;padding:6px 8px;border-radius:7px;background:color-mix(in srgb,var(--course-bg) 55%,white)}.wrong-project-group>summary>span:first-child{padding:3px 6px;border-radius:5px;background:#fff;color:var(--course-ink);font-size:7px;font-weight:750}.wrong-project-title{min-width:0}.wrong-project-title strong,.wrong-project-title small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wrong-project-title strong{font-size:9px}.wrong-project-title small{margin-top:2px;color:var(--muted);font-size:6.3px}.wrong-project-statuses{display:flex;align-items:center;gap:4px;white-space:nowrap}.wrong-project-statuses em{padding:3px 5px;border-radius:5px;font-size:6.3px;font-style:normal;font-weight:700}.wrong-project-statuses em b{font-size:7px}.wrong-project-statuses .is-unresolved{background:#f8deda;color:#a8423d}.wrong-project-statuses .is-resolved{background:#dff1e7;color:#237653}
.wrong-project-review{padding:6px 6px 2px 9px}.wrong-project-review button{width:100%;display:grid;grid-template-columns:27px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:2px 8px;min-height:48px;padding:8px 9px;border:1px solid #c86f67;border-radius:9px;background:#efd1cd;color:#7f2927;text-align:left;box-shadow:0 3px 9px rgba(139,52,46,.12)}.wrong-project-review button:hover{border-color:#a94742;background:#e6bbb6;box-shadow:0 4px 12px rgba(139,52,46,.18)}.wrong-project-review button>span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#a94742;color:#fff;font-size:12px}.wrong-project-review button>strong{font-size:8.5px;color:#732421}.wrong-project-review button>small{grid-column:2;color:#9a4f49;font-size:6.5px}.wrong-project-review button>i{grid-column:3;grid-row:1/3;padding:5px 7px;border-radius:6px;background:#913832;color:#fff;font-size:7px;font-style:normal;font-weight:750;white-space:nowrap}
.wrong-point-list{display:flex;flex-direction:column;gap:3px;padding:4px 0 5px 9px}.wrong-point-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;min-height:50px;padding:7px 8px;border-radius:8px;border:1px solid transparent}.wrong-point-link:hover{background:color-mix(in srgb,var(--course-bg) 55%,white)}.wrong-point-link.active{border-color:var(--course-line);background:var(--course-bg);box-shadow:inset 3px 0 0 var(--course-accent)}.wrong-point-link>span:first-child{min-width:0}.wrong-point-link small,.wrong-point-link strong{display:block}.wrong-point-link small{margin-bottom:3px;color:var(--course-ink);font-family:ui-monospace,monospace;font-size:7px}.wrong-point-link strong{overflow:hidden;font-size:8px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.wrong-point-counts{display:grid;grid-template-columns:auto auto;gap:2px 5px;text-align:right}.wrong-point-counts b{grid-column:1/-1;font-size:8px}.wrong-point-counts em,.wrong-point-counts i{font-size:6.5px;font-style:normal}.wrong-point-counts em{color:#b85445}.wrong-point-counts i{color:#287555}.wrong-point-zero{color:#9ba6a0;font-size:7px;white-space:nowrap}.wrong-point-link.is-empty{opacity:.76}.wrong-tree-empty{margin:5px 8px;color:var(--muted);font-size:8px}
.wrong-point-pane{min-width:0}.wrong-selected-point{margin-bottom:8px;border:1px solid var(--course-line);border-radius:12px;background:var(--course-bg);overflow:hidden}.wrong-selected-point>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px}.wrong-selected-copy{min-width:0;flex:1}.wrong-selected-point>header p{margin:0 0 4px;color:var(--muted);font-size:7px}.wrong-selected-title{display:flex;align-items:baseline;gap:8px;min-width:0}.wrong-selected-point>header span{color:var(--course-ink);font-family:ui-monospace,monospace;font-size:7px;font-weight:750}.wrong-selected-point>header h2{min-width:0;margin:0;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.wrong-selected-point>header .button{min-height:32px;padding:0 11px;background:rgba(255,255,255,.76);color:var(--course-ink);font-size:8px}
.wrong-point-overview{display:flex;align-items:center;gap:5px;margin-top:6px}.wrong-point-overview>span{display:flex;align-items:baseline;gap:3px;padding:3px 7px;border:1px solid var(--course-line);border-radius:6px;background:rgba(255,255,255,.54)}.wrong-point-overview small,.wrong-point-overview strong{display:inline}.wrong-point-overview small{color:var(--muted);font-size:6.5px}.wrong-point-overview strong{margin:0;font-size:10px}.wrong-point-overview em{margin-left:2px;color:var(--muted);font-size:6px;font-style:normal}
.wrong-point-records{padding:0;overflow:hidden}.wrong-record-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.wrong-record-toolbar nav,.wrong-record-toolbar form{display:flex;align-items:center;gap:6px}.wrong-record-toolbar nav a{padding:7px 9px;border-radius:7px;color:var(--muted);font-size:8px;font-weight:700}.wrong-record-toolbar nav a.active{background:var(--green-soft);color:var(--green)}.wrong-record-toolbar input,.wrong-record-toolbar select{height:34px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:8px}.wrong-record-toolbar input{width:180px}.wrong-point-records .wrong-archive-row{border-radius:0}.wrong-point-records .wrong-pagination{margin:0;padding:14px;border-top:1px solid var(--line)}.wrong-point-empty{padding:65px 20px}
@media(max-width:1050px){.wrong-library-layout{grid-template-columns:315px minmax(0,1fr)}.wrong-record-toolbar{align-items:stretch;flex-direction:column}.wrong-record-toolbar form{width:100%}.wrong-record-toolbar input{min-width:0;flex:1}.wrong-archive-row{grid-template-columns:74px minmax(0,1fr) 95px 62px}}
@media(max-width:820px){.wrong-library-layout{grid-template-columns:1fr}.wrong-catalog-pane{position:static;max-height:none}.wrong-catalog-tree{max-height:520px;overflow:auto}.wrong-selected-point{margin-top:0}}
@media(max-width:600px){
    .wrong-library-page{padding-top:17px}
    .wrong-library-page>.page-header{align-items:flex-start;gap:10px;margin-bottom:9px}
    .wrong-library-page>.page-header>.button{width:auto}
    .wrong-summary-strip>div{min-height:54px;padding:8px 10px}
    .wrong-summary-strip>div>b{display:none}
    .wrong-header-meta{align-items:flex-start;flex-direction:column;gap:5px}
    .wrong-mastery-guide{align-items:flex-start;gap:6px}
    .wrong-mastery-guide p{line-height:1.5;white-space:normal}
    .wrong-catalog-pane{overflow:visible}
    .wrong-catalog-tree{max-height:none;overflow:visible;gap:9px;padding:0 10px 14px}
    .wrong-course-group{flex:none}
    .wrong-course-group>summary{grid-template-columns:26px minmax(0,1fr) auto 13px;min-height:58px}
    .wrong-course-group>summary>span:nth-child(2){min-width:0}
    .wrong-course-group>summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .wrong-folder-count{align-self:center}
    .wrong-record-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) auto auto}
    .wrong-point-overview{flex-wrap:wrap}
    .wrong-point-overview>span{padding:3px 6px}
    .wrong-selected-point>header{align-items:flex-start;flex-direction:column}
    .wrong-selected-point>header .button{width:100%}
    .wrong-point-records .wrong-archive-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:10px 12px;min-height:0;padding:14px 12px;align-items:start;transform:none}
    .wrong-point-records .wrong-row-state{grid-column:1;grid-row:1}
    .wrong-point-records .wrong-archive-row>em{grid-column:2;grid-row:1;align-self:center}
    .wrong-point-records .wrong-row-stem{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px}
    .wrong-point-records .wrong-row-stem small{margin:1px 0 0;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.8);color:var(--muted);font-weight:700;white-space:nowrap}
    .wrong-point-records .wrong-row-stem strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.55}
    .wrong-point-records .wrong-row-meta{grid-column:1/-1;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
    .wrong-point-records .wrong-row-meta b,.wrong-point-records .wrong-row-meta small{margin:0;text-align:left}
}

.recitation-duration-note{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:99px;background:var(--green-soft);color:var(--green);font-size:8px;font-weight:700;vertical-align:middle}
.radar-total{flex-direction:column;align-items:flex-end;gap:2px}.radar-total small{color:var(--muted);font-size:8px}

/* Login — modern academy direction */
.student-home.academy-login{height:100vh;height:100dvh;min-height:0;grid-template-columns:minmax(600px,1.55fr) minmax(430px,.82fr);overflow:hidden;background:#fffdf9;color:#26322f}
.student-home.academy-login .academy-visual{display:block;position:relative;height:100%;min-height:0;padding:38px 28px 32px 138px;overflow:hidden;background:#f6f2ec;color:#26322f}
.student-home.academy-login .academy-visual:before,.student-home.academy-login .commerce-grid,.student-home.academy-login .commerce-orb{display:none}
.academy-rail{position:absolute;z-index:3;inset:0 auto 0 0;width:70px;display:flex;align-items:center;flex-direction:column;padding:32px 8px 28px;background:#b95d38;color:#fff}
.academy-rail>img{width:43px;height:43px;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(80,43,28,.15)}
.academy-rail-name{display:flex;align-items:center;flex-direction:column;gap:20px;margin:auto 0;color:#fff;writing-mode:vertical-rl}
.academy-rail-name strong{font-family:STSong,Songti SC,serif;font-size:19px;letter-spacing:.23em}
.academy-rail-name span{color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.18em}
.academy-visual-inner{width:min(690px,100%);height:100%;min-height:0;margin:0 auto;display:flex;flex-direction:column}
.academy-meta{display:flex;align-items:center;gap:10px;color:#8c7c71;font-size:10px;letter-spacing:.08em}
.academy-meta i{width:28px;height:1px;background:#cbbdb2}
.student-home.academy-login .academy-hero{width:100%;max-width:none;margin:clamp(66px,10vh,96px) 0 0}
.academy-eyebrow{display:block;margin-bottom:14px;color:#b95d38;font-family:STKaiti,KaiTi,serif;font-size:13px;font-weight:700;letter-spacing:.15em}
.student-home.academy-login .academy-hero h1{margin:0;color:#26322f;font-family:STSong,Songti SC,serif;font-size:clamp(40px,4vw,58px);font-weight:700;line-height:1.18;letter-spacing:.015em}
.student-home.academy-login .academy-hero h1 em{position:relative;color:#b95d38;font-style:normal}
.student-home.academy-login .academy-hero h1 em:after{content:"";position:absolute;right:0;bottom:-7px;left:0;height:2px;background:#d9977c;transform-origin:left;animation:academyRuleReveal 1.1s .55s cubic-bezier(.22,1,.36,1) both}
.student-home.academy-login .academy-hero>p{max-width:590px;margin:22px 0 0;color:#786d66;font-size:14px;line-height:1.9}
.learning-pages-stage{--academy-shift-x:0px;--academy-shift-y:0px;width:min(500px,100%);height:auto;aspect-ratio:1300/690;margin:8px auto -8px;transition:transform .6s cubic-bezier(.22,1,.36,1);transform:translate(var(--academy-shift-x),var(--academy-shift-y))}
.learning-pages-art{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;mix-blend-mode:multiply;animation:academyPagesFloat 7s ease-in-out infinite}
.academy-quote{max-width:690px;margin:16px 0 0;padding:18px 0 0;border-top:1px solid #d9cec5;color:#3a4541}
.academy-quote p{margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(15px,1.25vw,19px);line-height:1.6}
.academy-quote footer{display:flex;align-items:center;gap:12px;margin-top:9px;color:#a06047;font-size:9px;letter-spacing:.08em}
.academy-quote footer small{color:#9a9089;font-size:8px;letter-spacing:0}
.student-home.academy-login .academy-panel{position:relative;display:grid;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;padding:54px 56px;overflow:hidden;background:#fffdf9;border-left:1px solid #e9dfd7}
.academy-login-card{width:min(420px,100%);margin-top:clamp(18px,5vh,40px);animation:academyFormReveal .75s .12s cubic-bezier(.22,1,.36,1) both}
.student-home.academy-login .academy-login-card .eyebrow{color:#b95d38;font-size:11px;letter-spacing:.15em}
.student-home.academy-login .academy-login-card h2{max-width:none;margin:12px 0 17px;color:#26322f;font-family:STSong,Songti SC,serif;font-size:26px;font-weight:700;line-height:1.34;letter-spacing:0;white-space:nowrap}
.academy-title-rule{width:42px;height:2px;margin-bottom:42px;background:#b95d38}
.student-home.academy-login .academy-login-card .field{margin-bottom:20px}
.student-home.academy-login .academy-login-card .field>span:first-child{margin-bottom:9px;color:#4b5551;font-size:11px;letter-spacing:.05em}
.student-home.academy-login .academy-login-card .field input{min-height:54px;padding:0 16px;border:1px solid #dcd2ca;border-radius:5px;background:#fff;color:#26322f;font-size:13px}
.student-home.academy-login .academy-login-card .field input::placeholder{color:#aaa098}
.student-home.academy-login .academy-login-card .field input:focus{border-color:#b95d38;box-shadow:0 0 0 3px rgba(185,93,56,.1)}
.student-home.academy-login .academy-login-card .password-wrap input{padding-right:62px}
.student-home.academy-login .academy-login-card .password-wrap button{right:12px;color:#a45132;font-size:10px;font-weight:700}
.student-home.academy-login .academy-login-card .button.primary{min-height:54px;margin-top:8px;border:1px solid #b95d38;border-radius:5px;background:#b95d38;box-shadow:none;color:#fff;font-size:13px;letter-spacing:.08em}
.student-home.academy-login .academy-login-card .button.primary:hover{border-color:#98482b;background:#98482b;transform:translateY(-1px)}
.academy-login-note{margin:15px 0 0;text-align:center;color:#9a9089;font-size:9px}
.academy-mobile-brand{display:none}
.student-home.academy-login .academy-foot{position:static;width:100%;margin:18px 0 0;text-align:center;color:#aaa098;font-size:8px;letter-spacing:.06em}
@keyframes academyRuleReveal{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes academyPagesFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes academyFormReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1050px){
    .student-home.academy-login{grid-template-columns:minmax(520px,1.25fr) minmax(390px,.85fr)}
    .student-home.academy-login .academy-visual{padding:34px 18px 30px 110px}
    .academy-rail{width:62px}
    .academy-rail>img{width:39px;height:39px}
    .student-home.academy-login .academy-hero h1{font-size:43px}
    .learning-pages-stage{height:auto}
    .student-home.academy-login .academy-panel{padding:46px 38px}
}

@media(min-width:761px) and (max-height:700px){
    .student-home.academy-login .academy-visual{padding-top:25px;padding-bottom:20px}
    .academy-rail{padding-top:24px;padding-bottom:18px}
    .student-home.academy-login .academy-hero{margin-top:clamp(28px,6vh,44px)}
    .academy-eyebrow{margin-bottom:8px}
    .student-home.academy-login .academy-hero h1{font-size:clamp(35px,3.5vw,48px);line-height:1.14}
    .student-home.academy-login .academy-hero>p{margin-top:13px;font-size:12px;line-height:1.65}
    .learning-pages-stage{width:min(480px,100%);margin-top:4px;margin-bottom:-4px}
    .academy-quote{padding-top:10px}
    .academy-quote p{font-size:clamp(13px,1.1vw,16px);line-height:1.45}
    .academy-quote footer{margin-top:4px}
    .student-home.academy-login .academy-panel{padding-top:34px;padding-bottom:24px}
    .academy-login-card{margin-top:20px}
    .academy-title-rule{margin-bottom:28px}
    .student-home.academy-login .academy-login-card .field{margin-bottom:15px}
    .student-home.academy-login .academy-login-card .field input{min-height:49px}
    .student-home.academy-login .academy-login-card .button.primary{min-height:49px;margin-top:4px}
    .academy-login-note{margin-top:11px}
    .student-home.academy-login .academy-foot{margin-top:12px}
}

@media(min-width:761px) and (max-height:600px){
    .student-home.academy-login .academy-hero{margin-top:24px}
    .student-home.academy-login .academy-hero h1{font-size:34px}
    .learning-pages-stage{width:min(400px,100%)}
    .academy-quote{margin-top:10px;padding-top:8px}
    .academy-quote footer{display:none}
}

@media(max-width:760px){
    .student-home.academy-login{display:flex;height:auto;min-height:100vh;min-height:100dvh;flex-direction:column;overflow:visible;background:#fffdf9}
    .student-home.academy-login .academy-visual{display:block;height:auto;min-height:auto;padding:0 20px 26px;background:#f6f2ec}
    .academy-rail{position:relative;inset:auto;width:calc(100% + 40px);height:64px;margin:0 -20px;padding:0 20px;flex-direction:row;gap:11px}
    .academy-rail>img{width:38px;height:38px;box-shadow:none}
    .academy-rail-name{align-items:flex-start;gap:1px;margin:0;color:#fff;writing-mode:horizontal-tb}
    .academy-rail-name strong{font-size:15px;letter-spacing:.08em}
    .academy-rail-name span{font-size:7px;letter-spacing:.03em}
    .academy-visual-inner{min-height:0}
    .academy-meta{display:none}
    .student-home.academy-login .academy-hero{margin:26px 0 0}
    .academy-eyebrow{margin-bottom:8px;font-size:10px}
    .student-home.academy-login .academy-hero h1{font-size:29px;line-height:1.25}
    .student-home.academy-login .academy-hero h1 br{display:none}
    .student-home.academy-login .academy-hero h1 em{margin-left:5px}
    .student-home.academy-login .academy-hero h1 em:after{bottom:-4px}
    .student-home.academy-login .academy-hero>p{margin-top:13px;font-size:11px;line-height:1.75}
    .learning-pages-stage{width:100%;height:auto;margin:8px 0 -8px}
    .academy-quote{margin:12px 0 0;padding-top:12px}
    .academy-quote p{font-size:14px}
    .academy-quote footer{margin-top:5px}
    .academy-quote footer small{display:none}
    .student-home.academy-login .academy-panel{display:flex;height:auto;min-height:auto;padding:38px 22px 62px;overflow:visible;border-left:0;border-top:1px solid #e9dfd7}
    .academy-login-card{margin-top:0}
    .student-home.academy-login .academy-login-card h2{font-size:26px;white-space:normal}
    .academy-title-rule{margin-bottom:30px}
    .student-home.academy-login .academy-foot{position:static;margin-top:35px}
}

@media(max-width:420px){
    .student-home.academy-login .academy-hero h1{font-size:26px}
    .student-home.academy-login .academy-hero>p{display:none}
    .learning-pages-stage{height:auto}
    .academy-quote p{font-size:13px}
    .student-home.academy-login .academy-panel{padding-top:32px}
}

@media(prefers-reduced-motion:reduce){
    .student-home.academy-login *{scroll-behavior:auto!important}
    .learning-pages-art,.learning-page-notes,.academy-login-card,.student-home.academy-login .academy-hero h1 em:after{animation:none!important}
    .learning-pages-stage,.student-home.academy-login .button{transition:none!important}
}

/* 2026-09-01 brand and student dashboard refinements */
body.role-student{--sidebar-bg:#b95d38;--sidebar-muted:#ffe2d2;--sidebar-subtle:#efbea6}
.academy-version{display:block;flex:none;color:rgba(255,255,255,.72);font-size:7px;font-weight:500;letter-spacing:.04em;line-height:1;white-space:nowrap;writing-mode:horizontal-tb}
.learning-pages-stage{position:relative}
.learning-pages-art{position:relative;z-index:1}
.learning-page-notes{position:absolute;z-index:2;inset:0;margin:0;padding:0;list-style:none;pointer-events:none;animation:academyPagesFloat 7s ease-in-out infinite}
.learning-page-notes li{position:absolute;inset:0;color:#8f4931;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.84)}
.learning-page-notes strong,.learning-page-notes b,.learning-page-notes small{display:block}
.learning-page-notes strong{position:absolute;top:var(--dot-y);left:var(--dot-x);font-family:STSong,Songti SC,serif;font-size:calc(24px * var(--note-scale));font-weight:500;line-height:1;transform:translate(-50%,calc(-100% - 7px))}
.learning-page-notes li>span{position:absolute;top:48%;left:var(--page-x);width:145px;transform:translate(-50%,-50%) scale(var(--note-scale));transform-origin:center}
.learning-page-notes b{margin:0;color:#805443;font-size:11px;letter-spacing:.1em}
.learning-page-notes small{margin-top:5px;color:#9a8378;font-size:7px;line-height:1.45;letter-spacing:.02em}
.learning-page-notes .page-note-one{--dot-x:34%;--dot-y:71.6%;--page-x:22%;--note-scale:1}
.learning-page-notes .page-note-two{--dot-x:50.1%;--dot-y:64.1%;--page-x:42.1%;--note-scale:.88}
.learning-page-notes .page-note-three{--dot-x:63.6%;--dot-y:58.6%;--page-x:57%;--note-scale:.76}
.learning-page-notes .page-note-four{--dot-x:76.6%;--dot-y:54.1%;--page-x:70.2%;--note-scale:.65}
.student-home.academy-login .academy-foot{display:flex;align-items:center;justify-content:center;gap:16px}
.student-home.academy-login .academy-foot a{color:inherit;text-decoration:none}
.student-home.academy-login .academy-foot a:hover{opacity:.72}

.student-metric-strip .student-metric-card{--student-card-bg:#fff;--student-card-border:var(--line);--student-icon-bg:#fff;--student-icon-color:var(--green);background:var(--student-card-bg);border-color:var(--student-card-border)}
.student-metric-strip .student-metric-card:after{content:"";position:absolute;inset:auto -18px -26px auto;width:78px;height:78px;border:1px solid color-mix(in srgb,var(--student-icon-color) 10%,transparent);border-radius:50%}
.student-metric-strip .tone-peach{--student-card-bg:#fff2ea;--student-card-border:#f4d9ca;--student-icon-bg:#ffe1d0;--student-icon-color:#bd633b}
.student-metric-strip .tone-blue{--student-card-bg:#eef6ff;--student-card-border:#d6e6f5;--student-icon-bg:#dcecff;--student-icon-color:#4477a8}
.student-metric-strip .tone-lilac{--student-card-bg:#f5f1ff;--student-card-border:#e3daf5;--student-icon-bg:#e9e0fb;--student-icon-color:#765ba4}
.student-metric-strip .tone-mint{--student-card-bg:#edf8f3;--student-card-border:#d6ebdf;--student-icon-bg:#dcefe5;--student-icon-color:#3b8061}
.student-metric-strip .student-metric-icon{position:relative;z-index:1;background:var(--student-icon-bg);color:var(--student-icon-color);border:1px solid color-mix(in srgb,var(--student-icon-color) 12%,white);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.student-metric-strip .student-metric-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.dashboard-pagination{justify-content:space-between;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.dashboard-pagination .button{min-width:68px;background:color-mix(in srgb,var(--green-soft) 55%,white);border-color:transparent;color:var(--green)}

/* Compact one-row course progress summaries. */
.course-progress-summary{display:grid;grid-template-columns:minmax(210px,1.15fr) minmax(230px,1fr) auto;grid-template-areas:"course next disclosure" "bar bar bar";align-items:center;gap:8px 20px;padding:12px 14px}
.course-progress-summary>header{grid-area:course;min-width:0}
.course-progress-summary>.progress{grid-area:bar;margin:0}
.course-progress-summary>footer{grid-area:next;min-width:0}
.course-progress-summary>.progress-disclosure{grid-area:disclosure;margin:0;padding:0;border:0;white-space:nowrap}

/* Keep short question-type badges horizontal beside long knowledge-point names. */
.review-card>header>div{min-width:0}
.review-card>header .badge{flex:none;white-space:nowrap;writing-mode:horizontal-tb}
.result-option-list{display:flex;flex-direction:column;gap:8px;margin:0 0 11px}.result-option{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:45px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fbfcfb}.result-option>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eef2f0;color:var(--muted);font-size:10px;font-weight:750}.result-option>strong{font-size:10px;line-height:1.55}.result-option>small{color:var(--muted);font-size:8px;white-space:nowrap}.result-option.is-correct{border-color:#9bcdb5;background:#f0f8f4}.result-option.is-correct>span{background:#dff1e7;color:#237653}.result-option.is-selected{box-shadow:inset 3px 0 0 var(--green)}.result-option.is-wrong{border-color:#e6aaa4;background:#fff3f2;box-shadow:inset 3px 0 0 var(--danger)}.result-option.is-wrong>span{background:#fbe1df;color:var(--danger)}.explanation-detail{margin-top:11px}.explanation-detail>summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);cursor:pointer;font-size:10px;font-weight:700;list-style:none}.explanation-detail>summary::-webkit-details-marker{display:none}.explanation-detail>summary:after{content:"⌄";font-size:13px;transition:transform .18s}.explanation-detail[open]>summary:after{transform:rotate(180deg)}.explanation-detail>.explanation{margin-top:8px}.explanation-detail>.explanation p{margin-top:0}

@media(max-width:760px){
    .academy-version{margin-left:auto}
    .learning-page-notes strong{font-size:calc(17px * var(--note-scale));transform:translate(-50%,calc(-100% - 4px))}
    .learning-page-notes li>span{top:47%;width:82px}
    .learning-page-notes b{font-size:7px;letter-spacing:.03em}
    .learning-page-notes small{display:none}
    .student-home.academy-login .academy-foot{flex-wrap:wrap;gap:5px 12px}
    .dashboard-pagination{gap:7px}
    .dashboard-pagination .button{min-width:0;padding:0 9px}
    .dashboard-pagination>span{font-size:8px}
    .course-progress-summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"course course" "next disclosure" "bar bar";gap:7px 10px;padding:11px 12px}
    .course-progress-summary>.progress-disclosure b{font-size:0}
    .course-progress-summary>.progress-disclosure b:after{content:"展开";font-size:8px}
    .review-card>header{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:start}
    .review-card>header>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
    .result-option{grid-template-columns:28px minmax(0,1fr);gap:8px}
    .result-option>small{grid-column:2;white-space:normal}
}

.app-body .recorder-box.insecure-origin{border-color:#e7bd7e;background:linear-gradient(145deg,#fffaf0,#fff4df)}
.app-body .recorder-box.insecure-origin .microphone-icon{background:#b97820;box-shadow:0 0 0 8px rgba(185,120,32,.08)}
.app-body .recorder-box.insecure-origin [data-recorder-status]{color:#8a5a1b;line-height:1.65}
.app-body .recorder-box.system-capture-mode [data-record-start]{background:#b97820;border-color:#b97820}.app-body .recorder-box.system-capture-mode [data-record-start]:hover{background:#945e17;border-color:#945e17}

/* Quiz scope uses course + project only; the keyword field has been removed. */
.scope-selectors{grid-template-columns:1fr 1.2fr}
@media(max-width:1100px){.scope-selectors{grid-template-columns:1fr 1.2fr}}
@media(max-width:760px){.scope-selectors{grid-template-columns:1fr}}

/* AI quiz header: compact copy with a wider, single-line exam-system card. */
.quiz-builder-page>.page-header>div:first-child{min-width:0;flex:1}
.quiz-builder-page>.page-header>div:first-child>p{max-width:350px}
.quiz-builder-page>.page-header>.exam-standard{min-width:210px;flex:none}
.quiz-builder-page>.page-header>.exam-standard strong{white-space:nowrap}
@media(max-width:760px){
    .quiz-builder-page>.page-header>div:first-child>p{max-width:none}
    .quiz-builder-page>.page-header>.exam-standard{width:100%;min-width:0}
}

@media(min-width:761px){.quiz-builder-page .selected-point-area{grid-template-columns:90px minmax(0,1fr)}}
.quiz-builder-page .selected-point-area{background:#fff1ef;border:1px solid #f1d2cd}
.quiz-builder-page .summary-numbers>div{text-align:center}
.quiz-builder-page .summary-numbers>div+div{padding-left:0}
.quiz-page-title-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.quiz-page-title-row h1{flex:none}
