:root{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#25342e;background:#f7f3ea;line-height:1.6}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{border:0;border-radius:12px;background:#176b5d;color:#fff;padding:11px 16px;cursor:pointer;font-weight:700}button.secondary{background:#e5eee8;color:#176b5d}button.warn{background:#a85d35}button:disabled{opacity:.5;cursor:not-allowed}.shell{max-width:760px;margin:0 auto;padding:18px 16px 42px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.brand-mark{display:inline-block;background:#efc94c;color:#29392f;border-radius:11px;padding:6px 11px;font-weight:800}.brand{font-weight:800;font-size:18px}.top-actions{display:flex;gap:8px}.card{background:#fff;border-radius:20px;padding:20px;margin:14px 0;box-shadow:0 5px 24px #304d3a0c}.hero{background:#176b5d;color:#fff;padding:24px;border-radius:22px}.hero .muted{color:#d8eee5}.muted{color:#68766e}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.04em;color:#b67a21}.hero .eyebrow{color:#f5dc85}h1,h2,h3{line-height:1.25;margin:8px 0 10px}h1{font-size:30px}h2{font-size:22px}h3{font-size:17px}p{margin:8px 0 14px}.action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.pill{display:inline-block;border-radius:99px;padding:4px 10px;background:#edf2ed;color:#176b5d;font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.node{padding:14px;border-radius:16px;background:#eff5ef;border-left:6px solid #aab9aa}.node.assisted{background:#fff4d2;border-color:#e7b83d}.node.independent{background:#dcefe6;border-color:#25866c}.node.with_hint{background:#e8e4fa;border-color:#8271c7}.node.untouched{background:#f0f1ed;border-color:#bdc5bc}.node strong{display:block}.node small{color:#6a786f}.bar{height:8px;border-radius:9px;background:#e3e7e1;overflow:hidden;margin:9px 0}.bar i{display:block;height:100%;background:#e0ac2e}.login-card{background:#fff;max-width:430px;margin:12vh auto;padding:30px 26px;border-radius:24px;box-shadow:0 10px 40px #304d3a12}.login-card h1{margin-top:24px}.login-card label,.field label{display:block;font-weight:700;margin:14px 0 5px}.login-card input,.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid #cbd6ce;border-radius:11px;background:#fff}.login-card button{width:100%;margin-top:20px}.error{color:#a0392e}.success{color:#177452}.loading{text-align:center;margin-top:30vh}.lesson p{white-space:pre-wrap}.lesson img{max-width:100%;border-radius:12px}.hint{background:#fff8de;border:1px solid #f0d985;color:#674f1b;border-radius:14px;padding:12px;margin:10px 0}.answer-box{min-height:170px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.footer-note{font-size:12px;color:#829087;margin-top:24px;text-align:center}.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:15px}.tabs button{white-space:nowrap}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table td,.data-table th{padding:8px;border-bottom:1px solid #e5ebe4;text-align:left}.back{background:transparent;color:#176b5d;padding:0}
@media(max-width:520px){.shell{padding:14px 12px 35px}.card{padding:16px}.hero{padding:20px}.grid{grid-template-columns:1fr 1fr}h1{font-size:26px}.action{align-items:flex-start;flex-direction:column}.action button{width:100%}}
.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.compact-label{display:block;font-weight:700;margin:8px 0;color:#3b4b43}.compact-label input,.compact-label select,.table-choice-row select{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid #cbd6ce;border-radius:9px;background:#fff;font-weight:400}.choice-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.choice{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd6ce;border-radius:11px;padding:8px 11px;background:#fff;cursor:pointer}.choice:has(input:checked),.choice.selected,.tabs button.selected{border-color:#176b5d;background:#dcefe6;color:#176b5d}.choice input{accent-color:#176b5d}.point-list{display:grid;gap:10px}.point-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #e5ebe4;border-radius:12px}.point-row .choice{padding:6px 9px}.field-title{display:block;font-weight:700;margin:12px 0 4px}.check{display:inline-flex;gap:5px;margin:4px 10px 4px 0}.group-box{border:1px solid #e5ebe4;border-radius:12px;margin:12px 0;padding:8px 12px}.group-box legend{font-weight:700;color:#176b5d}.constraint-row{display:grid;grid-template-columns:auto repeat(2,minmax(80px,1fr)) 70px minmax(80px,1fr) 34px;gap:7px;align-items:end;border-bottom:1px solid #e5ebe4;padding:8px 0}.constraint-no{font-size:13px;color:#68766e;padding-bottom:10px}.icon-button{background:#f7dfd9;color:#a0392e;padding:7px 10px}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.matrix-table{min-width:650px}.matrix-table input{width:78px;min-width:78px;padding:7px;border:1px solid #cbd6ce;border-radius:7px}.matrix-table select{min-width:82px;padding:7px;border:1px solid #cbd6ce;border-radius:7px;background:#fff}.matrix-table td,.matrix-table th{white-space:nowrap}.simplex-table{margin:16px 0}.table-choice-row{display:flex;gap:12px;flex-wrap:wrap}.table-choice-row label{font-size:13px;font-weight:700}.table-choice-row select{min-width:120px}.answer-form>.action{border-top:1px solid #e5ebe4;padding-top:14px}.flag-box{border-top:1px solid #e5ebe4;margin-top:18px;padding-top:12px}.flag-box input{max-width:420px}.short-box{min-height:90px;width:100%;display:block;padding:10px;border:1px solid #cbd6ce;border-radius:11px}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:20px}.markdown-body p{white-space:normal}.markdown-body table{min-width:420px}.markdown-body blockquote{margin:12px 0;padding:4px 14px;border-left:4px solid #e7b83d;background:#fff8de;color:#674f1b}.markdown-body code{background:#edf2ed;padding:2px 5px;border-radius:5px}.math-display{display:block;overflow-x:auto;padding:7px 0}.lesson-source{font-size:13px;color:#68766e;background:#f4f7f3;padding:8px 10px;border-radius:9px}.lesson-image{margin:14px 0}.lesson-image img{width:100%;max-height:520px;object-fit:contain;background:#f4f7f3;border-radius:12px}.lesson-image figcaption{font-size:12px;color:#829087;text-align:center}.reveal-value{background:#fff4d2;color:#674f1b;padding:4px 10px;border-radius:7px}.reveal-value.revealed{background:#dcefe6;color:#176b5d}.spot-tables td[data-spot-cell]{cursor:pointer}.spot-tables td[data-spot-cell]:hover{background:#fff4d2}.spot-selected{outline:3px solid #e7b83d;outline-offset:-3px}.error-card{display:block;width:100%;text-align:left;color:#25342e}.error-card:hover{box-shadow:0 5px 24px #304d3a22}.evidence-row{font-size:13px;border-top:1px solid #e5ebe4;padding-top:7px}
@media(max-width:520px){.constraint-row{grid-template-columns:1fr 1fr}.constraint-no{grid-column:1/-1}.point-row{align-items:flex-start;flex-direction:column}.choice-buttons{width:100%}.choice-buttons .choice{flex:1;justify-content:center}.top-actions button{padding:8px 10px}.matrix-table{font-size:12px}}
.error-cell{background:#f7dfd9!important;border-color:#a0392e!important;outline:2px solid #a0392e}
