:root{color:#24323f;background:#f6f8f4;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.app-error{max-width:720px;margin:80px auto;background:#fff;border:1px solid #efc0b4;border-radius:8px;padding:24px;color:#8f3f31}.sidebar{background:#fff;border-right:1px solid #dde5dc;padding:24px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:#1d6152;color:#fff;font-weight:800;font-size:22px}.brand strong{display:block;line-height:1.2}.brand span,.page-header p,.metric span,.type-card span,.mistake-card time{color:#667680;font-size:14px}.nav{display:grid;gap:8px}.nav-button{width:100%;height:44px;border:0;border-radius:8px;background:transparent;color:#40505e;display:flex;align-items:center;gap:10px;padding:0 12px;text-align:left}.nav-button.active,.nav-button:hover{background:#e8f1eb;color:#174f43}.main{padding:34px;max-width:1280px;width:100%}.page-header{margin-bottom:24px}.eyebrow{margin:0 0 6px;color:#1d6152;font-weight:700;letter-spacing:0}h1,h2,h3,p{margin-top:0}.page-header h1{margin-bottom:8px;font-size:34px;line-height:1.15}.dashboard-grid,.report-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;margin-bottom:16px}.hero-panel,.metric,.panel,.mistake-card{background:#fff;border:1px solid #dde5dc;border-radius:8px;box-shadow:0 12px 26px #2c3a310f}.hero-panel{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.hero-panel h1{margin-bottom:8px}.metric{padding:18px}.metric-icon{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:#edf5f1;color:#1d6152;margin-bottom:18px}.metric strong{display:block;font-size:28px;margin-top:6px;line-height:1.1}.metric small{font-size:14px;margin-left:2px}.two-columns,.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.practice-layout{grid-template-columns:290px minmax(0,1fr);align-items:start}.panel{padding:20px}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:16px}.panel-title h2{font-size:18px;margin:0}.skill-map,.type-rates{display:grid;gap:13px}.skill-row{display:grid;grid-template-columns:96px 1fr 42px;align-items:center;gap:12px;font-size:14px}.skill-bar{height:10px;background:#edf0ef;border-radius:999px;overflow:hidden}.skill-bar i{display:block;height:100%;background:#2f7d6b;border-radius:inherit}.type-grid,.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.type-card,.question-list button{text-align:left;border:1px solid #dce5de;background:#fbfcfa;border-radius:8px;padding:12px;color:#24323f}.type-card strong,.type-card span{display:block}.type-card:hover,.question-list button:hover,.question-list button.selected{border-color:#2f7d6b;background:#eef7f1}.primary-btn,.secondary-btn,.ghost-btn{border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;font-weight:700}.primary-btn{background:#1d6152;color:#fff}.secondary-btn{background:#e9f1ec;color:#174f43}.ghost-btn{background:transparent;color:#1d6152;border:1px solid #c8d7cf}select,input,textarea{width:100%;border:1px solid #cfdad2;border-radius:8px;background:#fff;color:#24323f}select,input{height:42px;padding:0 12px}textarea{resize:vertical;padding:10px 12px;min-height:82px}.question-list{display:grid;gap:8px;margin-top:14px}.question-box{padding:18px;background:#f7faf7;border:1px solid #dce5de;border-radius:8px;margin-bottom:14px}.question-box p{font-size:19px;line-height:1.65;margin-bottom:12px}.question-figure{margin:14px 0;padding:12px;background:#fff;border:1px solid #dce5de;border-radius:8px}.question-figure figcaption{color:#667680;font-size:13px;line-height:1.5;margin-top:8px}.figure-svg{display:block;width:100%;max-height:360px}.question-meta,.mistake-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.question-meta span,.mistake-meta span{background:#edf0ef;border-radius:999px;color:#53616b;font-size:13px;padding:4px 9px}.tags,.filters,.submit-row,.card-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tags span{background:#e8f1eb;color:#225d50;border-radius:999px;padding:5px 10px;font-size:13px}.method-hint{padding:13px 14px;background:#fff8e7;border:1px solid #ecd9a7;border-radius:8px;margin:12px 0}.method-hint p{margin:6px 0 0;color:#5d5544}.method-hint ul{margin:8px 0 0;padding-left:20px;color:#5d5544;line-height:1.65}.method-full{margin:0}.select-label{display:block;margin-bottom:12px}.select-label span{display:block;margin-bottom:6px;font-weight:700}.fill-grid,.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.blank-card,.step-card,.choice-card{border:1px solid #dce5de;background:#fbfcfa;border-radius:8px;padding:14px}.blank-card span,.step-head span{color:#40505e}.blank-card>span{display:block;font-weight:700;margin-bottom:8px}.blank-card input,.formula-line input{width:94px;height:36px;text-align:center;font-weight:700;margin:0 5px;padding:0 8px}.answer-card{display:block;max-width:360px;margin-top:14px}.choice-card{display:flex;gap:12px;align-items:flex-start;text-align:left;min-height:74px}.choice-card b{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#e8f1eb;color:#174f43;flex:0 0 auto}.choice-card.selected{border-color:#2f7d6b;background:#eef7f1}.choice-card:disabled{cursor:default}.step-list{display:grid;gap:12px;margin-top:14px}.step-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.step-head b{color:#1d6152}.formula-line{font-size:19px;line-height:2.2}.formula-part{display:inline}.inline-hint{margin-top:10px}.hint-btn{border:1px solid #d7dfd9;background:#fff;color:#1d6152;border-radius:999px;padding:5px 10px;font-weight:700}.inline-hint span{margin-left:8px;color:#667680;font-size:14px}.strategy-note{background:#ecf6f4;border:1px solid #cfe1db;border-radius:8px;color:#225d50;margin-bottom:12px;padding:12px 14px}.input-correct{border-color:#4d9b63!important;background:#edf8f0!important}.input-wrong{border-color:#dc705c!important;background:#fff1ed!important}.solver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.text-field span,.answer-line span{display:block;margin-bottom:6px;font-weight:700}.answer-line{display:block;margin-top:14px}.submit-row{justify-content:flex-end;margin-top:16px}.submit-row select{max-width:180px}.result-card{margin-top:16px;padding:16px;border-radius:8px}.result-card.correct{background:#edf8f0;border:1px solid #acd8b7}.result-card.wrong{background:#fff1ed;border:1px solid #efc0b4}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.feedback-item{display:flex;align-items:flex-start;gap:8px;background:#ffffff9e;border-radius:8px;padding:10px}.feedback-item strong,.feedback-item span{display:block}.feedback-item span{color:#667680;font-size:14px;margin-top:2px}.wrong-step{color:#8f3f31;font-weight:700}.reason-box{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0}.reason-box label{min-width:210px}.reason-box span{display:block;margin-bottom:6px;font-weight:700}.report-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.advice{font-size:17px;line-height:1.75;margin-bottom:0}.filters{margin-bottom:16px}.filters select{max-width:220px}.mistake-list{display:grid;gap:14px}.mistake-card{padding:18px}.mistake-card div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.mistake-card div:first-child strong{display:inline-flex;align-items:center;gap:7px}.answer-review{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.answer-review span{border-radius:999px;padding:5px 9px;font-size:13px}.answer-review .ok{background:#edf8f0;color:#27623a}.answer-review .bad{background:#fff1ed;color:#8f3f31}.empty{background:#fff;border:1px dashed #cfdad2;border-radius:8px;padding:20px}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid #dde5dc}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid,.report-grid,.two-columns,.practice-layout{grid-template-columns:1fr}.hero-panel{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.main{padding:22px 16px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.solver-grid,.type-grid,.method-grid,.fill-grid,.choice-grid,.feedback-grid{grid-template-columns:1fr}.page-header h1{font-size:28px}.skill-row{grid-template-columns:88px 1fr 34px}}
