@font-face{font-family:system-local;src:local("Segoe UI");font-display:swap}
:root{font-family:system-local,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#24332e;background:#f6f7f3;font-synthesis:none;--accent:#235c4b;--accent-light:#e9f2ed;--muted:#728078;--line:#dfe5dd;--paper:#fff;--red:#a34036;--amber:#98601e;--shadow:0 12px 40px #213e2e06}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #81b5a2;outline-offset:3px}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}input:not([type=checkbox]),textarea,select{border:1px solid #cad6cd;border-radius:9px;background:white;color:inherit;padding:12px 13px;min-width:0;max-width:100%}textarea{resize:vertical;min-height:84px}input::placeholder{color:#89948d}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,38px);letter-spacing:-1px;line-height:1.3;margin-bottom:12px;font-weight:650}h2{font-size:21px;font-weight:650}h3{font-size:17px}p{line-height:1.7}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-variant-numeric:tabular-nums}button.primary,.button.primary{background:var(--accent);border:1px solid var(--accent);color:white}button.secondary,.button.secondary{background:#fff;border:1px solid #cbd8ce;color:var(--accent)}button.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}button.primary,button.secondary,button.ghost,.button{padding:12px 19px;border-radius:9px;font-weight:600;min-height:44px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}button.primary:hover{background:#194937}.secondary:hover{background:#f4f8f3}.text-button{background:none;border:0;color:var(--accent);padding:8px 4px;font-size:14px}.text-button.danger{color:var(--red)}.icon-button{background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--muted);min-height:40px}.site-header{max-width:1160px;margin:0 auto;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:inherit}.brand-mark{display:flex;align-items:center;justify-content:center;letter-spacing:-7px;padding-right:6px;width:47px;height:47px;border-radius:13px;background:var(--accent);color:white;font-family:Georgia,serif;font-size:34px;font-style:italic}.brand-mark span{color:#a9d1b8}.brand strong{font-size:19px;letter-spacing:1px}.brand-title{font-weight:550;letter-spacing:0}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:5px;letter-spacing:2px}.header-status{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted)}.status-pill{background:#e6ece3;border:1px solid #dbe3d6;border-radius:20px;padding:7px 11px;white-space:nowrap}.status-pill.ready{background:#e5f1e9;color:var(--accent)}main{max-width:1096px;margin:28px auto 64px;padding:0 0;min-height:60vh}.site-footer{max-width:1096px;margin:0 auto;padding:24px 0 35px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.eyebrow{display:block;letter-spacing:2.6px;font-size:11px;font-weight:650;color:#6d8975;margin-bottom:15px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:18px 0 30px}.hero p{margin:0;color:var(--muted);font-size:14px}.toolbar{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:32px 0 16px}.section-title h2{font-size:16px;margin:0}.count-label{font-size:12px;color:var(--muted);font-weight:400;margin-left:8px}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.empty-card{overflow:hidden;min-height:245px}.empty-copy{padding:40px}.empty-copy h2{font-size:24px;margin-top:10px}.empty-copy p{font-size:14px;color:var(--muted);max-width:380px;margin-bottom:28px}.empty-art{background:#edf2e9;display:flex;flex-direction:column;justify-content:center;gap:13px;padding:36px;position:relative;overflow:hidden}.paper-line{background:#ffffffcf;border:1px solid #e0e8db;padding:18px 22px;border-radius:10px;display:flex;gap:15px;align-items:center;transform:rotate(-4deg)}.paper-line:nth-child(2){transform:rotate(3deg);margin-left:15px}.paper-line:nth-child(3){transform:rotate(-2deg);margin-left:6px}.paper-line b{font-family:Georgia,serif;font-size:27px;font-weight:400;color:var(--accent)}.paper-line span{font-size:12px;color:var(--muted)}.exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.exam-card{padding:25px;display:flex;flex-direction:column;gap:16px}.exam-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.exam-top h2{font-size:21px;margin:0;overflow-wrap:anywhere}.range-summary{font-size:13px;color:var(--muted);line-height:1.7;min-height:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat strong{display:block;font-size:25px;font-weight:550;font-variant-numeric:tabular-nums}.stat small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.coverage{height:4px;background:#edf1e9;border-radius:3px;overflow:hidden}.coverage span{display:block;height:100%;background:#6e9b7e}.exam-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:4px}.exam-actions button{flex:1;padding:10px 12px}.bottom-tools{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.shelf-note{font-size:12px;color:var(--muted);line-height:1.7}.resume-card{background:#edf4ee;border:1px solid #c5d9cb;border-radius:12px;padding:20px 24px;display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:18px}.resume-card p{font-size:13px;margin:6px 0 0;color:var(--muted)}.history-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.history-row:last-child{border:0}.history-row strong{font-weight:500}.history-row .muted{font-size:12px}.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:22px;padding-left:0}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-title h1{font-size:30px;margin-bottom:6px}.page-title p{font-size:13px;margin:0;color:var(--muted)}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:24px;align-items:start}.editor-fields{padding:26px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.field>span,.field>label{font-size:13px;font-weight:550}.field:last-child{margin-bottom:0}.rule{border:1px solid var(--line);border-radius:12px;padding:17px;margin:15px 0;background:#fbfcf9}.rule-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.rule-head select{flex:1;font-size:14px;width:100%}.rule-grid{display:grid;grid-template-columns:1fr;gap:10px}.rule select{width:100%}.rule-note{font-size:12px;color:var(--muted);margin:10px 0 0}.small-label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.editor-summary{padding:25px;position:sticky;top:20px}.editor-summary .big-number{font-size:54px;font-weight:450;letter-spacing:-2px;color:var(--accent);margin:8px 0}.editor-summary .big-number small{font-size:15px;letter-spacing:0;color:var(--muted);margin-left:7px}.editor-summary hr{border:0;border-top:1px solid var(--line);margin:20px 0}.editor-summary p{font-size:13px;color:var(--muted)}.editor-summary button{width:100%}.preview-panel{margin-top:24px;padding:25px}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.preview-top h2{font-size:16px;margin:0}.preview-top input{max-width:280px}.preview-list{max-height:460px;overflow:auto;border-top:1px solid var(--line)}.word-row{display:flex;align-items:flex-start;gap:12px;padding:14px 3px;border-bottom:1px solid #edf0e9;cursor:pointer}.word-row input{margin-top:4px}.word-body{min-width:0;flex:1}.word-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.word-heading strong{font-size:16px}.pos{font-family:Georgia,serif;font-style:italic;font-size:14px;color:var(--muted)}.definition-small{font-size:13px;line-height:1.6;color:#58665e;margin-top:5px;overflow-wrap:anywhere}.source{font-size:11px;color:#89958b;margin-top:6px}.annotation{font-size:12px;color:var(--amber);line-height:1.6;margin-top:8px}.editor-footnote{font-size:12px;color:var(--muted);margin-top:16px;line-height:1.7}.quiz-wrap{max-width:780px;margin:auto}.quiz-top{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px;margin-bottom:18px}.quiz-top .text-button{font-size:13px}.quiz-top strong{font-weight:500}.quiz-card{padding:40px 46px 32px}.quiz-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font-size:12px;margin-bottom:29px}.question-stem{display:flex;align-items:baseline;gap:15px;margin-bottom:22px}.word-blank{font-size:39px;font-family:Georgia,"Times New Roman",serif;color:var(--accent);letter-spacing:3px}.question-stem .pos{font-size:19px}.question-definition{font-family:Georgia,"Times New Roman",serif;font-size:clamp(21px,3.2vw,27px);line-height:1.55;min-height:100px;color:#273e32;overflow-wrap:anywhere;margin-bottom:28px}.answer-label{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.answer-input{width:100%;font-size:22px!important;letter-spacing:.5px;padding:16px!important;background:#fafcf8!important;min-height:60px}.answer-input:focus{border-color:#5a9178}.answer-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0 24px}.checkbox-label{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted)}.keyboard-hint{font-size:11px;color:#96a197}.quiz-buttons{display:flex;gap:11px;align-items:center;flex-wrap:wrap}.quiz-buttons .primary{margin-left:auto;min-width:160px}.feedback{padding:18px 20px;border:1px solid #cee0d2;background:#eff6ef;border-radius:11px;margin:18px 0;font-size:14px;line-height:1.6}.feedback.wrong{background:#fbf0ed;border-color:#edd0c7}.feedback.typo{background:#fff7e9;border-color:#ead5a8}.feedback h3{font-size:16px;margin-bottom:7px}.feedback p{margin:6px 0;font-size:13px}.feedback .answer-word{font-size:25px;color:var(--accent);font-weight:650}.feedback.wrong .answer-word{color:var(--red)}.quiz-bottom{display:flex;justify-content:space-between;gap:10px;padding:18px 3px;color:var(--muted);font-size:12px}.question-nav{display:flex;gap:7px;flex-wrap:wrap;padding-top:20px}.question-nav button{border:1px solid var(--line);background:white;border-radius:7px;min-width:35px;min-height:35px;font-size:12px}.question-nav button.filled{background:#e7eee4}.question-nav button.current{background:var(--accent);color:#fff}.results-hero{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:33px}.results-score{font-size:56px;letter-spacing:-2px;color:var(--accent);font-weight:500;white-space:nowrap}.results-score small{font-size:22px;color:var(--muted);letter-spacing:0}.results-info h1{font-size:28px}.results-info p{font-size:13px;color:var(--muted);margin-bottom:12px}.results-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:25px 33px;border-top:1px solid var(--line)}.results-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.answer-list{padding:6px 25px}.answer-row{padding:21px 0;border-bottom:1px solid var(--line)}.answer-row:last-child{border:0}.answer-row .word-heading{justify-content:space-between}.tag{display:inline-flex;align-items:center;gap:4px;background:#eaf3e9;color:var(--accent);padding:4px 8px;border-radius:5px;font-size:11px;font-weight:400}.tag.red{background:#faede8;color:var(--red)}.tag.amber{background:#fff1d9;color:var(--amber)}.answer-detail{font-size:13px;margin:9px 0 0;color:#647068}.answer-detail b{font-weight:500;color:#33473b;overflow-wrap:anywhere}dialog{border:1px solid var(--line);border-radius:18px;padding:0;width:min(500px,calc(100% - 32px));color:inherit;box-shadow:0 25px 100px #15271930;max-height:85vh}dialog::backdrop{background:#172b2455;backdrop-filter:blur(3px)}.dialog-inner{padding:28px}.dialog-inner h2{font-size:22px}.dialog-inner p{font-size:14px;color:#68756c}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}.dialog-options{display:grid;gap:12px;margin:20px 0}.dialog-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:16px;cursor:pointer}.dialog-option input{accent-color:var(--accent);margin-top:4px}.dialog-option strong{display:block;font-size:14px;margin-bottom:5px}.dialog-option small{display:block;color:var(--muted);font-size:12px;line-height:1.6}.help-list{font-size:13px;line-height:1.8;padding-left:19px;color:#68756c}.loading{padding:50px 0}.error-strip{max-width:1096px;margin:8px auto;padding:13px 18px;background:#fff0e8;border:1px solid #e8c8b3;border-radius:8px;color:#944227;font-size:13px;line-height:1.7}.error-strip button{margin-left:12px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#233f31;color:white;border-radius:10px;padding:13px 22px;z-index:20;box-shadow:0 8px 30px #1c352e25;font-size:14px;max-width:90vw;line-height:1.5}.skip-link{position:fixed;left:15px;top:-80px;background:white;padding:15px;z-index:100}.skip-link:focus{top:12px}.import-report{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:200px;overflow:auto}.selection-error{color:var(--red);font-size:13px;margin:12px 0}.hidden{display:none!important}.exam-actions .text-button{flex:0 0 auto}.check-row{display:flex;align-items:center;gap:10px;font-size:13px}.review-controls{display:flex;gap:8px;align-items:center}.review-controls select{padding:8px 10px;font-size:12px}
@media(max-width:1160px){main,.site-footer,.error-strip{margin-left:32px;margin-right:32px}.site-header{padding-left:32px;padding-right:32px}}
@media(max-width:760px){.site-header{padding:20px}.header-status{gap:7px;flex-direction:column;align-items:flex-end;font-size:10px}.brand-title{font-size:15px}.brand strong{font-size:16px}.brand small{font-size:9px;letter-spacing:1px}.brand-mark{width:40px;height:40px;border-radius:11px;font-size:29px}.brand{gap:10px}main{margin:18px 20px 40px}.hero{align-items:flex-start;flex-direction:column;margin-top:12px;gap:20px}.hero .primary{width:100%}.hero h1{font-size:30px}.exam-grid{grid-template-columns:1fr}.empty-card{grid-template-columns:1fr}.empty-copy{padding:28px}.empty-art{display:none}.site-footer{margin:0 20px;padding:20px 0;gap:15px;align-items:flex-start;flex-direction:column}.editor-grid{grid-template-columns:1fr;gap:18px}.editor-summary{position:static;padding:20px}.editor-summary .big-number{font-size:42px}.editor-summary hr{margin:13px 0}.editor-summary p{margin-bottom:13px}.editor-fields,.preview-panel{padding:20px}.preview-top{align-items:flex-start;flex-direction:column;gap:12px}.preview-top input{width:100%;max-width:none}.page-title{align-items:flex-start;flex-direction:column;gap:12px}.page-title h1{font-size:28px}.quiz-card{padding:25px 22px}.question-definition{min-height:95px;font-size:23px}.word-blank{font-size:32px}.quiz-buttons{gap:8px}.quiz-buttons .primary{min-width:130px;padding-left:13px;padding-right:13px;flex:1}.quiz-buttons .secondary{padding-left:12px;padding-right:12px}.keyboard-hint{display:none}.quiz-caption{margin-bottom:22px}.quiz-top{align-items:flex-start}.quiz-top>div{max-width:67%;overflow-wrap:anywhere}.results-hero{padding:25px;align-items:flex-start;flex-direction:column;gap:12px}.results-score{font-size:46px}.results-stats{grid-template-columns:repeat(2,1fr);padding:22px 25px;gap:22px}.results-info h1{font-size:25px}.results-actions button{flex:1}.answer-list{padding:4px 19px}.resume-card{padding:18px;align-items:flex-start;flex-direction:column;gap:14px}.resume-card button{width:100%}.error-strip{margin:8px 20px}.history-row{align-items:flex-start}.history-row>div{max-width:65%}.header-status #save-status{max-width:140px;text-align:right}.toast{bottom:calc(20px + env(safe-area-inset-bottom))}.question-nav{gap:6px}.bottom-tools{gap:10px}.quiz-bottom{font-size:11px}.rule{padding:13px}.brand-title{white-space:nowrap}.word-heading strong{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,border-color .15s}.card{animation:appear .2s ease-out}@keyframes appear{from{opacity:.75;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media print{.site-header,.site-footer,.toolbar,.results-actions,.back,.review-controls,.error-strip,.toast{display:none}body{background:white}main{max-width:none;margin:0}.card{border:0;box-shadow:none}.answer-row{break-inside:avoid}.results-hero{padding:0}.results-stats{padding:15px 0}.answer-list{padding:0}}

.quick-unit{padding:22px 25px;margin-bottom:24px}.quick-unit h2{font-size:17px;margin-bottom:5px}.quick-unit p{margin-bottom:16px}.quick-unit-controls{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.quick-unit-controls label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);flex:1;min-width:150px}.quick-unit-controls select{width:100%;font-size:14px;color:#24332e}.quiz-progress{display:flex;align-items:center;gap:15px}.quiz-progress .coverage{flex:1;min-width:0}.remaining-count{white-space:nowrap;font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums}@media(max-width:760px){.quick-unit{padding:20px}.quick-unit-controls{gap:12px}.quick-unit-controls label{min-width:120px}.quick-unit-controls button{width:100%}.quiz-progress{gap:12px}.remaining-count{font-size:12px}}

.exam-top .toolbar{justify-content:flex-end}.hero>.toolbar{flex-shrink:0;gap:10px}@media(max-width:760px){.hero>.toolbar{width:100%;flex-wrap:nowrap}.hero>.toolbar button{flex:1;padding-left:10px;padding-right:10px}.exam-top .toolbar{max-width:140px;gap:5px!important}}

.resume-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.resume-actions .danger{min-height:44px;padding:8px 10px}@media(max-width:760px){.resume-actions{width:100%}.resume-actions .secondary{width:auto;flex:1}.resume-actions .danger{width:auto;flex:none}}
