:root{--ink:#17332f;--muted:#6d807c;--paper:#fffdf9;--canvas:#f4f7f5;--line:#dfe8e4;--teal:#0f766e;--teal-dark:#0b5e57;--teal-pale:#e2f2ed;--orange:#e96c3b;--red:#c84d4d;--shadow:0 16px 35px rgba(31,67,58,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:15px}.app-shell{min-height:100vh;display:flex}.sidebar{width:244px;background:#123d38;color:#eef8f3;display:flex;flex-direction:column;padding:26px 16px 20px;position:fixed;inset:0 auto 0 0;z-index:10}.brand{font-size:21px;font-weight:800;display:flex;gap:10px;align-items:center;padding:0 12px 34px}.brand-mark{font-size:13px;color:#123d38;background:#e5f7ef;border-radius:8px;padding:7px 5px;font-weight:900}.nav{display:grid;gap:7px}.nav-item{border:0;border-radius:9px;background:transparent;color:#c2d8d2;text-align:left;padding:12px;font:inherit;cursor:pointer;display:flex;align-items:center;gap:10px}.nav-item:hover,.nav-item.active{background:rgba(230,255,245,.13);color:white}.nav-item b{margin-left:auto;background:#f1a77e;color:#442818;border-radius:99px;min-width:20px;text-align:center;font-size:11px;padding:2px 5px}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding:16px 12px 0;color:#bcd4ce;font-size:12px}.sidebar-foot p{margin:0 0 5px;font-weight:700}.sidebar-foot span{color:#83a9a0}.main{margin-left:244px;width:calc(100% - 244px);max-width:1500px;padding:0 5.5vw 55px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:15px}.search-box{background:white;border:1px solid var(--line);height:40px;border-radius:9px;width:min(420px,70vw);display:flex;align-items:center;padding:0 12px;color:#8ca29d}.search-box input{width:100%;border:0;outline:0;background:transparent;padding:5px 8px;font:inherit;color:var(--ink)}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font-size:20px;cursor:pointer}.menu-btn{display:none}.view{display:none}.view.active{display:block}.hero{display:flex;justify-content:space-between;align-items:flex-start;padding:25px 0 27px}.eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);font-size:11px;font-weight:800;margin:0 0 8px}h1{font-size:29px;letter-spacing:-.5px;margin:0 0 9px;line-height:1.25}.muted{color:var(--muted);margin:0;line-height:1.65}.today-card{background:linear-gradient(135deg,#e8f7ef,#d6eee7);border-radius:14px;padding:13px 18px;min-width:124px;color:#45766a}.today-card span{display:block;font-size:12px}.today-card strong{font-size:30px;color:var(--teal-dark);margin:0 3px 0 0}.today-card small{font-size:12px}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.segmented{display:flex;gap:5px;padding:4px;background:#e8efec;border-radius:10px}.segmented button{border:0;background:transparent;color:#607772;padding:7px 12px;border-radius:7px;cursor:pointer;font:inherit;font-size:13px}.segmented button.selected{background:white;color:var(--teal-dark);box-shadow:0 2px 6px #b5c7c122;font-weight:700}.toolbar-actions{display:flex;gap:8px}.outline-btn{border:1px solid #bad2ca;background:transparent;color:var(--teal-dark);border-radius:8px;padding:8px 11px;font:inherit;font-size:13px;cursor:pointer}.outline-btn:hover{background:var(--teal-pale)}.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px}.question-card,.progress-card,.collection-card,.stat-card,.breakdown-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px}.question-card{padding:27px 31px;min-height:460px}.question-meta{display:flex;gap:8px;align-items:center;margin-bottom:20px}.pill{font-size:12px;border-radius:99px;padding:4px 9px;background:var(--teal-pale);color:var(--teal-dark);font-weight:700}.question-number{color:#8a9c98;font-size:13px}.fav-button{margin-left:auto;border:0;background:#f6f5f1;width:34px;height:34px;border-radius:8px;cursor:pointer;color:#7b8f8a;font-size:19px}.fav-button.saved{color:#e17943;background:#fff1e9}.question-title{font-size:19px;line-height:1.75;white-space:pre-line;margin:0 0 22px;font-weight:700}.option-list{display:grid;gap:10px}.option{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;display:flex;align-items:flex-start;gap:11px;color:var(--ink);font:inherit;line-height:1.55;cursor:pointer}.option:hover:not(:disabled){border-color:#83bfb0;background:#fbfffd}.option:disabled{cursor:default}.option-key{background:#edf2f0;border-radius:50%;width:25px;height:25px;flex:none;text-align:center;line-height:25px;font-size:12px;font-weight:800;color:#58716b}.option.selected{border-color:var(--teal);background:#effaf6}.option.selected .option-key{background:var(--teal);color:white}.option.correct{border-color:#63aa86;background:#effaf4}.option.correct .option-key{background:#4a9b74;color:white}.option.incorrect{border-color:#dd8585;background:#fff2f0}.option.incorrect .option-key{background:#c95353;color:white}.answer-panel{margin-top:17px;padding:13px 15px;border-radius:9px;background:#f2f7f4;color:#48625b;line-height:1.6;font-size:13px}.answer-panel.wrong{background:#fff5f1;color:#934d38}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.nav-question{display:flex;gap:8px}.primary-btn{border:0;background:var(--teal);color:white;border-radius:8px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer}.primary-btn:hover{background:var(--teal-dark)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.progress-card{padding:23px 18px;text-align:center;align-self:start}.progress-card h2{font-size:15px;margin:0 0 17px}.ring{--angle:0deg;width:112px;height:112px;border-radius:50%;margin:auto;background:conic-gradient(var(--teal) var(--angle),#e7efeb 0);display:grid;place-items:center}.ring:before{content:"";grid-area:1/1;width:88px;height:88px;border-radius:50%;background:var(--paper)}.ring span{grid-area:1/1;z-index:1;color:var(--teal-dark);font-size:19px;font-weight:800}.progress-card p{font-size:12px;color:var(--muted);margin:13px 0}.progress-card p b{color:var(--ink)}.mini-stats{border-top:1px solid var(--line);padding-top:13px;display:grid;gap:7px;font-size:12px;color:var(--muted);text-align:left}.mini-stats b{float:right;color:var(--ink)}.text-btn{border:0;background:transparent;color:var(--teal);font:inherit;font-size:13px;font-weight:700;margin-top:17px;cursor:pointer}.loading,.empty{color:var(--muted);padding:42px 10px;text-align:center}.view-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:27px 0 22px}.collection-list{display:grid;gap:12px}.collection-card{padding:17px 20px;display:flex;gap:18px;align-items:center}.collection-card .collection-text{flex:1;min-width:0}.collection-card h2{font-size:15px;line-height:1.6;margin:7px 0 0;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-card .result{font-size:12px}.result.good{color:#388761}.result.bad{color:#c45252}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.stat-card{padding:20px}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card b{font-size:28px;margin-top:8px;display:block;color:var(--teal-dark)}.type-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.breakdown-card{padding:20px}.breakdown-card h2{font-size:15px;margin:0 0 15px}.bar{height:8px;background:#e6eeea;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--teal);border-radius:99px}.breakdown-card p{font-size:13px;color:var(--muted);display:flex;justify-content:space-between}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#173b35;color:white;border-radius:8px;padding:10px 16px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:860px){.sidebar{transform:translateX(-100%);transition:.2s;box-shadow:10px 0 30px #0003}.sidebar.open{transform:none}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(11,39,33,.28);z-index:9;opacity:0;pointer-events:none;transition:opacity .2s}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.main{margin-left:0;width:100%;padding:0 18px 35px}.menu-btn{display:inline-block}.topbar{height:64px}.hero{padding:16px 0 19px}.hero h1{font-size:24px}.today-card{padding:10px 12px;min-width:98px}.today-card strong{font-size:24px}.practice-layout{grid-template-columns:1fr}.progress-card{display:none}.question-card{padding:22px 18px;min-height:430px}.toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.segmented{width:100%;justify-content:space-between}.segmented button{padding:7px 9px}.question-title{font-size:17px}.option{padding:11px}.view-heading{padding-top:17px}.stat-grid{grid-template-columns:repeat(2,1fr)}.type-breakdown{grid-template-columns:1fr}.collection-card{padding:14px;gap:10px}.collection-card .outline-btn{white-space:nowrap}.search-box{width:auto;flex:1}.sidebar-foot{display:none}}
@media(max-width:420px){.today-card{display:none}.card-footer{gap:9px;align-items:flex-end;flex-direction:column}.card-footer .primary-btn{width:100%}.nav-question{width:100%}.nav-question button{flex:1}.view-heading h1{font-size:25px}}
@media(max-width:600px){.main{padding-bottom:0}.hero{display:none}.topbar{height:48px;gap:10px}.icon-btn{width:36px;height:36px;font-size:17px}.search-box{height:36px;padding:0 9px;border-radius:8px}.search-box input{padding:4px 6px;font-size:13px}.toolbar{flex:none;padding-top:0;margin-bottom:8px;gap:6px}.segmented{padding:2px;border-radius:8px}.segmented button{padding:5px 7px;font-size:12px}.toolbar-actions{gap:6px}.outline-btn{padding:6px 8px;font-size:12px}#practiceView.active{display:flex;height:calc(100dvh - 48px);flex-direction:column}.practice-layout{flex:1;min-height:0}.question-card{height:calc(100% - 72px);padding:16px 14px;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:13px}.question-meta{margin-bottom:14px}.question-title{font-size:16px;line-height:1.62;margin-bottom:16px}.option-list{gap:8px}.option{padding:9px 10px;gap:9px}.card-footer{position:fixed;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:8;margin:0;padding:8px 10px max(8px,env(safe-area-inset-bottom));background:rgba(255,253,249,.98);border:1px solid var(--line);border-radius:12px;box-shadow:0 -5px 22px rgba(26,57,49,.16)}.answer-panel{margin-top:12px;padding:10px 12px}.nav-question{gap:6px}}
@media(max-width:420px){#practiceView.active .question-card{height:calc(100% - 112px)}}
.view-actions{display:flex;gap:8px;align-items:center}.view-actions .primary-btn{padding:8px 11px;font-size:13px}@media(max-width:600px){.view-actions{gap:6px}.view-actions .primary-btn{padding:7px 8px;font-size:12px}}
.question-images{display:grid;gap:12px;margin:0 0 20px}.question-image{display:block;width:auto;max-width:100%;max-height:620px;margin:auto;border-radius:10px;object-fit:contain;background:#eef2f0}@media(max-width:600px){.question-images{margin-bottom:14px;gap:8px}.question-image{max-height:none;width:100%;border-radius:8px}}
