:root{--bg:#0b1020;--panel:#121b2e;--line:#293650;--text:#f3f5fb;--muted:#9aa8bf;--accent:#b3a0ff;--mint:#68e0c0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 65% -10%,#292752,transparent 50%),var(--bg);color:var(--text);font:14px/1.65 system-ui, sans-serif;display:grid;grid-template-columns:230px 1fr;min-height:100vh}a{color:inherit;text-decoration:none}aside{border-right:1px solid var(--line);padding:25px 17px;display:flex;flex-direction:column;gap:36px;background:#0b1120}.brand{font-weight:850;font-size:21px}.brand span{color:var(--accent)}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}nav{display:grid;gap:7px}nav a{padding:11px;border-radius:10px;color:var(--muted)}nav a:hover,nav a.active{background:#1d2641;color:var(--text);box-shadow:inset 3px 0 var(--accent)}.side-note{margin-top:auto;padding:16px;border:1px solid var(--line);border-radius:13px;color:var(--accent);font-size:17px;font-weight:750}main{padding:34px clamp(20px,5vw,65px);max-width:1450px;width:100%}header{padding:32px;border:1px solid #343858;border-radius:22px;background:linear-gradient(120deg,#171f3a,#242144);animation:rise .5s ease-out}.eyebrow{font:10px ui-monospace,monospace;letter-spacing:2px;color:var(--muted)}h1{font-size:clamp(30px,5vw,53px);letter-spacing:-2px;line-height:1.1;margin:18px 0}h1 em{font-style:normal;color:var(--accent)}h2{font-size:22px}.intro{max-width:600px;color:#b5c0d5}.btn{display:inline-block;margin-top:15px;padding:12px 17px;border-radius:10px;background:var(--accent);color:#18142a;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.stats article,.panel,.notice{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:20px}.stats small{display:block;color:var(--muted);font-size:10px}.stats b{font-size:29px;display:block;margin-top:8px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cards a{padding:16px;border:1px solid var(--line);border-radius:12px;background:#0e1728;transition:.2s}.cards a:hover{transform:translateY(-3px);border-color:var(--accent)}.cards b{color:var(--accent)}.cards p,.notice p{color:var(--muted);font-size:12px}.notice{margin-top:20px;border-color:#46416c}.notice a{color:var(--accent);font-weight:700;font-size:12px}.pagehead{margin:0 0 20px}.pagehead h1{font-size:35px;margin:8px 0}.search,select,input[type=number]{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0d1628;color:var(--text);margin:8px 0 15px}.subject-grid,.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.subject-card,.formula-card,.question,.progress-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px}.subject-card summary{cursor:pointer;font-weight:750}.subject-card p,.muted{color:var(--muted);font-size:12px}.topic{display:flex;gap:9px;align-items:start;padding:7px 0;color:#c8d2e3;font-size:12px}.topic input{accent-color:var(--accent);margin-top:4px}.topic input:checked+span{text-decoration:line-through;color:var(--muted)}.formula{font:17px ui-monospace,monospace;color:var(--accent);background:#211f3e;padding:14px;border-radius:10px;overflow-wrap:anywhere}.question{max-width:900px}.tag{display:inline-block;border:1px solid var(--line);padding:4px 8px;border-radius:6px;font:10px ui-monospace,monospace;color:var(--muted);margin:0 5px 10px 0}.option{display:flex;gap:10px;padding:12px;margin:8px 0;background:#0e1728;border:1px solid var(--line);border-radius:9px;cursor:pointer}.option:has(input:checked){border-color:var(--accent)}.option input{accent-color:var(--accent)}button{padding:11px 15px;border:0;border-radius:9px;background:var(--accent);color:#17132a;font-weight:800;cursor:pointer;margin:8px 6px 0 0}.feedback{padding:15px;margin-top:15px;border:1px solid #276a58;background:#102b28;border-radius:10px}.feedback.bad{border-color:#74445c;background:#2a1b29}.bar{height:8px;background:#29344a;border-radius:8px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--mint))}footer{margin-top:30px;color:#75829a;font-size:10px}@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@media(max-width:760px){body{grid-template-columns:1fr}aside{padding:13px;gap:10px;border-right:0;border-bottom:1px solid var(--line)}nav{display:flex;overflow-x:auto;gap:3px}nav a{white-space:nowrap;font-size:11px;padding:8px}.side-note{display:none}main{padding:18px 13px}.stats{grid-template-columns:repeat(2,1fr)}.cards,.subject-grid,.formula-grid{grid-template-columns:1fr}header{padding:23px}}

/* Study library + persistent theme */
.study-controls,.lesson-list,.lesson-content{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:16px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-row label{color:var(--muted);font-size:12px}.filter-row select{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);margin:5px 0}.study-layout{display:grid;grid-template-columns:minmax(230px, .8fr) minmax(0,2fr);gap:14px;margin-top:16px;align-items:start}.lesson-list{display:grid;gap:8px;max-height:75vh;overflow:auto;position:sticky;top:10px}.lesson-link{display:grid;text-align:left;background:transparent;color:var(--text);border:1px solid var(--line);padding:11px;margin:0;gap:4px}.lesson-link small,.lesson-link span{font-size:10px;color:var(--muted);font-weight:400}.lesson-link b{font-size:12px}.lesson-link.chosen{border-color:var(--accent);background:#292442}.lesson-content{min-height:500px;padding:clamp(16px,3vw,30px)}.lesson-content h2{font-size:clamp(23px,3vw,34px);line-height:1.2;margin:10px 0}.lesson-kicker{font:10px ui-monospace,monospace;color:var(--accent);letter-spacing:1px}.lesson-meta{margin-bottom:18px}.lesson-block{border:1px solid var(--line);border-radius:12px;padding:15px;margin:12px 0;background:#0e1728}.lesson-block h3{margin:0 0 7px;font-size:14px}.lesson-block p{margin:0;color:#c5d0e2;line-height:1.8;white-space:normal}.important-block{border-left:4px solid #c6a7ff}.important-block h3{color:#d5c5ff}.example-block{border-left:4px solid #68e0c0}.example-block h3{color:#68e0c0}.trap-block{border-left:4px solid #ffad8c}.trap-block h3{color:#ffad8c}.tip-block{border-left:4px solid #7fc8ff}.tip-block h3{color:#7fc8ff}.diagram{white-space:pre-wrap;overflow:auto;background:#171d31;color:#b9f4df;padding:16px;border-radius:9px;font:12px/1.8 ui-monospace,monospace}.lesson-actions{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.secondary-btn{background:#293650;color:var(--text)}.theme-toggle{position:fixed;right:18px;top:15px;z-index:1000;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:99px;padding:9px 13px;box-shadow:0 6px 22px #0002}.formula-block .formula{overflow:auto}body[data-theme="light"]{--bg:#f5f7fc;--panel:#ffffff;--line:#d8deeb;--text:#182238;--muted:#596780;--accent:#5b45bf;--mint:#087f68;background:var(--bg);color:var(--text)}body[data-theme="light"] aside{background:#edf0f8}body[data-theme="light"] nav a:hover,body[data-theme="light"] nav a.active{background:#dfe4f5;color:#182238}body[data-theme="light"] header{background:linear-gradient(120deg,#eef0ff,#e9e7ff);border-color:#d3d5ef}body[data-theme="light"] .stats article,body[data-theme="light"] .panel,body[data-theme="light"] .notice,body[data-theme="light"] .subject-card,body[data-theme="light"] .formula-card,body[data-theme="light"] .question,body[data-theme="light"] .progress-card,body[data-theme="light"] .study-controls,body[data-theme="light"] .lesson-list,body[data-theme="light"] .lesson-content{background:#fff}body[data-theme="light"] .cards a,body[data-theme="light"] .search,body[data-theme="light"] select,body[data-theme="light"] input[type=number],body[data-theme="light"] .lesson-block,body[data-theme="light"] .option{background:#f5f7fc;color:#182238}body[data-theme="light"] .lesson-block p{color:#35435a}body[data-theme="light"] .formula{background:#eeeaff;color:#49369d}body[data-theme="light"] .diagram{background:#e9eef7;color:#175849}body[data-theme="light"] .lesson-link{color:#182238}body[data-theme="light"] .lesson-link.chosen{background:#eeeaff}body[data-theme="light"] .secondary-btn{background:#dfe4f5;color:#182238}
@media(max-width:850px){.study-layout{grid-template-columns:1fr}.lesson-list{position:static;max-height:300px}.filter-row{grid-template-columns:1fr}.theme-toggle{top:8px;right:8px;padding:7px 10px}}

.exam-playbook{margin:18px 0;padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.exam-playbook h2{margin:6px 0}.exam-playbook>div:first-child p{color:var(--muted);font-size:12px}.playbook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.playbook-grid article{border:1px solid var(--line);border-radius:10px;padding:13px;background:#0e1728}.playbook-grid b{color:var(--accent);font-size:12px}.playbook-grid p{font-size:12px;color:var(--muted);margin-bottom:0}body[data-theme="light"] .playbook-grid article{background:#f5f7fc}@media(max-width:850px){.playbook-grid{grid-template-columns:1fr}}

/* Enhanced learning studio: animated concept flow, stepper and progress */
.learning-path{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;margin:18px 0;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,var(--panel),#28213d)}.learning-path h2{margin:6px 0;font-size:20px}.learning-path p{color:var(--muted);font-size:12px;margin:0}.path-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.path-steps span{border:1px solid var(--line);border-radius:99px;padding:8px 10px;font-size:11px}.path-steps i{color:var(--accent);font-style:normal}.lesson-list{padding:12px}.lesson-list-head{display:flex;justify-content:space-between;gap:6px;align-items:center;padding:6px 4px 12px;font-size:12px}.lesson-list-head span{color:var(--muted);font-size:10px}.lesson-list-items{display:grid;gap:8px;max-height:68vh;overflow:auto}.lesson-intro{padding:14px;border-radius:12px;background:linear-gradient(120deg,#25203b,#172b3d);border:1px solid var(--line);margin:14px 0}.lesson-intro b{color:#d6c7ff}.lesson-intro p{margin:6px 0 0;color:#d1d9e9;line-height:1.7}.animated-flow{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr;align-items:center;gap:5px;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.flow-node{min-height:90px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,#282044,#142b3b);animation:flowRise .55s both;animation-delay:calc(var(--delay)*.13s)}.flow-node small{font-size:9px;color:#a6e9d8;letter-spacing:1px}.flow-node b{font-size:11px;line-height:1.45;color:#f4f5ff}.flow-arrow{text-align:center;color:#bca7ff;font-size:22px;animation:arrowPulse 1.7s infinite}.worked-steps{border-color:#6c60a9}.step-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.step-head h3{margin:0}.step-head span{font-size:11px;color:var(--muted)}.step-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.step-controls button{padding:8px 12px}.step-dots{display:flex;gap:7px}.step-dot{width:10px;height:10px;min-width:10px;padding:0!important;border-radius:50%;background:#47516a}.step-dot.current{background:#bda8ff;box-shadow:0 0 0 4px #bda8ff30}.self-check{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:14px 0;padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.self-check h3{margin:6px 0}.self-check p,.self-check li{font-size:12px;line-height:1.7;color:var(--muted)}.self-check summary{cursor:pointer;color:var(--accent);font-size:12px}.resource-note{font-size:11px;color:var(--muted);padding:12px 0}.resource-note a{color:var(--accent)}@keyframes flowRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes arrowPulse{0%,100%{opacity:.55;transform:translateY(-2px)}50%{opacity:1;transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.flow-node,.flow-arrow{animation:none}}body[data-theme="light"] .learning-path{background:linear-gradient(120deg,#fff,#eae7ff)}body[data-theme="light"] .lesson-intro{background:linear-gradient(120deg,#efebff,#eaf6fb)}body[data-theme="light"] .lesson-intro p{color:#33415a}body[data-theme="light"] .lesson-intro b{color:#5742aa}body[data-theme="light"] .flow-node{background:linear-gradient(145deg,#e9e5ff,#e5f5f2)}body[data-theme="light"] .flow-node b{color:#182238}body[data-theme="light"] .flow-node small{color:#176a58}@media(max-width:850px){.learning-path{display:block}.path-steps{margin-top:14px}.animated-flow{grid-template-columns:1fr 20px 1fr;}.flow-node{min-height:75px}.flow-arrow:nth-of-type(4){display:none}.self-check{grid-template-columns:1fr}}@media(max-width:480px){.animated-flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(0deg)}.flow-node{min-height:auto}.path-steps{gap:4px}.path-steps span{padding:6px;font-size:10px}}
