:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#090d12;color:#e8eef5;font-synthesis:none;text-rendering:optimizeLegibility;--page: #090d12;--panel: #101821;--panel-2: #141f2a;--panel-3: #192532;--border: #2b3a48;--border-strong: #3f5264;--text: #e8eef5;--muted: #97a8b8;--accent: #64d2d0;--accent-strong: #39aeb4;--green: #6bd98f;--red: #ff7d70;--amber: #f0bb58;--purple: #bca3ff}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--page)}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{width:min(1500px,100%);margin:0 auto;padding:18px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 0 16px}.app-header h1,h2{margin:0;letter-spacing:0}.app-header h1{font-size:clamp(1.85rem,3vw,3rem);line-height:1.04;max-width:780px}h2{font-size:1.05rem;line-height:1.25}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.main-grid{display:grid;grid-template-columns:minmax(286px,332px) minmax(0,1fr);gap:16px;align-items:start}.sidebar{position:sticky;top:12px;display:grid;gap:12px;max-height:calc(100vh - 24px);overflow-y:auto;padding-right:2px}.practice-area{display:grid;gap:12px}.panel,.question-card,.diagram-panel,.answer-section,.feedback-panel,.worked-solution{border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 16px 40px #00000038}.panel,.question-card,.diagram-panel,.answer-section,.feedback-panel,.worked-solution{padding:15px}.panel-heading,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title-row.compact{align-items:flex-start}.panel-heading{justify-content:flex-start;margin-bottom:12px;color:var(--text)}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.score-grid div{min-width:0;padding:10px 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.score-grid span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:4px}.score-grid strong{display:block;color:var(--text);font-size:1rem}.field,.answer-item{display:grid;gap:7px;color:var(--text);font-size:.88rem;font-weight:650}.field+.field,.toggle-stack,.ratio-grid,.segmented-control,.two-col{margin-top:12px}.field input,.field select,.answer-control input{width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:8px;padding:9px 11px;color:var(--text);background:#0c1219;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.field input:focus,.field select:focus,.answer-control input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #64d2d029}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--border-strong);border-radius:8px}.segmented-control button{min-height:38px;background:#0c1219;color:var(--muted);border-right:1px solid var(--border)}.segmented-control button:last-child{border-right:0}.segmented-control .active{background:var(--accent-strong);color:#061014}.control-label{margin:14px 0 8px;color:var(--text);font-size:.88rem;font-weight:750}.ratio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ratio-chip{display:flex;align-items:center;justify-content:center;gap:5px;min-height:33px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);font-size:.8rem;font-weight:700}.ratio-chip input{margin:0;accent-color:var(--accent)}.toggle-stack{display:grid;gap:9px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-size:.86rem}.toggle-row input{width:38px;height:20px;accent-color:var(--accent)}.question-text{margin:13px 0;color:#d7e2ea;line-height:1.48}.known-values{display:flex;flex-wrap:wrap;gap:8px}.known-values div,.type-pill,.tolerance-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border-radius:8px;background:#13242a;color:#b7f3ee;font-size:.82rem;font-weight:700}.progress-known{background:#211d12!important;color:#ffd88e!important}.marks-known{background:#17251b!important;color:#bdf1c9!important}.pill-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.type-pill{background:#251f35;color:#d7c6ff}.type-pill.muted{background:#1c2630;color:#b8c8d5}.tolerance-pill{background:#182332;color:#b9cffb}.diagram-panel{overflow:hidden}.diagram-panel svg{display:block;width:100%;height:auto;max-height:410px;margin-top:10px;border:1px solid var(--border);border-radius:8px;background:#0a1118}.diagram-node-title{fill:#dce8f2;font-size:17px;font-weight:760}.diagram-node-line{fill:#e8eef5;font-size:15px;font-weight:680}.diagram-node rect{fill:#101923;stroke:#557084;stroke-width:2.5}.supply-box rect{fill:#111b25;stroke:#7aa5c0}.load-box rect{fill:#1e1b13;stroke:#d79c37}.line-resistance rect{fill:#0e2228;stroke:#4fc5ce}.line-resistance.active rect,.diagram-transformer.active rect{stroke:var(--amber);stroke-width:4}.diagram-transformer rect{fill:#171426;stroke:#a991ee;stroke-width:2.5}.diagram-transformer path{fill:none;stroke:#bca3ff;stroke-width:4;stroke-linecap:round}.diagram-ratio{fill:#d9ccff;font-size:17px;font-weight:800}.wire{fill:none;stroke:#8fa6b8;stroke-width:4;stroke-linecap:round}.wire-arrow{fill:#8fa6b8}marker polygon{fill:#8fa6b8}.diagram-value{fill:#dce8f2;font-size:16px;font-weight:760;paint-order:stroke;stroke:#0a1118;stroke-width:7px;stroke-linejoin:round}.diagram-value.active{fill:var(--amber)}.diagram-value.solved{fill:var(--green)}.answer-list{display:grid;gap:12px;margin-top:14px}.answer-item{margin-top:12px;padding:13px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.answer-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text)}.mark-badge{flex:0 0 auto;padding:4px 8px;border:1px solid rgba(107,217,143,.42);border-radius:8px;background:#6bd98f1a;color:var(--green);font-size:.76rem;font-weight:800}.answer-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.answer-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.unit-tag{min-width:58px;padding:10px 9px;border-radius:8px;background:#202b36;color:#c8d5df;text-align:center;font-weight:750}.hint{color:var(--muted);font-size:.82rem;font-weight:500;line-height:1.4}.part-progress{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.progress-step{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:#0c1219;color:var(--muted);font-weight:800}.progress-step.active{border-color:var(--amber);color:var(--amber)}.progress-step.done{border-color:#6bd98fa6;background:#6bd98f1f;color:var(--green)}.complete-message{display:grid;gap:5px;margin-top:12px;padding:13px;border:1px solid rgba(107,217,143,.45);border-radius:8px;background:#6bd98f1a;color:#dff8e6}.complete-message span{color:#acd6ba}.action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.primary-button,.secondary-button,.ghost-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;border-radius:8px;padding:9px 13px;font-weight:800}.primary-button{background:var(--accent);color:#061014}.secondary-button{background:#263746;color:var(--text)}.ghost-button{border:1px solid var(--border-strong);background:transparent;color:#d5e1ea}.icon-button{background:var(--accent);color:#061014;white-space:nowrap}.full-width{width:100%}.feedback-list{display:grid;gap:8px;margin-top:10px}.feedback-list.compact-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.feedback-item{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2)}.feedback-item p{margin:4px 0 0;color:var(--muted)}.feedback-item.correct{background:#6bd98f1a;border-color:#6bd98f6b;color:var(--green)}.feedback-item.incorrect{background:#ff7d701a;border-color:#ff7d706b;color:var(--red)}.feedback-item.pending{color:var(--muted)}.inline-feedback{display:grid;gap:5px;margin-top:12px;padding:12px;border-radius:8px}.inline-feedback.correct{border:1px solid rgba(107,217,143,.42);background:#6bd98f1a;color:#dff8e6}.inline-feedback.incorrect{border:1px solid rgba(255,125,112,.42);background:#ff7d701a;color:#ffe1dd}.inline-feedback span{color:#c4d0da}.worked-solution ol{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.worked-solution li{display:grid;gap:7px;padding:13px;border-left:4px solid var(--accent);border-radius:8px;background:var(--panel-2)}.worked-solution code{display:block;overflow-x:auto;padding:8px 10px;border-radius:8px;background:#080c11;color:#dce8f2;font-size:.88rem}.worked-solution span{color:#c4d0da;line-height:1.45}@media(max-width:1040px){.main-grid{grid-template-columns:1fr}.sidebar{position:static;max-height:none;overflow:visible}.header-action span{display:none}}@media(max-width:720px){.app-shell{padding:12px}.app-header{align-items:flex-start}.app-header h1{font-size:1.85rem}.section-title-row{align-items:flex-start;flex-direction:column}.two-col{grid-template-columns:1fr}.ratio-grid{grid-template-columns:repeat(2,1fr)}.score-grid,.answer-control{grid-template-columns:1fr}.unit-tag{min-width:0;text-align:left}.diagram-panel{padding:12px;overflow-x:auto}.diagram-panel svg{min-width:900px}}
