:root{--ink:#163238;--muted:#708486;--line:#d9e6e3;--paper:#f5faf8;--teal:#0f766e;--dark:#09564f;--mint:#d9efeb;--red:#dc665c;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 "Microsoft YaHei",Arial,sans-serif}.shell{max-width:1120px;margin:auto;padding:28px 28px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:48px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--teal);color:#fff;font-size:21px;font-weight:800}.eyebrow{margin:0 0 3px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.16em}.accent{color:var(--teal)}h1{font-size:18px;margin:0}h2{font-size:36px;line-height:1.2;margin:8px 0 10px}h3{margin:0}.icon-button{border:1px solid var(--line);background:#fff;border-radius:9px;width:40px;height:40px;color:var(--teal);font-size:20px}.welcome{margin-bottom:34px}.welcome p:last-child,.muted{color:var(--muted)}.dashboard{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px}.dash-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;min-height:147px}.main-card{background:var(--teal);color:#fff;border-color:var(--teal)}.card-kicker{font-size:12px;opacity:.72;margin-bottom:15px}.main-card strong{font-size:21px;display:block}.main-card p{opacity:.75;font-size:12px}.primary-button{border:0;border-radius:8px;background:var(--teal);color:#fff;padding:11px 17px;font-weight:800;cursor:pointer}.main-card .primary-button{background:#fff;color:var(--teal);margin-top:6px}.primary-button:hover{background:var(--dark)}.main-card .primary-button:hover{background:#e5f6f3}.stat-card{display:flex;flex-direction:column}.stat-card>span{font-size:12px;color:var(--muted)}.stat-card strong{font-size:28px;line-height:1.2;margin-top:12px;color:var(--teal)}.stat-card small{font-size:11px;color:var(--muted)}.mini-progress,.progress-track{height:6px;background:#e3efec;border-radius:20px;overflow:hidden;margin-top:14px}.mini-progress i,.progress-track i{display:block;height:100%;width:0;background:var(--teal);border-radius:20px}.text-button,.link-button{border:0;background:none;color:var(--teal);padding:0;font-size:12px;font-weight:800;cursor:pointer;text-align:left;margin-top:auto}.mode-section{margin-top:48px}.section-head{margin-bottom:17px}.mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mode-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;text-align:left;color:var(--ink);cursor:pointer;min-height:139px}.mode-card:hover{border-color:#8bc8be;transform:translateY(-2px)}.mode-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:var(--mint);color:var(--teal);font-weight:800;margin-bottom:16px}.mode-card strong,.mode-card small{display:block}.mode-card small{color:var(--muted);font-size:12px;margin-top:4px}.hidden{display:none!important}.back-link{border:0;background:none;color:var(--teal);padding:0;cursor:pointer;font-weight:800;margin-bottom:25px}.setup-card{background:#fff;border:1px solid var(--line);border-radius:13px;max-width:630px;padding:32px}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.setup-card label{color:var(--muted);font-size:13px;font-weight:800}.setup-card select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.setup-card .primary-button{width:100%}.practice-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.practice-head h2{margin:5px 0 0}.practice-stats{display:flex;gap:18px;color:var(--muted);font-size:12px}.practice-layout{display:grid;grid-template-columns:205px 1fr;gap:24px}.practice-side{background:#eaf4f1;border-radius:12px;padding:18px;height:max-content}.progress-label{font-size:12px;display:flex;justify-content:space-between}.progress-label b{color:var(--teal)}.side-button{display:block;width:100%;margin-top:15px;border:1px solid #cfe1dd;background:#fff;border-radius:7px;padding:10px;color:var(--teal);font-weight:800;cursor:pointer}.side-button.danger{color:var(--red);border-color:#efd5d2}.practice-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:31px 36px;min-height:520px;display:flex;flex-direction:column}.question-top{display:flex;gap:9px;align-items:center}.tag,.difficulty{font-size:12px;font-weight:800;padding:5px 10px;border-radius:20px}.tag{background:var(--mint);color:var(--teal)}.difficulty{background:#fff3db;color:#a36a0e}.favorite{margin-left:auto;border:0;background:none;color:#d79a2c;font-size:27px;cursor:pointer}.practice-card h3{font-size:22px;line-height:1.65;margin:23px 0}.answer-area{display:grid;gap:10px}.answer-option{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.answer-option:hover,.answer-option.selected{border-color:#8bc8be;background:#f2fbf9}.answer-option input{accent-color:var(--teal);margin-top:5px}.option-key{font-weight:800;color:var(--teal)}.fill-input{padding:13px;border:1px solid var(--line);border-radius:8px;outline:none}.feedback{margin-top:20px;border-radius:8px;padding:12px 14px;font-size:13px}.feedback strong,.feedback span{display:block}.feedback span{font-size:12px;margin-top:3px}.is-correct{background:#e5f6ec;color:#217448}.is-wrong{background:#fff0ed;color:#b14d43}.answer-reveal{background:#edf7f5;color:var(--teal)}.answer-actions{display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:25px;border-top:1px solid #edf2f1}.answer-actions .primary-button{min-width:120px}.source-line{font-size:11px;color:#94a3a2;margin-top:18px}@media(max-width:850px){.shell{padding:20px 16px 45px}.topbar{margin-bottom:30px}.dashboard{grid-template-columns:repeat(2,1fr)}.main-card{grid-column:span 2}.mode-grid{grid-template-columns:repeat(2,1fr)}.practice-head{align-items:start;gap:16px;flex-direction:column}.practice-layout{grid-template-columns:1fr}.practice-side{order:2}.practice-card{padding:25px 20px}.practice-card h3{font-size:19px}.practice-stats{width:100%;justify-content:space-between}.setting-grid{grid-template-columns:1fr}}
/* Mobile practice controls */
.inline-next{width:auto!important;margin:0!important}.answer-option input:disabled{opacity:.65}.answer-option:has(input:disabled){cursor:default}
@media(max-width:850px){.shell{padding:16px 12px 36px}.topbar{margin-bottom:25px}.brand-mark{width:34px;height:34px}.brand h1{font-size:15px}.dashboard{grid-template-columns:1fr 1fr;gap:9px}.main-card{grid-column:span 2}.dash-card{padding:16px;min-height:125px}.mode-grid{grid-template-columns:1fr 1fr;gap:9px}.mode-card{padding:16px;min-height:125px}.practice-head{align-items:start;gap:14px;flex-direction:column}.practice-layout{grid-template-columns:1fr}.practice-side{order:2;padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.side-progress{grid-column:span 2}.side-button{margin-top:0}.practice-card{padding:22px 16px;min-height:0}.practice-card h3{font-size:18px;line-height:1.55;margin:19px 0}.answer-actions{gap:10px;flex-wrap:wrap}.answer-actions .primary-button{min-width:0;flex:1}.answer-actions .link-button{width:100%;order:3}.setting-grid{grid-template-columns:1fr}.welcome h2{font-size:30px}}
