: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);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.site-nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:min(1500px,calc(100% - 28px));margin:0 auto;padding:12px 0;background:#090d12e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wordmark{display:inline-flex;align-items:center;gap:9px;color:var(--text);font-size:1.02rem;font-weight:850;white-space:nowrap}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(100,210,208,.48);border-radius:8px;background:#0d2026;color:var(--accent);box-shadow:0 0 24px #64d2d01f}.logo-mark img{display:block;width:28px;height:28px;object-fit:contain}.nav-links{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.nav-links a{padding:9px 11px;border-radius:8px;color:#b5c4d1;font-size:.88rem;font-weight:750;transition:background .16s ease,color .16s ease}.nav-links a:hover{background:#121f2b;color:var(--text)}.nav-cta,.card-link-button,.back-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px;font-weight:850}.nav-cta{padding:9px 12px;background:var(--accent);color:#061014;white-space:nowrap}.study-page{width:min(1500px,100%);margin:0 auto;padding:18px}.compact-page{width:min(1180px,100%)}.hero-section,.page-hero,.placeholder-layout{border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,#64d2d01f,#bca3ff12 42%,#f0bb5814),#0b1219;box-shadow:0 20px 60px #00000047}.hero-section{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:28px;align-items:stretch;min-height:520px;padding:38px}.hero-copy,.page-hero,.placeholder-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-copy h1,.page-hero h1,.placeholder-copy h1{margin:0;max-width:840px;color:var(--text);font-size:3.75rem;line-height:1.02;letter-spacing:0;overflow-wrap:anywhere}.page-hero h1,.placeholder-copy h1{font-size:2.85rem}.hero-lede,.page-hero p,.placeholder-copy p{max-width:780px;margin:16px 0 0;color:#c5d3df;font-size:1.05rem;line-height:1.6}.hero-actions,.hero-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.large-button{min-height:46px;padding:12px 16px}.hero-metrics span,.difficulty-row span{display:inline-flex;align-items:center;gap:7px;min-height:31px;padding:7px 10px;border:1px solid rgba(100,210,208,.25);border-radius:8px;background:#0c161fdb;color:#b7f3ee;font-size:.8rem;font-weight:800}.hero-dashboard{display:grid;grid-template-rows:auto auto 1fr;gap:14px;min-width:0}.hero-logo-stage{display:flex;align-items:center;justify-content:center;min-height:190px;border:1px solid var(--border);border-radius:8px;background:radial-gradient(circle at 50% 45%,rgba(100,210,208,.16),transparent 58%),#0f1821e0;box-shadow:0 16px 42px #0003;overflow:hidden}.hero-logo-stage img{display:block;width:min(260px,72%);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 0 18px rgba(100,210,208,.18))}.radar-card,.radar-preview,.feature-card,.subject-card,.topic-card,.trainer-card,.seo-grid article{border:1px solid var(--border);border-radius:8px;background:#0f1821e0;box-shadow:0 16px 42px #0003}.radar-card{display:flex;align-items:center;gap:10px;padding:14px;color:#dff9f7;font-weight:850}.radar-card span{min-width:0;overflow-wrap:anywhere}.radar-card svg{color:var(--amber)}.radar-preview{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr);gap:18px;align-items:center;padding:24px;min-height:300px}.radar-shape{aspect-ratio:1;width:100%;max-width:260px;margin:0 auto;clip-path:polygon(50% 5%,94% 35%,78% 92%,22% 92%,6% 35%);background:linear-gradient(160deg,#64d2d0a3,#bca3ff6b),#14232e;box-shadow:inset 0 0 0 22px #090d1252}.radar-preview ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.radar-preview li{padding:9px 10px;border:1px solid rgba(151,168,184,.22);border-radius:8px;color:#d8e6ee;font-weight:760}.content-section{margin-top:18px}.section-intro{margin-bottom:14px}.section-intro.split{display:flex;align-items:end;justify-content:space-between;gap:14px}.section-intro h2{margin:0;color:var(--text);font-size:1.75rem;line-height:1.16;letter-spacing:0}.feature-grid,.subject-grid,.topic-grid,.trainer-grid,.seo-grid{display:grid;gap:14px}.feature-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-grid.one-up{grid-template-columns:minmax(0,1fr)}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-grid,.seo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.subject-card,.topic-card,.seo-grid article{padding:17px}.feature-card{display:grid;gap:10px}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;background:#11252b;color:var(--accent)}.feature-card h3,.subject-card h3,.topic-card h3,.trainer-card h3,.seo-grid h3{margin:0;color:var(--text);font-size:1.05rem;line-height:1.25;letter-spacing:0}.feature-card p,.subject-card p,.topic-card p,.trainer-card p,.seo-grid p{margin:8px 0 0;color:#aebfcd;line-height:1.48}.subject-card,.topic-card{display:flex;flex-direction:column;justify-content:space-between;min-height:220px}.card-link-button{align-self:flex-start;margin-top:18px;padding:9px 12px;background:#263746;color:var(--text);transition:transform .16s ease,filter .16s ease,background .16s ease}.card-link-button:hover{transform:translateY(-1px);filter:brightness(1.08)}.disabled-link,.disabled-link:hover{cursor:default;opacity:.68;transform:none;filter:none}.status-badge{display:inline-flex;align-items:center;align-self:flex-start;min-height:27px;padding:5px 9px;border:1px solid rgba(188,163,255,.34);border-radius:8px;background:#251f35;color:#d7c6ff;font-size:.75rem;font-weight:850}.status-badge.live{border-color:#64d2d06b;background:#10282e;color:#b7f3ee}.page-hero{min-height:330px;padding:34px}.topic-hero{min-height:390px}.trainer-card{display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;min-height:440px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.trainer-card:hover{transform:translateY(-2px);border-color:#64d2d085;box-shadow:0 20px 56px #00000047}.trainer-card-live{border-color:#f0bb5880}.trainer-card-body{display:grid;align-content:start;gap:11px;padding:15px}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.skill-tags,.difficulty-row{display:flex;flex-wrap:wrap;gap:7px}.skill-tags span{display:inline-flex;align-items:center;min-height:28px;padding:6px 9px;border-radius:8px;background:#211d12;color:#ffd88e;font-size:.77rem;font-weight:850}.skill-tags span:nth-child(2n){background:#251f35;color:#d7c6ff}.difficulty-row span{border-color:#97a8b838;color:#d5e4ec}.trainer-card>.card-link-button{align-self:end;margin:0 15px 15px}.mini-preview{min-height:158px;padding:14px;background:linear-gradient(180deg,#64d2d014,#bca3ff0f),#0a1118;border-bottom:1px solid var(--border)}.mini-preview svg{display:block;width:100%;height:140px}.mini-preview text{fill:#dce8f2;font-size:14px;font-weight:800}.mini-axis,.mini-grid,.mini-field,.mini-core{fill:none;stroke:#4a6273;stroke-width:3;stroke-linecap:round}.mini-grid{stroke-width:1.6;opacity:.52}.mini-wave,.mini-line{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.mini-loop,.mini-coil{fill:none;stroke:#bca3ff;stroke-width:5;stroke-linecap:round}.mini-arrow,.mini-arrow-line,.mini-pulse{fill:var(--amber);stroke:var(--amber);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.mini-magnet,.mini-panel,.mini-building,.mini-transformer,.mini-load,.mini-rotor{fill:#152333;stroke:#6f8aa0;stroke-width:3}.mini-magnet.north{fill:#20344a;stroke:#7aa5c0}.mini-magnet.south,.mini-load{fill:#2c2111;stroke:#d79c37}.mini-panel,.mini-transformer{fill:#10282e;stroke:var(--accent)}.mini-wire{fill:none;stroke:#8fa6b8;stroke-width:4;stroke-linecap:round;stroke-dasharray:6 8}.placeholder-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:22px;align-items:center;padding:34px}.placeholder-layout .mini-preview{border:1px solid var(--border);border-radius:8px}.back-link{align-self:flex-start;margin-bottom:16px;color:#b5c4d1}.question-type-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.question-type-list li{padding:13px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:#d7e2ea;font-weight:720}.trainer-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:min(1500px,100%);margin:0 auto;padding:2px 18px 0;color:#9eb0bf;font-size:.82rem;font-weight:750}.trainer-breadcrumb a{color:var(--accent)}.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}.practice-area>*{animation:surface-in .34s ease both}.practice-area>*:nth-child(2){animation-delay:.04s}.practice-area>*:nth-child(3){animation-delay:.08s}.practice-area.generating .question-card,.practice-area.generating .diagram-panel,.practice-area.generating .concept-visual-panel,.practice-area.generating .answer-section{animation:generate-in .42s ease both}.panel,.question-card,.diagram-panel,.concept-visual-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,.concept-visual-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}.score-focus{display:flex;align-items:center;gap:7px;margin:-1px 0 10px;padding:8px 9px;border:1px solid rgba(100,210,208,.24);border-radius:8px;background:#64d2d014;color:#b7f3ee;font-size:.78rem;font-weight:760}.score-focus svg{flex:0 0 auto}.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)}.concept-summary p{margin:0 0 12px;color:#c4d0da;line-height:1.45}.inline-back-link{margin:0 0 8px}.concept-answer-item{margin-top:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice-button{min-height:46px;padding:10px 11px;border:1px solid var(--border-strong);border-radius:8px;background:#0c1219;color:#dce8f2;text-align:left;font-weight:760;line-height:1.25;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.choice-button:hover{transform:translateY(-1px);border-color:#64d2d085;background:#111d27}.choice-button.selected{border-color:var(--accent);background:#64d2d024;box-shadow:0 0 0 3px #64d2d01a}.choice-button.correct-answer{border-color:#6bd98fb8;background:#6bd98f24;color:#dff8e6;animation:solved-pop .36s ease both}.choice-button.incorrect-answer{border-color:#ff7d70b8;background:#ff7d7021;color:#ffe1dd;animation:error-wiggle .34s ease both}.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}.type-pill.review-pill{max-width:260px;background:#231e14;color:#ffd994}.tolerance-pill{background:#182332;color:#b9cffb}.diagram-panel,.concept-visual-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}.concept-visual-panel svg{display:block;width:100%;height:auto;max-height:470px;margin-top:10px;border:1px solid var(--border);border-radius:8px;background:#0a1118}.concept-grid-line{fill:none;stroke:#243646;stroke-width:1.4}.concept-axis,.concept-bracket,.concept-line{fill:none;stroke:#7f99ad;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.concept-line{stroke:var(--accent);stroke-width:5;animation:trace-in .7s ease both}.concept-wave{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 12px rgba(100,210,208,.18));animation:trace-in .72s ease both}.concept-axis-label{fill:#cfe1ec;font-size:15px;font-weight:760;paint-order:stroke;stroke:#0a1118;stroke-width:5px;stroke-linejoin:round}.concept-axis-label.active{fill:var(--amber)}.concept-axis-label.solved{fill:var(--green)}.concept-axis-number{fill:#b9c9d6;font-size:12px;font-weight:760;paint-order:stroke;stroke:#0a1118;stroke-width:4px;stroke-linejoin:round}.concept-axis-number.muted{fill:#8398aa}.concept-axis-number.active{fill:var(--amber)}.concept-axis-number.solved{fill:var(--green)}.concept-reference-line,.concept-tick,.concept-peak-guide{fill:none;stroke:#97a8b894;stroke-width:2;stroke-linecap:round}.concept-reference-line{stroke-dasharray:7 8;opacity:.64}.concept-reference-line.active{stroke:var(--amber);opacity:.8}.concept-reference-line.solved{stroke:var(--green);opacity:.8}.concept-peak-guide{stroke-dasharray:5 7}.concept-peak-guide.active{stroke:var(--amber);opacity:.86}.concept-peak-guide.solved{stroke:var(--green);opacity:.86}.concept-tag rect{fill:#111b25;stroke:#557084;stroke-width:2;transition:stroke .18s ease,filter .18s ease,fill .18s ease}.concept-tag.known rect{fill:#13242a;stroke:#64d2d05c}.concept-tag.active rect{stroke:var(--amber);stroke-width:3;filter:drop-shadow(0 0 12px rgba(240,187,88,.25));animation:active-node-pulse 1.4s ease-in-out infinite}.concept-tag.solved rect{fill:#12261b;stroke:#6bd98fb8}.concept-tag-label{fill:#97a8b8;font-size:12px;font-weight:820;text-transform:uppercase}.concept-tag-value{fill:#e8eef5;font-size:14px;font-weight:820}.concept-tag.solved .concept-tag-value{fill:var(--green)}.concept-tag.active .concept-tag-value{fill:var(--amber)}.concept-field-line,.concept-normal,.concept-wire,.concept-motion,.concept-panel-grid{fill:none;stroke:#8fa6b8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.concept-field-line.animated,.concept-wire,.concept-motion{stroke-dasharray:8 10;animation:wire-flow 1.8s linear infinite}.concept-field-arrow,.concept-motion-arrow{fill:#8fa6b8}.concept-induced-line,.concept-current-loop{fill:none;stroke:#647c8f;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 10;opacity:.68}.concept-induced-line.active,.concept-current-loop.active{stroke:var(--amber);opacity:1;animation:wire-flow 1.8s linear infinite}.concept-induced-line.solved,.concept-current-loop.solved{stroke:var(--green);stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 10px rgba(107,217,143,.24));animation:trace-in .54s ease both}.concept-induced-arrow,.concept-current-arrow{fill:#647c8f}.concept-induced-arrow.active,.concept-current-arrow.active{fill:var(--amber)}.concept-induced-arrow.solved,.concept-current-loop.solved+.concept-axis-label,.concept-current-arrow.solved{fill:var(--green)}.concept-face-pole{fill:#111b25;stroke:#647c8f;stroke-width:3}.concept-face-pole.active{stroke:var(--amber);filter:drop-shadow(0 0 10px rgba(240,187,88,.26));animation:active-node-pulse 1.35s ease-in-out infinite}.concept-face-pole.solved{fill:#12261b;stroke:#6bd98fcc;animation:solved-pop .42s ease both}.concept-face-text{fill:#e8eef5;font-size:20px;font-weight:880}.concept-field-region{fill:#64d2d00f;stroke:#64d2d06b;stroke-width:3}.concept-page-field circle:first-child{fill:#0d1822;stroke:#8fa6b8;stroke-width:2}.concept-page-dot{fill:#b7f3ee;stroke:none}.concept-page-cross{fill:none;stroke:#b7f3ee;stroke-width:3;stroke-linecap:round}.concept-page-field.external{opacity:.86}.concept-page-field.active circle:first-child{stroke:var(--amber);filter:drop-shadow(0 0 10px rgba(240,187,88,.22))}.concept-page-field.active .concept-page-dot,.concept-page-field.active .concept-page-cross{fill:var(--amber);stroke:var(--amber)}.concept-page-field.solved circle:first-child{stroke:#6bd98fc7;filter:drop-shadow(0 0 10px rgba(107,217,143,.2))}.concept-page-field.solved .concept-page-dot,.concept-page-field.solved .concept-page-cross{fill:var(--green);stroke:var(--green)}.concept-loop-wire,.concept-loop{fill:#bca3ff14;stroke:#bca3ff;stroke-width:6}.concept-coil{fill:none;stroke:#bca3ff;stroke-width:6;stroke-linecap:round}.concept-coil.secondary{stroke:#d0bdff}.concept-device,.concept-core,.concept-rotor,.concept-panel,.concept-field-block,.concept-magnet{fill:#111b25;stroke:#557084;stroke-width:3}.concept-device{fill:#0e2228;stroke:#4fc5ce}.concept-device-text,.concept-magnet-text{fill:#e8eef5;font-size:20px;font-weight:860}.concept-magnet.north,.concept-field-block.north{fill:#142638;stroke:#7aa5c0}.concept-magnet.south,.concept-field-block.south{fill:#2c2111;stroke:#d79c37}.concept-core{fill:#273443;stroke:#5d7589}.concept-rotor{fill:#bca3ff29;stroke:#bca3ff}.concept-point,.concept-bar{fill:var(--accent);stroke:#b7f3ee;stroke-width:2}.concept-bar{fill:#64d2d075}.concept-panel{fill:#10282e;stroke:var(--accent)}.concept-panel-grid{stroke:#b7f3ee70;stroke-width:2.5}.concept-summary .skill-tags{margin-top:8px}.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;transition:stroke .2s ease,filter .2s ease}.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;filter:drop-shadow(0 0 12px rgba(240,187,88,.28));animation:active-node-pulse 1.4s ease-in-out infinite}.diagram-transformer rect{fill:#171426;stroke:#a991ee;stroke-width:2.5;transition:stroke .2s ease,filter .2s ease}.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;stroke-dasharray:7 9;animation:wire-flow 1.8s linear infinite}.wire-arrow{fill:#8fa6b8;animation:arrow-pulse 1.8s ease-in-out infinite}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);animation:active-label-pulse 1.25s ease-in-out infinite}.diagram-value.solved{fill:var(--green)}.diagram-value.just-solved{animation:solved-pop .72s ease both}.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);animation:answer-in .24s ease both}.answer-item-correct{border-color:#6bd98f85;background:#6bd98f17}.answer-item-incorrect{border-color:#ff7d7085;background:#ff7d7017}.answer-item-correct .answer-control input{border-color:#6bd98fc2}.answer-item-incorrect .answer-control input{border-color:#ff7d70c2}.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;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.progress-step.active{border-color:var(--amber);color:var(--amber);transform:translateY(-1px);animation:active-step-glow 1.35s ease-in-out infinite}.progress-step.done{border-color:#6bd98fa6;background:#6bd98f1f;color:var(--green);animation:step-done-pop .34s ease both}.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;animation:success-panel-in .44s ease both}.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;transition:transform .16s ease,filter .16s ease,background .16s ease}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.icon-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.ghost-button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(0) scale(.98)}.is-spinning .button-icon{animation:spin-once .42s ease both}.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-panel{animation:feedback-in .24s ease both}.feedback-panel.feedback-correct{animation:feedback-in .24s ease both,feedback-success-glow .68s ease both}.feedback-panel.feedback-incorrect{animation:feedback-in .24s ease both,feedback-error-glow .68s ease both}.answer-section.answer-correct{animation:answer-success .62s ease both}.answer-section.answer-incorrect{animation:answer-error .44s ease both}.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);animation:feedback-item-in .22s ease both}.feedback-item p{margin:4px 0 0;color:var(--muted)}.feedback-item.correct{background:#6bd98f1a;border-color:#6bd98f6b;color:var(--green);animation:solved-pop .42s ease both}.feedback-item.incorrect{background:#ff7d701a;border-color:#ff7d706b;color:var(--red);animation:error-wiggle .34s ease both}.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;animation:solved-pop .42s ease both}.inline-feedback.incorrect{border:1px solid rgba(255,125,112,.42);background:#ff7d701a;color:#ffe1dd;animation:error-wiggle .34s ease both}.inline-feedback span{color:#c4d0da}.inline-feedback .feedback-explanation{color:#edf5fb;font-weight:650;line-height:1.42}.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);animation:surface-in .28s ease both}.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}@keyframes surface-in{0%{opacity:1;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes generate-in{0%{opacity:1;transform:translateY(14px) scale(.985);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes answer-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes trace-in{0%{opacity:0;stroke-dasharray:20 14;stroke-dashoffset:120}to{opacity:1;stroke-dashoffset:0}}@keyframes spin-once{0%{transform:rotate(0)}to{transform:rotate(180deg)}}@keyframes wire-flow{to{stroke-dashoffset:-32}}@keyframes arrow-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes active-node-pulse{0%,to{filter:drop-shadow(0 0 8px rgba(240,187,88,.18))}50%{filter:drop-shadow(0 0 16px rgba(240,187,88,.38))}}@keyframes active-label-pulse{0%,to{opacity:.78}50%{opacity:1}}@keyframes solved-pop{0%{opacity:.2;transform:scale(.94);filter:drop-shadow(0 0 0 rgba(107,217,143,0))}55%{opacity:1;transform:scale(1.06);filter:drop-shadow(0 0 14px rgba(107,217,143,.45))}to{opacity:1;transform:scale(1);filter:drop-shadow(0 0 0 rgba(107,217,143,0))}}@keyframes active-step-glow{0%,to{box-shadow:0 0 #f0bb5800}50%{box-shadow:0 0 16px #f0bb5838}}@keyframes step-done-pop{0%{transform:scale(.88)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes success-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}65%{transform:translateY(0) scale(1.015)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes feedback-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes feedback-item-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes feedback-success-glow{0%,to{box-shadow:0 16px 40px #00000038}35%{box-shadow:0 0 0 1px #6bd98f52,0 0 28px #6bd98f24}}@keyframes feedback-error-glow{0%,to{box-shadow:0 16px 40px #00000038}35%{box-shadow:0 0 0 1px #ff7d7052,0 0 28px #ff7d7024}}@keyframes answer-success{0%,to{border-color:var(--border)}36%{border-color:#6bd98fb3;box-shadow:0 0 0 3px #6bd98f1f}}@keyframes answer-error{0%,to{border-color:var(--border);transform:translate(0)}18%{border-color:#ff7d70bf;transform:translate(-4px)}36%{transform:translate(4px)}54%{transform:translate(-2px)}72%{transform:translate(2px)}}@keyframes error-wiggle{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-1px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media(max-width:1180px){.feature-grid,.trainer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-section{grid-template-columns:1fr;min-height:0}}@media(max-width:1040px){.site-nav{grid-template-columns:auto auto}.nav-links{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.nav-cta{justify-self:end}.hero-copy h1,.page-hero h1,.placeholder-copy h1{font-size:2.65rem}.subject-grid,.seo-grid,.main-grid{grid-template-columns:1fr}.sidebar{position:static;max-height:none;overflow:visible}.header-action span{display:none}}@media(max-width:720px){.site-nav{width:calc(100vw - 20px);max-width:calc(100vw - 20px);gap:10px;overflow:hidden}.wordmark span:last-child{display:none}.nav-cta span{display:none}.study-page{width:100vw;max-width:100vw;padding:12px;overflow:hidden}.hero-section,.page-hero,.placeholder-layout{padding:22px;min-width:0;width:100%;max-width:100%;overflow:hidden}.hero-copy,.hero-dashboard{width:100%;max-width:calc(100vw - 72px)}.hero-copy h1,.page-hero h1,.placeholder-copy h1{font-size:2.08rem}.hero-lede,.page-hero p,.placeholder-copy p{font-size:.98rem;overflow-wrap:anywhere}.hero-actions,.hero-metrics{flex-direction:column;width:100%}.hero-actions .large-button{flex:1 1 auto;width:100%;min-width:0}.hero-metrics span{flex:1 1 auto;width:100%;min-width:0;justify-content:center;text-align:center}.radar-preview,.placeholder-layout,.topic-grid,.feature-grid,.trainer-grid,.choice-grid,.question-type-list{grid-template-columns:1fr}.section-intro.split{align-items:flex-start;flex-direction:column}.trainer-card{min-height:0}.app-shell{width:100vw;max-width:100vw;padding:12px;overflow:hidden}.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}.concept-visual-panel{padding:12px;overflow-x:hidden}.diagram-panel svg{min-width:900px}.concept-visual-panel svg{max-width:100%;min-width:0;max-height:none}}
