:root{--ink:#17263e;--muted:#69798d;--line:#e2e8f1;--bg:#f5f7fb;--card:#fff;--accent:#225cce;--accentsoft:#e8efff;--teal:#15877f;--red:#cb4158;--orange:#b6781e;--radius:14px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}.header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 27px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;box-shadow:0 2px 8px #16264c06}.brand{display:flex;align-items:center;gap:13px}.brand-icon{width:40px;height:40px;border-radius:13px;background:var(--ink);display:grid;place-items:center;color:#fff;font-size:25px}.brand-title{font-size:18px;font-weight:800;letter-spacing:.2px}.brand-title span{font-size:16px;font-weight:500;color:#6e7b8d}.brand-sub{font-size:12px;color:#8c9cad;margin-top:4px}.header-actions{display:flex;align-items:center;gap:9px}.save-indicator{font-size:12px;color:var(--teal);margin-right:12px}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);height:calc(100vh - 74px);min-height:680px}.sidebar{border-right:1px solid var(--line);background:white;display:flex;flex-direction:column;padding:21px 16px 13px;min-height:0}.side-title{display:flex;align-items:center;justify-content:space-between;font-size:16px}.side-title span{font-size:12px;color:#7e8da0;font-weight:500}.progress-shell{height:7px;background:#edf2f9;border-radius:99px;margin:14px 0 6px;overflow:hidden}.progress-bar{height:100%;width:0%;border-radius:99px;background:var(--accent);transition:width .35s}.progress-label{font-size:11px;color:#8b99aa;margin-bottom:18px}.sidebar #search{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 10px;background:#f7f9fc;color:var(--ink);outline:none}.sidebar #search:focus{border-color:var(--accent)}.filter-row{display:flex;gap:4px;margin:11px 0 10px}.filter{border:0;background:transparent;color:#8795a9;font-size:12px;border-radius:7px;padding:7px 10px;flex:1;white-space:nowrap}.filter.active{color:var(--accent);background:var(--accentsoft);font-weight:800}.question-list{flex:1;overflow:auto;scrollbar-width:thin;padding-right:3px}.group-label{margin:16px 8px 8px;color:#9aa8bb;font-size:11px;letter-spacing:1.4px;font-weight:750}.qitem{width:100%;border:1px solid transparent;border-radius:11px;padding:10px 9px;text-align:left;display:flex;gap:10px;background:transparent;color:#61738a;align-items:center;margin-bottom:3px}.qitem:hover{background:#f6f8fd}.qitem.active{background:#edf3ff;color:#1b4fb5;border-color:#d7e4ff}.qitem .numb{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:#f2f5fa;font-weight:700;font-size:12px;color:#64758a}.qitem.active .numb{background:#dce8ff;color:#1f55ba}.qitem-text{min-width:0;flex:1}.qitem-text b{font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650}.qitem-text small{font-size:10.5px;display:block;color:#95a1b1;margin-top:3px}.status-dot{width:7px;height:7px;border-radius:50%;background:#d6dfe9;margin-right:3px}.status-dot.correct{background:var(--teal)}.status-dot.wrong{background:var(--red)}.status-dot.review{background:#d6a44b}.side-foot{border-top:1px solid var(--line);padding-top:13px}.side-foot p{font-size:10.5px;line-height:1.7;color:#98a4b2;margin:10px 3px 0}.main{min-height:0;overflow:auto}.content{padding:25px;max-width:1730px;margin:auto}.overline{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:2px;margin-bottom:10px}.heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.heading h1{font-size:25px;margin:0;letter-spacing:.3px;font-weight:800}.tag{font-size:11px;border-radius:50px;padding:5px 9px;background:#e8edf5;color:#718098}.tag.demo{background:#e6f7f4;color:#0d7b6b}.summary{font-size:13px;color:#758499;line-height:1.8;margin:7px 0 18px}.top-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.seg{display:inline-flex;align-items:center;gap:4px;background:#e9eef6;border-radius:12px;padding:4px}.seg button{border:0;background:transparent;border-radius:9px;padding:9px 17px;font-size:13px;color:#7a879b;font-weight:600}.seg button.sel{background:white;box-shadow:0 1px 5px #101f3318;color:#234d9e}.hinttop{font-size:11px;color:#90a1b2}.workspace{display:grid;grid-template-columns:minmax(270px,.81fr) minmax(490px,1.5fr);align-items:start;gap:16px}.column{display:flex;flex-direction:column;gap:15px;min-width:0}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 12px #0e234f06;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #ecf1f7}.panel-title{font-weight:750;font-size:13px}.panel-body{padding:14px 16px}.micro{font-size:11px;color:#8b9aab}.original-img{display:block;width:100%;height:auto;object-fit:contain;border-radius:6px}.original-wrap{max-height:505px;overflow:auto;border-radius:7px;border:1px solid #e9edf4;background:white}.original-wrap img{width:100%;display:block}.photo-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.photolink{font-size:11px;color:var(--accent);text-decoration:none;font-weight:650}.btn{border-radius:9px;border:1px solid #dce4ef;padding:9px 13px;background:white;color:#4c6178;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn:hover{filter:brightness(.96)}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn.secondary{background:#eef4ff;border-color:#d8e6ff;color:#2055b5}.btn.ghost{background:#fff}.btn.negative{color:var(--red);border-color:#f0cbd2}.btn.full{width:100%}.btn.active{background:#2d5cc0;color:#fff;border-color:#2d5cc0}.fields{display:grid;gap:12px}.field{display:flex;gap:8px;align-items:center;justify-content:space-between}.field label{font-size:12px;line-height:1.5;color:#596b82;flex:1}.field-right{display:flex;align-items:center;gap:6px}.field input{width:100px;max-width:40%;border:1px solid #dce4ed;border-radius:8px;padding:8px 9px;color:var(--ink);outline:none;background:#fbfcfe}.field input:focus,.notes:focus{border-color:var(--accent)}.field .unit{font-size:11px;color:#9aa5b6;width:44px}.result{border-radius:9px;padding:11px;font-size:12px;line-height:1.65;background:#f2f6fd;color:#4e6b8e;margin-top:11px}.result.good{background:#e7f6f0;color:#186d58}.result.bad{background:#fff0f2;color:#a33d50}.result.caution{background:#fff5e8;color:#8c672d}.board{display:flex;flex-direction:column}.toolbox{padding:10px 12px;display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:#fafcff}.tool{border:1px solid #e2e9f2;background:#fff;border-radius:7px;padding:7px 9px;font-size:12px;color:#64758c;min-width:43px}.tool.active{border-color:#aec6fb;background:#e9f0ff;color:#2357b6;font-weight:700}.canvas-wrap{position:relative;background:#fff;overflow:hidden}.canvas-hint{position:absolute;top:12px;left:14px;font-size:11px;color:#8e9db0;z-index:1;background:#ffffffd9;padding:5px 8px;border-radius:6px;pointer-events:none}.drawsvg{width:100%;display:block;aspect-ratio:900/560;cursor:crosshair;touch-action:none;user-select:none}.board-footer{padding:11px 13px;display:flex;gap:8px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);flex-wrap:wrap}.board-footleft,.board-footright{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.small-check{font-size:11px;color:#7b8a9d;display:flex;gap:5px;align-items:center}.small-check input{accent-color:var(--accent)}.notes{width:100%;resize:vertical;min-height:70px;border:1px solid #dce4ed;border-radius:9px;padding:11px;color:var(--ink);font-size:12px;line-height:1.7;outline:none}.checkboxline{display:flex;align-items:center;gap:9px;font-size:12px;color:#63748a}.checkboxline input{accent-color:var(--accent);width:16px;height:16px}.actions-row{display:flex;gap:8px;margin-top:13px;align-items:center;flex-wrap:wrap}.analysis-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#f7faff;padding:11px 14px;border-bottom:1px solid var(--line)}.analysis-bar strong{font-size:12px;color:#536881}.analysis-bar input[type=range]{accent-color:var(--accent);flex:1;min-width:100px;max-width:280px}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 13px 14px}.metric{padding:10px 8px;border-radius:9px;background:#f4f7fb}.metric label{display:block;font-size:10px;color:#8693a5;white-space:nowrap}.metric b{display:block;color:#1d385a;font-size:13px;margin-top:5px}.stepper-head{padding:14px 16px 9px;display:flex;justify-content:space-between;align-items:center}.stepper-head b{font-size:13px}.stepper-head span{font-size:11px;color:var(--muted)}.stepper-progress{height:5px;background:#f2f5fa;margin:0 16px 10px;border-radius:8px;overflow:hidden}.stepper-progress i{display:block;height:100%;background:#2a62d6;border-radius:8px}.step-card{margin:10px 15px 13px;padding:13px 14px;background:#f6f9ff;border:1px solid #e2ecff;border-radius:11px;min-height:106px}.step-card small{display:block;color:var(--accent);font-size:11px;font-weight:800;margin-bottom:7px}.step-card p{font-size:13px;line-height:1.8;margin:0;color:#566b85}.step-buttons{display:flex;gap:8px;align-items:center;padding:0 15px 15px}.checklist{margin:0;padding:0;list-style:none}.checklist li{padding:7px 0;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.7;color:#65758a;border-bottom:1px dashed #ecf0f5}.checklist li::before{content:'□';font-size:17px;color:#92a1b3;line-height:1.2}.callout{font-size:11.5px;line-height:1.8;color:#8a672e;background:#fff8e9;padding:10px 12px;border-radius:9px}.lesson-note{font-size:12px;color:#6c7c91;line-height:1.8}.lesson-notice{border:1px solid #dae5f5;border-radius:11px;background:#f7faff;color:#58708c;padding:12px;font-size:12px;line-height:1.8}.knowledge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.knowledge-card{background:white;border:1px solid var(--line);border-radius:13px;padding:21px}.knowledge-card b{font-size:17px}.knowledge-card p{font-size:13px;color:#65768b;line-height:1.8}.formula{background:#f2f6fd;border-radius:9px;padding:11px 13px;font-size:12px;color:#254f97;line-height:1.7;margin:13px 0;word-break:break-word}.toast{position:fixed;bottom:25px;right:22px;background:#1a2c48;color:white;padding:11px 17px;border-radius:11px;font-size:12px;box-shadow:0 9px 40px #24365338;transition:opacity .2s;opacity:0;pointer-events:none;z-index:80}.toast.visible{opacity:1}.empty{font-size:13px;color:#9aabbc;padding:15px 9px}.demo-badge{color:#15877f;background:#e3f6ef;padding:3px 7px;border-radius:100px;font-size:11px}.sticky-note{font-size:11px;color:#a18043}.mini-step-grid{display:flex;flex-wrap:wrap;gap:6px;padding:0 15px 15px}.mini-step-grid button{border:1px solid #dfe8f6;border-radius:8px;background:#fff;font-size:11px;color:#66768f;padding:5px 9px}.mini-step-grid button.active{background:#dceaff;color:#214d9e}.plain-tip{font-size:11px;color:#8999aa;margin:10px 0 0;line-height:1.8}.practice-guide{font-size:12px;color:#7d8da2;line-height:1.8}.start-panel{padding:35px;max-width:1050px;margin:auto}.start-panel h1{margin:3px 0 18px}.start-panel p{line-height:1.9}.no-practice{font-size:12px;color:#677f98;background:#f7faff;border-radius:9px;padding:12px;line-height:1.8}.guess-tag{background:#fff0dd;color:#9e6423}.inline-note{font-size:11px;color:#8291a7}.debug{color:var(--red);font-size:11px}@media(max-width:1270px){.layout{grid-template-columns:228px minmax(0,1fr)}.workspace{grid-template-columns:minmax(255px,.8fr) minmax(400px,1.3fr)}.sidebar{padding:18px 10px}.content{padding:18px}.heading h1{font-size:21px}}@media(max-width:990px){.header{padding:0 14px}.save-indicator{display:none}.layout{grid-template-columns:1fr;height:auto;min-height:0}.sidebar{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:12px 15px}.question-list{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.group-label{display:none}.qitem{min-width:162px;margin-bottom:0}.side-foot{display:none}.sidebar #search{max-width:350px}.workspace{grid-template-columns:1fr}.original-wrap{max-height:410px}.content{padding:15px}.header{position:relative}.brand-title{font-size:15px}.brand-title span{font-size:12px}.header-actions .btn{font-size:11px;padding:7px 8px}.heading h1{font-size:22px}}@media(max-width:560px){.brand-icon{display:none}.brand-title span{display:none}.header-actions .upload{display:none}.header-actions button{max-width:105px;white-space:normal}.header{height:61px}.layout{height:auto}.heading h1{font-size:19px}.summary{font-size:12px}.top-switch{flex-wrap:wrap}.content{padding:10px}.panel-head{padding:12px}.panel-body{padding:12px}.metric-row{grid-template-columns:1fr 1fr}.metric label{white-space:normal}.toolbox{gap:5px}.tool{padding:7px}.analysis-bar{gap:6px}.analysis-bar input[type=range]{min-width:100px}.field input{width:86px}.sidebar{padding:12px 10px}.question-list .qitem{min-width:148px}}
