:root{--ink:#19333a;--muted:#668087;--teal:#0d766e;--teal-deep:#075b56;--mint:#d9f2ec;--orange:#ffb35c;--paper:#fffdf9;--line:#deebe8;--red:#b9494d;--shadow:0 15px 45px rgba(18, 63, 60, .1)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#f5f8f6;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif}button,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:254px;position:fixed;inset:0 auto 0 0;background:#0e615b;color:#eafff9;padding:30px 20px 20px;display:flex;flex-direction:column}.brand{color:inherit;text-decoration:none;display:flex;gap:12px;align-items:center;padding:0 9px 30px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f7c476;color:#23504c;font-size:21px;font-weight:800}.brand b,.brand small{display:block}.brand b{font-size:17px;letter-spacing:.4px}.brand small{color:#bee6dc;font-size:11px;margin-top:3px;letter-spacing:1px}nav{display:grid;gap:7px}.nav-link{color:#cceae3;border:0;background:transparent;text-align:left;padding:12px;border-radius:10px;font-size:14px}.nav-link span{display:inline-block;width:27px;font-size:17px}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff24}.source-note{margin-top:auto;padding:16px;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:#0000001a}.source-note p,.source-note span{margin:0;font-size:11px;color:#bfe7dd}.source-note strong{display:block;color:#fff;font-size:13px;margin:6px 0 3px}.sidebar-footer{color:#a4d5cb;font-size:11px;text-align:center;margin-top:18px}.main-content{width:calc(100% - 254px);margin-left:254px;max-width:none;padding:42px clamp(22px,5vw,78px) 60px}.view{display:none}.view.active-view{display:block}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.eyebrow{color:var(--teal);font-weight:800;letter-spacing:1.45px;font-size:10px;margin:0 0 7px}.topbar h1{font-size:clamp(26px,3vw,38px);margin:0;letter-spacing:-1.4px}.reset-btn{border:1px solid #cfddda;background:transparent;border-radius:8px;color:#607a78;font-size:12px;padding:9px 12px}.hero-card{min-height:152px;padding:28px 32px;border-radius:18px;color:#fff;background:linear-gradient(116deg,#0e8077,#076059);display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative;box-shadow:var(--shadow)}.hero-card:after{content:"";position:absolute;width:230px;height:230px;right:90px;top:-130px;border-radius:50%;border:45px solid rgba(246,199,120,.17)}.hero-card h2{margin:12px 0 6px;font-size:24px}.hero-card p{margin:0;max-width:550px;color:#c7eee7;font-size:13px}.pill{color:#183b39;background:#ffca7c;border-radius:99px;font-size:11px;padding:4px 9px;font-weight:800}.hero-stat{z-index:1;min-width:92px;text-align:center;padding:8px}.hero-stat b{display:block;font-size:42px;color:#ffd083}.hero-stat span{font-size:12px;color:#caebe4}.filters{margin:30px 0 24px}.filter-heading{display:flex;justify-content:space-between;font-weight:800;color:#496664;font-size:13px;margin:14px 0 9px}.text-btn{background:none;border:0;color:var(--teal);font-size:12px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #d3e2df;background:#fff;color:#617b79;padding:8px 12px;border-radius:99px;font-size:12px}.chip.active{border-color:var(--teal);background:var(--mint);color:var(--teal-deep);font-weight:800}.practice-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px}.question-rail,.question-card,.metric-card,.progress-panel,.weakness-card,.toolkit-grid article{background:var(--paper);border:1px solid #e1ece9;border-radius:16px;box-shadow:0 8px 30px #1548450e}.question-rail{padding:18px 14px;align-self:start;position:sticky;top:24px}.rail-title{display:flex;justify-content:space-between;font-size:12px;font-weight:800;margin-bottom:14px}.rail-title small{color:var(--muted);font-weight:500}.question-dots{display:flex;gap:8px;flex-wrap:wrap}.question-dot{border:0;width:28px;height:28px;border-radius:8px;color:#5f7876;background:#eef4f2;font-size:11px}.question-dot.current{background:var(--teal);color:#fff}.question-dot.done{background:#d7eee7;color:#12675f}.question-dot.wrong{background:#f8dede;color:#a33d46}.question-card{padding:clamp(21px,3vw,36px);min-height:520px}.question-meta{display:flex;align-items:center;gap:9px;margin-bottom:19px}.type-label{border-radius:5px;background:#e1f2ee;color:#087169;padding:4px 7px;font-size:11px;font-weight:800}.topic-label,.source-label{color:#71908e;font-size:11px}.source-label{margin-left:auto}.question-title{font-size:19px;line-height:1.75;margin:0 0 22px;font-weight:700}.options{display:grid;gap:10px}.option{width:100%;border:1px solid #dce8e5;background:#fff;padding:13px 15px;border-radius:10px;display:flex;align-items:flex-start;text-align:left;gap:12px;color:var(--ink);font-size:14px;line-height:1.55}.option:hover{border-color:#82b8b0;background:#fbfffe}.option.selected{border-color:var(--teal);background:#ecf8f5}.option-letter{flex:0 0 24px;height:24px;border:1px solid #bdd3cf;color:#557773;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.option.selected .option-letter{color:#fff;background:var(--teal);border-color:var(--teal)}.answer-box{width:100%;min-height:155px;border:1px solid #cbdeda;border-radius:10px;padding:13px;line-height:1.6;resize:vertical}.answer-box:focus{outline:2px solid #a9d8cf;border-color:var(--teal)}.question-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}.secondary-btn,.primary-btn{border-radius:9px;padding:11px 17px;font-size:13px;font-weight:800}.secondary-btn{background:#fff;border:1px solid #aecbc6;color:#126d64}.primary-btn{border:1px solid var(--teal);background:var(--teal);color:#fff}.primary-btn:hover{background:var(--teal-deep)}.nav-question{display:flex;gap:8px}.nav-question button{border:0;background:#eef5f3;color:#476a67;border-radius:8px;padding:9px 11px}.nav-question button:disabled{opacity:.4;cursor:not-allowed}.feedback{margin-top:22px;padding:19px;border-radius:12px;background:#f3f8f7;border-left:4px solid var(--teal)}.feedback.incorrect{border-left-color:var(--red);background:#fff8f7}.feedback h3{margin:0 0 8px;font-size:15px}.feedback p{font-size:13px;line-height:1.7;margin:7px 0}.feedback .correct-answer{color:var(--teal-deep);font-weight:800}.memory-list{display:grid;gap:8px;margin-top:14px}.memory-item{display:flex;gap:9px;align-items:flex-start;padding:10px;border-radius:8px;background:#fff;font-size:12px;line-height:1.6}.memory-num{background:#ffe3b6;color:#905d12;width:21px;height:21px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:10px}.progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric-card{padding:26px}.metric-card span,.metric-card small{color:var(--muted);font-size:12px}.metric-card b{display:block;color:var(--teal);font-size:38px;margin:9px 0 0}.progress-panel{margin:22px 0;padding:30px;background:linear-gradient(105deg,#fef8ed,#fffdfa);display:flex;justify-content:space-between;align-items:center;gap:30px}.progress-panel h2{max-width:630px;font-size:19px;margin:0;line-height:1.55}.weakness-card{padding:28px}.weakness-card h2{margin-top:0;font-size:18px}.review-list{display:grid;gap:10px}.review-item{border:1px solid #e4eeeb;border-radius:10px;padding:13px;display:flex;justify-content:space-between;gap:12px}.review-item span{color:#647f7c;font-size:12px}.review-item b{font-size:13px}.empty-text{color:#708885;font-size:13px;margin:0}.method-intro{background:#dff2ed;padding:22px 25px;border-radius:14px;color:#2c5a55;line-height:1.7;font-size:14px}.method-intro p{margin:0}.toolkit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.toolkit-grid article{padding:25px}.toolkit-grid span{color:#c5852d;font-weight:900;font-size:13px}.toolkit-grid h2{font-size:18px;margin:14px 0 10px}.toolkit-grid p{color:#597370;font-size:13px;line-height:1.8;min-height:100px}.toolkit-grid em{color:var(--teal);font-size:11px;font-style:normal;font-weight:800}@media (max-width:800px){.sidebar{width:100%;height:auto;position:static;padding:14px 18px}.app-shell{display:block}.brand{padding:0}.sidebar nav{display:flex;overflow:auto;margin-top:12px}.nav-link{white-space:nowrap;padding:8px}.source-note,.sidebar-footer{display:none}.main-content{width:100%;margin:0;padding:28px 16px 40px}.topbar{margin-bottom:22px}.hero-card{padding:22px}.hero-card:after{display:none}.hero-stat{min-width:70px}.practice-layout{grid-template-columns:1fr}.question-rail{position:static}.question-dots{max-height:85px;overflow:auto}.progress-grid,.toolkit-grid{grid-template-columns:1fr}.progress-panel{padding:22px}.question-card{min-height:unset}.source-label{display:none}}.question-dots{max-height:68vh;overflow:auto;padding-right:3px}.subjective-stem{border-left:3px solid #27aaa1;padding:2px 0 2px 20px;margin:2px 0 24px}.subjective-stem .content-line,.subjective-stem .subquestion-line,.subjective-stem .prompt-line,.subjective-stem .ledger-line{margin:0 0 10px;font-size:15px;line-height:2;white-space:pre-wrap}.subjective-stem .subquestion-line{padding-left:1.55em;text-indent:-1.55em}.subjective-stem .prompt-line{font-weight:800;color:#0a746c}.subjective-stem .ledger-line{margin-left:1.55em;font-family:SimSun,Microsoft YaHei,serif;letter-spacing:.03em}.analysis-copy{font-size:13px;line-height:1.75}.analysis-copy>b{display:block;margin-bottom:7px}.analysis-copy p{margin:0 0 9px;white-space:pre-wrap}.analysis-copy .subquestion-line{padding-left:1.55em;text-indent:-1.55em}.analysis-copy .ledger-line{margin-left:1.4em;font-family:SimSun,Microsoft YaHei,serif}.table-stack{display:grid;gap:16px;margin:18px 0 6px}.source-table-wrap{overflow:auto;border:1px solid #2baea5;background:#fff}.table-caption{margin:0;padding:9px 13px;background:#f0fbf8;color:#147971;font-size:12px;font-weight:800}.source-table{width:100%;min-width:520px;border-collapse:collapse;font-size:12px;line-height:1.55}.source-table th,.source-table td{padding:9px 11px;border:1px dashed #83d5cd;vertical-align:top;text-align:left;white-space:pre-wrap}.source-table th{color:#234f4b;background:#f7fcfb;text-align:center;font-weight:800}.session-starts{display:flex;gap:9px;margin-top:16px;position:relative;z-index:2}.hero-outline{border:1px solid rgba(255,255,255,.65);border-radius:9px;padding:10px 15px;background:transparent;color:#fff;font-size:13px;font-weight:800}.session-starts .primary-btn{border-color:#ffd083;background:#ffd083;color:#174743;padding:10px 15px}.finish-btn{margin-left:8px;border:1px solid #dfb5b1;color:#a44743;background:#fff;border-radius:9px;padding:11px 14px;font-size:13px;font-weight:800}.mark-wrong{margin-top:12px;color:#a44743}.history-card{margin-top:20px}.history-note{color:#668087;font-size:13px;margin-top:-8px}.session-history{display:grid;gap:9px}.history-entry{border:1px solid #deebe8;border-radius:10px;overflow:hidden;background:#fff}.history-entry summary{cursor:pointer;padding:14px;display:flex;justify-content:space-between;gap:16px;font-size:13px;color:#315653}.history-entry summary b{color:var(--teal)}.history-questions{padding:0 14px 14px;display:grid;gap:8px}.history-questions article{padding:11px;background:#f6faf8;border-radius:8px;font-size:12px}.history-questions p{margin:5px 0;color:#426561;line-height:1.6}.history-questions small{color:#7a908d}.test-lock .sidebar,.test-lock .reset-btn{pointer-events:none;opacity:.52}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#09232370;display:grid;place-items:center;padding:24px}.modal-backdrop[hidden]{display:none}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;color:#526b6a;cursor:pointer}.setup-title{display:flex;align-items:center;gap:14px;margin-bottom:10px}.count-field{display:flex;align-items:center;gap:14px;font-weight:800}.test-modal .primary-btn{margin-top:24px}.reflection textarea{width:100%;min-height:140px;box-sizing:border-box;border:1px solid #87c9c2;border-radius:12px;padding:14px;font:inherit;line-height:1.7}.finish-btn{margin-left:8px}@media (max-width:700px){.filter-actions{gap:8px}.test-modal{padding:24px 18px}.history-entry{align-items:flex-start;flex-direction:column}.history-entry .secondary-btn{width:100%}}.nav-link:disabled{cursor:not-allowed}.question-dot[aria-current=true]{background:#0d8278!important;color:#fff!important}.text-btn.active{color:#087d73;font-weight:800;text-decoration:underline;text-underline-offset:4px}.filter-actions{display:flex;gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#09232370}.test-modal{position:relative;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:20px;background:#fffdf9;padding:32px;box-shadow:0 24px 80px #00000038}.modal-close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}.setup-group{margin:22px 0}.setup-title,.count-field{display:flex;align-items:center;gap:14px}.setup-title{margin-bottom:10px}.count-field{font-weight:800}.count-field input{width:100px;border:1px solid #b9d5d1;border-radius:10px;padding:10px;font:inherit}.reflection{margin-top:22px}.reflection label{display:block;font-weight:800;margin-bottom:8px}.reflection textarea{box-sizing:border-box;width:100%;min-height:140px;border:1px solid #87c9c2;border-radius:12px;padding:14px;font:inherit;line-height:1.7}.history-entry{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;margin-top:10px;border:1px solid #dbe9e6;border-radius:12px;background:#fcfffe}.history-entry div{display:grid;gap:6px}.history-entry span{color:#58706e}.correct-option{border-color:#46a88e!important;background:#edf9f2!important}.option:disabled{cursor:default;opacity:1}.point-note{color:#087d73;font-weight:700}@media (max-width:700px){.test-modal{padding:24px 18px}.history-entry{align-items:flex-start;flex-direction:column}}.chip{transition:background .16s,border-color .16s,color .16s,transform .16s}.chip:not(.selected){background:#fff!important;border-color:#d8e6e3!important;color:#66827f!important}.chip.selected{background:#dff5f1!important;border-color:#0d8278!important;color:#087d73!important;font-weight:800!important}.chip:hover{transform:translateY(-1px)}.question-content{margin-bottom:28px!important;line-height:1.9}.options,.answer-box{margin-top:0!important}.question-actions .pager{min-width:94px;height:40px;border:1px solid #b8d8d3!important;border-radius:9px!important;background:#f3faf8!important;color:#176b65!important;font:inherit!important;font-weight:700!important;box-shadow:none!important}.question-actions .pager+.pager{margin-left:8px}.question-actions .pager:not(:disabled):hover{background:#dff3ef!important;border-color:#0d8278!important}.question-actions .pager:disabled{opacity:.42!important;cursor:not-allowed}.question-actions{margin-top:30px!important}.question-card{display:flex;flex-direction:column}.question-card>.question-actions{order:20}.question-card>.feedback{order:21;margin-top:18px}.question-card>.reflection{order:22}.reflection label{font-size:0}.reflection label:after{content:"本题心得";font-size:16px}.reflection textarea{margin-top:8px}body:has(.reflection) .sidebar{pointer-events:none;opacity:.55}body:has(.reflection) .sidebar .nav-link:nth-child(2){background:#ffffff29;color:#fff;opacity:1}.question-actions .finish-btn{position:fixed;right:34px;bottom:28px;z-index:25;min-width:142px;min-height:48px;margin:0!important;border:0!important;border-radius:12px!important;background:#d85b4b!important;color:#fff!important;font-size:16px!important;font-weight:800!important;box-shadow:0 10px 26px #9b362747!important}.question-actions .finish-btn:hover{background:#bc4436!important;transform:translateY(-1px)}body:has(.reflection) .question-actions .finish-btn{background:#0d8278!important;box-shadow:0 10px 26px #0d827842!important}body:has(.reflection) .question-actions .finish-btn:hover{background:#086d65!important}@media (max-width:700px){.question-actions .finish-btn{right:18px;bottom:18px;min-width:124px}}.question-content .subjective-layout{display:grid;gap:18px}.question-content .subjective-section{border:1px solid #dcebe8;border-radius:12px;background:#fcfffe;padding:18px 20px}.question-content .subjective-section h3{margin:0 0 13px;color:#087d73;font-size:17px}.question-content .subjective-section p{margin:0 0 10px;line-height:1.95;text-indent:2em}.question-content .requirement-section{background:#f1faf8;border-left:4px solid #0d8278}.question-content .requirement-section p{font-weight:600}.question-content .requirement-section .subquestion-line{padding:10px 12px;border-radius:8px;background:#fff;text-indent:0}.question-content .material-section .ledger-line{max-width:520px;margin-left:2em;padding-left:18px;font-family:serif;text-indent:0;white-space:pre-wrap}@media (max-width:700px){.question-content .subjective-section{padding:15px}.question-content .subjective-section p{font-size:15px}}.practice-layout{grid-template-columns:minmax(132px,150px) minmax(0,1fr)!important;width:100%!important}.question-card{width:100%;min-width:0;box-sizing:border-box}.question-content,.question-content .subjective-layout,.question-content .subjective-section{max-width:none!important;width:100%;box-sizing:border-box}.question-content .subjective-section p{max-width:none!important}
