:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#223a36;background:#f5f7f6;font-synthesis:none;--green:#176b58;--muted:#7a8a85;--line:#e2e9e6}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}header{background:white;border-bottom:1px solid var(--line);padding:22px max(5vw,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:20px;white-space:nowrap}.brand small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px;letter-spacing:1px}.logo{display:grid;place-items:center;background:var(--green);color:white;border-radius:12px;width:44px;height:44px;font-size:19px}nav{display:flex;gap:6px}nav a{font-size:14px;padding:11px 15px;border-radius:8px;color:#63746e}nav a.active{background:#eaf3ef;color:var(--green);font-weight:650}main{max-width:1160px;margin:42px auto;padding:0 24px;min-height:70vh}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--green);font-weight:700}h1{font-size:30px;letter-spacing:-1px;margin:10px 0}h2{font-size:19px;margin:0 0 18px}h3{font-size:16px}p{line-height:1.8}.muted{color:var(--muted);font-size:14px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:16px}.pill{border:1px solid var(--line);border-radius:30px;padding:8px 14px;font-size:12px;background:white}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:25px}.stat-label{font-size:13px;color:#70827a}.stat-value{font-size:34px;font-weight:700;margin-top:15px}.stat-value small{font-size:13px;font-weight:400;color:var(--muted);margin-left:8px}.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.hero{background:#eaf2ed;border-color:#d7e5db;position:relative;overflow:hidden;padding:32px}.hero h2{font-size:25px;margin-top:12px}.hero p{color:#60766b;max-width:420px;font-size:14px}.hero .decoration{position:absolute;right:22px;bottom:18px;font-size:105px;opacity:.07;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--green);border:1px solid var(--green);border-radius:9px;color:white;font-weight:600;font-size:14px}.btn.secondary{background:white;color:var(--green);border-color:#cfddd5}.btn.ghost{background:transparent;color:#697e74;border-color:var(--line)}.btn:disabled{opacity:.45;cursor:default}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.section-title{margin:30px 0 16px;display:flex;justify-content:space-between;align-items:center}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick a:hover,.option:hover{border-color:#8db4a5}.quick strong{display:block;margin:12px 0 8px}.icon{font-size:22px;color:var(--green)}.progress{height:7px;background:#edf1ee;border-radius:10px;overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:#4a9279;border-radius:10px}.row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #edf1ee;font-size:14px}.row:last-child{border:0}.row small{color:var(--muted)}footer{max-width:1112px;margin:32px auto;padding:22px 0;border-top:1px solid var(--line);font-size:12px;color:#8a9891;display:flex;justify-content:space-between;gap:14px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0}select,input{border:1px solid #d8e2dc;background:white;border-radius:8px;padding:10px;color:#29453b}input[type=number]{width:100%;margin:10px 0}label{font-size:14px}.question{font-size:21px;line-height:1.65;margin:22px 0}.badge{font-size:12px;padding:5px 10px;background:#eaf3ef;color:var(--green);border-radius:6px}.options{display:grid;gap:12px}.option{width:100%;text-align:left;padding:17px;background:white;border:1px solid var(--line);border-radius:10px;display:flex;align-items:flex-start;gap:14px;color:#30453d;line-height:1.5}.option b{border:1px solid #d7e1da;border-radius:6px;min-width:28px;height:28px;text-align:center;line-height:26px;font-size:13px}.option.selected{background:#edf6f1;border-color:#43866c}.option.correct{border-color:#55a17c;background:#edf7f0}.option.incorrect{border-color:#d38d83;background:#fff2ee}.feedback{padding:20px;border-radius:10px;background:#edf5f0;margin-top:22px;line-height:1.8;font-size:14px}.feedback.bad{background:#fff2ee}.question-layout{display:grid;grid-template-columns:1fr 260px;gap:22px}.answer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.answer-grid button{border:1px solid var(--line);background:white;border-radius:6px;height:34px;color:#718279}.answer-grid button.done{background:#dceee3;color:#176b58}.answer-grid button.current{outline:2px solid var(--green)}.answer-grid button.flagged{border-color:#d4a440;background:#fff5d8}.timer{font-size:30px;font-variant-numeric:tabular-nums;color:var(--green);margin:12px 0}.timer.urgent{color:#b94d39}.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.empty{text-align:center;padding:60px 20px}.score{text-align:center;padding:32px}.score strong{font-size:64px;color:var(--green);display:block}.list-item{padding:18px 0;border-bottom:1px solid var(--line)}.list-item button{margin-top:10px}.danger{color:#a34638}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#253f34;color:white;padding:12px 20px;border-radius:9px;display:none;z-index:10;font-size:14px}:focus-visible{outline:3px solid #d8af50;outline-offset:3px}@media(max-width:850px){header{padding:16px 22px;flex-direction:column;align-items:flex-start;gap:16px}nav{width:100%;overflow:auto}nav a{white-space:nowrap;padding:9px 12px}.grid,.question-layout{grid-template-columns:1fr}.question-layout aside{order:2}.stats{grid-template-columns:repeat(2,1fr)}footer{margin:24px;flex-direction:column}.quick{grid-template-columns:1fr}.hero .decoration{display:none}main{margin:28px auto}.heading{align-items:flex-start}.heading .pill{display:none}}@media(max-width:450px){.card{padding:19px}.counts{gap:10px}.question{font-size:18px}.stat-value{font-size:28px}h1{font-size:26px}.btn{padding:11px 15px}.actions{gap:8px}}
.theme-toggle{flex-shrink:0;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--green);padding:10px 12px;white-space:nowrap;font-size:13px}header{position:relative;gap:14px}nav{min-width:0}nav a{padding-left:11px;padding-right:11px}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;color:#dce8e2;background:#131c19;--green:#82c9ac;--muted:#a0b2a8;--line:#34453c}[data-theme=dark] header,[data-theme=dark] .card,[data-theme=dark] .pill,[data-theme=dark] .option,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] .answer-grid button{background:#1d2923;color:#dce8e2}[data-theme=dark] .hero{background:#23392d;border-color:#3c5746}[data-theme=dark] .hero p,[data-theme=dark] .stat-label,[data-theme=dark] nav a,[data-theme=dark] .btn.ghost{color:#afc2b5}[data-theme=dark] nav a.active,[data-theme=dark] .badge{background:#2a4435;color:#a6dfc4}[data-theme=dark] .btn{background:#327556;border-color:#559a76;color:#f1fff7}[data-theme=dark] .btn.secondary{background:#24372c;color:#afe2c9;border-color:#4c6b58}[data-theme=dark] .btn.ghost{background:transparent;border-color:var(--line)}[data-theme=dark] .logo{background:#327556}[data-theme=dark] .row{border-color:var(--line)}[data-theme=dark] .progress{background:#334439}[data-theme=dark] .option b{border-color:#53695b}[data-theme=dark] .option.selected,[data-theme=dark] .option.correct,[data-theme=dark] .feedback,[data-theme=dark] .answer-grid button.done{background:#254735;color:#c3efd6}[data-theme=dark] .option.incorrect,[data-theme=dark] .feedback.bad{background:#4b2c29;color:#ffccc3}[data-theme=dark] .answer-grid button.flagged{background:#4a3d20;color:#f8dda1}[data-theme=dark] .timer.urgent,[data-theme=dark] .danger{color:#ffad99}[data-theme=dark] footer{color:#a0b2a8}@media(max-width:850px){.theme-toggle{position:absolute;right:22px;top:20px}header .brand{padding-right:112px}}@media(max-width:450px){.theme-toggle{right:16px;font-size:12px;padding:9px}.brand{font-size:18px}.brand small{font-size:10px}}
