:root{--ink:#19191b;--sub:#737378;--line:#e8e8e9;--bg:#f7f7f8;--white:#fff;--accent:#5b5bd6;--accent-soft:#f0f0ff;--shadow:0 12px 32px rgba(20,20,30,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:-.01em}button,input{font:inherit}.app{min-height:100vh}.rail{position:fixed;inset:0 auto 0 0;width:244px;background:rgba(255,255,255,.82);backdrop-filter:blur(22px);border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;padding:2px 8px;line-height:1.03;font-size:14px}.logo span{width:29px;height:29px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:18px}.logo em{font-style:normal}.new{margin:28px 7px 19px;background:var(--ink);color:#fff;border:0;border-radius:10px;padding:10px 12px;text-align:left;font-size:13px;font-weight:650;cursor:pointer}.rail nav button{display:block;width:100%;border:0;border-radius:9px;background:transparent;text-align:left;padding:10px 11px;color:#727277;cursor:pointer;font-size:13px}.rail nav button span{margin-left:10px;font-weight:550}.rail nav button.active{background:var(--accent-soft);color:#4545b9}.rail nav button:hover{background:#f3f3f4;color:var(--ink)}.rail-bottom{margin-top:auto;padding:15px 7px 0;border-top:1px solid var(--line)}.rail-bottom p{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#aaaab0;margin:0 0 7px}.workspace,.account{width:100%;display:flex;align-items:center;text-align:left;border:0;background:none;padding:9px 0;color:#55555b;cursor:pointer;font-size:12px}.workspace i,.account i{margin-left:auto;font-style:normal}.account span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e5e5e9;color:#515159;font-size:10px;margin-right:8px}.account b{font-size:12px;font-weight:600}.account small{display:block;font-size:10px;color:#9999a1;font-weight:400}.app main{margin-left:244px;min-height:100vh}header{height:65px;background:rgba(255,255,255,.76);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);padding:0 48px;display:flex;align-items:center;gap:8px;color:#a0a0a6;font-size:12px}.crumb{background:none;border:0;color:#727278;padding:0;cursor:pointer}.board{color:#45454a;font-weight:600}.top-actions{display:flex;align-items:center;gap:17px;margin-left:auto}.top-actions button{width:285px;border:1px solid var(--line);border-radius:9px;background:#fafafa;color:#a5a5aa;padding:8px 11px;text-align:left;font-size:12px}.top-actions i{font-style:normal;color:#919197}.top-actions span{width:27px;height:27px;background:#ededf0;color:#5f5f67;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700}.view{display:none;max-width:1240px;margin:auto;padding:78px 6vw}.view.active{display:block}.intro{max-width:650px}.intro p,.student-top p,.library-head p,.teacher-head p{font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:0 0 11px}.intro h1,.student-top h1,.library-head h1,.teacher-head h1{margin:0 0 12px;font-size:44px;line-height:1.1;letter-spacing:-.055em;font-weight:650}.intro>span,.student-top>span,.teacher-head>span{color:var(--sub);font-size:16px}.board-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:45px}.board-card{min-height:195px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.82);padding:19px;text-align:left;display:flex;flex-direction:column;cursor:pointer;transition:.22s}.board-card:hover,.board-card.selected{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d5d5f2}.board-card.selected{background:#fff}.board-card b{font:650 28px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.09em}.board-card small{font-size:11px;line-height:1.45;color:var(--sub);margin-top:8px}.board-card span{font-size:12px;color:var(--accent);font-weight:600;margin-top:auto}.backline{display:flex;gap:12px;color:var(--sub);font-size:12px;margin-bottom:28px}.backline button{border:0;background:none;padding:0;color:var(--accent);font-weight:600;cursor:pointer}.course-layout{display:grid;grid-template-columns:1fr 250px;gap:16px;margin-top:40px}.course-main,.course-note,.resume,.small-cards article,.question-pane,.topic-tree,.queue,.activity{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(20,20,25,.015)}.course-main{padding:28px}.course-top{display:flex;justify-content:space-between;align-items:center}.course-top span{color:var(--sub);font-size:10px;font-weight:700;letter-spacing:.08em}.course-top b{font:600 22px ui-monospace,monospace}.course-main h2{font-size:25px;margin:24px 0 3px}.course-main>p{margin:0;color:var(--sub)}.units{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.units button{border:1px solid var(--line);border-radius:11px;background:#fff;padding:14px;text-align:left;cursor:pointer}.units button:first-child{border-color:#cfcff5;background:#fbfbff}.units b,.units span,.units em{display:block}.units b{font:600 13px ui-monospace,monospace}.units span{font-size:12px;color:#55555a;margin:6px 0}.units em{font-style:normal;color:var(--accent);font-size:11px;font-weight:600}.course-note{padding:22px}.course-note p{font-size:11px;color:var(--sub);margin:0}.course-note b{font-size:36px;letter-spacing:-.07em;display:block;margin-top:15px}.course-note span,.course-note small{font-size:12px;color:var(--sub)}.course-note hr{border:0;border-top:1px solid var(--line);margin:27px 0}.student-top,.library-head,.teacher-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.student-top button,.library-head>button,.teacher-head>button{border:0;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer}.resume{padding:22px 24px;display:grid;grid-template-columns:140px 1fr 200px 110px;gap:15px;align-items:center;margin:44px 0 16px;box-shadow:var(--shadow)}.resume-label{font-size:12px;color:var(--sub);font-weight:600}.resume-title{display:flex;gap:10px;align-items:center}.resume-title>span{background:var(--accent-soft);color:var(--accent);font:600 11px ui-monospace,monospace;padding:5px;border-radius:6px}.resume-title b{font-size:12px}.resume-title p{margin:2px 0 0;font-size:15px;font-weight:600}.resume-meta{display:flex;gap:8px;font-size:11px;color:var(--sub)}.resume-meta i{font-style:normal;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:2px 5px}.resume button{border:0;background:var(--accent);color:#fff;border-radius:9px;padding:9px;font-size:12px;font-weight:600;cursor:pointer}.primary-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px}.primary-paths button{border:1px solid var(--line);border-radius:16px;background:#fff;padding:28px;text-align:left;cursor:pointer;transition:.2s}.primary-paths button:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.path-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800}.primary-paths b,.primary-paths p,.primary-paths em{display:block}.primary-paths b{font-size:20px;font-weight:600;margin-top:32px}.primary-paths p{margin:7px 0 30px;color:var(--sub);font-size:13px}.primary-paths em{font-style:normal;color:var(--accent);font-size:12px;font-weight:600}.small-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;margin-top:14px}.small-cards article{padding:16px;display:flex;align-items:center;gap:10px}.small-cards article>span{color:#787880;font-size:16px}.small-cards b,.small-cards p{display:block}.small-cards b{font-size:12px}.small-cards p{font-size:11px;color:var(--sub);margin:2px 0}.small-cards em{margin-left:auto;font-style:normal;color:#a4a4aa}.small-cards i{height:5px;background:#eeeeef;border-radius:5px;width:95px;display:block;margin-top:7px}.small-cards u{display:block;background:var(--accent);height:100%;width:0;border-radius:5px}.workspace-layout{display:grid;grid-template-columns:245px 1fr;gap:16px;margin-top:40px}.topic-tree{padding:17px}.topic-tree>b{display:block;font-size:12px;margin:0 0 13px}.topic-tree button{display:block;width:100%;border:0;border-radius:7px;background:none;padding:8px 6px;text-align:left;color:#68686e;font-size:12px;cursor:pointer}.topic-tree .tree-active{background:var(--accent-soft);color:var(--accent);font-weight:650}.question-pane{padding:22px}.filterbar{display:flex;gap:7px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.filterbar button{border:1px solid var(--line);border-radius:20px;background:#fff;padding:5px 9px;color:#68686f;font-size:11px;cursor:pointer}.filterbar .selected{background:var(--ink);border-color:var(--ink);color:#fff}.filterbar label{margin-left:auto;border:1px solid var(--line);border-radius:8px;padding:5px 9px;color:#9999a0}.filterbar input{border:0;outline:0;width:145px;font-size:11px}.topic-title{display:flex;justify-content:space-between;align-items:flex-end;padding:28px 0}.topic-title p{margin:0;color:var(--sub);font:600 11px ui-monospace,monospace}.topic-title h2{font-size:22px;margin:5px 0}.topic-title span{font-size:12px;color:var(--sub)}.topic-title button{border:0;background:var(--accent-soft);color:var(--accent);border-radius:9px;padding:9px;font-size:11px;font-weight:600}.row{display:grid;grid-template-columns:1.5fr .8fr 1fr .7fr;gap:10px;border-top:1px solid var(--line);padding:14px 5px;align-items:center;font-size:12px}.row.header{font-size:10px;color:#a0a0a5;font-weight:700;letter-spacing:.07em}.row em{font-style:normal;color:var(--accent);font-weight:600}.teacher-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:36px 0 16px}.teacher-stats article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.teacher-stats small,.teacher-stats span{display:block;color:var(--sub);font-size:11px}.teacher-stats b{display:block;font:600 32px ui-monospace,monospace;letter-spacing:-.09em;margin:7px 0}.teacher-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.queue,.activity{padding:22px}.queue p,.activity p{font-size:11px;color:var(--sub);font-weight:650;margin:0}.queue h2,.activity h2{font-size:20px;margin:4px 0 17px}.review{border:0;border-top:1px solid var(--line);background:none;width:100%;padding:14px 0;display:flex;align-items:center;text-align:left;gap:10px;cursor:pointer}.review>span{width:24px;height:24px;border-radius:8px;background:#f1f1f2;color:#66666d;display:grid;place-items:center;font-size:12px;font-weight:700}.review b,.review small{display:block}.review b{font-size:12px}.review small{font-size:11px;color:var(--sub)}.review em{margin-left:auto;font-style:normal;color:var(--accent);font-size:12px;font-weight:600}.batch{display:grid;grid-template-columns:repeat(3,auto);gap:2px 14px;margin:26px 0}.batch span{font:600 30px ui-monospace,monospace}.batch small{color:var(--sub);font-size:11px}.activity button{border:0;border-radius:9px;background:var(--ink);color:#fff;padding:9px 11px;font-size:12px;font-weight:600}@media(max-width:950px){.board-grid{grid-template-columns:repeat(3,1fr)}.teacher-stats{grid-template-columns:repeat(2,1fr)}.resume{grid-template-columns:1fr 1fr}.resume-label,.resume button{display:none}}@media(max-width:700px){.rail{display:none}.app main{margin:0}.top-actions button,.top-actions i{display:none}header{padding:0 18px}.view{padding:45px 20px}.intro h1,.student-top h1,.library-head h1{font-size:35px}.board-grid,.primary-paths,.small-cards,.units,.teacher-stats,.teacher-grid{grid-template-columns:1fr}.course-layout,.workspace-layout{grid-template-columns:1fr}.course-note,.topic-tree{display:none}.resume{display:block;padding:18px}.resume-title{margin-top:12px}.resume-meta{margin-top:10px}.filterbar{overflow:auto}.filterbar label{display:none}.row{grid-template-columns:1.4fr 1fr .5fr}.row>*:nth-child(3){display:none}}
:root{--fix:0}.mode-switch{width:100%;border:0;border-radius:9px;background:var(--accent-soft);color:var(--accent);padding:9px 8px;font-size:11px;font-weight:650;cursor:pointer;margin-bottom:9px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:#25252a;color:#fff;border-radius:10px;padding:10px 14px;font-size:12px;box-shadow:0 12px 32px rgba(0,0,0,.16);opacity:0;transition:.2s;z-index:10;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
.dashboard-head .eyebrow{text-transform:none}
:root{--navfix:0}.new[hidden]{display:none}.rail nav{margin-top:24px}.nav-group{margin:0 0 25px}.nav-group p{font-size:11px!important;color:#9a9aa1!important;letter-spacing:.08em;text-transform:none;margin:0 10px 8px!important;font-weight:600}.rail nav button{display:flex!important;align-items:center;gap:11px;padding:8px 9px!important;margin:2px 0!important}.rail nav button i{width:30px;height:30px;border-radius:10px;background:#f3f3f4;color:#7e7e85;display:grid;place-items:center;font:600 11px ui-monospace,monospace;font-style:normal}body:not(.teacher-mode) .rail nav button.active{background:transparent!important;color:var(--ink)!important}body:not(.teacher-mode) .rail nav button.active i{background:var(--ink)!important;color:#fff!important}.rail nav button span{margin:0!important;font-size:13px;font-weight:550}body:not(.teacher-mode) .rail nav button:hover{background:#f7f7f8!important}body:not(.teacher-mode) .rail nav button:hover i{background:#eaeaf6;color:var(--accent)}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:72px 0 34px}.dashboard-head h1{font-size:42px;letter-spacing:-2px;line-height:1.1;margin:10px 0}.dashboard-head>div>span,.module-placeholder>span{color:var(--sub);font-size:15px}.eyebrow{margin:0;color:var(--accent)!important;font-size:11px!important;font-weight:750!important;letter-spacing:1.2px;text-transform:uppercase}.course-switch{padding:11px 16px!important;white-space:nowrap!important}.exam-card{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:18px}.exam-title{display:flex;align-items:center;gap:16px;padding:26px 30px 22px}.unit-badge{align-items:center;background:var(--ink);border-radius:10px;color:#fff;display:inline-flex;font-size:13px;font-weight:750;height:48px;justify-content:center;letter-spacing:.4px;width:52px}.exam-title p{color:var(--sub);font-size:13px;margin:0 0 5px}.exam-title h2{font-size:20px;letter-spacing:-.55px;margin:0}.exam-facts{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.exam-facts article{border-right:1px solid var(--line);padding:20px 30px}.exam-facts article:last-child{border:0}.exam-facts b{display:block;font-size:25px;letter-spacing:-1px;line-height:1.1}.exam-facts small{color:var(--sub);font-size:13px;font-weight:500;letter-spacing:0}.exam-facts span{color:var(--sub);display:block;font-size:12px;margin-top:6px}.exam-card footer{align-items:center;background:#fbfbfb;border-top:1px solid var(--line);color:var(--sub);display:flex;font-size:13px;justify-content:space-between;padding:14px 30px}.exam-card footer button,.grade-panel header button{background:none!important;border:0!important;color:var(--accent)!important;font-size:13px!important;font-weight:700!important;padding:0!important}.dash-grid{display:grid;gap:18px;margin-bottom:18px}.primary-grid{grid-template-columns:1.55fr 1fr}.progress-panel,.grade-panel{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:28px 30px}.progress-panel header,.grade-panel header{align-items:flex-start;display:flex;justify-content:space-between}.progress-panel h2,.grade-panel h2{font-size:19px;letter-spacing:-.45px;margin:7px 0 0}.status-empty{background:#f4f4f5;border-radius:100px;color:var(--sub);font-size:12px;padding:6px 10px}.mastery-summary{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:18px;margin-top:23px;padding-bottom:21px}.mastery-summary strong{font-size:44px;letter-spacing:-2px;line-height:1}.mastery-summary strong span{color:var(--sub);font-size:19px;letter-spacing:-.5px}.mastery-summary p,.muted{color:var(--sub);font-size:13px;line-height:1.7;margin:0}.mastery-summary b{color:var(--ink)}.mastery-list{margin-top:13px}.mastery-list>div{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(170px,1.4fr) minmax(55px,.7fr) 48px;padding:9px 0}.mastery-list span{font-size:12px}.mastery-list i{background:#efeff0;border-radius:100px;height:5px;overflow:hidden}.mastery-list u{background:var(--accent);display:block;height:100%;width:0}.mastery-list em{color:var(--sub);font-size:11px;font-style:normal;text-align:right}.grade-panel .muted{margin:25px 0 24px}.grade-scale{display:grid;gap:14px}.grade-scale>div{align-items:center;display:grid;gap:11px;grid-template-columns:20px 1fr 18px}.grade-scale b{font-size:14px}.grade-scale span{background:#efeff0;border-radius:100px;height:7px}.grade-scale em{color:var(--sub);font-size:15px;font-style:normal;text-align:right}.grade-panel footer{border-top:1px solid var(--line);color:var(--sub);font-size:12px;margin-top:26px;padding-top:15px}.secondary-grid{grid-template-columns:repeat(4,1fr)}.account-card{background:var(--white)!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--shadow);display:block!important;min-height:158px;padding:22px!important;text-align:left!important}.account-card:hover{border-color:#d7d7da!important;transform:translateY(-1px)}.account-card>span{color:var(--accent);font-size:11px;font-weight:750}.account-card p{color:var(--sub);font-size:12px;margin:21px 0 4px}.account-card b{display:block;font-size:26px;letter-spacing:-1px}.account-card small{color:var(--sub);font-size:12px;font-weight:500;letter-spacing:0}.account-card em{color:var(--accent);display:block;font-size:12px;font-style:normal;font-weight:650;margin-top:12px}.module-placeholder{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin-top:92px;min-height:410px;padding:54px}.module-placeholder h1{font-size:38px;letter-spacing:-1.8px;margin:13px 0}.module-placeholder button{display:block;margin-top:34px}@media(max-width:900px){.dashboard-head{align-items:flex-start;flex-direction:column;margin-top:42px}.exam-facts{grid-template-columns:repeat(2,1fr)}.exam-facts article:nth-child(2){border-right:0}.exam-facts article:nth-child(-n+2){border-bottom:1px solid var(--line)}.primary-grid,.secondary-grid{grid-template-columns:1fr}.dashboard-head h1{font-size:34px}}@media(max-width:540px){.dashboard-head{margin:32px 0 22px}.exam-title,.progress-panel,.grade-panel{padding-left:20px;padding-right:20px}.exam-card footer{align-items:flex-start;flex-direction:column;gap:10px;padding-left:20px;padding-right:20px}.exam-facts article{padding:15px 20px}.mastery-list>div{grid-template-columns:1fr 55px}.mastery-list em{display:none}.module-placeholder{margin-top:42px;padding:30px}}
.importer-head{align-items:flex-end;display:flex;justify-content:space-between;gap:24px;margin:72px 0 34px}.importer-head h1{font-size:42px;letter-spacing:-2px;line-height:1.1;margin:10px 0}.importer-head>div>span{color:var(--sub);font-size:15px}.dark-action{background:var(--ink)!important;border:0!important;color:#fff!important;padding:11px 15px!important;white-space:nowrap}.drop-zone{background:var(--white);border:1.5px dashed #d4d4d9;border-radius:16px;box-shadow:var(--shadow);padding:50px 30px;text-align:center}.drop-zone>span{align-items:center;background:var(--accent-soft);border-radius:10px;color:var(--accent);display:inline-flex;font-size:22px;height:42px;justify-content:center;width:42px}.drop-zone h2{font-size:20px;letter-spacing:-.5px;margin:16px 0 5px}.drop-zone p{color:var(--sub);font-size:13px;margin:0 auto;max-width:460px}.drop-zone button{background:var(--ink);border:0;border-radius:9px;color:#fff;cursor:pointer;font-size:12px;font-weight:650;margin:20px 0 16px;padding:10px 15px}.drop-zone small{color:var(--sub);display:block;font-size:11px}.import-summary{align-items:stretch;display:grid;gap:18px;grid-template-columns:1.15fr 1fr auto;margin-top:18px}.import-summary article{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:20px}.import-summary p{color:var(--sub);font-size:11px;margin:0 0 9px}.import-summary b,.import-summary span{display:block}.import-summary b{font-size:13px}.import-summary span{color:var(--sub);font-size:11px;margin-top:7px}.import-summary button{background:var(--accent-soft);border:0;border-radius:13px;color:var(--accent);cursor:pointer;font-size:12px;font-weight:700;padding:0 20px}@media(max-width:900px){.importer-head{align-items:flex-start;flex-direction:column;margin-top:42px}.import-summary{grid-template-columns:1fr}.import-summary button{padding:13px}}@media(max-width:540px){.importer-head{margin:32px 0 22px}.importer-head h1{font-size:34px}.drop-zone{padding:40px 20px}}
.progress-panel h2 small{color:var(--sub);font-size:12px;font-weight:500;letter-spacing:0;margin-left:4px}.progress-source{color:var(--sub);font-size:11px;line-height:1.6;margin:13px 0 7px}.progress-source span{display:block}.mastery-list{border-bottom:1px solid var(--line);margin-top:0!important}.syllabus-group{border-top:1px solid var(--line);display:block}.syllabus-group summary{align-items:center;cursor:pointer;display:grid;gap:10px;grid-template-columns:16px minmax(205px,1.5fr) minmax(55px,.65fr) 40px;list-style:none;padding:12px 0}.syllabus-group summary::-webkit-details-marker{display:none}.syllabus-chevron{color:var(--sub);font-size:14px;transform:rotate(-90deg);transition:transform .16s}.syllabus-group[open] .syllabus-chevron{transform:rotate(0)}.syllabus-heading b,.syllabus-heading small{display:block}.syllabus-heading b{font-size:12px;font-weight:650}.syllabus-heading small{color:var(--sub);font-size:10px;line-height:1.35;margin-top:2px}.syllabus-group summary i,.topic-children i{background:#efeff0;border-radius:20px;display:block;height:5px;overflow:hidden}.syllabus-group summary u,.topic-children u,.grade-scale span u{background:var(--accent);display:block;height:100%;text-decoration:none}.syllabus-group summary em{color:var(--sub);font-size:11px;font-style:normal;text-align:right}.topic-children{border-left:1px solid #e3e3e6;margin:0 0 11px 8px;padding-left:16px}.topic-children button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--ink);cursor:pointer;display:grid;gap:10px;grid-template-columns:76px minmax(130px,1.5fr) minmax(45px,.6fr) 34px 58px;padding:8px 7px;text-align:left;width:100%}.topic-children button:hover{background:#fafafa}.topic-code{color:var(--accent);font:600 10px ui-monospace,monospace}.topic-name b,.topic-name small{display:block}.topic-name b{font-size:11px;font-weight:600}.topic-name small{color:var(--sub);font-size:10px;line-height:1.35;margin-top:1px}.topic-children em{color:var(--sub);font-size:10px;font-style:normal;text-align:right}.topic-children strong{color:var(--sub);font-size:10px;font-weight:500;text-align:right}.grade-scale span{overflow:hidden}.grade-scale span u{border-radius:100px}.grade-panel .grade-scale{margin-top:22px}.grade-panel footer{line-height:1.5}@media(max-width:700px){.syllabus-group summary{grid-template-columns:15px minmax(140px,1fr) 50px 34px}.syllabus-group summary i{display:none}.topic-children button{grid-template-columns:70px minmax(130px,1fr) 34px}.topic-children button i,.topic-children strong{display:none}.progress-panel h2 small{display:block;margin:4px 0 0}.grade-scale>div{grid-template-columns:20px 1fr 52px}.grade-scale em{font-size:12px}}
.primary-grid{align-items:stretch}

/* Keep long EC01 section titles on one calm desktop line while preserving mobile readability. */
.progress-panel .syllabus-group summary{grid-template-columns:16px minmax(0,1fr) 292px 40px}
.progress-panel .syllabus-group summary i{transform:translateY(7px)}
.progress-panel .topic-children button{grid-template-columns:76px minmax(0,1.5fr) minmax(55px,.6fr) 34px 82px}
.progress-panel .topic-children strong{white-space:nowrap}
.question-meta .question-timer{background:#f0f0ff;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700;margin-left:auto;white-space:nowrap}
.question-meta .question-timer.answered{background:#edf8f1;color:#27804d}
.question-meta .question-timer.expired{background:#fff0ef;color:#b94b42}
.question-meta .question-timer+.favorite-question{margin-left:0}
.progress-panel .syllabus-heading b{font-size:11px;letter-spacing:-.08px;white-space:nowrap}
.secondary-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){.progress-panel .syllabus-heading b{white-space:normal}.progress-panel .syllabus-group summary{grid-template-columns:15px minmax(140px,1fr) 50px 34px}}
.paper-breakdown-card{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin:18px 0;padding:20px 22px}.paper-breakdown-head{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:15px}.paper-breakdown-head h2{font-size:18px;letter-spacing:-.45px;margin:4px 0 0}.paper-breakdown-head>b{font-size:25px;letter-spacing:-1px;line-height:1}.paper-breakdown-head>b small{color:var(--sub);font-size:11px;font-weight:500;letter-spacing:0}.breakdown-grid{display:grid;grid-template-columns:repeat(7,1fr);padding-top:15px}.breakdown-grid article{border-right:1px solid var(--line);min-width:0;padding:0 13px}.breakdown-grid article:first-child{padding-left:0}.breakdown-grid article:last-child{border-right:0;padding-right:0}.breakdown-grid span,.breakdown-grid b,.breakdown-grid small,.breakdown-grid em{display:block}.breakdown-grid span{color:var(--accent);font:600 10px ui-monospace,monospace}.breakdown-grid b{font-size:13px;margin-top:7px;white-space:nowrap}.breakdown-grid small{color:var(--sub);font-size:10px;line-height:1.35;margin-top:1px;min-height:27px}.breakdown-grid em{color:var(--sub);font-size:11px;font-style:normal;margin-top:8px}.breakdown-grid em strong{color:var(--ink);font-size:13px}.boundary-table{border-top:1px solid var(--line);margin-top:19px}.boundary-row{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-template-columns:52px 1fr 1fr;padding:10px 0}.boundary-row.table-head{color:var(--sub);font-size:10px;font-weight:650;padding:8px 0}.boundary-row b{color:var(--accent);font-size:13px}.boundary-row strong,.boundary-row em{font-size:12px;font-style:normal}.boundary-row em{color:var(--sub)}.grade-panel footer{margin-top:14px}@media(max-width:1100px){.breakdown-grid{grid-template-columns:repeat(4,1fr);row-gap:14px}.breakdown-grid article:nth-child(4){border-right:0}.breakdown-grid article:nth-child(n+5){border-top:1px solid var(--line);padding-top:14px}}@media(max-width:700px){.breakdown-grid{grid-template-columns:repeat(2,1fr)}.breakdown-grid article{border-bottom:1px solid var(--line)!important;border-right:1px solid var(--line)!important;padding:10px!important}.breakdown-grid article:nth-child(even){border-right:0!important}.breakdown-grid article:last-child{border-bottom:0!important}.paper-breakdown-head{align-items:flex-start}.boundary-row{grid-template-columns:45px 1fr 1fr}}
#student.view{padding-top:32px}.dashboard-head{margin:18px 0 26px}@media(max-width:700px){#student.view{padding-top:22px}.dashboard-head{margin:10px 0 20px}}
.syllabus-hub-head{align-items:flex-end;display:flex;justify-content:space-between;margin:20px 0 24px}.syllabus-hub-head h1{font-size:36px;letter-spacing:-1.5px;margin:7px 0}.syllabus-hub-head>div>span{color:var(--sub);font-size:14px}.syllabus-hub-head>button,.practice-top>button{background:var(--white);border:1px solid var(--line);border-radius:9px;color:var(--ink);cursor:pointer;font-size:12px;font-weight:650;padding:10px 13px}.syllabus-overview{display:grid;gap:14px;grid-template-columns:1.25fr 1fr 1fr;margin-bottom:18px}.syllabus-overview article{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:17px 18px}.syllabus-overview span,.syllabus-overview p{color:var(--sub);display:block;font-size:11px;margin:0}.syllabus-overview b{display:block;font-size:25px;letter-spacing:-1px;line-height:1.1;margin:8px 0}.syllabus-overview b small{color:var(--sub);font-size:12px;font-weight:500;letter-spacing:0}.syllabus-overview i{background:#efeff0;border-radius:99px;display:block;height:5px;overflow:hidden}.syllabus-overview i u{background:var(--accent);display:block;height:100%;text-decoration:none}.syllabus-selector{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.selector-label{align-items:flex-end;display:flex;justify-content:space-between;padding:21px 22px}.selector-label h2{font-size:18px;margin:4px 0 0}.selector-label>span{color:var(--sub);font-size:12px}.hub-group{border-top:1px solid var(--line)}.hub-group summary{align-items:center;cursor:pointer;display:grid;grid-template-columns:1fr auto 18px;gap:20px;list-style:none;padding:15px 22px}.hub-group summary::-webkit-details-marker{display:none}.hub-group summary b,.hub-group summary small{display:block}.hub-group summary b{font-size:13px}.hub-group summary small{color:var(--sub);font-size:11px;margin-top:3px}.hub-group summary>span{color:var(--sub);font-size:11px}.hub-group summary>i{color:var(--sub);font-style:normal;transform:rotate(-90deg)}.hub-group[open] summary>i{transform:rotate(0)}.hub-topics{border-top:1px solid var(--line);padding:7px 22px 13px}.hub-topics button{align-items:center;background:transparent;border:0;border-radius:9px;color:var(--ink);cursor:pointer;display:grid;gap:14px;grid-template-columns:82px 1fr 100px 55px;padding:9px 8px;text-align:left;width:100%}.hub-topics button:hover{background:#fafafa}.hub-topic-code{color:var(--accent);font:600 10px ui-monospace,monospace}.hub-topic-name b,.hub-topic-name small,.hub-topic-stat small{display:block}.hub-topic-name b{font-size:12px}.hub-topic-name small,.hub-topic-stat{color:var(--sub);font-size:10px;margin-top:2px}.hub-topic-stat{text-align:right}.hub-topics em{color:var(--accent);font-size:11px;font-style:normal;font-weight:650;text-align:right}.practice-top{align-items:center;display:grid;gap:13px;grid-template-columns:auto 1fr auto;margin:20px 0 18px}.practice-top>div p,.practice-top>div small{display:block;margin:0}.practice-top>div p{font-size:13px;font-weight:650}.practice-top>div small,.practice-top>span{color:var(--sub);font-size:11px}.practice-shell{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 270px}.question-workspace,.question-navigator{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.question-workspace{padding:26px 30px}.question-meta{display:flex;gap:10px}.question-meta span{background:#f4f4f5;border-radius:6px;color:var(--sub);font-size:10px;padding:4px 6px}.question-count{font-size:27px;font-weight:750;letter-spacing:-1px;margin:25px 0 17px}.question-count small{color:var(--sub);font-size:14px;font-weight:500;letter-spacing:0}.question-stem{font-size:17px;line-height:1.75;max-width:800px}.practice-asset{margin:18px 0}.practice-asset img{border:1px solid var(--line);border-radius:10px;display:block;max-height:330px;max-width:100%}.answer-options{display:grid;gap:9px;margin-top:24px}.option-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;color:var(--ink);cursor:pointer;display:grid;gap:12px;grid-template-columns:28px 1fr auto;padding:13px;text-align:left}.option-button:not(:disabled):hover{border-color:#cfcff5;background:#fbfbff}.option-button b{align-items:center;background:#f2f2f4;border-radius:7px;display:flex;font-size:11px;height:26px;justify-content:center}.option-button span{font-size:14px}.option-button em{font-size:11px;font-style:normal}.option-button.correct{background:#f4faf5;border-color:#a8cfad}.option-button.correct b{background:#29935a;color:#fff}.option-button.correct em{color:#197343}.option-button.wrong{background:#fff7f6;border-color:#e7b0aa}.option-button.wrong b{background:#c64d42;color:#fff}.option-button.wrong em{color:#aa3830}.answer-feedback{border-radius:10px;font-size:12px;margin-top:16px;padding:12px}.answer-feedback b,.answer-feedback span{display:block}.answer-feedback span{color:var(--sub);font-size:11px;margin-top:3px}.answer-feedback.positive{background:#f4faf5;color:#197343}.answer-feedback.negative{background:#fff7f6;color:#aa3830}.question-actions{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:25px;padding-top:18px}.question-actions button{background:#fff;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-size:12px;font-weight:650;padding:10px 13px}.question-actions button:disabled{color:#bbb;cursor:not-allowed}.question-actions .primary-next{background:var(--ink);border-color:var(--ink);color:#fff}.question-navigator{padding:19px}.navigator-head{align-items:center;display:flex;justify-content:space-between}.navigator-head p{font-size:13px;font-weight:700;margin:0}.navigator-head span{color:var(--sub);font-size:10px}.nav-legend{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.nav-legend span{align-items:center;color:var(--sub);display:flex;font-size:10px;gap:4px}.nav-legend i{background:#fff;border:1px solid var(--line);border-radius:3px;height:9px;width:9px}.nav-legend i.done{background:#29935a;border-color:#29935a}.nav-legend i.failed{background:#c64d42;border-color:#c64d42}.number-grid{display:grid;gap:7px;grid-template-columns:repeat(5,1fr)}.number-grid button{aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--ink);cursor:pointer;font-size:11px}.number-grid button.current{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.number-grid button.correct{background:#29935a;border-color:#29935a;color:#fff}.number-grid button.wrong{background:#c64d42;border-color:#c64d42;color:#fff}.navigator-summary{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:18px;padding-top:14px}.navigator-summary span{color:var(--sub);font-size:11px}.navigator-summary b{font-size:15px}@media(max-width:850px){.practice-shell{grid-template-columns:1fr}.question-navigator{order:-1}.number-grid{grid-template-columns:repeat(10,1fr)}.syllabus-overview{grid-template-columns:1fr 1fr}.syllabus-overview article:first-child{grid-column:span 2}}@media(max-width:600px){.syllabus-hub-head{align-items:flex-start;flex-direction:column}.syllabus-overview{grid-template-columns:1fr}.syllabus-overview article:first-child{grid-column:auto}.selector-label{align-items:flex-start;flex-direction:column;gap:5px}.hub-group summary{gap:8px;grid-template-columns:1fr 18px}.hub-group summary>span{display:none}.hub-topics{padding:7px 12px 13px}.hub-topics button{grid-template-columns:66px 1fr 42px}.hub-topic-stat{display:none}.practice-top{align-items:start;grid-template-columns:auto 1fr}.practice-top>span{grid-column:2}.question-workspace{padding:20px}.question-stem{font-size:16px}.question-meta{flex-wrap:wrap}.number-grid{grid-template-columns:repeat(8,1fr)}}
#syllabus.view{max-width:none;margin:0;padding:26px 48px 56px}.practice-top{margin:0 0 14px}.practice-shell{gap:16px;grid-template-columns:minmax(0,1fr) 304px}.question-workspace{padding:24px 28px}.question-count{font-size:22px;margin:20px 0 14px}.question-count small{font-size:13px}.question-stem{font-size:17px!important;font-weight:500;line-height:1.65;max-width:920px}.answer-options{gap:8px;margin-top:20px;max-width:980px}.option-button{min-height:54px;padding:12px}.option-button span{font-size:14px;line-height:1.45}.question-navigator{padding:18px}.number-grid{gap:8px}.number-grid button{font-size:12px}@media(max-width:850px){#syllabus.view{padding:24px 28px 48px}.practice-shell{grid-template-columns:1fr}}@media(max-width:600px){#syllabus.view{padding:20px}.question-workspace{padding:18px}.question-stem{font-size:16px!important}.option-button span{font-size:13px}}
.app .question-workspace{margin-left:0;min-height:0}
.restart-topic{background:var(--accent-soft);border:0;border-radius:8px;color:var(--accent);cursor:pointer;font-size:11px;font-weight:700;padding:8px 10px}
.restart-topic-nav{margin-top:14px;width:100%}
@media(max-width:600px){.restart-topic{font-size:10px}}

/* Reading tools: text selection stays native, with a small explicit action afterwards. */
[data-reading-region],.option-content{user-select:text;-webkit-user-select:text}.option-button{cursor:default}.option-button:not(:disabled){cursor:pointer}.reading-highlight{background:#ffeb70;border-radius:3px;color:inherit;padding:0 .05em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.reading-highlight .glossary-term{color:inherit}.reading-highlight-toolbar{align-items:center;background:#1f2025;border-radius:10px;box-shadow:0 12px 28px rgba(15,16,22,.24);color:#fff;display:none;gap:9px;padding:7px 8px 7px 11px;position:fixed;z-index:60}.reading-highlight-toolbar.visible{display:flex}.reading-highlight-toolbar span{font-size:11px}.reading-highlight-toolbar button{background:#ffeb70;border:0;border-radius:7px;color:#34310b;cursor:pointer;font-size:11px;font-weight:750;padding:6px 9px}.vocab-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0}.vocab-dashboard article{background:#f7f7fb;border:1px solid #ececf3;border-radius:11px;padding:12px}.vocab-dashboard b,.vocab-dashboard span{display:block}.vocab-dashboard b{font-size:24px;letter-spacing:-1px;line-height:1}.vocab-dashboard span{color:var(--sub);font-size:11px;margin-top:5px}.vocab-test{background:#fbfbff;border:1px solid #e5e4ff;border-radius:14px;margin-top:20px;padding:19px!important}.vocab-test-top{align-items:flex-start;display:flex;justify-content:space-between;gap:14px}.vocab-test-top h2{margin:3px 0 5px}.vocab-test-top span{color:var(--sub);display:block;font-size:12px;max-width:600px}.vocab-test-top>b{background:#efefff;border-radius:999px;color:var(--accent);font-size:10px;padding:6px 9px;white-space:nowrap}.vocab-reveal-button,.vocab-review-actions button{border-radius:9px;cursor:pointer;font-size:12px;font-weight:700;margin-top:16px;padding:10px 13px}.vocab-reveal-button{background:var(--ink);border:0;color:#fff}.vocab-answer-reveal{background:#fff;border:1px solid var(--line);border-radius:10px;margin-top:15px;padding:13px}.vocab-answer-reveal small,.vocab-answer-reveal strong{display:block}.vocab-answer-reveal small{color:var(--sub);font-size:10px}.vocab-answer-reveal strong{font-size:17px;margin-top:3px}.vocab-review-actions{display:flex;gap:9px}.vocab-review-actions button{border:1px solid var(--line);background:#fff}.vocab-review-actions button:first-child{color:#9a4a37}.vocab-review-actions button:last-child{background:#24252a;border-color:#24252a;color:#fff}.vocab-clear{background:#f5fbf6;border-color:#d6e8d8}.vocab-list{margin-top:18px}.vocab-list article{grid-template-columns:minmax(130px,1fr) minmax(150px,1.2fr) auto}.vocab-list article>div b,.vocab-list article>div span{display:block}.vocab-list article>div span{margin-top:2px}.vocab-list article>small{color:var(--sub);font-size:11px}@media(max-width:700px){.vocab-dashboard{grid-template-columns:1fr 1fr}.vocab-test-top{display:block}.vocab-test-top>b{display:inline-block;margin-top:10px}.vocab-list article{grid-template-columns:1fr auto}.vocab-list article>small{grid-column:1}.reading-highlight-toolbar{max-width:calc(100vw - 20px)}}

/* Word List: a continuous personal dictionary, with Daily Review kept separate. */
.wordlist-panel-header{padding-bottom:17px!important}.wordlist-panel-header>div:last-child{display:flex;gap:8px}.wordlist-print{background:#1d1e22;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:11px;font-weight:700;padding:9px 12px}.wordlist-tools{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;padding:15px 0}.wordlist-tabs{display:flex;gap:4px}.wordlist-tabs button{background:transparent;border:0;border-radius:7px;color:var(--sub);cursor:pointer;font-size:12px;font-weight:700;padding:8px 10px}.wordlist-tabs button.active{background:#eeedff;color:#4e50cb}.wordlist-tabs b{background:#dcdcff;border-radius:99px;font-size:10px;margin-left:5px;padding:2px 5px}.wordlist-search{align-items:center;background:#fafafa;border:1px solid var(--line);border-radius:8px;color:#9a9aa1;display:flex;font-size:13px;gap:6px;padding:7px 10px}.wordlist-search input{background:transparent;border:0;color:var(--ink);font-size:12px;outline:0;width:205px}.wordlist-book{margin-top:20px}.wordlist-book-header{align-items:flex-end;background:#eef1e7;border:1px solid #dbe0cf;border-bottom:0;border-radius:14px 14px 0 0;display:flex;justify-content:space-between;padding:22px 26px}.wordlist-book-header h2{font-family:Georgia,"Times New Roman",serif;font-size:29px;letter-spacing:-.7px;margin:5px 0}.wordlist-book-header span{color:#697162;font-size:12px}.wordlist-book-header>b{color:#66715d;font:700 30px ui-monospace,monospace;letter-spacing:-2px}.wordlist-letter{border:1px solid #dbe0cf;border-top:0}.wordlist-letter>header{align-items:center;background:#f8f9f5;border-bottom:1px solid #e0e4da;display:flex;height:auto;justify-content:space-between;padding:8px 26px}.wordlist-letter>header b{color:#65705b;font:700 18px Georgia,"Times New Roman",serif}.wordlist-letter>header span{color:#8a9182;font-size:10px;text-transform:uppercase}.wordlist-entry{align-items:stretch;border-bottom:1px dotted #cfd4c8;display:grid;grid-template-columns:44px minmax(145px,.72fr) minmax(280px,1.5fr) minmax(120px,.5fr) 25px;min-height:94px}.wordlist-entry:last-child{border-bottom:0}.wordlist-number{align-items:flex-start;color:#a2aa97;display:flex;font:600 10px ui-monospace,monospace;justify-content:center;padding-top:17px}.wordlist-word{background:#edf1e9;border-left:1px solid #e2e7dd;border-right:1px solid #e2e7dd;padding:15px 18px}.wordlist-word h3{font-family:Georgia,"Times New Roman",serif;font-size:22px;letter-spacing:-.5px;margin:0}.wordlist-word span{color:#63705d;font-size:11px}.wordlist-definition{padding:15px 18px}.wordlist-definition strong{font-size:13px;font-weight:650}.wordlist-definition p{color:#677060;font-family:Georgia,"Times New Roman",serif;font-size:12px;font-style:italic;line-height:1.5;margin:5px 0 0}.wordlist-definition .wordlist-placeholder{color:#a4a99f;font-family:inherit;font-size:10px;font-style:normal}.wordlist-status{align-self:center;padding:12px}.wordlist-status small,.wordlist-status em{display:block;font-size:10px;line-height:1.45}.wordlist-status small{color:#697066}.wordlist-status em{color:#9aa195;font-style:normal;margin-top:2px}.wordlist-entry>button{align-self:flex-start;background:transparent;border:0;color:#9da39a;cursor:pointer;font-size:18px;margin:12px 6px 0 0}.wordlist-entry>button:hover{color:#9a4a37}.vocabulary-review-card{margin-top:22px!important;max-width:760px}.vocabulary-review-card .vocab-test-top>b{background:#e5e4ff}.vocabulary-review-card .vocab-review-actions button{min-width:150px;text-align:center}@media(max-width:760px){.wordlist-tools{align-items:stretch;flex-direction:column}.wordlist-search input{width:100%}.wordlist-entry{grid-template-columns:30px minmax(115px,.75fr) 1.3fr 22px}.wordlist-status{display:none}.wordlist-word,.wordlist-definition{padding:13px}.wordlist-word h3{font-size:19px}.wordlist-letter>header,.wordlist-book-header{padding-left:16px;padding-right:16px}.wordlist-number{padding-top:14px}}
@media print{@page{size:A4;margin:13mm}body.printing-vocab .wordlist-panel-header,body.printing-vocab .wordlist-tools,body.printing-vocab .collection-head{display:none!important}body.printing-vocab .wordlist-book{margin:0!important}body.printing-vocab .wordlist-book-header{border-color:#bfc7b7!important;padding:12px 16px!important}body.printing-vocab .wordlist-book-header h2{font-size:22px!important}body.printing-vocab .wordlist-letter{break-inside:avoid;border-color:#bfc7b7!important}body.printing-vocab .wordlist-letter>header{padding:5px 16px!important}body.printing-vocab .wordlist-entry{break-inside:avoid;grid-template-columns:32px 150px minmax(0,1fr)!important;min-height:66px!important}body.printing-vocab .wordlist-status,body.printing-vocab .wordlist-entry>button{display:none!important}body.printing-vocab .wordlist-word,body.printing-vocab .wordlist-definition{padding:10px 12px!important}body.printing-vocab .wordlist-word h3{font-size:16px!important}body.printing-vocab .wordlist-definition strong{font-size:11px!important}body.printing-vocab .wordlist-definition p{font-size:10px!important;margin-top:2px!important}}

/* Keep the Word List in the product's neutral black / white / violet palette. */
.reading-highlight-toolbar button[data-remove-reading-highlight]{background:#f5e8e6;color:#8f4237}.wordlist-book-header{background:#f8f8ff;border-color:#deddf5}.wordlist-book-header h2{font-family:inherit;font-weight:700}.wordlist-book-header span{color:var(--sub)}.wordlist-book-header>b,.wordlist-letter>header b{color:var(--accent);font-family:inherit}.wordlist-letter{border-color:#e2e1f3}.wordlist-letter>header{background:#fbfbff;border-color:#e6e5f3}.wordlist-letter>header span{color:#8d8d9d}.wordlist-entry{border-color:#e3e2ed}.wordlist-number{color:#aaaabc}.wordlist-word{background:#f2f2ff;border-color:#e1e0f1}.wordlist-word h3{font-family:inherit;font-weight:700}.wordlist-word span{color:var(--accent)}.wordlist-definition p{color:#737378;font-family:inherit}.wordlist-status small{color:#737378}.wordlist-status em{color:#9a9aa4}.wordlist-entry>button{color:#aaaabc}@media print{body.printing-vocab .wordlist-book-header,body.printing-vocab .wordlist-letter,body.printing-vocab .wordlist-letter>header{border-color:#d7d7df!important}body.printing-vocab .wordlist-book-header{background:#fafafa!important}body.printing-vocab .wordlist-word{background:#f4f4f6!important;border-color:#e3e3e6!important}}
.question-meta{align-items:center}.favorite-question{background:var(--accent-soft);border:0;border-radius:6px;color:var(--accent);cursor:pointer;font-size:10px;font-weight:700;margin-left:auto;padding:5px 7px}.favorite-question.saved{background:#efeff0;color:var(--ink)}.glossary-term{border-bottom:1px dashed var(--accent);color:inherit;cursor:pointer;position:relative;text-decoration:none}.glossary-term:hover,.glossary-term:focus{color:var(--accent);outline:0}.glossary-term:hover::after,.glossary-term:focus::after{background:#24242a;border-radius:7px;color:#fff;content:attr(data-vocab-meaning) ' · 点击加入词汇本';font-size:10px;font-weight:500;left:0;line-height:1.4;padding:6px 8px;position:absolute;top:calc(100% + 6px);white-space:nowrap;z-index:8}.collection-head{align-items:flex-end;display:flex;justify-content:space-between;margin:10px 0 22px}.collection-head h1{font-size:36px;letter-spacing:-1.5px;margin:7px 0}.collection-head>div>span{color:var(--sub);font-size:14px}.collection-head>button{background:var(--white);border:1px solid var(--line);border-radius:9px;color:var(--ink);cursor:pointer;font-size:12px;font-weight:650;padding:10px 13px}.collection-panel{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px}.collection-panel>header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:15px}.collection-panel header b,.collection-panel header span{display:block}.collection-panel header b{font-size:16px}.collection-panel header span{color:var(--sub);font-size:11px;margin-top:2px}.saved-question-list{display:grid;gap:10px;margin-top:15px}.saved-question{border:1px solid var(--line);border-radius:12px;padding:15px 16px}.saved-question>div{align-items:center;display:flex;justify-content:space-between}.saved-question>div span{color:var(--accent);font:600 10px ui-monospace,monospace}.saved-question>div small{color:var(--sub);font-size:10px}.saved-question p{font-size:13px;line-height:1.6;margin:10px 0 13px}.saved-question footer{align-items:center;display:flex;gap:10px}.saved-question footer button{background:var(--ink);border:0;border-radius:7px;color:#fff;cursor:pointer;font-size:11px;font-weight:650;padding:8px 10px}.saved-question footer .quiet-action{background:var(--accent-soft);color:var(--accent)}.saved-question footer em{color:var(--sub);font-size:10px;font-style:normal}.empty-state{color:var(--sub);font-size:13px;padding:42px 0;text-align:center}.wrong-group{border-top:1px solid var(--line);margin-top:19px;padding-top:19px}.wrong-group h2{font-size:14px;margin:0}.wrong-group h2 small{color:var(--sub);display:block;font-size:11px;font-weight:500;margin-top:3px}.vocab-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:15px}.vocab-list article{align-items:center;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:12px}.vocab-list b{font-size:13px}.vocab-list span{color:var(--sub);font-size:12px}.vocab-list button{background:none;border:0;color:var(--accent);cursor:pointer;font-size:10px}.vocab-test{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.vocab-test h2{font-size:24px;letter-spacing:-.8px;margin:6px 0}.vocab-test>span{color:var(--sub);font-size:12px}.vocab-test>div{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:15px;max-width:680px}.vocab-test button{background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--ink);cursor:pointer;font-size:12px;padding:10px;text-align:left}.vocab-test button:hover{background:#fbfbff;border-color:#cfcff5}@media(max-width:700px){.collection-head{align-items:flex-start;flex-direction:column}.collection-panel{padding:18px}.vocab-list{grid-template-columns:1fr}.vocab-test>div{grid-template-columns:1fr}}@media print{body.printing-vocab .rail,body.printing-vocab header,body.printing-vocab .collection-head,body.printing-vocab .vocab-test,body.printing-vocab .vocab-list button,body.printing-vocab .collection-panel header .dark-action{display:none!important}body.printing-vocab .app>main{margin:0!important}body.printing-vocab #syllabus.view{display:block!important;padding:0!important}body.printing-vocab .collection-panel{border:0!important;box-shadow:none!important;padding:0!important}body.printing-vocab .vocab-list{grid-template-columns:1fr 1fr!important}}

/* Q21 keeps the student's paper intact for teachers instead of reducing it to plain text. */
.q21-history-actions{align-items:center;display:flex;gap:9px}.q21-history-actions button{background:#fff;border:1px solid #d9d8ef;border-radius:7px;color:var(--accent);cursor:pointer;font-size:11px;font-weight:700;padding:6px 9px}.q21-marking-paper{background:#f6f5ef;border:1px solid #dfded5;border-radius:12px;overflow:hidden}.q21-marking-paper>header{background:#fffdfa;border-bottom:1px solid #dfded5;height:auto;padding:11px 15px}.q21-marking-paper>header p{margin:0 0 2px}.q21-marking-paper>header b{font-size:13px}.q21-marking-paper>div{background:#fffdf9;min-height:620px;padding:10px}.q21-marking-paper object{border:0;display:block;height:650px;width:100%}.q21-marking-paper img{display:block;height:auto;margin:auto;max-width:100%}.q21-marking-paper p{color:var(--sub);font-size:12px;padding:20px;text-align:center}@media(max-width:900px){.q21-marking-paper>div{min-height:460px}.q21-marking-paper object{height:480px}}

/* The reviewed PDF is a separate teacher attachment; the student's original is never replaced. */
.teacher-feedback-pdf{align-items:center;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;margin-top:16px;padding-top:15px}.teacher-feedback-pdf>div{display:grid;gap:4px;min-width:0}.teacher-feedback-pdf b{font-size:12px}.teacher-feedback-pdf b small{color:var(--sub);font-size:10px;font-weight:500}.teacher-feedback-pdf span{color:var(--sub);font-size:11px;line-height:1.45}.teacher-feedback-pdf button{flex:0 0 auto;white-space:nowrap}.student-feedback-download{background:var(--ink);border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;margin-top:14px;padding:10px 13px}.student-feedback-download:hover{background:#35353d}.q21-history-actions [data-download-teacher-feedback]{background:#f4f3ff;border-color:#d9d8ef}@media(max-width:560px){.teacher-feedback-pdf{align-items:flex-start;flex-direction:column}.teacher-feedback-pdf button{width:100%}.q21-history-actions{align-items:flex-start;flex-wrap:wrap}}

/* Teacher marking desk: the submitted paper is the primary work surface. */
.q21-marking-page{margin:0 auto;max-width:1450px}.q21-marking-head{align-items:flex-start;display:flex;gap:22px;justify-content:space-between;margin:0 0 24px}.q21-marking-head h1{font-size:36px;letter-spacing:-1.6px;line-height:1.1;margin:7px 0 11px}.q21-marking-meta{align-items:center;color:var(--sub);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin:0}.q21-marking-meta b{color:var(--ink)}.q21-marking-meta span+span:before{color:#c1c1c8;content:'·';margin-right:8px}.q21-marking-meta .q21-marking-status{background:#fff4ec;border-radius:999px;color:#a85534;font-size:11px;font-weight:750;padding:4px 8px}.q21-marking-status:before{display:none}.q21-marking-layout{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(340px,400px)}.q21-marking-main{display:grid;gap:18px;min-width:0}.q21-marking-question-card,.q21-marking-paper,.q21-marking-history{background:var(--white);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.q21-marking-question-card{padding:21px 23px}.q21-marking-question-card .eyebrow{margin:0 0 8px}.q21-marking-question-card h2{font-size:20px;letter-spacing:-.45px;line-height:1.45;margin:0;max-width:1050px}.q21-marking-question-card small{color:var(--sub);display:block;font-size:12px;margin-top:11px}.q21-marking-paper{background:#f5f4ee;border-color:#deddd4;border-radius:15px}.q21-marking-paper>header{align-items:center;background:#fff;border-color:#e2e1db;display:flex;gap:16px;justify-content:space-between;padding:16px 18px}.q21-marking-paper>header h2{font-size:14px;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q21-marking-paper>header small{color:var(--sub);display:block;font-size:11px;margin-top:4px}.q21-marking-file-actions{display:flex;flex-shrink:0;gap:8px}.q21-marking-file-actions button{white-space:nowrap}.q21-marking-preview-stage{align-items:center;background:#f4f3ed;display:flex;justify-content:center;min-height:760px;padding:14px}.q21-marking-preview-stage object{background:#fff;box-shadow:0 5px 22px rgba(38,37,29,.12);height:760px;max-width:100%;width:100%}.q21-marking-preview-stage img{background:#fff;box-shadow:0 5px 22px rgba(38,37,29,.12);max-height:760px;max-width:100%;object-fit:contain}.q21-preview-error{align-items:center;background:#fff;border:1px dashed #c9c7bc;border-radius:12px;color:var(--sub);display:flex;flex-direction:column;gap:6px;max-width:460px;padding:28px;text-align:center}.q21-preview-error b{color:var(--ink);font-size:14px}.q21-preview-error span{font-size:12px;line-height:1.55}.q21-marking-history{box-shadow:none}.q21-marking-history>header{padding:16px 18px}.q21-marking-sidebar{min-width:0;position:sticky;top:22px}.q21-marking-sidebar form{display:grid;gap:14px}.q21-marking-sidebar .marking-score-panel,.q21-marking-sidebar .marking-feedback-card{margin:0}.q21-marking-sidebar .marking-save-bar{border:1px solid var(--line);border-radius:12px;margin:0}.q21-marking-sidebar textarea{min-height:156px}@media(max-width:1180px){.q21-marking-layout{grid-template-columns:minmax(0,1fr) 340px}.q21-marking-preview-stage,.q21-marking-preview-stage object{height:620px;min-height:620px}}@media(max-width:900px){.q21-marking-head{align-items:flex-start;flex-direction:column}.q21-marking-layout{grid-template-columns:1fr}.q21-marking-sidebar{position:static}.q21-marking-preview-stage,.q21-marking-preview-stage object{height:580px;min-height:580px}}@media(max-width:620px){.q21-marking-head h1{font-size:29px}.q21-marking-paper>header{align-items:flex-start;flex-direction:column}.q21-marking-file-actions{width:100%}.q21-marking-file-actions button{flex:1}.q21-marking-preview-stage,.q21-marking-preview-stage object{height:440px;min-height:440px}.q21-marking-question-card{padding:17px}.q21-marking-question-card h2{font-size:17px}}

/* The app-wide .app main rule also targets nested <main> elements. Reset it here. */
.q21-marking-layout>.q21-marking-main{margin-left:0!important;min-height:0!important}

/* Keep the original paper and the next action within reach while teachers verify OCR. */
.q21-ocr-source-paper{align-items:center;background:#f7f7fb;border:1px solid #e1e0ec;border-radius:10px;display:flex;gap:12px;justify-content:space-between;margin:0 0 14px;padding:12px}.q21-ocr-source-paper>div:first-child{display:grid;gap:3px;min-width:0}.q21-ocr-source-paper b{font-size:13px}.q21-ocr-source-paper span{color:var(--sub);font-size:12px;line-height:1.45}.q21-ocr-source-paper>div:last-child{display:flex;flex:0 0 auto;gap:8px}.q21-ocr-source-paper button{white-space:nowrap}.q21-ocr-next-step{border-top:1px solid var(--line);display:grid;gap:12px;margin-top:14px;padding-top:15px}.q21-ocr-next-step>div:first-child{display:grid;gap:4px}.q21-ocr-next-step b{font-size:14px}.q21-ocr-next-step span{color:var(--sub);font-size:12px;line-height:1.5}.q21-ocr-next-step .q21-ai-actions{margin:0}.q21-ocr-next-step .dark-admin-action{white-space:nowrap}@media(max-width:560px){.q21-ocr-source-paper{align-items:flex-start;flex-direction:column}.q21-ocr-source-paper>div:last-child{flex-wrap:wrap;width:100%}.q21-ocr-source-paper button{flex:1}.q21-ocr-next-step .q21-ai-actions{align-items:stretch;flex-direction:column}.q21-ocr-next-step .q21-ai-actions button{width:100%}}
.q21-ai-status-action{align-items:center;background:#fff;border:1px dashed #cbc9ee;border-radius:9px;display:flex;gap:10px;justify-content:space-between;margin:12px 0;padding:10px 11px}.q21-ai-status-action span{color:var(--sub);font-size:12px;line-height:1.45}.q21-ai-status-action button{flex:0 0 auto;white-space:nowrap}@media(max-width:560px){.q21-ai-status-action{align-items:stretch;flex-direction:column}.q21-ai-status-action button{width:100%}}

/* Selection and confirmation prevent accidental single-tap MCQ submissions. */
.option-button.selected{background:#f4f4ff;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.option-button.selected b{background:var(--accent);color:#fff}.answer-confirmation{align-items:center;border-top:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;margin-top:14px;padding-top:14px}.answer-confirmation span{color:var(--sub);font-size:12px}.primary-confirm-answer{background:var(--ink);border:1px solid var(--ink);border-radius:9px;color:#fff;cursor:pointer;font-size:12px;font-weight:650;padding:10px 15px}.primary-confirm-answer:disabled{background:#ededf0;border-color:#ededf0;color:#999;cursor:not-allowed}@media(max-width:600px){.answer-confirmation{align-items:stretch;flex-direction:column}.primary-confirm-answer{width:100%}}

/* Shared teacher queue filters keep pending work separate from feedback history. */
.marking-queue>header,.marking-queue>.marking-queue-head{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e5e7eb}.teacher-marking-queue-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.teacher-marking-queue-tools label{align-items:center;background:#fafafa;border:1px solid var(--line);border-radius:8px;color:var(--sub);display:flex;font-size:11px;gap:6px;padding:5px 8px}.teacher-marking-queue-tools select,.teacher-marking-queue-tools input{background:transparent;border:0;color:var(--ink);font:inherit;outline:0}.teacher-marking-queue-tools select{cursor:pointer;font-weight:650}.teacher-marking-queue-tools input{min-width:115px;width:145px}.teacher-marking-queue-tools>span{color:var(--sub);font-size:11px;white-space:nowrap}.marking-queue>article[hidden]{display:none!important}@media(max-width:760px){.marking-queue>header,.marking-queue>.marking-queue-head{align-items:flex-start;flex-direction:column}.teacher-marking-queue-tools{justify-content:flex-start}.teacher-marking-queue-tools input{width:120px}}

/* Q21's heading is a submission card, not the app-wide 65px navigation header. */
.q21-marking-page>.q21-marking-head{align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:16px;height:auto!important;justify-content:space-between;margin:0 0 24px;min-height:150px;padding:24px 28px}.q21-marking-page>.q21-marking-head>div{min-width:0}.q21-marking-page>.q21-marking-head h1{font-size:34px;line-height:1.12;margin:6px 0 14px}.q21-marking-page>.q21-marking-head .eyebrow{margin:0}.q21-marking-page>.q21-marking-head .q21-marking-meta{line-height:1.45;margin:0}.q21-marking-page>.q21-marking-head>.teacher-ghost{align-self:flex-start;margin:0;padding:10px 14px;white-space:nowrap}@media(max-width:700px){.q21-marking-page>.q21-marking-head{gap:16px;min-height:0;padding:20px}.q21-marking-page>.q21-marking-head h1{font-size:29px}.q21-marking-page>.q21-marking-head>.teacher-ghost{align-self:stretch;text-align:center}}

/* Teacher navigation is compact by design: every workspace and marking queue stays visible without a sidebar scroll. */
/* Shared mistake book: every course supplies its own syllabus headings. */
.wrong-book-panel>header{align-items:flex-start;gap:18px}.wrong-book-panel>header>span{padding-top:4px;text-align:right}.wrong-book-controls{border-bottom:1px solid var(--line);display:grid;gap:12px;grid-template-columns:1.2fr 1.35fr 1fr;padding:18px 0}.wrong-book-controls label{color:var(--sub);display:grid;font-size:12px;font-weight:650;gap:6px}.wrong-book-controls select{background:#fff;border:1px solid #dcdce2;border-radius:8px;color:var(--ink);cursor:pointer;font:inherit;min-height:36px;padding:7px 10px}.wrong-book-summary{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0 2px}.wrong-book-summary span{border-radius:999px;font-size:12px;font-weight:700;padding:6px 10px}.wrong-book-summary .pending{background:#fff3ed;color:#a85436}.wrong-book-summary .reviewing{background:#f0efff;color:#5657b9}.wrong-book-summary .ready{background:#eef8ef;color:#397143}.wrong-book-summary .resolved{background:#f1f2f4;color:#4f5661}.wrong-book-topic{border-top:1px solid #ececf0;margin-top:16px;padding-top:16px}.wrong-book-topic>div:first-child{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.wrong-book-topic>div:first-child b{font-size:14px}.wrong-book-topic>div:first-child span{color:var(--sub);font-size:12px;white-space:nowrap}.wrong-analysis-card-status{align-items:baseline;color:var(--sub);display:flex;font-size:12px;gap:6px;line-height:1.5;margin-bottom:12px}.wrong-analysis-card-status b{font-weight:750}.wrong-analysis-card-status.pending b{color:#a85436}.wrong-analysis-card-status.reviewing b{color:#5657b9}.wrong-analysis-card-status.ready b{color:#397143}.wrong-analysis-card-status.resolved b{color:#4f5661}.wrong-book-question-actions{justify-content:space-between}.wrong-book-question-actions .review-wait{flex:1;line-height:1.45;margin-right:12px}.wrong-book-action-buttons{display:flex;flex:0 0 auto;gap:8px;margin-left:auto}.saved-question footer .retry-action{background:#4f7c57}.saved-question footer .retry-action:hover{background:#406847}@media(max-width:760px){.wrong-book-panel>header{align-items:flex-start;flex-direction:column}.wrong-book-panel>header>span{text-align:left}.wrong-book-controls{grid-template-columns:1fr}.wrong-book-topic>div:first-child{align-items:flex-start;flex-direction:column;gap:3px}.wrong-analysis-card-status{align-items:flex-start;flex-direction:column;gap:2px}.wrong-book-question-actions{align-items:stretch;flex-direction:column}.wrong-book-question-actions .review-wait{margin-right:0}.wrong-book-action-buttons{width:100%}.wrong-book-action-buttons button{flex:1}}
.rail{padding:18px 14px}.new{margin:20px 7px 13px}.rail nav{margin-top:16px}.nav-group{margin-bottom:15px}.nav-group p{margin-bottom:5px!important}.rail nav button{margin:1px 0!important;padding:6px 9px!important}.rail nav button i{height:27px;width:27px}.teacher-mode .rail nav .teacher-marking-nav{display:block!important}.teacher-mode .rail nav .teacher-marking-nav button{display:flex!important;gap:8px!important;min-width:0;padding:6px 9px!important;width:100%}.teacher-mode .rail nav .teacher-marking-nav button i{border-radius:9px!important;font-size:10px!important;height:27px!important;min-width:27px!important;width:27px!important}.teacher-mode .rail nav .teacher-marking-nav button span{font-size:12px!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}@media(max-height:820px) and (min-width:701px){.rail{padding:13px 12px}.logo{padding:1px 7px}.new{margin:14px 7px 9px;padding:8px 11px}.rail nav{margin-top:9px}.nav-group{margin-bottom:10px}.nav-group p{font-size:10px!important;margin:0 8px 3px!important}.rail nav button{padding:4px 8px!important}.rail nav button i{border-radius:8px;font-size:10px;height:24px;width:24px}.rail nav button span{font-size:12px}.rail-bottom{margin-top:7px;padding-top:7px}.rail-bottom p,.rail-bottom .workspace,.rail-bottom .account{display:none}.mode-switch{margin:0;padding:7px}.teacher-mode .rail nav .teacher-marking-nav button{padding:4px 8px!important}.teacher-mode .rail nav .teacher-marking-nav button i{height:24px!important;min-width:24px!important;width:24px!important}.teacher-mode .rail nav .teacher-marking-nav button span{font-size:11px!important}}
