:root{--navy:#0b2233;--navy2:#153b52;--blue:#207ca7;--cyan:#7cc9e7;--gold:#f2bd3b;--orange:#d96832;--paper:#f6f3ec;--white:#fffefa;--text:#132a3a;--muted:#687c88;--line:#d9d7cf;--green:#2a8a68;--red:#c65345}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:"Microsoft YaHei","Noto Sans SC",sans-serif;color:var(--text);background:var(--paper)}button,input{font:inherit}button{cursor:pointer}.site-header{height:84px;padding:0 clamp(22px,4vw,64px);display:flex;align-items:center;gap:36px;color:#fff;background:var(--navy);border-bottom:2px solid rgba(124,201,231,.25)}.brand{display:flex;align-items:center;gap:13px;min-width:330px;color:#fff;text-decoration:none}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:30px Georgia,serif}.brand strong,.brand small{display:block}.brand strong{font-size:19px}.brand small{margin-top:4px;color:#aed1e0;font-size:11px;letter-spacing:.13em}.site-header nav{display:flex;align-self:stretch}.nav-button{position:relative;padding:0 22px;border:0;color:#b9d0db;background:transparent}.nav-button::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:3px;background:transparent}.nav-button.active{color:#fff}.nav-button.active::after{background:var(--gold)}.nav-button b{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:5px;padding:0 5px;border-radius:11px;color:var(--navy);background:var(--gold);font-size:11px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.header-actions a{color:#cbe0e8;text-decoration:none;font-size:13px}.header-actions a:hover{color:var(--gold)}.primary-button,.outline-button{min-height:42px;padding:0 18px;border:1px solid var(--navy2);border-radius:2px}.primary-button{color:#fff;background:var(--navy2)}.primary-button:hover{background:#1c526f}.outline-button{color:var(--navy2);background:transparent}.outline-button:hover{background:rgba(32,124,167,.08)}.site-header .outline-button{color:#d8e7ed;border-color:rgba(255,255,255,.35)}.full{width:100%}
.view{display:none}.view.active{display:block}.quiz-shell{min-height:calc(100vh - 84px);display:grid;grid-template-columns:minmax(300px,30%) minmax(0,70%)}.quiz-sidebar{padding:clamp(46px,7vh,86px) clamp(30px,4vw,70px);color:#fff;background:var(--navy2);background-image:radial-gradient(circle at 20% 10%,rgba(124,201,231,.13),transparent 33%),linear-gradient(135deg,transparent 72%,rgba(242,189,59,.08) 72%)}.eyebrow{margin:0 0 14px;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.19em}.quiz-sidebar .eyebrow{color:var(--gold)}.quiz-sidebar h1{margin:0;font:500 clamp(38px,4.4vw,70px)/1.16 "Songti SC",SimSun,serif}.quiz-sidebar>p:not(.eyebrow){margin:27px 0;color:#c4d8e1;line-height:1.9}.score-card{margin:38px 0 24px;padding:22px 24px;border:1px solid rgba(255,255,255,.16);background:rgba(4,27,41,.34)}.score-card span,.score-card small{display:block;color:#a8c4d0}.score-card strong{display:block;margin:5px 0;color:var(--gold);font:600 58px Georgia,serif}.category-legend{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 28px;color:#c8d9e0;font-size:12px}.category-legend span{display:flex;align-items:center;gap:8px}.category-legend i{width:9px;height:9px;border-radius:50%}.basic{background:#7cc9e7}.operation{background:#f2bd3b}.data{background:#d96832}.innovation{background:#75b894}.quiz-sidebar .outline-button{color:#fff;border-color:rgba(255,255,255,.34)}
.question-workspace{position:relative;display:grid;grid-template-rows:auto minmax(360px,1fr) auto auto;padding:clamp(36px,5vh,62px) clamp(28px,6vw,90px) 34px;background:linear-gradient(90deg,rgba(11,34,51,.035) 1px,transparent 1px),linear-gradient(rgba(11,34,51,.035) 1px,transparent 1px),var(--paper);background-size:36px 36px}.workspace-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.workspace-heading span{color:var(--muted);font-size:12px}.workspace-heading h2{margin:5px 0 0;font-size:16px;color:var(--orange)}.paper-progress{text-align:right}.paper-progress b{font-size:24px}.paper-progress i{display:block;width:210px;height:4px;margin-top:10px;border-radius:4px;background:#d5dadd}.paper-progress em{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),var(--blue));transition:width .3s ease}.question-card{position:relative;padding:clamp(34px,5vw,66px);border:1px solid var(--line);background:var(--white);box-shadow:0 22px 55px rgba(11,34,51,.11)}.question-number{position:absolute;right:28px;top:18px;color:#e5e0d6;font:700 74px Georgia,serif}.question-card h3{position:relative;max-width:850px;margin:0 80px 34px 0;font:500 clamp(23px,2.1vw,34px)/1.65 "Songti SC",SimSun,serif}.options{display:grid;gap:12px}.option{position:relative;width:100%;min-height:58px;padding:13px 18px 13px 62px;text-align:left;border:1px solid #d1d8da;color:#314b59;background:#fff;transition:.17s}.option:hover:not(:disabled){border-color:var(--blue);transform:translateX(3px)}.option-letter{position:absolute;left:14px;top:50%;width:32px;height:32px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid #adc1ca;border-radius:50%;font:700 14px Georgia,serif}.option.selected{border-color:var(--blue);background:#edf7fa}.option.selected .option-letter{color:#fff;border-color:var(--blue);background:var(--blue)}.option.correct{border-color:var(--green);background:#ebf7f1}.option.correct .option-letter{color:#fff;border-color:var(--green);background:var(--green)}.option.wrong{border-color:var(--red);background:#fbedeb}.option.wrong .option-letter{color:#fff;border-color:var(--red);background:var(--red)}.explanation{display:flex;gap:16px;margin-top:24px;padding:18px;border-left:4px solid var(--blue);background:#eef5f6}.result-mark{flex:0 0 34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-weight:bold}.explanation strong{display:block;margin-bottom:6px}.explanation p{margin:0;color:#506772;line-height:1.75}.question-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0 12px}.question-dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.question-dot{width:27px;height:27px;padding:0;border:1px solid #b9c5ca;border-radius:50%;color:#6a7d87;background:transparent;font-size:10px}.question-dot.active{color:#fff;border-color:var(--navy2);background:var(--navy2)}.question-dot.answered{border-color:var(--blue);box-shadow:inset 0 0 0 3px var(--paper);background:var(--cyan)}.question-dot.correct{border-color:var(--green);background:var(--green);color:#fff}.question-dot.wrong{border-color:var(--red);background:var(--red);color:#fff}.submit-paper{width:100%;height:52px;border:0;color:#fff;background:var(--orange);font-weight:700}.submit-paper:hover{background:#bc5527}
.mistake-page{max-width:1500px;margin:auto;padding:58px clamp(24px,5vw,76px) 90px}.mistake-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.mistake-heading h1{margin:0;font:500 clamp(42px,5vw,72px) "Songti SC",SimSun,serif}.mistake-heading>div>p:last-child{max-width:720px;color:var(--muted);line-height:1.8}.mistake-actions{display:flex;gap:10px}.mastery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:36px 0}.mastery-grid article{padding:21px 24px;border-top:3px solid var(--blue);background:#fff;box-shadow:0 8px 24px rgba(11,34,51,.07)}.mastery-grid span,.mastery-grid strong{display:block}.mastery-grid span{color:var(--muted);font-size:12px}.mastery-grid strong{margin-top:7px;font:600 38px Georgia,serif}.filter-row{display:flex;gap:8px;overflow:auto;padding-bottom:14px;border-bottom:1px solid var(--line)}.filter-row button{flex:0 0 auto;padding:9px 14px;border:1px solid #bac5c9;color:#526873;background:transparent}.filter-row button.active{color:#fff;border-color:var(--navy2);background:var(--navy2)}.mistake-list{display:grid;gap:14px;margin-top:22px}.mistake-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;padding:24px;border:1px solid var(--line);background:#fff}.mistake-index{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:var(--red);font:700 16px Georgia,serif}.mistake-item.mastered .mistake-index{background:var(--green)}.mistake-meta{display:flex;gap:8px;margin-bottom:8px}.mistake-meta span{padding:4px 8px;color:var(--blue);background:#eaf4f7;font-size:10px}.mistake-item h3{margin:0 0 15px;font-size:18px}.answer-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}.answer-compare div{padding:10px 12px;color:#516976;background:#f1f2ef;font-size:12px}.answer-compare .correct-answer{color:#276b54;background:#eaf5ef}.mistake-item p{margin:0;color:#536b77;line-height:1.75}.master-button{align-self:start;min-width:100px;padding:9px 12px;border:1px solid var(--green);color:var(--green);background:transparent}.master-button.active{color:#fff;background:var(--green)}.empty-state{text-align:center;padding:100px 20px}.empty-state span{display:grid;place-items:center;width:72px;height:72px;margin:auto;border:1px solid var(--green);border-radius:50%;color:var(--green);font-size:35px}.empty-state h2{font:500 34px "Songti SC",SimSun,serif}.empty-state p{color:var(--muted)}
.result-dialog,.student-dialog{border:0;padding:0;background:var(--paper);box-shadow:0 30px 90px rgba(0,0,0,.32)}dialog::backdrop{background:rgba(4,20,30,.73)}.result-dialog{width:min(560px,calc(100vw - 26px))}.result-hero{height:190px;display:flex;align-items:baseline;justify-content:center;padding-top:36px;color:#fff;background:var(--navy2)}.result-hero span{position:absolute;margin-top:110px;color:#b9d4df}.result-hero strong{color:var(--gold);font:700 100px Georgia,serif}.result-hero small{font-size:22px}.result-body{padding:28px;text-align:center}.result-body h2{margin:0}.result-body>p{color:var(--muted)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;background:#fff}.result-stats div{padding:16px;border-right:1px solid var(--line)}.result-stats div:last-child{border:0}.result-stats b,.result-stats span{display:block}.result-stats b{font-size:27px}.result-stats span{color:var(--muted);font-size:11px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.student-dialog{width:min(620px,calc(100vw - 26px));padding:28px}.dialog-heading{display:flex;justify-content:space-between}.dialog-heading h2{margin:0;font:500 29px "Songti SC",SimSun,serif}.dialog-heading button{border:0;background:none;font-size:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.form-grid label{color:var(--muted);font-size:12px}.form-grid input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #c8d1d4;background:#fff}.pdf-loading{position:fixed;inset:0;z-index:30;display:grid;place-content:center;justify-items:center;color:#fff;background:rgba(4,20,30,.86)}.pdf-loading[hidden]{display:none}.pdf-loading span{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:950px){.site-header{height:auto;min-height:70px;padding:10px 15px;gap:10px;position:sticky;top:0;z-index:10}.brand{min-width:0;flex:1}.brand-mark{width:40px;height:40px;font-size:24px}.brand strong{font-size:14px}.brand small,.header-actions,.site-header nav .nav-button:first-child{display:none}.site-header nav{align-self:center}.nav-button{padding:12px}.quiz-shell{display:block}.quiz-sidebar{padding:30px 20px}.quiz-sidebar h1{font-size:41px}.score-card{margin:22px 0}.question-workspace{padding:25px 14px}.question-card{padding:28px 18px}.question-number{font-size:52px}.question-card h3{margin-right:40px;font-size:22px}.paper-progress i{width:110px}.question-navigation{gap:8px}.question-dots{gap:4px}.question-dot{width:22px;height:22px}.mistake-page{padding:35px 15px}.mistake-heading{display:block}.mistake-actions{margin-top:18px}.mastery-grid{grid-template-columns:1fr 1fr}.mistake-item{grid-template-columns:auto 1fr}.master-button{grid-column:2}.answer-compare{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.student-dialog{padding:20px}}

/* 练习页视觉修正：标题、成绩卡和解析隐藏状态 */
.quiz-sidebar h1{font-size:clamp(38px,4.1vw,64px);line-height:1.2}
.quiz-sidebar h1 span{color:#d8e9f0;font-size:.72em}
.score-card{border-left:3px solid var(--gold)}
.score-card>span,.score-card small{display:block;color:#a8c4d0}
.score-display{display:flex;align-items:baseline;gap:8px;min-height:58px;margin:8px 0 2px}
.score-card .score-display strong{display:inline;margin:0;color:#fff;font:600 25px "Microsoft YaHei",sans-serif;letter-spacing:.05em}
.score-card .score-display strong.has-score{color:var(--gold);font:600 54px Georgia,serif;letter-spacing:0}
.score-display em{color:#a8c4d0;font-style:normal;font-size:14px}
.explanation[hidden]{display:none}
