:root{--bg:#f4f6f8;--surface:#fff;--surface2:#f0f2f5;--text:#111827;--muted:#697386;--line:#e3e7ed;--accent:#6b4eff;--accent-soft:#eeeaff;--ok:#118560;--bad:#c43f4b;--warn:#b16b09;--navy:#0f172a;--shadow:0 18px 55px rgba(15,23,42,.07)}
[data-theme="dark"]{--bg:#0b0f16;--surface:#121823;--surface2:#1a2230;--text:#f6f8fb;--muted:#9ca8b8;--line:#273244;--accent:#9a85ff;--accent-soft:#26213f;--navy:#f7f8fb;--shadow:0 20px 60px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Vazirmatn,"Segoe UI",Tahoma,sans-serif;line-height:1.9}button,textarea{font:inherit}.boot-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:6px;background:var(--bg)}.boot-mark{font:700 82px Georgia;color:var(--accent);line-height:1}.boot-screen strong{font-size:26px}.boot-screen span{color:var(--muted);font-size:13px}.app-shell{display:grid;grid-template-columns:272px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--surface);border-left:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:20px;z-index:20}.brand{border:0;background:none;color:var(--text);display:flex;align-items:center;gap:11px;text-align:right;cursor:pointer;padding:0}.brand-mark{width:43px;height:43px;border-radius:14px;background:var(--navy);color:var(--surface);display:grid;place-items:center;font:700 25px Georgia}.brand strong,.brand small{display:block}.brand strong{font-size:18px}.brand small{font-size:10px;color:var(--muted)}.course-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--accent-soft),var(--surface2))}.course-card>small{color:var(--muted);font-size:10px}.course-card h2{margin:0;font-size:27px}.course-card p{margin:0;color:var(--muted);font-size:11px}.progress-track{height:6px;background:var(--surface);border-radius:99px;margin:14px 0 4px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--accent);border-radius:99px}.chapter-list{display:grid;gap:6px}.nav-label{font-size:10px;color:var(--muted);padding:0 8px}.chapter-link{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center;border:0;background:transparent;color:var(--text);padding:9px;border-radius:12px;text-align:right;cursor:pointer}.chapter-link:hover,.chapter-link.active{background:var(--surface2)}.chapter-link.locked{opacity:.42;cursor:not-allowed}.chapter-no{font:700 12px ui-monospace,monospace;color:var(--accent)}.chapter-link b,.chapter-link small{display:block}.chapter-link b{font-size:11px}.chapter-link small{font-size:9px;color:var(--muted)}.sidebar-foot{margin-top:auto;color:var(--muted);font-size:10px}.sidebar-foot small{display:block;margin-top:4px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-left:5px}.main-area{min-width:0}.topbar{height:72px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 28px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(15px)}.mobile-title{display:flex;gap:7px;align-items:baseline}.mobile-title span{color:var(--muted);font-size:11px}.mode-switch{display:flex;gap:4px;background:var(--surface2);padding:4px;border-radius:13px}.mode-btn{border:0;background:transparent;color:var(--muted);padding:8px 11px;border-radius:10px;cursor:pointer;display:flex;gap:6px;align-items:center;font-size:11px}.mode-btn.active{background:var(--surface);color:var(--text);box-shadow:0 5px 14px rgba(0,0,0,.06)}.top-tools{display:flex;gap:7px}.top-tools button,.study-actions button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 11px;border-radius:11px;cursor:pointer}.dashboard-page,.study-page{max-width:1440px;margin:auto;padding:32px}.dashboard-hero{min-height:360px;background:#0f172a;color:#fff;border-radius:30px;padding:45px;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;overflow:hidden}.dashboard-hero h1{font-size:clamp(34px,5vw,64px);line-height:1.3;margin:10px 0;max-width:850px}.dashboard-hero h1 em{font-style:normal;color:#a995ff}.dashboard-hero p{color:#b8c0cf;max-width:700px}.kicker{font-size:10px;font-weight:800;color:#a995ff}.hero-btn,.primary-btn{border:0;border-radius:12px;background:#fff;color:#0f172a;padding:11px 17px;font-weight:800;cursor:pointer}.hero-math{position:relative;height:260px;display:grid;place-items:center}.hero-math span{font:700 190px Georgia;color:#866cff}.hero-math i,.hero-math b{position:absolute;font-family:Georgia}.hero-math i{top:28px;left:30px;font-size:26px}.hero-math b{bottom:30px;right:15px;font-size:23px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.metric,.dash-panel,.panel-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.metric{padding:19px;border-radius:18px}.metric small,.metric span{display:block;color:var(--muted);font-size:10px}.metric b{font-size:29px}.dashboard-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:14px;margin-top:14px}.dash-panel{border-radius:19px;padding:20px}.panel-title span,.panel-title b{display:block}.panel-title span{font-size:10px;color:var(--accent)}.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.roadmap>div{padding:13px;border-radius:13px;background:var(--surface2)}.roadmap span{font:700 10px monospace;color:var(--accent)}.roadmap b,.roadmap small{display:block}.roadmap b{font-size:11px}.roadmap small{font-size:9px;color:var(--muted)}.weak-row{display:flex;justify-content:space-between;padding:10px 12px;background:var(--surface2);border-radius:11px;margin-top:8px;font-size:11px}.weak-row span{color:var(--bad)}.empty-panel{padding:28px 4px;color:var(--muted);font-size:11px}.study-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.study-heading h1{font-size:38px;margin:4px 0 0;line-height:1.4}.study-heading p{margin:0;color:var(--muted);font-size:11px}.study-actions{display:flex;gap:7px}.study-actions button.active{border-color:var(--accent);color:var(--accent)}.study-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px}.panel-card{border-radius:20px}.section-nav{height:max-content;position:sticky;top:90px;padding:12px}.section-nav>b{font-size:11px;padding:8px;display:block}.section-nav>button{width:100%;border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:29px 1fr;gap:8px;align-items:center;text-align:right;padding:9px;border-radius:11px;cursor:pointer}.section-nav>button.active,.section-nav>button:hover{background:var(--surface2)}.section-nav>button>span{font:700 10px monospace;color:var(--accent)}.section-nav b,.section-nav small{display:block}.section-nav b{font-size:10px}.section-nav small{font-size:8px;color:var(--muted)}.section-nav hr{border:0;border-top:1px solid var(--line);margin:8px}.lesson-panel{padding:34px;min-height:720px}.lesson-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.lesson-meta>span,.content-intro>span{font-size:10px;font-weight:800;color:var(--accent)}.mode-badge{font-size:9px;background:var(--accent-soft);color:var(--accent);padding:5px 9px;border-radius:99px}.score-summary{padding:16px 18px;border-radius:15px;background:color-mix(in srgb,#f2ae36 12%,var(--surface));border:1px solid color-mix(in srgb,#f2ae36 35%,var(--line));margin-bottom:18px}.score-summary b{font-size:12px}.score-summary p{margin:4px 0 0;font-size:12px}.lesson-p{font-size:15px;max-width:900px;color:color-mix(in srgb,var(--text) 82%,var(--muted));margin:0 0 22px}.formula-card{margin:20px 0;padding:18px;border-radius:16px;background:var(--surface2);border:1px solid var(--line);text-align:center}.formula-text{font:500 21px Georgia,"Times New Roman",serif;direction:ltr}.formula-card small{display:block;margin-top:5px;color:var(--muted);font-size:10px;direction:rtl}.info-box{padding:17px 19px;border:1px solid var(--line);border-radius:15px;margin:18px 0;background:var(--surface2)}.info-box b{font-size:12px}.info-box p{margin:5px 0 0;font-size:12px}.info-box.deep{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.info-box.deep b{color:var(--accent)}.info-box.exam{background:color-mix(in srgb,#f2ae36 10%,var(--surface));border-color:color-mix(in srgb,#f2ae36 35%,var(--line))}.steps-block{margin:24px 0}.steps-block h4{margin:0 0 10px;font-size:13px}.step{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;background:var(--surface2);border-radius:13px;padding:11px;margin:7px 0}.step>span{width:28px;height:28px;border-radius:9px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.step p{margin:0;font-size:11px}.example-card{border:1px solid var(--line);border-right:3px solid var(--accent);border-radius:16px;padding:18px;margin:20px 0}.example-top{display:flex;justify-content:space-between;align-items:center}.example-top span{font-size:9px;color:var(--accent);font-weight:800}.example-top b{font-size:12px}.example-prompt{font-size:13px;margin:13px 0}.hint,.solution{border-radius:12px;padding:12px 14px;margin:9px 0;background:var(--surface2)}.hint b,.solution b{font-size:10px;color:var(--accent)}.hint p,.solution p{margin:4px 0 0;font-size:11px}.solution p{font:500 15px Georgia,serif;direction:ltr;text-align:left}.reveal-row button,.checkpoint button,.lesson-footer-actions button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 12px;border-radius:10px;cursor:pointer;font-size:10px}.mistakes{margin:20px 0;padding:16px;border:1px solid color-mix(in srgb,var(--bad) 30%,var(--line));background:color-mix(in srgb,var(--bad) 7%,var(--surface));border-radius:15px}.mistakes>b{display:block;color:var(--bad);font-size:11px;margin-bottom:6px}.mistakes div{font-size:11px}.checkpoint{padding:17px;border-radius:15px;border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line));margin:20px 0}.checkpoint>b{color:var(--accent);font-size:11px}.checkpoint p{font-size:12px}.check-answer{margin-top:9px;padding:10px;background:var(--surface2);border-radius:10px;font-size:11px}.table-wrap{overflow:auto;margin:20px 0;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:right}th{background:var(--surface2);font-size:10px}.lesson-footer-actions{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px}.lesson-footer-actions>div{display:flex;gap:6px}.complete.done{border-color:var(--ok);color:var(--ok)}.content-intro{margin-bottom:20px}.content-intro h2{font-size:29px;margin:3px 0}.content-intro p{color:var(--muted);font-size:12px}.quiz-stack,.exam-area{display:grid;gap:12px}.quiz-card{padding:18px;border:1px solid var(--line);border-radius:15px}.question-no{font-size:9px;color:var(--accent);font-weight:800}.quiz-card h3{font-size:13px;margin:6px 0 13px}.options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.options button{border:1px solid var(--line);background:var(--surface2);color:var(--text);padding:10px;border-radius:10px;text-align:right;cursor:pointer;font-size:11px}.options button.selected{border-color:var(--accent);background:var(--accent-soft)}.options button.correct{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--surface))}.options button.wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,var(--surface))}.quiz-feedback{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--surface2);font-size:10px}.quiz-feedback b,.quiz-feedback span{display:block}.quiz-feedback.ok b{color:var(--ok)}.quiz-feedback.bad b{color:var(--bad)}.exam-banner{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:var(--surface);padding:17px;border-radius:15px}.exam-banner b,.exam-banner span{display:block}.exam-banner span{font-size:9px;opacity:.7}.exam-banner strong{font-size:20px}.primary-btn{background:var(--accent);color:#fff;width:max-content}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.result-card{padding:17px;background:color-mix(in srgb,var(--ok) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--ok) 30%,var(--line));border-radius:14px}.result-card b,.result-card span{display:block}.result-card span{font-size:11px;margin-top:4px}.notes-area{width:100%;min-height:360px;resize:vertical;border:1px solid var(--line);border-radius:14px;background:var(--surface2);color:var(--text);padding:16px;outline:none}.notes-area:focus{border-color:var(--accent)}.save-hint{color:var(--muted);font-size:9px}.lesson-blocks{max-width:980px}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.study-grid{grid-template-columns:1fr}.section-nav{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.section-nav>b,.section-nav hr{grid-column:1/-1}.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{grid-template-columns:1fr}.hero-math{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.dashboard-page,.study-page{padding:15px}.topbar{height:auto;min-height:68px;padding:10px 14px;flex-wrap:wrap}.mobile-title{order:1}.mode-switch{order:3;width:100%;overflow:auto}.top-tools{order:2}.mode-btn{flex:1;justify-content:center;white-space:nowrap}.dashboard-hero{padding:26px;border-radius:22px;min-height:330px}.dashboard-hero h1{font-size:35px}.metric-grid{grid-template-columns:1fr 1fr}.roadmap{grid-template-columns:1fr 1fr}.study-heading h1{font-size:27px}.study-actions{display:none}.section-nav{grid-template-columns:1fr 1fr}.lesson-panel{padding:19px}.options{grid-template-columns:1fr}.lesson-footer-actions{flex-direction:column}.lesson-footer-actions>div{justify-content:space-between}.formula-text{font-size:17px}.dashboard-grid{display:block}.dash-panel{margin-top:12px}}

/* v0.3 — richer lesson architecture */
.lesson-subheading{margin:34px 0 16px;padding-top:8px;border-top:1px solid var(--line)}.lesson-subheading span{font-size:9px;font-weight:900;color:var(--accent)}.lesson-subheading h3{font-size:22px;line-height:1.5;margin:4px 0}.lesson-subheading p{margin:3px 0 0;color:var(--muted);font-size:11px;max-width:860px}.solution-plan,.answer-check{border-radius:12px;padding:12px 14px;margin:9px 0;background:color-mix(in srgb,var(--accent) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line))}.solution-plan b,.answer-check b{font-size:10px;color:var(--accent)}.solution-plan p,.answer-check p{margin:4px 0 0;font-size:11px}.solution ol{margin:8px 0 0;padding-left:24px;direction:ltr;text-align:left}.solution li{padding:4px 0;font:500 14px Georgia,"Times New Roman",serif}.final-answer{margin-top:10px;padding:10px 12px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font:700 15px Georgia,serif;text-align:left}.reveal-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reveal-row small{font-size:9px;color:var(--muted)}.derivation-card{padding:18px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));margin:20px 0}.derivation-card>div:first-child span{display:block;color:var(--accent);font-size:9px;font-weight:900}.derivation-card>div:first-child b{display:block;font-size:12px;margin-top:2px}.derivation-card>div:first-child p{font-size:11px;color:var(--muted);margin:3px 0 9px}.derivation-card>button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:7px 10px;font-size:9px;cursor:pointer}.derivation-body{margin-top:12px;display:grid;gap:7px}.derive-step{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;background:var(--surface);border-radius:10px;padding:10px}.derive-step > .derive-no{width:24px;height:24px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:9px;font-weight:900}.derive-step p{margin:0;font-size:11px}.decision-block{margin:25px 0}.decision-head span{color:var(--accent);font-size:9px;font-weight:900}.decision-head h4{font-size:17px;margin:2px 0 10px}.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.decision-card{padding:14px;border:1px solid var(--line);background:var(--surface2);border-radius:13px}.decision-card b{font-size:11px}.decision-card p{font-size:10px;margin:3px 0}.decision-card small{display:block;font:500 12px Georgia,serif;color:var(--muted);text-align:left}.quick-drill{margin:24px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.quick-drill-head{padding:15px 17px;background:var(--surface2)}.quick-drill-head span{font-size:9px;color:var(--accent);font-weight:900}.quick-drill-head h4{font-size:14px;margin:1px 0}.quick-drill-head p{font-size:10px;color:var(--muted);margin:2px 0}.drill-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 15px;border-top:1px solid var(--line);align-items:center}.drill-row>div:first-child{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center}.drill-row>div:first-child span{font:700 9px monospace;color:var(--accent)}.drill-row p{margin:0;font-size:11px}.drill-row button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 9px;font-size:9px;cursor:pointer}.drill-answer{grid-column:1/-1;background:color-mix(in srgb,var(--ok) 8%,var(--surface));border-radius:9px;padding:9px 11px;font-size:10px}.visual-card{display:grid;grid-template-columns:1fr 1.15fr;gap:16px;align-items:center;margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--surface2)}.visual-copy span{color:var(--accent);font-size:9px;font-weight:900}.visual-copy b{display:block;font-size:12px}.visual-copy p{font-size:10px;color:var(--muted);margin:4px 0}.math-visual{width:100%;height:auto;direction:ltr}.math-visual line{stroke:color-mix(in srgb,var(--text) 35%,transparent);stroke-width:1.5}.math-visual .curve{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round}.math-visual rect{fill:color-mix(in srgb,var(--accent) 17%,transparent);stroke:color-mix(in srgb,var(--accent) 50%,transparent);stroke-width:1}.math-visual .area-positive{fill:color-mix(in srgb,var(--ok) 20%,transparent);stroke:none}.math-visual .area-negative{fill:color-mix(in srgb,var(--bad) 17%,transparent);stroke:none}
@media(max-width:680px){.decision-grid{grid-template-columns:1fr}.visual-card{grid-template-columns:1fr}.lesson-subheading h3{font-size:19px}.drill-row{grid-template-columns:1fr auto}}

/* v0.4 — readability-first visual system */
html{font-size:17px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
html[data-reader="normal"]{font-size:16px}
html[data-reader="large"]{font-size:18px}
html[data-reader="xlarge"]{font-size:20px}
body{font-family:"Segoe UI",Tahoma,Arial,sans-serif;line-height:2.05;letter-spacing:0;background:var(--bg)}
button,textarea,input{font-family:inherit}

.app-shell{grid-template-columns:310px minmax(0,1fr)}
.sidebar{padding:26px 22px;gap:24px}
.brand-mark{width:50px;height:50px;font-size:29px;border-radius:16px}
.brand strong{font-size:1.15rem;line-height:1.5}.brand small{font-size:.72rem;line-height:1.6}
.course-card{padding:20px;border-radius:21px}.course-card>small{font-size:.72rem}.course-card h2{font-size:1.8rem;line-height:1.45}.course-card p{font-size:.82rem;line-height:1.7}
.progress-track{height:8px;margin-top:17px}
.nav-label{font-size:.75rem;padding:0 9px}.chapter-list{gap:8px}.chapter-link{grid-template-columns:40px 1fr;gap:11px;padding:12px 11px;border-radius:14px}.chapter-no{font-size:.8rem}.chapter-link b{font-size:.86rem;line-height:1.55}.chapter-link small{font-size:.72rem;line-height:1.55}.sidebar-foot{font-size:.72rem}.sidebar-foot small{font-size:.68rem}

.topbar{height:86px;padding:0 36px;gap:20px;background:color-mix(in srgb,var(--bg) 93%,transparent)}
.mobile-title{gap:10px}.mobile-title b{font-size:1.05rem}.mobile-title span{font-size:.8rem}
.mode-switch{gap:6px;padding:5px;border-radius:15px}.mode-btn{padding:10px 15px;border-radius:11px;font-size:.82rem;font-weight:650}.mode-btn.active{box-shadow:0 7px 18px rgba(0,0,0,.08)}
.top-tools{align-items:center;gap:9px}.top-tools button,.study-actions button{padding:10px 14px;border-radius:12px;font-size:.84rem;min-height:43px}.page-toggle{font-weight:700}
.font-controls{display:flex;align-items:center;gap:2px;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:3px}.font-controls button{min-width:43px;border:0;background:transparent;padding:6px 8px;font-weight:800}.font-controls span{font-size:.7rem;color:var(--muted);padding:0 4px;white-space:nowrap}

.dashboard-page,.study-page{max-width:1540px;padding:42px 46px}
.dashboard-hero{min-height:410px;padding:54px;border-radius:32px}.dashboard-hero h1{font-size:clamp(2.6rem,4.6vw,4.35rem);line-height:1.32}.dashboard-hero p{font-size:1.02rem;line-height:2;max-width:760px}.kicker{font-size:.78rem;letter-spacing:.02em}.hero-btn,.primary-btn{padding:13px 21px;font-size:.9rem;border-radius:13px}
.metric-grid{gap:16px;margin-top:18px}.metric{padding:23px;border-radius:21px}.metric small,.metric span{font-size:.75rem}.metric b{font-size:2rem;line-height:1.35}
.dashboard-grid{gap:18px;margin-top:18px}.dash-panel{border-radius:22px;padding:25px}.panel-title span{font-size:.75rem}.panel-title b{font-size:1.05rem}.roadmap{gap:11px;margin-top:18px}.roadmap>div{padding:16px;border-radius:15px}.roadmap span{font-size:.72rem}.roadmap b{font-size:.84rem}.roadmap small{font-size:.72rem}.weak-row{padding:13px 15px;border-radius:13px;font-size:.84rem}.empty-panel{font-size:.84rem}

.study-heading{margin-bottom:25px;gap:20px}.study-heading h1{font-size:2.55rem;line-height:1.42;margin:5px 0}.study-heading p{font-size:.88rem;line-height:1.8}.study-actions button{font-size:1rem;min-width:46px}
.study-grid{grid-template-columns:300px minmax(0,1fr);gap:20px}.panel-card{border-radius:23px}.section-nav{top:104px;padding:16px}.section-nav>b{font-size:.88rem;padding:9px 10px}.section-nav>button{grid-template-columns:36px 1fr;gap:10px;padding:12px 10px;border-radius:13px}.section-nav>button>span{font-size:.76rem}.section-nav b{font-size:.82rem;line-height:1.55}.section-nav small{font-size:.7rem;line-height:1.5}
.lesson-panel{padding:46px 52px;min-height:760px}.lesson-blocks{max-width:1080px;margin:0 auto}.lesson-meta{margin-bottom:23px}.lesson-meta>span,.content-intro>span{font-size:.76rem}.mode-badge{font-size:.74rem;padding:6px 11px}
.score-summary{padding:20px 22px;border-radius:17px;margin-bottom:24px}.score-summary b{font-size:.9rem}.score-summary p{font-size:.92rem;line-height:1.95}

.lesson-p{font-size:1.08rem;line-height:2.18;max-width:74ch;margin:0 0 28px;color:color-mix(in srgb,var(--text) 92%,var(--muted))}
.lesson-subheading{margin:44px 0 21px;padding-top:14px}.lesson-subheading span{font-size:.72rem}.lesson-subheading h3{font-size:1.65rem;line-height:1.55;margin:6px 0}.lesson-subheading p{font-size:.94rem;line-height:2;max-width:76ch}
.formula-card{margin:26px 0;padding:24px;border-radius:18px}.formula-text{font-size:1.62rem;line-height:1.65}.formula-card small{font-size:.78rem;line-height:1.7;margin-top:8px}
.info-box{padding:21px 23px;border-radius:17px;margin:23px 0}.info-box b{font-size:.92rem}.info-box p{font-size:.95rem;line-height:2;margin-top:7px}
.steps-block{margin:30px 0}.steps-block h4{font-size:1.02rem;margin-bottom:14px}.step{grid-template-columns:42px 1fr;gap:14px;padding:14px 15px;margin:9px 0;border-radius:15px}.step>span{width:34px;height:34px;border-radius:10px;font-size:.78rem}.step p{font-size:.92rem;line-height:1.9}

.example-card{padding:24px 25px;margin:27px 0;border-radius:18px;border-right-width:4px}.example-top span{font-size:.74rem}.example-top b{font-size:.94rem}.example-prompt{font-size:1rem;line-height:2;margin:16px 0}.hint,.solution,.solution-plan,.answer-check{padding:16px 18px;margin:12px 0;border-radius:14px}.hint b,.solution b,.solution-plan b,.answer-check b{font-size:.8rem}.hint p,.solution-plan p,.answer-check p{font-size:.9rem;line-height:1.9}.solution p{font-size:1.12rem;line-height:1.85}.solution ol{margin-top:12px}.solution li{font-size:1.02rem;line-height:1.8;padding:5px 0}.final-answer{font-size:1.12rem;padding:13px 15px}.reveal-row button,.checkpoint button,.lesson-footer-actions button{padding:10px 14px;border-radius:11px;font-size:.82rem}.reveal-row small{font-size:.74rem}
.mistakes{margin:26px 0;padding:20px;border-radius:17px}.mistakes>b{font-size:.88rem;margin-bottom:9px}.mistakes div{font-size:.9rem;line-height:1.9;margin-top:4px}.checkpoint{padding:21px;border-radius:17px;margin:26px 0}.checkpoint>b{font-size:.88rem}.checkpoint p{font-size:.95rem;line-height:2}.check-answer{padding:13px 14px;font-size:.88rem;line-height:1.9}
.table-wrap{margin:26px 0;border-radius:16px}table{font-size:.9rem}th,td{padding:14px 16px;line-height:1.75}th{font-size:.82rem}
.lesson-footer-actions{margin-top:40px;padding-top:24px}.lesson-footer-actions>div{gap:9px}

.content-intro{margin-bottom:26px}.content-intro h2{font-size:2rem;line-height:1.45;margin:4px 0}.content-intro p{font-size:.94rem;line-height:2;max-width:78ch}.quiz-stack,.exam-area{gap:16px}.quiz-card{padding:23px;border-radius:18px}.question-no{font-size:.73rem}.quiz-card h3{font-size:1rem;line-height:1.9;margin:8px 0 16px}.options{gap:10px}.options button{padding:14px 15px;border-radius:12px;font-size:.9rem;line-height:1.8}.quiz-feedback{margin-top:13px;padding:13px 15px;border-radius:12px;font-size:.84rem;line-height:1.8}.exam-banner{padding:21px;border-radius:17px}.exam-banner span{font-size:.72rem}.exam-banner b{font-size:.92rem}.exam-banner strong{font-size:1.5rem}.result-card{padding:21px;border-radius:16px}.result-card span{font-size:.88rem}.notes-area{min-height:420px;padding:20px;font-size:1rem;line-height:2;border-radius:16px}.save-hint{font-size:.75rem}

.derivation-card{padding:23px;border-radius:18px;margin:26px 0}.derivation-card>div:first-child span{font-size:.72rem}.derivation-card>div:first-child b{font-size:.94rem}.derivation-card>div:first-child p{font-size:.88rem;line-height:1.9}.derivation-card>button{padding:9px 12px;font-size:.8rem}.derivation-body{gap:9px;margin-top:16px}.derive-step{grid-template-columns:35px 1fr;gap:11px;padding:13px;border-radius:12px}.derive-step > .derive-no{width:30px;height:30px;font-size:.72rem}.derive-step p{font-size:.9rem;line-height:1.9}
.decision-block{margin:32px 0}.decision-head span{font-size:.72rem}.decision-head h4{font-size:1.25rem;margin:4px 0 14px}.decision-grid{gap:11px}.decision-card{padding:18px;border-radius:15px}.decision-card b{font-size:.9rem}.decision-card p{font-size:.84rem;line-height:1.8}.decision-card small{font-size:.9rem;line-height:1.7}
.quick-drill{margin:30px 0;border-radius:18px}.quick-drill-head{padding:19px 21px}.quick-drill-head span{font-size:.72rem}.quick-drill-head h4{font-size:1.02rem}.quick-drill-head p{font-size:.82rem;line-height:1.8}.drill-row{padding:15px 18px;gap:10px}.drill-row>div:first-child{grid-template-columns:30px 1fr;gap:10px}.drill-row>div:first-child span{font-size:.72rem}.drill-row p{font-size:.9rem;line-height:1.85}.drill-row button{padding:8px 11px;font-size:.78rem}.drill-answer{padding:12px 14px;font-size:.88rem;line-height:1.8}
.visual-card{gap:22px;margin:30px 0;padding:23px;border-radius:19px}.visual-copy span{font-size:.72rem}.visual-copy b{font-size:.95rem}.visual-copy p{font-size:.85rem;line-height:1.9}

@media(max-width:1180px){.app-shell{grid-template-columns:280px 1fr}.dashboard-page,.study-page{padding:34px 30px}.study-grid{grid-template-columns:270px minmax(0,1fr)}.lesson-panel{padding:38px 34px}.topbar{padding:0 26px}}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.study-grid{grid-template-columns:1fr}.lesson-panel{padding:36px}.section-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.topbar{height:auto;min-height:82px;padding:12px 22px}.font-controls span{display:none}}
@media(max-width:680px){html[data-reader="normal"]{font-size:16px}html[data-reader="large"]{font-size:17px}html[data-reader="xlarge"]{font-size:18px}.dashboard-page,.study-page{padding:18px 14px}.topbar{padding:10px 12px;gap:9px}.top-tools{gap:5px}.top-tools button{padding:8px 10px;min-height:40px}.page-toggle{font-size:.76rem}.font-controls button{min-width:38px;padding:5px}.mode-btn{font-size:.77rem;padding:9px 10px}.dashboard-hero{padding:30px 24px;min-height:350px}.dashboard-hero h1{font-size:2.2rem}.dashboard-hero p{font-size:.92rem}.metric{padding:18px}.metric b{font-size:1.7rem}.study-heading{align-items:flex-start}.study-heading h1{font-size:2rem}.study-heading p{font-size:.84rem}.section-nav{grid-template-columns:1fr 1fr;padding:10px}.section-nav>button{padding:10px 8px}.lesson-panel{padding:25px 19px}.lesson-p{font-size:1rem;line-height:2.1}.lesson-subheading h3{font-size:1.42rem}.formula-text{font-size:1.35rem}.info-box p,.step p,.example-prompt,.checkpoint p{font-size:.92rem}.options{grid-template-columns:1fr}.options button{font-size:.9rem}.content-intro h2{font-size:1.65rem}.visual-card{grid-template-columns:1fr}.decision-grid{grid-template-columns:1fr}.lesson-footer-actions{gap:10px}.lesson-footer-actions button{font-size:.8rem}}

/* v0.5 — prerequisite lesson upgrade */
.notation-guide{margin:30px 0;padding:26px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 72%,var(--surface)),var(--surface));box-shadow:var(--shadow)}
.notation-copy>span,.concept-cards-head>span,.layered-head>span{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;color:var(--accent);margin-bottom:5px}
.notation-copy h4,.concept-cards-head h4,.layered-head h4{font-size:1.32rem;line-height:1.55;margin:0 0 6px}.notation-copy p,.concept-cards-head p,.layered-head p{font-size:.94rem;line-height:2;margin:0;color:var(--muted);max-width:82ch}
.notation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.notation-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.notation-card.primary{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface))}.notation-card>small{display:block;font-size:.74rem;color:var(--muted);font-weight:750;margin-bottom:12px}.notation-card p{font-size:.88rem;line-height:1.95;margin:13px 0 0;color:var(--muted)}
.notation-example{display:flex;align-items:center;justify-content:center;gap:18px;min-height:82px;padding:14px;border-radius:14px;background:var(--surface2);font-family:"Segoe UI",Tahoma,sans-serif;font-size:1.4rem}.notation-example strong{font-size:1.5rem;color:var(--accent)}.fraction-example{gap:12px;flex-wrap:wrap}.math-frac{display:inline-grid;grid-template-rows:auto auto;text-align:center;line-height:1.08;vertical-align:middle;font-style:normal}.math-frac i{font-style:normal;padding:2px 6px}.math-frac i:first-child{border-bottom:2px solid currentColor}

.derivative-atlas{margin:28px 0 34px;display:grid;gap:22px}.derivative-group{border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden}.derivative-group-head{padding:19px 21px 4px}.derivative-group-head span{display:block;font-size:.7rem;color:var(--accent);font-weight:800}.derivative-group-head h4{font-size:1.18rem;margin:3px 0 10px}.derivative-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:12px 18px 20px}.derivative-card{position:relative;min-height:190px;padding:18px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface2) 62%,var(--surface)));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.derivative-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line));box-shadow:0 12px 32px rgba(15,23,42,.07)}.derivative-card>small{display:block;font-size:.72rem;color:var(--muted);font-weight:800}.derivative-function,.derivative-result{font-family:"Segoe UI",Tahoma,sans-serif;text-align:center;padding:9px 8px;border-radius:11px;word-break:break-word}.derivative-function{font-size:1.12rem;margin-top:9px;background:var(--surface2)}.derivative-arrow{text-align:center;font-size:.68rem;color:var(--muted);margin:5px 0}.derivative-result{font-size:1.22rem;font-weight:800;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface))}.derivative-card p{font-size:.76rem;line-height:1.75;color:var(--muted);margin:10px 0 0}

.concept-cards-block{margin:31px 0}.concept-cards-head{margin-bottom:15px}.concept-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.concept-mini-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.concept-mini-card h5{font-size:.96rem;margin:0 0 9px}.concept-formula{padding:11px 13px;border-radius:11px;background:var(--surface2);font-size:1.05rem;text-align:center;margin-bottom:10px;font-family:"Segoe UI",Tahoma,sans-serif}.concept-mini-card p{font-size:.87rem;line-height:1.9;margin:0;color:color-mix(in srgb,var(--text) 88%,var(--muted))}.concept-mini-card small{display:block;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:.82rem;color:var(--accent);line-height:1.7}

.layered-rule{margin:30px 0;padding:25px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:24px;background:color-mix(in srgb,var(--accent-soft) 28%,var(--surface))}.layered-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.layer-card{position:relative;padding:20px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.layer-card>span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:28px;padding:0 9px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:850}.layer-card h5{font-size:.94rem;margin:10px 0 8px}.layer-expression{padding:13px;border-radius:12px;background:var(--surface2);font-size:1.12rem;text-align:center;font-family:"Segoe UI",Tahoma,sans-serif}.layer-card p{font-size:.8rem;line-height:1.8;color:var(--muted);margin:10px 0 0}.layer-result{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:17px 19px;border-radius:16px;background:var(--navy);color:var(--surface)}.layer-result small{font-size:.75rem;opacity:.72}.layer-result strong{font-size:1.35rem;font-family:"Segoe UI",Tahoma,sans-serif}

.info-box.warning{border-color:color-mix(in srgb,#d58a17 44%,var(--line));background:color-mix(in srgb,#fff3d9 58%,var(--surface))}.info-box.warning b{color:#9b5d00}
[data-theme="dark"] .info-box.warning{background:color-mix(in srgb,#3a2d15 62%,var(--surface));border-color:#5d4924}[data-theme="dark"] .info-box.warning b{color:#f2bd62}

@media(max-width:1100px){.derivative-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layered-grid{grid-template-columns:1fr}.layer-result{align-items:flex-start;flex-direction:column}.layer-result strong{font-size:1.2rem}}
@media(max-width:760px){.notation-grid,.concept-cards-grid{grid-template-columns:1fr}.notation-guide,.layered-rule{padding:19px;border-radius:19px}.derivative-grid{grid-template-columns:1fr;padding:10px 13px 15px}.derivative-card{min-height:0}.derivative-function,.derivative-result{font-size:1.08rem}.notation-example{font-size:1.18rem;min-height:72px}.notation-example strong{font-size:1.25rem}.layer-result strong{font-size:1.08rem}.concept-mini-card{padding:17px}}

/* v0.6 — Root RTL/LTR math isolation
   Every inline mathematical or Latin run inside Persian text is rendered inside
   <bdi dir="ltr">. This prevents Unicode BiDi from moving ∫, bounds, powers,
   variables or dx to the wrong visual position. */
.bidi-text{unicode-bidi:isolate;}
.math-inline{
  direction:ltr;
  unicode-bidi:isolate;
  display:inline-block;
  white-space:nowrap;
  text-align:left;
  font-family:"Segoe UI",Tahoma,"Times New Roman",serif;
  font-variant-numeric:lining-nums tabular-nums;
  margin-inline:.08em;
}
[dir="ltr"],.formula-text,.concept-formula,.derivative-function,.derivative-result,.layer-expression,.final-answer{
  direction:ltr;
  unicode-bidi:isolate;
}
.formula-text,.concept-formula,.derivative-function,.derivative-result,.layer-expression,.final-answer{
  text-align:left;
}


/* v0.7 — readable mixed RTL/LTR blocks + redesigned quick drills */
.bidi-text{
  direction:rtl;
  unicode-bidi:isolate;
  text-align:right;
  display:inline;
}
.bidi-text .fa-run{font-family:inherit;}
.math-inline{
  direction:ltr;
  unicode-bidi:isolate;
  display:inline-block;
  white-space:nowrap;
  text-align:left;
  font-family:"Times New Roman",Georgia,serif;
  font-size:1.02em;
  font-weight:600;
  line-height:1.45;
  letter-spacing:0;
  margin-inline:.16em;
}

/* Derivation steps: never inherit LTR for the whole Persian sentence. */
.derivation-body{display:grid;gap:10px;margin-top:15px;}
.derive-step{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-height:58px;
  padding:13px 14px;
  overflow:visible;
}
.derive-step .derive-no{
  width:34px;
  height:34px;
  border-radius:11px;
  font-size:.82rem;
  flex:none;
}
.derive-copy{
  min-width:0;
  width:100%;
  direction:rtl;
  text-align:right;
  font-size:.96rem;
  line-height:2;
  padding-top:1px;
  overflow-wrap:anywhere;
}
.derive-copy .math-inline{
  font-size:1.05em;
  color:var(--accent);
}

/* Quick drills are reading cards, not tiny table rows. */
.quick-drill{
  margin:34px 0;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));
  border-radius:24px;
  overflow:hidden;
  background:var(--surface);
  box-shadow:0 12px 34px rgba(15,23,42,.045);
  font-family:Vazirmatn,"Segoe UI",Tahoma,Arial,sans-serif;
}
.quick-drill-head{
  padding:22px 24px 20px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 62%,var(--surface2)),var(--surface2));
  border-bottom:1px solid var(--line);
}
.quick-drill-head span{
  display:block;
  font-size:.78rem;
  color:var(--accent);
  font-weight:850;
  margin-bottom:3px;
}
.quick-drill-head h4{
  margin:0;
  font-size:1.22rem;
  line-height:1.65;
  letter-spacing:-.01em;
}
.quick-drill-head p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.9;
}
.drill-list{display:grid;}
.drill-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px 18px;
  align-items:center;
  padding:18px 20px;
  border-top:1px solid var(--line);
  background:var(--surface);
}
.drill-list .drill-row:first-child{border-top:0;}
.drill-row:hover{background:color-mix(in srgb,var(--accent) 2.5%,var(--surface));}
.drill-question{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:13px;
  align-items:start;
  min-width:0;
}
.drill-no{
  width:36px;
  height:36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--accent-soft);
  color:var(--accent);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.84rem;
  font-weight:850;
  line-height:1;
}
.drill-question p{
  margin:0;
  min-width:0;
  direction:rtl;
  text-align:right;
  font-family:Vazirmatn,"Segoe UI",Tahoma,Arial,sans-serif;
  font-size:1.03rem;
  font-weight:650;
  line-height:2;
  color:var(--text);
}
.quick-drill .math-inline{
  padding:.05em .34em .08em;
  margin-inline:.18em;
  border-radius:7px;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface2));
  color:var(--accent);
  font-family:"Times New Roman",Georgia,serif;
  font-size:1.08em;
  font-weight:700;
  line-height:1.5;
}
.drill-toggle{
  border:1px solid var(--line);
  background:var(--surface2);
  color:var(--text);
  border-radius:11px;
  padding:9px 13px;
  min-width:92px;
  font-size:.84rem;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.drill-toggle:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent);}
.drill-answer{
  grid-column:1/-1;
  margin-top:-2px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--ok) 22%,var(--line));
  border-radius:13px;
  background:color-mix(in srgb,var(--ok) 7%,var(--surface));
  direction:rtl;
  text-align:right;
  font-family:Vazirmatn,"Segoe UI",Tahoma,Arial,sans-serif;
  font-size:.95rem;
  line-height:1.95;
}
.drill-answer.answer-ltr{
  direction:ltr;
  text-align:left;
}
.answer-math{
  display:block;
  font-family:"Times New Roman",Georgia,serif;
  font-size:1.05rem;
  font-weight:650;
  unicode-bidi:isolate;
}

@media(max-width:680px){
  .quick-drill{border-radius:18px;margin:26px 0;}
  .quick-drill-head{padding:18px 17px;}
  .quick-drill-head h4{font-size:1.08rem;}
  .quick-drill-head p{font-size:.9rem;}
  .drill-row{grid-template-columns:1fr;padding:16px 15px;gap:12px;}
  .drill-question{grid-template-columns:34px minmax(0,1fr);gap:10px;}
  .drill-no{width:32px;height:32px;border-radius:10px;font-size:.78rem;}
  .drill-question p{font-size:.98rem;line-height:1.95;}
  .drill-toggle{justify-self:start;min-width:100px;}
  .derive-step{grid-template-columns:34px minmax(0,1fr);padding:12px;gap:10px;}
  .derive-step .derive-no{width:30px;height:30px;}
  .derive-copy{font-size:.92rem;line-height:1.95;}
}


/* v0.8 — derivation layout root fix
   Previous generic .derive-step span rules also styled BidiText's internal spans,
   collapsing the explanation into ~30px columns. Only the step number may be a badge. */
.derive-step > .derive-no{
  grid-column:1;
  align-self:start;
}
.derive-copy{
  grid-column:2;
  min-width:0;
  width:auto;
  max-width:100%;
  direction:rtl;
  text-align:right;
}
.derive-copy > .bidi-text{
  display:inline;
  width:auto;
  height:auto;
  min-width:0;
  max-width:100%;
  background:transparent;
  border-radius:0;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
}
.derive-copy .fa-run{
  display:inline;
  width:auto;
  height:auto;
  background:transparent;
  border-radius:0;
  color:inherit;
  font:inherit;
}
.derive-copy .math-inline{
  display:inline-block;
  width:auto;
  height:auto;
  background:transparent;
  border-radius:0;
  place-items:initial;
  font-size:1.06em;
  font-weight:700;
  color:var(--accent);
  vertical-align:baseline;
}
@media(max-width:680px){
  .derive-step{grid-template-columns:34px minmax(0,1fr);}
}

/* v0.9 — matrix + chapter 2 learning blocks */
.matrix-demo{margin:1.5rem 0;padding:1.35rem;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 94%,var(--accent) 6%));}
.matrix-demo-head span,.video-link-card span{font-size:.82rem;font-weight:800;color:var(--accent);}
.matrix-demo-head h4,.video-link-card h4{margin:.35rem 0 1rem;font-size:1.15em;}
.matrix-demo-grid{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;justify-content:center;direction:ltr;}
.matrix-item{display:flex;align-items:center;gap:.7rem;font-size:1.08em;}
.matrix-item>b{min-width:2rem;text-align:center;}
.matrix-bracket{position:relative;padding:.35rem .75rem;}
.matrix-bracket:before,.matrix-bracket:after{content:"";position:absolute;top:0;bottom:0;width:8px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.8;}
.matrix-bracket:before{left:0;border-left:2px solid currentColor;}
.matrix-bracket:after{right:0;border-right:2px solid currentColor;}
.matrix-bracket table{border-collapse:separate;border-spacing:.8rem .45rem;font-variant-numeric:tabular-nums;}
.matrix-bracket td{min-width:1.8rem;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.03em;font-weight:700;}
.matrix-demo>p{margin:1rem 0 0;text-align:center;line-height:1.9;}
.video-link-card{margin:1.5rem 0;padding:1.25rem 1.35rem;border:1px solid var(--line);border-radius:22px;background:var(--card);display:flex;gap:1rem;align-items:center;justify-content:space-between;}
.video-link-card h4{margin-bottom:.4rem;}
.video-link-card p{margin:0;line-height:1.8;color:var(--muted);}
.video-link-card a{flex:0 0 auto;text-decoration:none;border:1px solid var(--line);background:var(--surface);padding:.8rem 1rem;border-radius:14px;font-weight:800;color:var(--text);}
.video-link-card a:hover{border-color:var(--accent);color:var(--accent);}
@media(max-width:760px){.matrix-demo-grid{gap:.8rem}.matrix-bracket table{border-spacing:.55rem .35rem}.video-link-card{align-items:stretch;flex-direction:column}.video-link-card a{text-align:center}}

/* v1.0 — structural matrix renderer (rows/columns stay two-dimensional) */
.rich-bidi{unicode-bidi:isolate;}
.matrix-view{display:inline-flex;align-items:center;gap:.55em;direction:ltr;unicode-bidi:isolate;vertical-align:middle;max-width:100%;}
.matrix-label{font-weight:900;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;}
.matrix-shell{position:relative;display:inline-flex;padding:.34em .72em;line-height:1.2;color:var(--text);}
.matrix-shell::before,.matrix-shell::after{content:"";position:absolute;top:0;bottom:0;width:.42em;border-top:2px solid currentColor;border-bottom:2px solid currentColor;}
.matrix-shell::before{left:0;border-left:2px solid currentColor;border-radius:3px 0 0 3px;}
.matrix-shell::after{right:0;border-right:2px solid currentColor;border-radius:0 3px 3px 0;}
.matrix-grid{display:grid;gap:.38em .72em;align-items:center;justify-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:750;}
.matrix-cell{display:block;min-width:1.1em;text-align:center;white-space:nowrap;}
.matrix-compact{margin:.08em .18em;}
.matrix-compact .matrix-shell{padding:.22em .55em;font-size:.94em;}
.matrix-compact .matrix-grid{gap:.22em .48em;}
.matrix-demo-grid{direction:ltr;}
.matrix-demo .matrix-view{font-size:1.1em;}
.matrix-item{display:flex;align-items:center;justify-content:center;}
/* retire the old table-based matrix brackets */
.matrix-bracket{display:none!important;}
.table-wrap td .matrix-view{font-size:1.02em;}
.example-prompt .matrix-view,.quiz-card .matrix-view,.drill-row .matrix-view{margin-inline:.25em;}
@media(max-width:680px){
  .matrix-view{gap:.35em;}
  .matrix-shell{padding:.28em .58em;}
  .matrix-grid{gap:.3em .5em;}
}

/* Multi-course shell + Statistics 2 */
.course-switcher{display:grid;gap:8px}.course-switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.course-option{min-width:0;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:13px;padding:9px 8px;display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center;text-align:right;cursor:pointer}.course-option:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.course-option.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 7px 18px rgba(80,65,180,.08)}.course-option b,.course-option small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-option b{font-size:11px}.course-option small{font-size:8px;color:var(--muted)}.course-symbol{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface);font:800 15px Georgia;color:var(--accent);direction:ltr}.hero-source{display:block;color:#93a0b7;margin:12px 0 18px;font-size:11px}.stats-hero .hero-math span{font-size:140px;letter-spacing:-10px}.stats-hero .hero-math i{font-style:normal}.stats-visual .math-visual{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--surface)),var(--surface));border:1px solid var(--line);border-radius:18px}.stats-visual svg .dot-a{fill:var(--accent)}.stats-visual svg .dot-b{fill:var(--ok)}.stats-visual svg .dot-c{fill:#e58a3a}.stats-visual svg .stat-arrow,.stats-visual svg .mean-line,.stats-visual svg .reg-line,.stats-visual svg .residual-line,.stats-visual svg .ci-line,.stats-visual svg .ci-miss{fill:none;stroke:var(--muted);stroke-width:2}.stats-visual svg .mean-line{stroke:var(--accent);stroke-dasharray:7 6}.stats-visual svg .reg-line{stroke:var(--ok);stroke-width:3}.stats-visual svg .residual-line{stroke:var(--bad);stroke-width:3;stroke-dasharray:4 3}.stats-visual svg .ci-line{stroke:var(--ok);stroke-width:4;stroke-linecap:round}.stats-visual svg .ci-miss{stroke:var(--bad);stroke-width:4;stroke-linecap:round}.stats-visual svg .svg-label{fill:var(--muted);font-family:Vazirmatn,"Segoe UI",Tahoma,sans-serif;font-size:13px}.stats-visual svg line{stroke:var(--line)}
@media(max-width:760px){.course-switch-grid{grid-template-columns:1fr}.stats-hero .hero-math span{font-size:110px}.hero-source{font-size:10px}}

/* =========================================================
   Rahat Befahm UI v0.8 — Academic Premium redesign
   ========================================================= */
:root{
  --bg:#f7f8fc;--surface:#ffffff;--surface2:#f3f5fa;--surface3:#eef1f7;
  --text:#172033;--muted:#7a8497;--line:#e6e9f0;--accent:#5d5ce2;
  --accent-2:#8c7cf5;--accent-soft:#efefff;--ok:#158a68;--bad:#c5475c;
  --warn:#b87911;--navy:#182036;--shadow:0 18px 50px rgba(42,50,75,.08);
  --shadow-soft:0 8px 24px rgba(42,50,75,.06);--sidebar-width:294px;
}
[data-theme="dark"]{
  --bg:#0d1119;--surface:#141a25;--surface2:#1a2230;--surface3:#202a39;
  --text:#f3f5fb;--muted:#9ca8ba;--line:#293445;--accent:#9d92ff;
  --accent-2:#b1a8ff;--accent-soft:#282546;--navy:#f8f9fc;
  --shadow:0 20px 60px rgba(0,0,0,.28);--shadow-soft:0 8px 24px rgba(0,0,0,.18)
}
html{background:var(--bg)}
body{background:radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 28%),var(--bg);font-family:Vazirmatn,"Segoe UI",Tahoma,sans-serif;color:var(--text);line-height:2}
button{transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
button:active{transform:scale(.98)}
.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr);transition:grid-template-columns .25s ease}
.app-shell.sidebar-is-collapsed{grid-template-columns:88px minmax(0,1fr)}
.sidebar{width:auto;padding:18px 16px 16px;gap:16px;border-left:1px solid var(--line);box-shadow:8px 0 30px rgba(20,28,45,.03);overflow-y:auto;overflow-x:hidden}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:50px}
.brand{min-width:0;gap:10px;flex:1}.brand-mark{min-width:44px;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--navy),color-mix(in srgb,var(--navy) 72%,var(--accent)));box-shadow:0 8px 20px rgba(29,37,61,.14);font-size:22px}.brand-copy{min-width:0}.brand strong{font-size:17px;letter-spacing:-.2px}.brand small{font-size:10px;margin-top:-2px}.sidebar-head-actions{display:flex;gap:4px}.sidebar-collapse,.sidebar-mobile-close{border:1px solid var(--line);background:var(--surface2);color:var(--muted);width:32px;height:32px;border-radius:10px;display:grid;place-items:center;cursor:pointer}.sidebar-collapse:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.sidebar-mobile-close{display:none;font-size:20px}
.course-switcher{display:grid;gap:7px}.nav-label{font-size:10px;font-weight:700;letter-spacing:.2px;padding:0 8px}.course-switch-grid{display:grid;gap:6px}.course-option{position:relative;display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:9px;border:1px solid transparent;background:transparent;color:var(--text);padding:9px;border-radius:14px;text-align:right;cursor:pointer}.course-option:hover{background:var(--surface2)}.course-option.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}.course-option i{font-style:normal;font-size:8px;color:var(--accent)}.course-symbol{width:38px;height:38px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);font:700 19px Georgia}.course-option.active .course-symbol{background:var(--accent);color:#fff;border-color:var(--accent)}.course-option b{font-size:12px}.course-option small{font-size:9px;color:var(--muted);display:block;margin-top:-3px}
.course-card{padding:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface));border-color:color-mix(in srgb,var(--accent) 16%,var(--line));box-shadow:var(--shadow-soft)}.course-card-top{display:flex;justify-content:space-between;color:var(--muted)}.course-card-top span{font-size:10px;color:var(--accent);font-weight:800}.course-card h2{font-size:24px;margin-top:2px}.course-card p{font-size:10px;line-height:1.7}.course-card-foot{font-size:9px;color:var(--muted)}.progress-track{height:7px;background:var(--surface3);margin:12px 0 5px}.progress-track i{background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.chapter-list{gap:4px}.chapter-link{grid-template-columns:33px 1fr 8px;min-height:53px;border:1px solid transparent;padding:8px 9px}.chapter-link:hover{background:var(--surface2)}.chapter-link.active{background:var(--surface2);border-color:var(--line);box-shadow:inset -3px 0 0 var(--accent)}.chapter-no{width:31px;height:31px;border-radius:10px;background:var(--surface3);display:grid;place-items:center;font-size:10px}.chapter-link.active .chapter-no{background:var(--accent);color:#fff}.chapter-copy b{font-size:11px;line-height:1.65}.chapter-copy small{font-size:8.5px;margin-top:-1px}.chapter-active-dot{width:6px;height:6px;border-radius:99px;background:var(--accent)}.sidebar-foot{border-top:1px solid var(--line);padding-top:14px;font-size:9px}.sidebar-foot>div{display:flex;align-items:center}
.sidebar.collapsed{padding-left:12px;padding-right:12px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label,.sidebar.collapsed .course-option-copy,.sidebar.collapsed .course-option i,.sidebar.collapsed .course-card h2,.sidebar.collapsed .course-card p,.sidebar.collapsed .course-card-top small,.sidebar.collapsed .course-card-foot,.sidebar.collapsed .chapter-copy,.sidebar.collapsed .chapter-active-dot,.sidebar.collapsed .sidebar-foot-copy{display:none}.sidebar.collapsed .sidebar-head{flex-direction:column}.sidebar.collapsed .brand{justify-content:center}.sidebar.collapsed .course-option{grid-template-columns:1fr;padding:7px}.sidebar.collapsed .course-symbol{margin:auto}.sidebar.collapsed .course-card{padding:9px}.sidebar.collapsed .course-card-top{justify-content:center}.sidebar.collapsed .course-card-top span{font-size:9px}.sidebar.collapsed .progress-track{margin:5px 0}.sidebar.collapsed .chapter-link{grid-template-columns:1fr;padding:8px}.sidebar.collapsed .chapter-no{margin:auto}.sidebar.collapsed .sidebar-foot{display:grid;place-items:center}.sidebar.collapsed .sidebar-collapse{transform:rotate(180deg)}
.main-area{background:transparent}.topbar{height:78px;padding:0 30px;background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 86%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.topbar-start{display:flex;align-items:center;gap:10px}.mobile-title{gap:9px}.mobile-title b{font-size:13px}.mobile-title span{font-size:10px}.mobile-menu-btn{display:none;border:1px solid var(--line);background:var(--surface);color:var(--text);width:38px;height:38px;border-radius:11px;cursor:pointer}.mode-switch{background:var(--surface2);border:1px solid var(--line);padding:4px;border-radius:14px}.mode-btn{padding:8px 13px;font-size:10px}.mode-btn b{font-weight:700}.mode-btn.active{box-shadow:var(--shadow-soft);border:1px solid var(--line)}.top-tools{align-items:center}.top-tools button,.study-actions button{min-height:38px;border-radius:11px}.font-controls{display:flex;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:11px;overflow:hidden}.font-controls button{border:0!important;border-radius:0!important;background:transparent!important;min-height:36px!important;padding:6px 9px!important}.font-controls span{font-size:9px;color:var(--muted);padding:0 3px}.icon-btn{width:38px;padding:0!important;font-size:16px}.focus-btn{color:var(--accent)!important;border-color:color-mix(in srgb,var(--accent) 30%,var(--line))!important}.page-toggle{background:var(--navy)!important;color:var(--surface)!important;border-color:var(--navy)!important;font-weight:700}.focus-floating-bar{position:fixed;top:14px;right:50%;transform:translateX(50%);z-index:50;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:7px 9px 7px 14px;display:flex;align-items:center;gap:18px;backdrop-filter:blur(15px)}.focus-floating-bar span{font-size:10px;color:var(--muted)}.focus-floating-bar button{border:0;background:var(--navy);color:var(--surface);border-radius:9px;padding:6px 10px;font-size:9px;cursor:pointer}
.focus-mode{grid-template-columns:1fr}.focus-mode .sidebar,.focus-mode .topbar{display:none}.focus-mode .study-page{max-width:1180px;padding-top:80px}.focus-mode .study-grid{grid-template-columns:220px minmax(0,1fr)}
.dashboard-page,.study-page{max-width:1500px;padding:34px 38px 46px}.premium-dashboard{display:grid;gap:18px}.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:2px 4px 6px}.dashboard-welcome .eyebrow{font-size:9px;font-weight:900;color:var(--accent);letter-spacing:1.4px}.dashboard-welcome h1{font-size:clamp(28px,3vw,43px);line-height:1.45;margin:4px 0 2px;letter-spacing:-1px}.dashboard-welcome p{margin:0;color:var(--muted);font-size:12px}.dashboard-date-chip{min-width:175px;padding:12px 15px;border:1px solid var(--line);background:var(--surface);border-radius:15px;box-shadow:var(--shadow-soft)}.dashboard-date-chip span,.dashboard-date-chip b{display:block}.dashboard-date-chip span{font-size:9px;color:var(--muted)}.dashboard-date-chip b{font-size:12px;margin-top:1px}.course-library{background:transparent}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 2px 9px}.section-heading span{font-size:9px;color:var(--accent);font-weight:800}.section-heading h2{margin:0;font-size:18px}.section-heading small{font-size:9px;color:var(--muted)}.course-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.library-course-card{display:grid;grid-template-columns:54px 1fr 30px;align-items:center;gap:12px;text-align:right;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:15px 16px;border-radius:18px;cursor:pointer;box-shadow:var(--shadow-soft)}.library-course-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.library-course-card.active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,var(--surface)),var(--surface))}.library-course-icon{width:54px;height:54px;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font:700 27px Georgia}.library-course-card.stats .library-course-icon{background:color-mix(in srgb,#10a37f 12%,var(--surface));color:#108468}.library-course-copy span{font-size:8px;color:var(--muted)}.library-course-copy h3{font-size:18px;margin:0;line-height:1.5}.library-course-copy p{font-size:9px;color:var(--muted);margin:0}.library-course-arrow{width:30px;height:30px;border-radius:10px;background:var(--surface2);display:grid;place-items:center;color:var(--accent)}
.dashboard-hero{min-height:315px;border-radius:27px;padding:38px 44px;background:linear-gradient(135deg,#141c31 0%,#20284a 62%,#433d82 100%);grid-template-columns:1.25fr .75fr;box-shadow:0 22px 65px rgba(29,36,64,.16)}.dashboard-hero.stats-hero{background:linear-gradient(135deg,#122b2a 0%,#173a38 55%,#215f56 100%)}.dashboard-hero h2{font-size:clamp(27px,3.5vw,46px);line-height:1.45;margin:8px 0 9px;max-width:850px;color:#fff}.dashboard-hero p{font-size:12px;line-height:2.05;max-width:720px}.hero-source{display:block;color:#97a6bb;font-size:9px;margin:4px 0 14px}.hero-actions{display:flex;align-items:center;gap:14px;margin-top:20px}.hero-btn{display:flex;align-items:center;gap:12px;padding:11px 17px}.hero-btn span{font-size:16px}.hero-progress-copy{font-size:9px;color:#aab4c6}.hero-visual{position:relative;min-height:220px;display:grid;place-items:center;align-content:center;isolation:isolate}.hero-orbit{position:absolute;width:210px;height:210px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 36px rgba(255,255,255,.025),0 0 0 72px rgba(255,255,255,.015)}.hero-mark{font:700 112px Georgia;color:#a99bff;line-height:1}.stats-hero .hero-mark{color:#73d8c2}.hero-visual small{color:#9ca8bd;font-size:9px;letter-spacing:1px}.hero-visual b{font:500 14px Georgia;color:#fff;margin-top:5px}
.metric-grid{gap:10px;margin:0}.metric{display:flex;align-items:center;gap:13px;padding:17px 18px;border-radius:17px;box-shadow:var(--shadow-soft)}.metric-icon{width:39px;height:39px;border-radius:12px;background:var(--accent-soft);color:var(--accent)!important;display:grid!important;place-items:center;font-size:17px!important}.metric>div small,.metric>div span{display:block}.metric>div small{font-size:9px}.metric>div b{font-size:23px;line-height:1.25}.metric>div span{font-size:8.5px}.dashboard-grid{gap:10px;margin:0;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}.dash-panel{border-radius:19px;padding:18px;box-shadow:var(--shadow-soft)}.panel-title{display:flex;justify-content:space-between;align-items:end}.panel-title>small{font-size:9px;color:var(--muted)}.roadmap{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.roadmap>div{padding:12px 13px;border:1px solid transparent}.roadmap>div:hover{border-color:var(--line);background:var(--surface)}.roadmap span{font-size:9px}.roadmap b{font-size:10.5px;line-height:1.75}.roadmap small{font-size:8px}.weak-row{align-items:center;margin-top:7px;padding:11px 12px}.weak-row>div{display:flex;align-items:center;gap:8px}.weak-pulse{width:7px;height:7px;border-radius:50%;background:var(--warn)}.weak-row>span{font-size:9px}.empty-panel{display:grid;gap:3px;padding:24px 10px}.empty-panel strong{font-size:12px;color:var(--ok)}.empty-panel span{font-size:9px}
.study-heading{margin-bottom:14px;padding:0 3px}.study-heading h1{font-size:clamp(27px,3vw,40px);letter-spacing:-.6px}.study-heading p{font-size:10px}.study-actions button{width:39px;padding:0}.study-grid{grid-template-columns:260px minmax(0,1fr);gap:12px}.panel-card{border-color:var(--line);box-shadow:var(--shadow-soft)}.section-nav{top:96px;border-radius:18px;padding:10px}.section-nav>button{grid-template-columns:30px 1fr;padding:9px 8px}.section-nav>button>span{width:29px;height:29px;border-radius:9px;background:var(--surface2);display:grid;place-items:center}.section-nav>button.active>span{background:var(--accent);color:#fff}.lesson-panel{border-radius:20px;padding:38px 42px;min-height:760px}.lesson-meta{border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:24px}.mode-badge{font-size:9px;padding:5px 10px}.lesson-p{font-size:16px;line-height:2.2;max-width:860px}.formula-card{padding:20px;border-radius:17px;background:linear-gradient(145deg,var(--surface2),color-mix(in srgb,var(--accent) 3%,var(--surface)));}.formula-text{font-size:23px}.info-box,.example-card,.checkpoint,.mistakes,.derivation-card,.quick-drill,.concept-cards-block,.layered-rule,.matrix-demo,.video-link-card{border-radius:17px!important;box-shadow:0 4px 14px rgba(30,40,65,.025)}.example-card{padding:20px;border-right-width:4px}.example-prompt{font-size:14px;line-height:2}.hint,.solution{padding:13px 15px}.quick-drill{overflow:hidden}.quiz-card{border-radius:17px;padding:20px}.quiz-card h3{font-size:14px;line-height:2}.options{gap:8px}.options button{padding:11px 12px;border-radius:11px;font-size:11px}.notes-area{min-height:320px;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:16px;padding:18px;font-size:14px;line-height:2;outline:none;width:100%;resize:vertical}.notes-area:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}
.mobile-overlay{display:none}

@media(max-width:1180px){.dashboard-page,.study-page{padding:28px 24px}.dashboard-grid{grid-template-columns:1fr}.roadmap{grid-template-columns:repeat(2,1fr)}.dashboard-hero{padding:32px}.study-grid{grid-template-columns:225px minmax(0,1fr)}.lesson-panel{padding:32px}}
@media(max-width:900px){.app-shell,.app-shell.sidebar-is-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;right:0;top:0;bottom:0;width:min(340px,88vw);height:100vh;transform:translateX(105%);transition:transform .24s ease;z-index:80;box-shadow:-20px 0 50px rgba(15,20,35,.18)}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{padding:18px 16px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label,.sidebar.collapsed .course-option-copy,.sidebar.collapsed .course-option i,.sidebar.collapsed .course-card h2,.sidebar.collapsed .course-card p,.sidebar.collapsed .course-card-top small,.sidebar.collapsed .course-card-foot,.sidebar.collapsed .chapter-copy,.sidebar.collapsed .chapter-active-dot,.sidebar.collapsed .sidebar-foot-copy{display:initial}.sidebar.collapsed .sidebar-head{flex-direction:row}.sidebar.collapsed .course-option{grid-template-columns:38px 1fr 16px;padding:9px}.sidebar.collapsed .chapter-link{grid-template-columns:33px 1fr 8px}.sidebar-collapse{display:none}.sidebar-mobile-close{display:grid}.mobile-overlay{display:block;position:fixed;inset:0;background:rgba(10,15,25,.38);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s;z-index:70}.mobile-overlay.show{opacity:1;pointer-events:auto}.mobile-menu-btn{display:grid;place-items:center}.topbar{padding:0 18px}.mode-switch{position:fixed;bottom:14px;right:50%;transform:translateX(50%);z-index:45;box-shadow:var(--shadow);background:var(--surface);white-space:nowrap}.mode-btn{padding:7px 10px}.mode-btn span{display:none}.course-library-grid{grid-template-columns:1fr}.dashboard-hero{grid-template-columns:1fr}.hero-visual{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.study-grid{grid-template-columns:1fr}.section-nav{position:static;display:flex;overflow:auto;gap:5px;white-space:nowrap}.section-nav>b,.section-nav hr{display:none}.section-nav>button{width:auto;min-width:max-content;grid-template-columns:26px 1fr}.lesson-panel{padding:28px}.focus-mode .study-grid{grid-template-columns:1fr}.focus-mode .study-page{padding-top:70px}.focus-mode .section-nav{display:none}}
@media(max-width:620px){.dashboard-page,.study-page{padding:20px 14px 84px}.topbar{height:66px;padding:0 12px}.mobile-title span{display:none}.top-tools{gap:4px}.font-controls span{display:none}.font-controls button{padding:5px 7px!important}.focus-btn{display:none}.page-toggle{padding:7px 10px!important;font-size:9px}.dashboard-welcome{align-items:start}.dashboard-welcome h1{font-size:28px}.dashboard-date-chip{display:none}.library-course-card{grid-template-columns:46px 1fr 28px;padding:12px}.library-course-icon{width:46px;height:46px;font-size:23px}.dashboard-hero{min-height:0;padding:26px 22px;border-radius:22px}.dashboard-hero h2{font-size:28px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:14px 12px;gap:9px}.metric-icon{width:34px;height:34px}.metric>div b{font-size:19px}.roadmap{grid-template-columns:1fr}.study-heading{align-items:flex-start}.study-heading h1{font-size:27px}.lesson-panel{padding:22px 17px}.lesson-p{font-size:15px}.formula-text{font-size:20px}.options{grid-template-columns:1fr}.mode-btn b{font-size:9px}.mode-switch{bottom:10px}.focus-floating-bar{width:calc(100% - 24px);justify-content:space-between}}


/* v0.9 — Rahat Befahm brand cleanup + readable typography */
html[data-reader="normal"]{font-size:18px}
html[data-reader="large"]{font-size:20px}
html[data-reader="xlarge"]{font-size:22px}
body{font-size:1rem;line-height:1.95;letter-spacing:-.01em}
.brand-mark{background:linear-gradient(145deg,#6d55df,#8874f6);box-shadow:0 9px 24px rgba(94,73,200,.22)}
.brand strong{font-size:1.08rem;letter-spacing:-.03em}.brand small{font-size:.68rem;line-height:1.7;margin-top:1px}
.sidebar{background:color-mix(in srgb,var(--surface) 96%,var(--accent) 4%)}
.sidebar-foot{font-size:.69rem}.sidebar-foot small{font-size:.66rem}
.nav-label{font-size:.69rem;letter-spacing:.02em}.chapter-link b{font-size:.78rem}.chapter-link small{font-size:.65rem}.course-option b{font-size:.76rem}.course-option small{font-size:.63rem}
.mobile-title b{font-size:.92rem}.mobile-title span{font-size:.72rem}.mode-btn{font-size:.72rem}.mode-btn b{font-size:.72rem}
.dashboard-welcome .eyebrow{font-size:.72rem;letter-spacing:.02em}.dashboard-welcome h1{font-size:clamp(2rem,3.2vw,3.35rem);line-height:1.42}.dashboard-welcome p{font-size:.9rem;line-height:2}
.library-course-copy span{font-size:.69rem}.library-course-copy h3{font-size:1.18rem}.library-course-copy p{font-size:.75rem;line-height:1.8}
.section-heading span,.section-heading small{font-size:.7rem}.section-heading h2{font-size:1.25rem}
.dashboard-hero p{font-size:.88rem;line-height:2.1}.hero-source{font-size:.7rem}.hero-progress-copy{font-size:.72rem}
.metric>div small{font-size:.72rem}.metric>div b{font-size:1.5rem}.metric>div span{font-size:.68rem}
.panel-title span,.panel-title>small{font-size:.7rem}.panel-title b{font-size:.9rem}.roadmap span{font-size:.68rem}.roadmap b{font-size:.78rem}.roadmap small{font-size:.66rem}.weak-row{font-size:.77rem}.weak-row>span{font-size:.68rem}.empty-panel strong{font-size:.85rem}.empty-panel span{font-size:.72rem;line-height:1.9}
.study-heading h1{font-size:clamp(2rem,3vw,2.75rem)}.study-heading p{font-size:.79rem;line-height:1.9}
.section-nav>b{font-size:.78rem}.section-nav b{font-size:.76rem}.section-nav small{font-size:.65rem}
.lesson-panel{max-width:100%;padding:44px 50px}.lesson-meta>span,.content-intro>span{font-size:.72rem}.mode-badge{font-size:.68rem}
.lesson-p{font-size:1.05rem;line-height:2.25;max-width:900px;margin-bottom:1.55rem}
.lesson-subheading h3{font-size:1.48rem;line-height:1.6}.lesson-subheading p{font-size:.93rem;line-height:2}
.formula-text{font-size:1.48rem}.formula-card small{font-size:.74rem}
.info-box b{font-size:.88rem}.info-box p{font-size:.94rem;line-height:2.05}
.steps-block h4{font-size:.95rem}.step p{font-size:.92rem;line-height:2}.step>span{font-size:.75rem}
.example-top span{font-size:.7rem}.example-top b{font-size:.9rem}.example-prompt{font-size:1rem;line-height:2.15}.hint b,.solution b{font-size:.75rem}.hint p,.solution p{font-size:.92rem;line-height:2}.solution p{font-size:1rem}
.reveal-row button,.checkpoint button,.lesson-footer-actions button{font-size:.78rem;padding:10px 14px}
.mistakes>b{font-size:.82rem}.mistakes div{font-size:.9rem;line-height:1.95}.checkpoint>b{font-size:.82rem}.checkpoint p{font-size:.94rem;line-height:2}.check-answer{font-size:.9rem;line-height:2}
table{font-size:.84rem}th{font-size:.75rem}th,td{padding:13px 15px}
.quiz-card h3{font-size:1rem;line-height:2.1}.question-no{font-size:.7rem}.options button{font-size:.9rem;line-height:1.8;padding:13px 14px}.quiz-feedback{font-size:.84rem;line-height:1.9}
.content-intro h2{font-size:1.75rem}.content-intro p{font-size:.88rem;line-height:2}.notes-area{font-size:1rem;line-height:2.15}
.quick-drill-head span{font-size:.7rem}.quick-drill-head h4{font-size:1.08rem}.quick-drill-head p,.drill-question p,.drill-answer{font-size:.92rem;line-height:2}.drill-toggle{font-size:.76rem}
.derivation-card span{font-size:.7rem}.derivation-card b{font-size:.92rem}.derivation-card p,.derive-copy{font-size:.92rem;line-height:2}
.focus-mode .lesson-panel{max-width:980px;margin-inline:auto}
@media(max-width:900px){html[data-reader="normal"]{font-size:17px}html[data-reader="large"]{font-size:19px}html[data-reader="xlarge"]{font-size:21px}.lesson-panel{padding:30px 26px}.lesson-p{font-size:1.03rem}}
@media(max-width:620px){html[data-reader="normal"]{font-size:17px}html[data-reader="large"]{font-size:18.5px}html[data-reader="xlarge"]{font-size:20px}.lesson-panel{padding:24px 18px}.lesson-p{font-size:1rem}.mode-btn b{font-size:.72rem}.page-toggle{font-size:.72rem!important}}

/* Hydrostatics source-grounded study additions */
.source-reference{margin:0 0 22px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-radius:16px}.source-reference b{display:block;color:var(--accent);font-size:.9em}.source-reference p{margin:5px 0 0;line-height:2}.source-problem-stack{display:grid;gap:16px}.source-problem-card{padding:24px;border:1px solid var(--line);border-right:4px solid var(--accent);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.source-problem-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.84em}.source-problem-meta span{color:var(--accent);font-weight:800}.source-problem-card h3{margin:10px 0 8px;font-size:1.2em}.source-problem-card>p{font-size:1.04em;line-height:2.05}.source-problem-note{padding:14px 16px;margin:16px 0;border-radius:14px;background:var(--surface2)}.source-problem-note b{color:var(--accent)}.source-problem-note p{margin:5px 0 0;line-height:2}.source-problem-card details{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.source-problem-card summary{cursor:pointer;font-weight:800;color:var(--accent)}.source-problem-solution{margin-top:12px;padding:14px;border-radius:12px;background:var(--surface2);font-family:Georgia,'Times New Roman',serif;font-size:1.08em;line-height:1.9;text-align:left;overflow:auto}.course-option .course-symbol{font-family:inherit}

/* v1.2 — Hydrostatics full-course navigation + cleaner study controls */
.sidebar{padding:18px 14px 14px;gap:14px;overflow:hidden}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px}
.sidebar-head-actions{display:flex;align-items:center;gap:6px}
.sidebar-collapse,.sidebar-mobile-close{width:34px;height:34px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%);color:var(--text);cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 20px rgba(20,24,38,.05)}
.sidebar-collapse:hover,.sidebar-mobile-close:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));color:var(--accent);transform:translateY(-1px)}
.sidebar-collapse span{font-size:1.15rem;line-height:1}.sidebar-mobile-close{display:none;font-size:1.25rem}
.course-switcher{display:grid;gap:7px}.course-switch-grid{display:grid;gap:6px}.course-option{min-height:48px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text);display:grid;grid-template-columns:38px 1fr 15px;gap:9px;align-items:center;padding:7px 9px;text-align:right;cursor:pointer}.course-option:hover{background:var(--surface2)}.course-option.active{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 20%,var(--line))}.course-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--surface2);font-weight:900;color:var(--accent)}.course-option-copy{min-width:0}.course-option-copy b,.course-option-copy small{display:block}.course-option-copy b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-option i{font-style:normal;color:var(--accent);font-size:.66rem}
.course-card{padding:13px 14px;border-radius:16px}.course-card-top{display:flex;justify-content:space-between;align-items:center}.course-card-top span{font-size:.75rem;font-weight:850;color:var(--accent)}.course-card h2{font-size:1rem;line-height:1.65;margin:4px 0 0}.course-card p{font-size:.68rem;line-height:1.7;margin-top:2px}
.chapter-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:block;padding:0 4px 18px 2px;margin-inline:-2px 0;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 46%,var(--line)) transparent;mask-image:linear-gradient(to bottom,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%)}
.chapter-list::-webkit-scrollbar{width:7px}.chapter-list::-webkit-scrollbar-track{background:transparent}.chapter-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:99px;border:2px solid transparent;background-clip:padding-box}.chapter-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent) 62%,var(--line));background-clip:padding-box}
.chapter-list-sticky-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 8px 8px;margin-bottom:3px;background:linear-gradient(to bottom,var(--surface) 78%,transparent);backdrop-filter:blur(8px)}.chapter-list-sticky-head span{font-size:.73rem;font-weight:850}.chapter-list-sticky-head small{font-size:.62rem;color:var(--muted);padding:3px 7px;border:1px solid var(--line);border-radius:99px;background:var(--surface)}
.chapter-group{margin:8px 0 15px}.chapter-group-title{display:flex;align-items:center;gap:8px;padding:7px 8px;color:var(--muted)}.chapter-group-title:after{content:"";height:1px;background:var(--line);flex:1;order:2}.chapter-group-title span{font-size:.64rem;font-weight:850;order:1;white-space:nowrap}.chapter-group-title i{order:3;font-style:normal;font-size:.58rem;min-width:22px;height:22px;display:grid;place-items:center;border-radius:8px;background:var(--surface2);color:var(--muted)}.chapter-group-list{display:grid;gap:4px}
.chapter-link{position:relative;grid-template-columns:34px minmax(0,1fr) 7px;min-height:54px;padding:8px 9px;border:1px solid transparent;border-radius:14px;transition:background .16s,border-color .16s,transform .16s}.chapter-link:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface2));transform:translateX(-1px)}.chapter-link.active{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 11%,var(--surface)),color-mix(in srgb,var(--accent-soft) 55%,var(--surface)));border-color:color-mix(in srgb,var(--accent) 22%,var(--line));box-shadow:0 8px 24px rgba(88,66,180,.08)}.chapter-no{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--surface2);font-size:.65rem}.chapter-link.active .chapter-no{background:var(--accent);color:#fff}.chapter-copy{min-width:0}.chapter-copy b{font-size:.73rem;line-height:1.6}.chapter-copy small{font-size:.59rem;line-height:1.5;margin-top:1px}.chapter-active-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}
.sidebar-foot{padding:8px 6px 0;border-top:1px solid var(--line)}

/* Collapsed sidebar stays usable instead of becoming a blank strip. */
.app-shell.sidebar-is-collapsed{grid-template-columns:88px 1fr}.sidebar.collapsed{padding:16px 10px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-label,.sidebar.collapsed .course-option-copy,.sidebar.collapsed .course-option i,.sidebar.collapsed .course-card,.sidebar.collapsed .chapter-list-sticky-head,.sidebar.collapsed .chapter-group-title,.sidebar.collapsed .chapter-copy,.sidebar.collapsed .chapter-active-dot,.sidebar.collapsed .sidebar-foot-copy{display:none}.sidebar.collapsed .sidebar-head{flex-direction:column}.sidebar.collapsed .brand{justify-content:center}.sidebar.collapsed .brand-mark{width:44px;height:44px}.sidebar.collapsed .course-switch-grid{gap:8px}.sidebar.collapsed .course-option{display:grid;grid-template-columns:1fr;padding:6px;border-radius:13px;justify-items:center}.sidebar.collapsed .course-symbol{width:40px;height:40px}.sidebar.collapsed .chapter-list{mask-image:none;padding:4px 0;overflow-y:auto}.sidebar.collapsed .chapter-group{margin:0}.sidebar.collapsed .chapter-group-list{gap:5px}.sidebar.collapsed .chapter-link{display:grid;grid-template-columns:1fr;min-height:42px;padding:5px;justify-items:center}.sidebar.collapsed .chapter-no{width:38px;height:38px}.sidebar.collapsed .sidebar-foot{border:0;padding:0;display:grid;place-items:center}.sidebar.collapsed .status-dot{margin:0}

/* Toolbar: calm pill instead of scattered corner controls. */
.top-tools{align-items:center;padding:4px;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);background:color-mix(in srgb,var(--surface) 90%,transparent);border-radius:15px;box-shadow:0 8px 28px rgba(20,24,38,.055)}.top-tools>button,.font-controls{height:38px}.top-tools>button{border:0!important;background:transparent!important;border-radius:11px!important}.top-tools>button:hover{background:var(--surface2)!important;color:var(--accent)}.font-controls{display:flex;align-items:center;border:0!important;background:var(--surface2);border-radius:11px;padding:3px}.font-controls button{height:32px;min-width:33px;border:0!important;background:transparent!important;border-radius:8px!important;font-weight:850}.font-controls button:hover{background:var(--surface)!important;color:var(--accent)}.font-controls span{padding-inline:5px;color:var(--muted);font-size:.65rem}.page-toggle{background:var(--navy)!important;color:var(--surface)!important;padding-inline:14px!important}.page-toggle:hover{opacity:.9;color:var(--surface)!important}.focus-btn{font-weight:750}

/* Source problem cards: denser bank, clearer provenance. */
.source-problem-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.source-problem-card{height:100%;padding:21px 22px}.source-problem-meta{align-items:flex-start}.source-problem-meta small{max-width:70%;text-align:left;direction:rtl}.source-problem-card h3{font-size:1.06rem;line-height:1.65}.source-problem-card>p{font-size:.96rem}.source-problem-solution{direction:ltr;text-align:left;white-space:pre-wrap}.example-card .example-top{gap:14px}.example-card .example-top b{line-height:1.7}

@media(max-width:1100px){.source-problem-stack{grid-template-columns:1fr}}
@media(max-width:900px){
  .chapter-list{mask-image:none}.chapter-group-title{padding-top:10px}.sidebar{padding:16px 13px}.sidebar-mobile-close{display:grid}
  .mode-switch{right:50%;bottom:14px;transform:translateX(50%);padding:5px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:18px;box-shadow:0 16px 44px rgba(20,24,38,.18);background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(16px)}.mode-btn{min-height:42px;border-radius:13px;padding:8px 14px}.mode-btn.active{box-shadow:0 5px 18px rgba(84,64,180,.12)}
  .top-tools{padding:3px;border-radius:13px}.top-tools>button,.font-controls{height:36px}
}
@media(max-width:620px){.source-problem-card{padding:18px}.source-problem-meta{flex-direction:column;gap:3px}.source-problem-meta small{max-width:none}.mode-switch{width:calc(100% - 28px);justify-content:space-between}.mode-btn{flex:1;justify-content:center;padding-inline:8px}.mode-btn b{font-size:.69rem}.chapter-copy b{font-size:.78rem}.chapter-copy small{font-size:.63rem}}

/* v1.2.1 — navigation polish: readable chapter groups + visible dashboard action */
.chapter-group{
  margin:10px 0 18px;
  padding:6px 0 0;
}
.chapter-group-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:0 3px 7px;
  padding:10px 11px;
  color:var(--text);
  background:color-mix(in srgb,var(--accent) 5%,var(--surface));
  border:1px solid color-mix(in srgb,var(--accent) 11%,var(--line));
  border-radius:13px;
}
.chapter-group-title:after{display:none}
.chapter-group-title span{
  order:initial;
  min-width:0;
  white-space:normal;
  font-size:.68rem;
  font-weight:850;
  line-height:1.65;
  color:color-mix(in srgb,var(--text) 84%,var(--muted));
}
.chapter-group-title i{
  order:initial;
  min-width:27px;
  height:27px;
  padding:0 6px;
  border-radius:9px;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));
  color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));
  font-size:.61rem;
  font-weight:850;
}
.chapter-group-list{gap:6px;padding-inline:2px}
.chapter-list-sticky-head{
  padding:9px 7px 10px;
  margin-bottom:5px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
}
.chapter-list-sticky-head span{font-size:.78rem}
.chapter-list-sticky-head small{font-size:.64rem}

/* The generic toolbar button rule used to make the dashboard button transparent.
   Use a stronger selector so the primary navigation action always has contrast. */
.top-tools>.page-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:linear-gradient(135deg,#6652e8,#806bf5)!important;
  color:#fff!important;
  border:1px solid color-mix(in srgb,#6652e8 72%,#fff)!important;
  box-shadow:0 7px 20px rgba(91,72,210,.22)!important;
  padding-inline:14px!important;
  font-weight:850;
}
.top-tools>.page-toggle:hover{
  background:linear-gradient(135deg,#5b47dc,#755ff0)!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 9px 24px rgba(91,72,210,.28)!important;
}
.top-tools>.page-toggle:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 24%,transparent);
  outline-offset:2px;
}

@media(max-width:900px){
  .chapter-group-title{padding:10px;margin-inline:2px}
  .chapter-group-title span{font-size:.72rem}
  .chapter-group-title i{min-width:29px;height:29px;font-size:.64rem}
  .chapter-group-list{gap:7px}
  .chapter-link{min-height:58px;padding:9px 10px}
  .chapter-copy b{font-size:.8rem;line-height:1.7}
  .chapter-copy small{font-size:.65rem}

  /* Keep the dashboard action visible even when the top bar gets tight. */
  .top-tools>.page-toggle{min-width:42px;padding-inline:10px!important}
}

@media(max-width:620px){
  .chapter-list{padding-inline:2px}
  .chapter-group{margin-bottom:20px}
  .chapter-group-title{
    grid-template-columns:minmax(0,1fr) 31px;
    gap:8px;
    padding:10px 11px;
    border-radius:14px;
  }
  .chapter-group-title span{font-size:.76rem;line-height:1.7}
  .chapter-group-title i{width:31px;height:31px;padding:0}

  .top-tools{gap:2px;max-width:100%}
  .top-tools>.page-toggle{
    width:42px;
    min-width:42px;
    padding:0!important;
    font-size:0!important;
    border-radius:11px!important;
  }
  .top-tools>.page-toggle::before{
    content:"⌂";
    font-size:20px;
    line-height:1;
    font-weight:900;
  }
}


/* v1.2.2 — compact active-course card; more room for chapter navigation */
.sidebar{gap:11px}
.course-card{padding:10px 13px 9px;border-radius:15px;box-shadow:none}
.course-card-top{line-height:1.25}
.course-card-top small{font-size:.59rem;color:var(--muted)}
.course-card-top span{font-size:.69rem}
.course-card h2{font-size:.98rem;line-height:1.35;margin:3px 0 6px;font-weight:900}
.course-card p,.course-card-foot{display:none}
.course-card .progress-track{height:6px;margin:4px 0 0;background:var(--surface3)}
.chapter-list{flex:1;min-height:0;padding-bottom:10px}
.chapter-list-sticky-head{padding-top:7px;padding-bottom:6px}
.chapter-list-sticky-head span{font-size:.78rem}
.chapter-group{margin:5px 0 10px}
.chapter-group-title{padding-top:5px;padding-bottom:5px}
.chapter-link{min-height:58px;padding:9px 9px}
.chapter-copy b{font-size:.76rem;line-height:1.65}
.chapter-copy small{font-size:.61rem}
@media(max-width:900px){
  .sidebar{gap:9px}
  .course-card{padding:9px 12px 8px}
  .course-card-top small{display:none}
  .course-card h2{font-size:.94rem;margin-top:0}
  .chapter-link{min-height:60px}
}


/* =========================================================
   v1.7 — Private Library home redesign
   Home-only visual layer. Study pages/content remain untouched.
   ========================================================= */
.app-shell.dashboard-mode{grid-template-columns:1fr;background:#fffaf2}
.dashboard-mode>.sidebar{display:none}
.dashboard-mode .main-area{width:100%;min-width:0;background:#fffaf2;color:#20201e}
.dashboard-mode .topbar.home-topbar{
  height:78px;position:sticky;top:0;z-index:30;max-width:1180px;margin:0 auto;
  padding:0 28px;border-bottom:1px solid #e7dfd5;background:color-mix(in srgb,#fffaf2 92%,transparent);
  backdrop-filter:blur(14px);box-shadow:none;
}
.home-topbar .topbar-start{display:flex;align-items:center;min-width:190px}
.home-brand{border:0;background:transparent;color:#20201e;padding:0;text-align:right;cursor:pointer;display:grid;gap:1px}
.home-brand b{font-size:1.35rem;font-weight:950;line-height:1.4;letter-spacing:-.025em}
.home-brand span{font-size:.63rem;color:#817970;font-weight:650}
.dashboard-mode .home-topbar .mode-switch{background:#f1ebe3;border:1px solid #e8ddd1;border-radius:14px}
.dashboard-mode .home-topbar .mode-btn{color:#786f66}
.dashboard-mode .home-topbar .mode-btn.active{background:#fff;color:#20201e;box-shadow:0 5px 16px rgba(74,59,45,.07)}
.dashboard-mode .home-topbar .top-tools{background:#fff;border-color:#e7dfd5;box-shadow:0 8px 26px rgba(74,59,45,.055)}
.dashboard-mode .home-topbar .top-tools>button,.dashboard-mode .home-topbar .font-controls{color:#20201e}
.dashboard-mode .home-topbar .font-controls{background:#f5f0e9}
.dashboard-mode .home-topbar .page-toggle{background:#20201e!important;border-color:#20201e!important;color:#fff!important;box-shadow:none!important}
.dashboard-mode .home-topbar .page-toggle:hover{background:#352e29!important;transform:none;box-shadow:none!important}

.private-library-home{max-width:1180px;padding:36px 28px 64px;color:#20201e}
.library-hero{text-align:center;padding-top:16px}
.library-eyebrow{display:inline-block;font-size:.76rem;color:#6f5846;font-weight:800;letter-spacing:.01em}
.library-hero>h1{font-size:clamp(2.3rem,5.1vw,3.75rem);line-height:1.35;letter-spacing:-.045em;margin:12px auto 16px;max-width:900px;font-weight:950}
.library-hero>p{max-width:760px;margin:0 auto;color:#6f6a65;font-size:1.02rem;line-height:2.05;font-weight:520}
.library-resume-card{margin:34px auto 0;max-width:820px;background:#fff;border:1px solid #e7dfd5;border-radius:28px;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;box-shadow:0 18px 45px rgba(74,59,45,.08);text-align:right}
.library-resume-copy{min-width:0}.library-resume-copy>small{display:block;color:#847d75;font-size:.72rem;font-weight:750}.library-resume-copy h2{font-size:1.35rem;line-height:1.65;margin:4px 0 3px;font-weight:900}.library-resume-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:#847d75;font-size:.72rem}.resume-dot{opacity:.55}
.library-continue-btn{border:0;background:#222;color:#fff;border-radius:14px;padding:12px 17px;min-height:46px;font-weight:850;cursor:pointer;white-space:nowrap;transition:transform .18s,background .18s}.library-continue-btn:hover{background:#39332e;transform:translateY(-1px)}

.library-shelf-section{margin-top:52px}.library-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.library-section-title h2{font-size:1.65rem;margin:0;font-weight:950}.library-section-title span{font-size:.75rem;color:#7a746e}
.library-shelf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.library-book{appearance:none;border:1px solid rgba(0,0,0,.035);color:#20201e;border-radius:26px;padding:22px;min-height:292px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.library-book:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(74,59,45,.08)}.library-book.active{border-color:rgba(32,32,30,.28);box-shadow:0 14px 34px rgba(74,59,45,.08)}
.library-book.book-1{background:#dce7f3}.library-book.book-2{background:#dfe9df}.library-book.book-3{background:#f3dfcf}.library-book.book-4{background:#ece4f7}
.library-book-top{display:flex;justify-content:space-between;align-items:center}.library-book-icon{font-family:Georgia,"Times New Roman",serif;font-size:2.15rem;font-weight:800;line-height:1;direction:ltr}.active-course-pill{font-size:.63rem;font-weight:850;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.5);border:1px solid rgba(0,0,0,.07)}
.library-book-copy h3{font-size:1.48rem;line-height:1.5;margin:16px 0 8px;font-weight:950}.library-book-copy p{line-height:1.85;color:#615d58;font-size:.82rem;margin:0}.library-book-meta{display:flex;justify-content:space-between;align-items:center;font-size:.73rem;color:#6d675f}.library-book-arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,0,0,.16);display:grid;place-items:center;font-size:1.05rem;transition:background .18s}.library-book:hover .library-book-arrow{background:rgba(255,255,255,.42)}

.library-bottom-grid{margin-top:28px;display:grid;grid-template-columns:1.45fr .55fr;gap:18px}.library-note-card,.library-review-card{background:#fff;border:1px solid #e7dfd5;border-radius:24px;padding:24px;text-align:right}.library-note-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.library-note-head>span,.library-review-card>span{font-size:.75rem;color:#6f5846;font-weight:850}.library-note-head small{color:#847d75;font-size:.68rem}.library-note-card h3{font-size:1.12rem;margin:8px 0 4px}.library-note-card p,.library-review-card p{color:#706a64;line-height:1.9;margin:5px 0 12px;font-size:.84rem}.library-note-card button{border:0;background:transparent;color:#20201e;padding:3px 0;font-weight:850;cursor:pointer}.library-note-card button:hover{color:#6f5846}.library-review-card strong{display:block;font-size:2.7rem;line-height:1.1;margin:10px 0 2px}.library-review-card small{color:#847d75;font-size:.68rem}

/* Dark mode remains available, but the selected warm palette is the default. */
[data-theme="dark"] .app-shell.dashboard-mode,[data-theme="dark"] .dashboard-mode .main-area{background:#111315;color:#f4efe8}
[data-theme="dark"] .dashboard-mode .topbar.home-topbar{background:color-mix(in srgb,#111315 92%,transparent);border-color:#2b2d30}
[data-theme="dark"] .home-brand{color:#f4efe8}[data-theme="dark"] .home-brand span{color:#a9a39a}
[data-theme="dark"] .private-library-home{color:#f4efe8}[data-theme="dark"] .library-hero>p{color:#aaa49c}
[data-theme="dark"] .library-resume-card,[data-theme="dark"] .library-note-card,[data-theme="dark"] .library-review-card{background:#181b1e;border-color:#2b2d30;box-shadow:none}
[data-theme="dark"] .library-book{color:#f3efe8;border-color:rgba(255,255,255,.07)}[data-theme="dark"] .library-book-copy p,[data-theme="dark"] .library-book-meta{color:#bdb7ae}
[data-theme="dark"] .library-book.book-1{background:#202c38}[data-theme="dark"] .library-book.book-2{background:#243129}[data-theme="dark"] .library-book.book-3{background:#372a24}[data-theme="dark"] .library-book.book-4{background:#2c2739}
[data-theme="dark"] .library-section-title span,[data-theme="dark"] .library-resume-copy>small,[data-theme="dark"] .library-resume-meta,[data-theme="dark"] .library-note-card p,[data-theme="dark"] .library-review-card p,[data-theme="dark"] .library-review-card small{color:#aaa49c}
[data-theme="dark"] .dashboard-mode .home-topbar .mode-switch,[data-theme="dark"] .dashboard-mode .home-topbar .font-controls{background:#202327;border-color:#2c3035}[data-theme="dark"] .dashboard-mode .home-topbar .mode-btn{color:#aba59c}[data-theme="dark"] .dashboard-mode .home-topbar .mode-btn.active{background:#2a2e33;color:#fff}[data-theme="dark"] .dashboard-mode .home-topbar .top-tools{background:#181b1e;border-color:#2b2d30}

@media(max-width:1180px) and (min-width:981px){.library-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.library-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.library-bottom-grid{grid-template-columns:1fr}.dashboard-mode .topbar.home-topbar{padding-inline:20px}.home-topbar .topbar-start{min-width:auto}}
@media(max-width:900px){.dashboard-mode .mobile-menu-btn{display:none}.dashboard-mode .topbar.home-topbar{height:auto;min-height:72px;flex-wrap:wrap;padding-block:9px}.dashboard-mode .home-topbar .mode-switch{position:static;transform:none;order:3;width:100%;justify-content:center;box-shadow:none}.dashboard-mode .home-topbar .top-tools{margin-right:auto}}
@media(max-width:620px){.private-library-home{padding:24px 16px 48px}.dashboard-mode .topbar.home-topbar{padding-inline:16px}.home-brand b{font-size:1.16rem}.home-brand span{display:none}.dashboard-mode .home-topbar .font-controls span{display:none}.dashboard-mode .home-topbar .top-tools>.page-toggle{width:42px}.library-hero{padding-top:8px}.library-hero>h1{font-size:2.08rem;line-height:1.45}.library-hero>p{font-size:.92rem}.library-resume-card{grid-template-columns:1fr;padding:19px;border-radius:22px}.library-continue-btn{width:100%}.library-shelf{grid-template-columns:1fr}.library-book{min-height:246px}.library-bottom-grid{margin-top:18px}.library-section-title{margin-top:4px}.library-section-title h2{font-size:1.42rem}}

/* =========================================================
   v1.7.2 — Study toolbar + collapsed sidebar polish
   Layout-only overrides. No lesson/content rules are changed.
   ========================================================= */

/* Desktop study toolbar: reserve independent lanes so long titles cannot
   collide with study modes or utility controls. */
.app-shell:not(.dashboard-mode) .topbar{
  display:grid;
  grid-template-columns:minmax(230px,1fr) auto auto;
  align-items:center;
  gap:18px;
  min-height:76px;
  height:76px;
  padding-inline:24px;
}
.app-shell:not(.dashboard-mode) .topbar-start{
  min-width:0;
  overflow:hidden;
}
.app-shell:not(.dashboard-mode) .mobile-title{
  min-width:0;
  width:100%;
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  align-items:center;
  gap:10px;
  white-space:nowrap;
  overflow:hidden;
}
.app-shell:not(.dashboard-mode) .mobile-title b{
  min-width:0;
  white-space:nowrap;
  font-size:.92rem;
  font-weight:900;
}
.app-shell:not(.dashboard-mode) .mobile-title span{
  min-width:0;
  max-width:360px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:.69rem;
}
.app-shell:not(.dashboard-mode) .mode-switch{
  flex:0 0 auto;
  width:max-content;
  min-width:max-content;
  white-space:nowrap;
  box-shadow:none;
}
.app-shell:not(.dashboard-mode) .mode-btn{
  min-height:38px;
  padding:7px 11px;
  gap:5px;
  white-space:nowrap;
}
.app-shell:not(.dashboard-mode) .mode-btn b{font-size:.67rem}
.app-shell:not(.dashboard-mode) .mode-btn span{font-size:.72rem}
.app-shell:not(.dashboard-mode) .top-tools{
  flex:0 0 auto;
  flex-wrap:nowrap;
  white-space:nowrap;
  gap:3px;
  padding:4px;
  box-shadow:0 7px 24px rgba(20,24,38,.045);
}
.app-shell:not(.dashboard-mode) .top-tools>button{
  min-width:38px;
  padding-inline:10px!important;
  white-space:nowrap;
}
.app-shell:not(.dashboard-mode) .font-controls{flex:0 0 auto}
.app-shell:not(.dashboard-mode) .focus-btn{padding-inline:11px!important}
.app-shell:not(.dashboard-mode) .page-toggle{padding-inline:13px!important}

/* At laptop widths, keep the same one-line toolbar but progressively
   remove non-essential copy instead of allowing overlaps. */
@media (max-width:1480px) and (min-width:901px){
  .app-shell:not(.dashboard-mode) .topbar{grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;padding-inline:18px}
  .app-shell:not(.dashboard-mode) .mobile-title span{max-width:220px}
  .app-shell:not(.dashboard-mode) .mode-btn{padding-inline:9px}
  .app-shell:not(.dashboard-mode) .mode-btn b{font-size:.63rem}
  .app-shell:not(.dashboard-mode) .font-controls span{display:none}
  .app-shell:not(.dashboard-mode) .focus-btn{font-size:.68rem}
  .app-shell:not(.dashboard-mode) .page-toggle{font-size:.68rem}
}
@media (max-width:1240px) and (min-width:901px){
  .app-shell:not(.dashboard-mode) .topbar{grid-template-columns:minmax(125px,1fr) auto auto;gap:8px;padding-inline:14px}
  .app-shell:not(.dashboard-mode) .mobile-title span{display:none}
  .app-shell:not(.dashboard-mode) .mobile-title b{overflow:hidden;text-overflow:ellipsis}
  .app-shell:not(.dashboard-mode) .mode-btn{padding-inline:8px;gap:4px}
  .app-shell:not(.dashboard-mode) .mode-btn span{display:none}
  .app-shell:not(.dashboard-mode) .focus-btn{max-width:88px;overflow:hidden;text-overflow:ellipsis}
}

/* Mobile remains deliberately two-level: utility row on top, study-mode
   switch as a floating bottom control. This overrides desktop grid cleanly. */
@media(max-width:900px){
  .app-shell:not(.dashboard-mode) .topbar{
    display:flex;
    min-height:68px;
    height:68px;
    padding:0 14px;
    gap:10px;
    flex-wrap:nowrap;
  }
  .app-shell:not(.dashboard-mode) .topbar-start{flex:1 1 auto}
  .app-shell:not(.dashboard-mode) .mobile-title{display:block;overflow:hidden}
  .app-shell:not(.dashboard-mode) .mobile-title b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .app-shell:not(.dashboard-mode) .mobile-title span{display:none}
  .app-shell:not(.dashboard-mode) .mode-switch{
    position:fixed;
    bottom:14px;
    right:50%;
    transform:translateX(50%);
    width:auto;
    min-width:0;
    max-width:calc(100vw - 28px);
    z-index:45;
  }
  .app-shell:not(.dashboard-mode) .mode-btn span{display:inline}
  .app-shell:not(.dashboard-mode) .top-tools{margin-inline-start:auto}
}

/* Cleaner collapsed rail: collapsing is for space, not for showing a dense
   stack of 15–16 tiny chapter numbers. Keep courses plus only active chapter. */
.app-shell.sidebar-is-collapsed{grid-template-columns:78px minmax(0,1fr)}
.sidebar.collapsed{
  width:78px;
  padding:14px 9px;
  gap:13px;
  align-items:stretch;
  overflow:hidden;
  border-left-color:color-mix(in srgb,var(--accent) 10%,var(--line));
  box-shadow:-5px 0 22px rgba(20,24,38,.025);
}
.sidebar.collapsed .sidebar-head{
  display:grid;
  grid-template-columns:1fr;
  justify-items:center;
  gap:9px;
}
.sidebar.collapsed .brand{width:100%;justify-content:center}
.sidebar.collapsed .brand-mark{
  width:46px;height:46px;border-radius:15px;
  box-shadow:0 8px 22px rgba(15,23,42,.12)
}
.sidebar.collapsed .sidebar-head-actions{width:100%;display:grid;place-items:center}
.sidebar.collapsed .sidebar-collapse{
  width:38px;height:32px;border-radius:11px;
  background:var(--surface2);
  box-shadow:none;
}
.sidebar.collapsed .course-switcher{padding-top:2px;border-top:1px solid var(--line)}
.sidebar.collapsed .course-switch-grid{gap:7px;padding-top:8px}
.sidebar.collapsed .course-option{
  width:52px;height:52px;margin-inline:auto;padding:5px;
  border:1px solid transparent;
  background:transparent;
}
.sidebar.collapsed .course-option:hover{background:var(--surface2);border-color:var(--line)}
.sidebar.collapsed .course-option.active{
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  box-shadow:0 7px 18px rgba(88,66,180,.08);
}
.sidebar.collapsed .course-symbol{width:40px;height:40px;border-radius:12px}
.sidebar.collapsed .chapter-list{
  flex:0 0 auto;
  padding:9px 0;
  margin-top:1px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:visible;
}
.sidebar.collapsed .chapter-group{display:contents}
.sidebar.collapsed .chapter-group-list{display:contents}
.sidebar.collapsed .chapter-link:not(.active){display:none}
.sidebar.collapsed .chapter-link.active{
  width:52px;height:52px;min-height:52px;margin-inline:auto;padding:5px;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--accent) 9%,var(--surface));
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line));
  box-shadow:none;
}
.sidebar.collapsed .chapter-no{
  width:38px;height:38px;border-radius:12px;
  background:var(--accent);color:#fff;
  display:grid;place-items:center
}
.sidebar.collapsed .sidebar-foot{margin-top:auto;padding-top:9px}
.sidebar.collapsed .status-dot{width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 10%,transparent)}

/* Slightly cleaner expanded sidebar header/collapse control. */
.sidebar:not(.collapsed) .sidebar-head{align-items:center}
.sidebar:not(.collapsed) .sidebar-collapse{background:var(--surface2);box-shadow:none}
.sidebar:not(.collapsed) .sidebar-collapse:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface2))}

/* When sidebar is collapsed, main content gains enough room without changing
   lesson typography/content dimensions. */
.sidebar-is-collapsed .topbar{padding-inline-start:24px}

@media(max-width:900px){
  .app-shell.sidebar-is-collapsed{grid-template-columns:1fr}
  .sidebar.collapsed{width:min(340px,88vw);padding:18px 16px;align-items:stretch;overflow-y:auto}
  .sidebar.collapsed .chapter-link:not(.active){display:grid}
  .sidebar.collapsed .chapter-link.active{width:100%;height:auto;min-height:58px;margin:0;padding:9px 10px;display:grid}
}

/* v1.8.1 — compact feedback/contact card on the Private Library dashboard */
.library-contact-card{margin:18px 0 0 auto;max-width:560px;background:rgba(255,255,255,.72);border:1px solid #e7dfd5;border-radius:22px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:right;box-shadow:0 10px 30px rgba(74,59,45,.055);backdrop-filter:blur(8px)}
.library-contact-copy{min-width:0}.library-contact-copy>span{display:block;font-size:.78rem;font-weight:900;color:#6f5846;margin-bottom:4px}.library-contact-copy p{margin:0;color:#706a64;font-size:.76rem;line-height:1.85}
.library-contact-links{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}.contact-chip{display:flex;align-items:center;gap:8px;min-width:150px;padding:8px 11px;border-radius:12px;background:#fff;border:1px solid #e8e1d8;color:#342e29;text-decoration:none;font-size:.72rem;font-weight:850;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.contact-chip:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(74,59,45,.08);border-color:#d8cdc1}.contact-logo{width:23px;height:23px;display:block;flex:0 0 23px}.contact-chip.eitaa .contact-logo{fill:#ef7d22}.contact-chip.telegram .contact-logo circle{fill:#2aabee}.contact-chip.telegram .telegram-plane{fill:#fff}
[data-theme="dark"] .library-contact-card{background:#181b1e;border-color:#2b2d30;box-shadow:none}[data-theme="dark"] .library-contact-copy>span{color:#d7bda8}[data-theme="dark"] .library-contact-copy p{color:#aaa49c}[data-theme="dark"] .contact-chip{background:#202327;border-color:#30343a;color:#f4efe8}
@media(max-width:700px){.library-contact-card{max-width:none;margin-top:16px;flex-direction:column;align-items:stretch}.library-contact-links{flex-direction:row;flex-wrap:wrap}.contact-chip{flex:1 1 145px;justify-content:center}}


/* v1.8.2 — cleaner course labels, icon-only contact buttons, deep-mode reinforcement */
.course-option-copy b{font-size:12px;letter-spacing:-.15px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.library-contact-links{flex-direction:row;align-items:center}
.contact-chip{min-width:0;width:44px;height:44px;padding:0;border-radius:14px;display:grid;place-items:center;gap:0}
.contact-chip .contact-logo{width:25px;height:25px;flex:0 0 25px}
.deep-study-extension{margin-top:28px;padding:24px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--surface)),var(--surface))}
.deep-study-extension-head>span{display:inline-block;font-size:.72rem;font-weight:900;color:var(--accent);margin-bottom:5px}.deep-study-extension-head h2{margin:0 0 8px;font-size:1.25rem}.deep-study-extension-head p{margin:0;color:var(--muted);line-height:1.9}
.deep-recall-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.deep-recall-grid article{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--surface)}.deep-recall-grid article>b{display:block;margin-bottom:7px}.deep-recall-grid article>p{margin:0;color:var(--muted);line-height:1.85;font-size:.9rem}.deep-recall-grid details{margin-top:11px;border-top:1px dashed var(--line);padding-top:9px}.deep-recall-grid summary{cursor:pointer;color:var(--accent);font-weight:800;font-size:.82rem}.deep-recall-grid details p{line-height:1.85;margin:9px 0 0;font-size:.86rem}
.deep-question-preview{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.deep-question-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.deep-question-preview-head span{font-weight:900}.deep-question-preview-head small{color:var(--muted)}.deep-question-preview>details{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:11px 13px;margin-top:8px}.deep-question-preview>details summary{cursor:pointer;font-weight:750;line-height:1.8}.deep-question-answer{padding:10px 4px 2px;color:var(--muted)}.deep-question-answer p{margin:5px 0 0;line-height:1.85}
@media(max-width:760px){.deep-recall-grid{grid-template-columns:1fr}.deep-study-extension{padding:18px}.library-contact-links{justify-content:flex-start}.contact-chip{flex:0 0 44px}}

/* =========================================================
   v1.8.4 — cleaner dashboard + Language 1 readability fixes
   ========================================================= */
.library-bottom-grid.single-review{grid-template-columns:minmax(260px,420px);justify-content:end}
.library-bottom-grid.single-review .library-review-card{width:100%}

/* Long English source sentences must wrap inside the lesson card instead of
   escaping to the left edge of an RTL page. Scope this only to Language 1 so
   compact math notation in the other courses remains untouched. */
.language-mode .lesson-panel .math-inline{
  white-space:normal;
  display:inline;
  overflow-wrap:anywhere;
  word-break:normal;
  margin-inline:.1em;
}
.language-mode .info-box p,.language-mode .lesson-p,.language-mode .checkpoint p,
.language-mode .step p,.language-mode .quick-drill p,.language-mode .concept-mini-card p{
  overflow-wrap:anywhere;
}
.language-mode .info-box .rich-bidi,.language-mode .info-box .bidi-text{
  display:block;
  max-width:100%;
}
.language-mode .section-nav>button b{font-size:.84rem;line-height:1.55;overflow-wrap:anywhere}
.language-mode .section-nav>button small{font-size:.72rem;line-height:1.5}
.language-mode .lesson-panel{overflow:hidden}
.language-mode .table-wrap td[dir="ltr"],.language-mode .table-wrap th[dir="ltr"]{text-align:left}

@media(max-width:980px){
  .library-bottom-grid.single-review{grid-template-columns:1fr}
}


/* =========================================================
   v1.9 — Brilliant × Stripe catalog + personal library
   ========================================================= */
.dashboard-mode{--home-ink:#121721;--home-muted:#687283;--home-line:rgba(18,23,33,.09);--home-card:rgba(255,255,255,.76);--home-shadow:0 28px 70px rgba(58,69,91,.10)}
.app-shell.dashboard-mode{display:block!important;background:#f5f7fb;min-height:100vh}
.dashboard-mode>.sidebar{display:none!important}
.dashboard-mode .main-area{width:100%;min-height:100vh;background:transparent;color:var(--home-ink);overflow:hidden}
.dashboard-mode .topbar.home-topbar{
  position:sticky;top:0;z-index:50;max-width:none;width:100%;height:76px;
  padding:0 max(22px,calc((100vw - 1320px)/2));
  background:color-mix(in srgb,#f7f9fc 82%,transparent);border-bottom:1px solid rgba(24,31,44,.07);
  backdrop-filter:blur(22px) saturate(1.35);box-shadow:none;display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center
}
.dashboard-mode .home-topbar .topbar-start{min-width:0}
.dashboard-mode .home-topbar .home-brand{color:#121721;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.dashboard-mode .home-topbar .home-brand b{font-size:1.2rem;letter-spacing:-.03em;font-weight:950}
.dashboard-mode .home-topbar .home-brand span{font-size:.61rem;color:#7c8695;font-weight:700}
.home-nav{display:flex;align-items:center;gap:5px;background:rgba(232,236,244,.75);border:1px solid rgba(27,34,48,.05);padding:5px;border-radius:15px}
.home-nav button{border:0;background:transparent;color:#6c7584;border-radius:11px;padding:9px 14px;font-size:.78rem;font-weight:850;cursor:pointer;transition:.18s}
.home-nav button.active{background:#fff;color:#151a22;box-shadow:0 5px 16px rgba(50,62,84,.09)}
.home-nav button span{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-right:5px;border-radius:999px;background:#141922;color:#fff;font-size:.6rem}
.dashboard-mode .home-topbar .top-tools{justify-self:end;background:#fff;border:1px solid rgba(24,31,44,.07);box-shadow:0 8px 24px rgba(58,69,91,.06);border-radius:15px}
.dashboard-mode .home-topbar .top-tools>button,.dashboard-mode .home-topbar .font-controls{color:#202733}
.dashboard-mode .home-topbar .font-controls{background:#f3f5f8}
.dashboard-mode .home-topbar .page-toggle{display:none}

/* Catalog */
.catalog-page{position:relative;isolation:isolate;max-width:1380px;margin:0 auto;padding:54px 30px 76px;color:var(--home-ink)}
.catalog-ambient{position:absolute;inset:-80px -10vw auto;min-height:780px;z-index:-2;overflow:hidden;pointer-events:none}
.catalog-orb{position:absolute;border-radius:50%;filter:blur(56px);opacity:.54;will-change:transform;animation:catalog-float 15s ease-in-out infinite alternate}
.catalog-orb.orb-one{width:440px;height:440px;right:2%;top:-70px;background:rgba(106,143,255,.32)}
.catalog-orb.orb-two{width:390px;height:390px;left:5%;top:100px;background:rgba(255,190,126,.30);animation-delay:-6s}
.catalog-orb.orb-three{width:390px;height:390px;left:39%;top:340px;background:rgba(108,218,183,.20);animation-delay:-10s}
.catalog-grid-glow{position:absolute;inset:0;background-image:linear-gradient(rgba(80,93,120,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(80,93,120,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 90%)}
@keyframes catalog-float{to{transform:translate3d(70px,45px,0) scale(1.12)}}
.catalog-tone-stats .orb-one{background:rgba(85,205,165,.29)}.catalog-tone-management .orb-one{background:rgba(242,158,91,.31)}.catalog-tone-language .orb-one{background:rgba(158,122,235,.28)}.catalog-tone-marine .orb-one{background:rgba(80,165,214,.28)}

.catalog-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:center;gap:54px;min-height:470px;padding:20px 10px 48px}
.catalog-copy{max-width:770px}
.catalog-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#5c6676;font-size:.73rem;font-weight:900;letter-spacing:.025em}
.catalog-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:#655cf0;box-shadow:0 0 0 5px rgba(101,92,240,.09)}
.catalog-copy h1{font-size:clamp(3rem,6.2vw,5.6rem);line-height:1.06;letter-spacing:-.06em;margin:17px 0 20px;font-weight:1000}
.catalog-copy h1 em{font-style:normal;background:linear-gradient(90deg,#5b55e7,#6d91ff 50%,#3eb38e);-webkit-background-clip:text;background-clip:text;color:transparent}
.catalog-copy>p{max-width:680px;margin:0;color:#697384;font-size:1.05rem;line-height:2;font-weight:520}
.catalog-hero-actions{display:flex;align-items:center;gap:16px;margin-top:26px}.catalog-hero-actions>span{color:#7b8594;font-size:.76rem;font-weight:750}
.catalog-primary{border:0;background:#141a24;color:#fff;border-radius:14px;min-height:47px;padding:0 18px;font-weight:900;cursor:pointer;transition:.2s ease;box-shadow:0 10px 26px rgba(20,26,36,.16)}
.catalog-primary:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(20,26,36,.22);background:#242c39}

.catalog-stage{position:relative;min-height:390px;display:grid;place-items:center;perspective:800px}
.catalog-stage:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.96),rgba(255,255,255,.42) 40%,rgba(255,255,255,.04) 72%);border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 90px rgba(64,82,115,.16);backdrop-filter:blur(16px)}
.catalog-stage-core{position:relative;z-index:3;width:192px;height:192px;border-radius:42px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.56));border:1px solid rgba(255,255,255,.9);box-shadow:0 28px 70px rgba(65,82,112,.17);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:stage-breathe 6s ease-in-out infinite}
@keyframes stage-breathe{50%{transform:translateY(-8px) rotate(-1.5deg)}}
.stage-symbol{font-family:Georgia,"Times New Roman",serif;font-size:4.2rem;font-weight:900;line-height:1;color:#232b38;direction:ltr}.catalog-stage-core small{margin-top:14px;color:#7a8493;font-size:.69rem}.catalog-stage-core strong{font-size:1rem;margin-top:3px}
.stage-ring{position:absolute;border:1px solid rgba(77,91,120,.13);border-radius:50%;animation:stage-spin 18s linear infinite}.ring-a{width:318px;height:318px}.ring-b{width:270px;height:270px;animation-direction:reverse;animation-duration:13s}@keyframes stage-spin{to{transform:rotate(360deg)}}
.stage-dot{position:absolute;width:13px;height:13px;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.14)}.dot-a{background:#655cf0;top:52px;left:23%}.dot-b{background:#50bc93;bottom:54px;right:22%}.dot-c{background:#f2a15f;right:15%;top:44%}

.catalog-section{margin-top:26px}
.catalog-section-head{display:grid;grid-template-columns:1fr minmax(280px,430px);gap:30px;align-items:end;margin-bottom:22px}.catalog-section-head>div>span{font-size:.72rem;color:#7a8493;font-weight:800}.catalog-section-head h2{font-size:2rem;letter-spacing:-.035em;margin:4px 0 0}.catalog-section-head>p{margin:0;color:#7a8493;line-height:1.85;font-size:.82rem}
.catalog-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.catalog-course-card{--subject:#7a8cff;position:relative;display:grid;grid-template-columns:42% 58%;min-height:338px;border:1px solid rgba(21,27,38,.07);background:rgba(255,255,255,.72);border-radius:30px;overflow:hidden;box-shadow:0 18px 48px rgba(62,74,99,.07);backdrop-filter:blur(14px);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.catalog-course-card:hover{transform:translateY(-7px);box-shadow:0 30px 76px rgba(62,74,99,.14);border-color:color-mix(in srgb,var(--subject) 24%,rgba(21,27,38,.07))}
.catalog-course-card.subject-math{--subject:#6f88ff}.catalog-course-card.subject-stats{--subject:#49b78d}.catalog-course-card.subject-management{--subject:#e99453}.catalog-course-card.subject-language{--subject:#9a77df}.catalog-course-card.subject-marine{--subject:#4e9ccc}
.catalog-card-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--subject) 16%,#f7f9fc),#eef2f8);min-height:100%}
.catalog-card-symbol{position:absolute;right:24px;top:22px;z-index:3;font:900 3rem Georgia,"Times New Roman",serif;direction:ltr}
.subject-orb{position:absolute;width:220px;height:220px;border-radius:50%;left:-62px;bottom:-60px;background:radial-gradient(circle at 34% 30%,#fff,color-mix(in srgb,var(--subject) 76%,#fff) 45%,var(--subject));box-shadow:inset -20px -25px 45px rgba(16,25,44,.10),0 22px 48px color-mix(in srgb,var(--subject) 22%,transparent);transition:.38s}
.catalog-course-card:hover .subject-orb{transform:translate(17px,-15px) scale(1.08)}
.subject-line{position:absolute;border:1px solid color-mix(in srgb,var(--subject) 34%,transparent);border-radius:50%;transition:.45s}.line-one{width:275px;height:275px;left:-80px;bottom:-82px}.line-two{width:170px;height:170px;right:-80px;top:84px}.catalog-course-card:hover .line-one{transform:rotate(15deg) scale(1.05)}.catalog-course-card:hover .line-two{transform:rotate(-14deg) scale(1.08)}
.catalog-card-body{padding:24px;display:flex;flex-direction:column;min-width:0}
.catalog-card-kicker{display:flex;align-items:center;gap:9px;color:#7c8695}.catalog-card-kicker>span{font-size:.65rem;font-weight:950;color:var(--subject)}.catalog-card-kicker>small{font-size:.64rem;font-weight:850}
.catalog-card-body h3{font-size:1.62rem;line-height:1.45;margin:30px 0 8px;letter-spacing:-.025em}.catalog-card-body>p{margin:0;color:#6c7686;font-size:.79rem;line-height:1.85}
.catalog-card-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;color:#8992a0;font-size:.64rem}.catalog-card-meta span:first-child{font-weight:850;color:#616b7b}
.catalog-card-actions{margin-top:auto;padding-top:22px;display:flex;gap:8px}.catalog-card-actions button{min-height:42px;border-radius:12px;padding:0 12px;font-size:.72rem;font-weight:900;cursor:pointer}
.catalog-outline{border:1px solid rgba(22,28,39,.11);background:#fff;color:#202733}.catalog-add{border:0;background:color-mix(in srgb,var(--subject) 12%,#fff);color:color-mix(in srgb,var(--subject) 84%,#26303d)}.catalog-added{border:1px solid color-mix(in srgb,var(--subject) 24%,#d8dde7);background:#fff;color:#566170}
.catalog-footer-callout{margin-top:22px;border:1px solid rgba(20,26,36,.08);border-radius:30px;background:#141a24;color:#fff;padding:30px;display:grid;grid-template-columns:1.15fr 1fr auto;gap:26px;align-items:center;overflow:hidden;position:relative}.catalog-footer-callout:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;left:-80px;top:-150px;background:radial-gradient(circle,#6475ff,transparent 68%);opacity:.28}.catalog-footer-callout span{font-size:.67rem;color:#aeb8c7;font-weight:800}.catalog-footer-callout h2{font-size:1.45rem;margin:5px 0 0}.catalog-footer-callout p{color:#9faaba;line-height:1.85;font-size:.78rem;margin:0}.catalog-footer-callout button{border:1px solid rgba(255,255,255,.14);background:#fff;color:#151a23;border-radius:13px;min-height:44px;padding:0 15px;font-weight:900;cursor:pointer;z-index:2}

/* My Library */
.my-library-page{position:relative;isolation:isolate;max-width:1280px;margin:0 auto;padding:58px 30px 78px;color:var(--home-ink)}
.library-ambient{position:absolute;inset:0 -9vw auto;min-height:620px;z-index:-1;overflow:hidden;pointer-events:none}.library-ambient i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.28;animation:catalog-float 18s ease-in-out infinite alternate}.library-ambient i:nth-child(1){width:430px;height:430px;background:#8ba6ff;right:0;top:-180px}.library-ambient i:nth-child(2){width:380px;height:380px;background:#b88bee;left:3%;top:170px;animation-delay:-8s}.library-ambient i:nth-child(3){width:350px;height:350px;background:#79d7b1;right:36%;top:370px;animation-delay:-12s}
.my-library-hero{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;margin-bottom:36px}.my-library-hero h1{font-size:clamp(3rem,5vw,4.7rem);line-height:1.04;letter-spacing:-.055em;margin:13px 0 18px}.my-library-hero p{max-width:650px;color:#6c7685;line-height:1.95;font-size:.95rem}
.library-summary-panel{display:grid;grid-template-columns:repeat(3,1fr);min-width:430px;border:1px solid rgba(20,26,36,.08);background:rgba(255,255,255,.68);backdrop-filter:blur(18px);border-radius:24px;box-shadow:0 16px 44px rgba(63,75,100,.08);overflow:hidden}.library-summary-panel>div{padding:20px;text-align:center;border-left:1px solid rgba(20,26,36,.07)}.library-summary-panel>div:last-child{border-left:0}.library-summary-panel strong{display:block;font-size:2rem}.library-summary-panel span{display:block;color:#7e8795;font-size:.65rem;margin-top:3px}
.my-library-list{display:grid;gap:16px}.my-library-card{--subject:#7389ff;display:grid;grid-template-columns:230px 1fr;min-height:242px;background:rgba(255,255,255,.78);border:1px solid rgba(20,26,36,.07);border-radius:28px;overflow:hidden;box-shadow:0 16px 42px rgba(63,75,100,.07);transition:.24s}.my-library-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(63,75,100,.12)}.my-library-card.subject-math{--subject:#6f88ff}.my-library-card.subject-stats{--subject:#49b78d}.my-library-card.subject-management{--subject:#e99453}.my-library-card.subject-language{--subject:#9a77df}.my-library-card.subject-marine{--subject:#4e9ccc}
.library-course-visual{position:relative;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--subject) 15%,#f5f7fb),#edf1f7);overflow:hidden}.library-course-visual>span{position:relative;z-index:2;font:900 4.4rem Georgia,"Times New Roman",serif;direction:ltr}.library-course-visual>i{position:absolute;width:190px;height:190px;border-radius:50%;bottom:-74px;left:-55px;background:radial-gradient(circle at 35% 32%,#fff,color-mix(in srgb,var(--subject) 68%,#fff),var(--subject));box-shadow:0 20px 40px color-mix(in srgb,var(--subject) 18%,transparent)}
.library-course-main{padding:24px 27px}.library-course-label{display:flex;justify-content:space-between;gap:12px;color:#7b8594;font-size:.68rem}.library-course-label b{color:var(--subject);background:color-mix(in srgb,var(--subject) 10%,#fff);padding:5px 8px;border-radius:999px}.library-course-main h2{font-size:1.62rem;margin:17px 0 4px}.library-course-main>p{margin:0;color:#7a8493;font-size:.78rem}
.library-progress-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:21px 0 16px}.library-progress-row>div{height:7px;background:#edf0f5;border-radius:999px;overflow:hidden}.library-progress-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--subject),color-mix(in srgb,var(--subject) 58%,#fff))}.library-progress-row>span{font-size:.68rem;color:#757f8d;font-weight:850}
.library-course-actions{display:flex;gap:9px}.library-remove{border:1px solid rgba(20,26,36,.09);background:#fff;color:#707987;border-radius:13px;padding:0 14px;min-height:47px;font-size:.72rem;font-weight:850;cursor:pointer}
.empty-library{text-align:center;padding:74px 24px;border:1px dashed rgba(20,26,36,.14);border-radius:30px;background:rgba(255,255,255,.5)}.empty-library-mark{width:70px;height:70px;border-radius:22px;background:#fff;display:grid;place-items:center;margin:0 auto 18px;font-size:2rem;box-shadow:0 12px 34px rgba(63,75,100,.09)}.empty-library h2{font-size:1.6rem;margin:0 0 8px}.empty-library p{color:#7a8493;line-height:1.8;margin:0 auto 18px;max-width:540px;font-size:.83rem}
.library-feedback{margin-top:22px;border:1px solid rgba(20,26,36,.07);background:rgba(255,255,255,.66);border-radius:24px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:18px}.library-feedback span{font-size:.74rem;font-weight:900}.library-feedback p{margin:4px 0 0;color:#7a8493;font-size:.72rem;line-height:1.8}

/* Local course resources */
.resource-stack{display:grid;gap:14px;margin-top:18px}.resource-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface2) 58%,var(--surface)));border-radius:20px;padding:18px}.resource-icon{width:58px;height:58px;border-radius:17px;background:color-mix(in srgb,var(--accent) 10%,var(--surface2));color:var(--accent);display:grid;place-items:center;font-size:.72rem;font-weight:950}.resource-copy span{display:block;color:var(--accent);font-size:.68rem;font-weight:900}.resource-copy h3{font-size:1.05rem;margin:5px 0 5px}.resource-copy p{margin:0;color:var(--muted);line-height:1.85;font-size:.82rem}.resource-copy small{display:block;color:var(--muted);margin-top:7px;font-size:.68rem}.resource-download{display:inline-grid;place-items:center;min-height:44px;padding:0 15px;border-radius:12px;background:var(--accent);color:#fff!important;text-decoration:none;font-size:.74rem;font-weight:900;white-space:nowrap}

/* home dark theme */
[data-theme="dark"] .app-shell.dashboard-mode,[data-theme="dark"] .dashboard-mode .main-area{background:#0e131c;color:#eef2f7}
[data-theme="dark"] .dashboard-mode{--home-ink:#f2f5f8;--home-muted:#97a2b1;--home-line:rgba(255,255,255,.08);--home-card:rgba(20,27,38,.78)}
[data-theme="dark"] .dashboard-mode .topbar.home-topbar{background:color-mix(in srgb,#0e131c 82%,transparent);border-color:rgba(255,255,255,.07)}
[data-theme="dark"] .dashboard-mode .home-topbar .home-brand{color:#f2f5f8}
[data-theme="dark"] .home-nav{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.06)}
[data-theme="dark"] .home-nav button{color:#aab3c0}[data-theme="dark"] .home-nav button.active{background:#202936;color:#fff}
[data-theme="dark"] .dashboard-mode .home-topbar .top-tools{background:#171e29;border-color:rgba(255,255,255,.07)}
[data-theme="dark"] .catalog-course-card,[data-theme="dark"] .my-library-card,[data-theme="dark"] .library-summary-panel,[data-theme="dark"] .library-feedback,[data-theme="dark"] .empty-library{background:rgba(18,25,35,.76);border-color:rgba(255,255,255,.07)}
[data-theme="dark"] .catalog-copy>p,[data-theme="dark"] .catalog-section-head>p,[data-theme="dark"] .catalog-card-body>p,[data-theme="dark"] .my-library-hero p,[data-theme="dark"] .library-course-main>p,[data-theme="dark"] .library-feedback p,[data-theme="dark"] .empty-library p{color:#9ba6b5}
[data-theme="dark"] .catalog-card-visual,[data-theme="dark"] .library-course-visual{background:linear-gradient(145deg,color-mix(in srgb,var(--subject) 18%,#151d28),#111824)}
[data-theme="dark"] .catalog-outline,[data-theme="dark"] .catalog-added,[data-theme="dark"] .library-remove{background:#171f2a;color:#c6cfdb;border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .catalog-stage-core{background:linear-gradient(145deg,rgba(30,40,55,.92),rgba(20,28,39,.72));border-color:rgba(255,255,255,.09)}
[data-theme="dark"] .catalog-stage:before{background:radial-gradient(circle at 35% 30%,rgba(55,70,92,.9),rgba(25,34,47,.48),rgba(20,28,39,.06));border-color:rgba(255,255,255,.06)}
[data-theme="dark"] .stage-symbol{color:#f2f5f8}

/* responsive: designed as its own mobile product, not a squeezed desktop */
@media(max-width:1050px){
  .dashboard-mode .topbar.home-topbar{grid-template-columns:1fr auto auto;padding-inline:20px}
  .catalog-hero{grid-template-columns:1fr .68fr;gap:24px}
  .catalog-course-grid{grid-template-columns:1fr}
  .catalog-course-card{grid-template-columns:34% 66%}
  .catalog-footer-callout{grid-template-columns:1fr auto}.catalog-footer-callout>p{display:none}
  .my-library-hero{grid-template-columns:1fr}.library-summary-panel{min-width:0;width:100%}
}
@media(max-width:760px){
  .dashboard-mode .topbar.home-topbar{height:auto;min-height:68px;grid-template-columns:1fr auto;padding:8px 14px;gap:9px}
  .dashboard-mode .home-topbar .topbar-start{grid-column:1}
  .home-nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:center;order:3}
  .home-nav button{flex:1}
  .dashboard-mode .home-topbar .top-tools{grid-column:2;grid-row:1;margin:0}
  .dashboard-mode .home-topbar .font-controls{display:none}
  .catalog-page,.my-library-page{padding:34px 15px 54px}
  .catalog-hero{display:block;min-height:auto;padding:22px 2px 30px}
  .catalog-copy h1{font-size:clamp(2.75rem,13.3vw,4.2rem);line-height:1.08}
  .catalog-copy>p{font-size:.92rem;line-height:1.9}
  .catalog-stage{min-height:310px;margin-top:12px}.catalog-stage:before{width:285px;height:285px}.catalog-stage-core{width:155px;height:155px;border-radius:34px}.stage-symbol{font-size:3.4rem}.ring-a{width:255px;height:255px}.ring-b{width:215px;height:215px}
  .catalog-section{margin-top:5px}.catalog-section-head{grid-template-columns:1fr;gap:8px}.catalog-section-head h2{font-size:1.65rem}.catalog-section-head>p{font-size:.76rem}
  .catalog-course-grid{gap:13px}.catalog-course-card{display:block;min-height:0;border-radius:24px}.catalog-card-visual{height:180px}.catalog-card-body{padding:19px}.catalog-card-body h3{margin:17px 0 7px;font-size:1.42rem}.catalog-card-actions{display:grid;grid-template-columns:1fr 1fr;padding-top:18px}.catalog-card-actions button{width:100%}
  .catalog-footer-callout{display:block;padding:23px;border-radius:24px}.catalog-footer-callout h2{font-size:1.25rem}.catalog-footer-callout button{margin-top:16px;width:100%}
  .my-library-hero{gap:20px;margin-bottom:22px}.my-library-hero h1{font-size:2.8rem}.my-library-hero p{font-size:.86rem}
  .library-summary-panel{grid-template-columns:repeat(3,1fr);border-radius:20px}.library-summary-panel>div{padding:15px 7px}.library-summary-panel strong{font-size:1.55rem}.library-summary-panel span{font-size:.57rem}
  .my-library-card{display:block;border-radius:24px}.library-course-visual{height:150px}.library-course-visual>span{font-size:3.7rem}.library-course-main{padding:19px}.library-course-main h2{font-size:1.42rem}.library-course-actions{display:grid;grid-template-columns:1fr 1fr}.library-course-actions button{width:100%}
  .library-feedback{align-items:flex-start;flex-direction:column}
  .resource-card{grid-template-columns:auto 1fr}.resource-download{grid-column:1/-1;width:100%}
}
@media(max-width:430px){
  .dashboard-mode .home-topbar .home-brand span{display:none}
  .dashboard-mode .home-topbar .home-brand b{font-size:1.05rem}
  .catalog-hero-actions{align-items:stretch;flex-direction:column}.catalog-hero-actions .catalog-primary{width:100%}
  .catalog-card-actions,.library-course-actions{grid-template-columns:1fr}
  .library-summary-panel>div{padding-inline:4px}
}

/* Respect reduced-motion preferences. */
@media(prefers-reduced-motion:reduce){
  .catalog-orb,.catalog-stage-core,.stage-ring,.library-ambient i{animation:none!important}
  .catalog-course-card,.my-library-card,.subject-orb,.subject-line,.catalog-primary{transition:none!important}
}


/* =========================================================
   v1.9.1 — Final polish
   ========================================================= */
.dashboard-mode .topbar.home-topbar{
  box-shadow:0 1px 0 rgba(24,31,44,.04);
}
.dashboard-mode .home-topbar .home-brand{
  border:0;background:transparent;padding:0;cursor:pointer;
}
.dashboard-mode .home-topbar .home-brand:focus-visible,
.home-nav button:focus-visible,
.catalog-primary:focus-visible,
.catalog-outline:focus-visible,
.catalog-add:focus-visible,
.catalog-added:focus-visible,
.library-remove:focus-visible,
.resource-download:focus-visible{
  outline:3px solid rgba(91,85,231,.24);
  outline-offset:3px;
}
.catalog-page{padding-top:46px}
.catalog-hero{min-height:430px;padding-bottom:34px}
.catalog-copy h1{max-width:780px}
.catalog-stage{transform:scale(.96)}
.catalog-section{margin-top:8px}
.catalog-course-grid{gap:16px}
.catalog-course-card{min-height:322px}
.catalog-card-body h3{margin-top:24px}
.catalog-footer-callout{margin-top:18px}
.my-library-page{padding-top:48px}
.my-library-hero{margin-bottom:28px}
.my-library-card{min-height:226px}
.library-course-main{display:flex;flex-direction:column}
.library-course-actions{margin-top:auto}
.library-feedback{margin-top:18px}
.resource-card{box-shadow:0 10px 28px rgba(37,49,71,.06)}
.resource-download:hover{filter:brightness(.96);transform:translateY(-1px)}
.catalog-outline:hover,.library-remove:hover{background:#f7f8fb}
.catalog-add:hover{filter:saturate(1.08) brightness(.98)}
.catalog-added:hover{background:#f8fafc}

@media(min-width:1200px){
  .catalog-course-card:nth-child(5){grid-column:1 / -1;grid-template-columns:28% 72%}
  .catalog-course-card:nth-child(5) .catalog-card-visual{min-height:280px}
  .catalog-course-card:nth-child(5) .catalog-card-body{padding-inline:30px}
}

@media(max-width:760px){
  .catalog-page,.my-library-page{padding-top:26px}
  .catalog-hero{padding-top:10px}
  .catalog-stage{transform:none}
  .catalog-course-card{box-shadow:0 14px 34px rgba(62,74,99,.08)}
  .catalog-course-card:hover,.my-library-card:hover{transform:none}
  .catalog-card-meta{font-size:.66rem}
  .catalog-footer-callout p{display:block!important;margin-top:8px}
  .my-library-list{gap:12px}
  .library-course-main{padding:18px}
  .library-feedback{padding:16px}
}
\n\n/* v1.9.2 — whole library course card is an accessible navigation target */
.my-library-card[role="link"]{cursor:pointer}
.my-library-card[role="link"]:focus-visible{outline:3px solid color-mix(in srgb,var(--subject) 34%,transparent);outline-offset:4px;box-shadow:0 28px 72px rgba(63,75,100,.15)}
.my-library-card[role="link"] .catalog-primary,.my-library-card[role="link"] .library-remove{position:relative;z-index:2}
@media(max-width:760px){.my-library-card[role="link"]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}}


/* Physics v2.0 */
.catalog-tone-physics .catalog-stage-core,
.subject-physics .catalog-card-visual,
.subject-physics .library-course-visual{
  background:
    radial-gradient(circle at 26% 22%, rgba(255,255,255,.86), transparent 27%),
    linear-gradient(145deg, #d9efff 0%, #b9d9ff 42%, #d8cbff 100%);
}
.subject-physics .catalog-card-symbol,
.subject-physics .library-course-visual > span,
.catalog-tone-physics .stage-symbol{
  color:#173b7a;
}
.subject-physics .catalog-card-kicker span,
.subject-physics .catalog-card-kicker small,
.subject-physics .library-course-label > span{
  color:#355b9a;
}
.subject-physics .subject-orb{
  background:radial-gradient(circle,rgba(81,126,214,.38),rgba(81,126,214,0));
}
.subject-physics .subject-line{
  border-color:rgba(46,87,158,.3);
}
.my-library-card.subject-physics{
  --library-accent:#426bb4;
  --library-soft:rgba(66,107,180,.12);
}
.physics-mode .lesson-panel{
  --physics-ink:#19375f;
  --physics-soft:rgba(64,113,190,.1);
}
.physics-mode .formula-card{
  border-color:rgba(61,105,176,.25);
  background:linear-gradient(135deg,rgba(236,245,255,.95),rgba(247,244,255,.95));
}
.physics-mode .formula-text{
  color:var(--physics-ink);
}
.physics-visual .math-visual{
  min-height:230px;
}
.physics-visual .math-visual rect{
  fill:rgba(95,139,211,.10);
  stroke:rgba(42,79,139,.5);
  stroke-width:2;
}
.physics-visual .curve,
.physics-visual .stat-arrow,
.physics-visual .ci-line,
.physics-visual .mean-line{
  vector-effect:non-scaling-stroke;
}
.physics-visual .stat-arrow{
  stroke-width:3;
}
.physics-visual .svg-label{
  font-weight:700;
}
@media (max-width:720px){
  .physics-visual .math-visual{min-height:190px}
}


/* Physics v2.3 — Phase 4A visual learning cards */
.physics-chart-card{display:grid;gap:14px}
.physics-chart-card .visual-copy{margin-bottom:2px}
.physics-visual-notes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:4px
}
.physics-visual-notes p{
  margin:0;
  padding:12px 13px;
  border:1px solid rgba(61,105,176,.14);
  border-radius:14px;
  background:rgba(246,249,255,.78);
  line-height:1.8;
  font-size:.86rem
}
.physics-visual-notes p b{
  display:block;
  margin-bottom:3px;
  color:#244b82;
  font-size:.76rem
}
[data-theme="dark"] .physics-visual-notes p{
  background:rgba(44,68,105,.16);
  border-color:rgba(132,166,222,.16)
}
[data-theme="dark"] .physics-visual-notes p b{color:#aac7f5}
@media(max-width:760px){
  .physics-visual-notes{grid-template-columns:1fr}
  .physics-chart-card .math-visual{min-height:175px}
}
/* Physics Chapter 28 — Artemis Gate */
.artemis-gate{
  margin-top:32px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
}

.artemis-gate-question{
  margin:0 0 14px;
  font-size:18px;
  font-weight:800;
  color:var(--text);
}

.artemis-gate-form{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.artemis-gate-input{
  min-width:220px;
  height:44px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--bg);
  color:var(--text);
  outline:none;
}

.artemis-gate-input:focus{
  border-color:var(--accent);
}

.artemis-gate-button{
  height:44px;
  padding:0 18px;
  border:0;
  border-radius:12px;
  background:var(--accent);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.artemis-gate-error{
  margin:10px 0 0;
  font-size:12px;
  color:var(--danger);
}

.artemis-secret-page{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:grid;
  place-items:center;
  background:#fff;
}

.artemis-heart{
  color:#e21d2f;
  font-size:clamp(88px,18vw,220px);
  line-height:1;
  animation:artemis-heart-pop 140ms cubic-bezier(.2,.95,.4,1.25) both;
  user-select:none;
}

@keyframes artemis-heart-pop{
  from{transform:scale(0);}
  to{transform:scale(1);}
}

.physics-love-note{
  margin:8px 0 14px;
  font-size:13px;
  color:var(--muted);
  text-align:center;
}

.physics-love-note span{
  color:#e21d2f;
  font-size:16px;
  vertical-align:-1px;
}

.physics-mock-setup,
.physics-mock-exam,
.physics-mock-result{
  display:grid;
  gap:18px;
}

.mock-setting-card,
.mock-source-toggle,
.mock-question-card,
.mock-mistake-card{
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
  background:var(--panel);
}

.mock-count-options{
  display:flex;
  gap:10px;
  margin-top:12px;
}

.mock-count-options button{
  min-width:72px;
  padding:10px 16px;
  border-radius:12px;
}

.mock-count-options button.active{
  font-weight:800;
  border-color:currentColor;
}

.mock-source-toggle{
  display:flex;
  gap:12px;
  align-items:center;
  cursor:pointer;
}

.mock-source-toggle div{
  display:grid;
  gap:4px;
}

.mock-source-toggle span{
  color:var(--muted);
  font-size:13px;
}

.mock-start-btn{
  justify-self:start;
}

.mock-exam-head,
.mock-submit-bar,
.mock-question-meta,
.mock-mistake-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.mock-question-stack,
.mock-mistake-review{
  display:grid;
  gap:16px;
}

.mock-options{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.mock-options button{
  display:flex;
  align-items:center;
  gap:12px;
  text-align:right;
  padding:12px;
  border-radius:12px;
}

.mock-options button.selected{
  font-weight:800;
  border-color:currentColor;
}

.mock-options button span{
  min-width:28px;
  text-align:center;
}

.mock-score-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.mock-score-grid article{
  padding:16px;
  border:1px solid var(--border);
  border-radius:16px;
  text-align:center;
}

.mock-score-grid strong{
  display:block;
  font-size:24px;
}

.mock-score-grid span{
  color:var(--muted);
  font-size:12px;
}

.mock-result-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.mock-chapter-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:10px;
}

.mock-chapter-grid article{
  padding:12px;
  border:1px solid var(--border);
  border-radius:14px;
  display:grid;
  gap:5px;
}

.mock-correct-answer{
  display:flex;
  gap:8px;
  margin:10px 0;
}

.mock-exam-loading{
  padding:30px;
  text-align:center;
}

@media(max-width:720px){
  .mock-score-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mock-exam-head,
  .mock-submit-bar{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Physics Phase 10 — chapter learning path */
.physics-chapter-guide{
  display:grid;
  gap:18px;
  margin:0 0 24px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,var(--surface)),var(--surface));
}
.physics-chapter-guide-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}
.physics-chapter-guide-head>div:first-child>span{
  color:var(--accent);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.04em;
}
.physics-chapter-guide-head h2{margin:5px 0 7px;font-size:1.35rem}
.physics-chapter-guide-head p{margin:0;color:var(--muted);line-height:1.9;font-size:.82rem;max-width:760px}
.physics-mastery-badge{
  min-width:76px;
  padding:12px 10px;
  border-radius:18px;
  text-align:center;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface2));
}
.physics-mastery-badge strong{display:block;font-size:1.65rem;color:var(--accent)}
.physics-mastery-badge span{display:block;font-size:.63rem;color:var(--muted)}
.physics-learning-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.physics-learning-path article{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:color-mix(in srgb,var(--surface) 92%,var(--accent));
}
.physics-learning-path article>span{
  flex:0 0 26px;
  width:26px;height:26px;
  display:grid;place-items:center;
  border-radius:9px;
  background:var(--accent);
  color:#fff;
  font-size:.7rem;
  font-weight:900;
}
.physics-learning-path b{font-size:.76rem}
.physics-learning-path p{margin:4px 0 0;color:var(--muted);font-size:.69rem;line-height:1.75}
.physics-chapter-outcomes{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  padding-top:2px;
}
.physics-chapter-outcomes>b{font-size:.72rem}
.physics-chapter-outcomes>span{
  padding:6px 9px;
  border-radius:999px;
  background:var(--surface2);
  border:1px solid var(--line);
  font-size:.66rem;
  color:var(--muted);
}
@media(max-width:980px){
  .physics-learning-path{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .physics-chapter-guide{padding:16px;border-radius:18px}
  .physics-chapter-guide-head{flex-direction:column}
  .physics-mastery-badge{display:flex;gap:8px;align-items:center}
  .physics-mastery-badge strong{font-size:1.2rem}
  .physics-learning-path{grid-template-columns:1fr}
}


/* Physics Chapter 28 — Artemis Morse-to-heart reveal */
.artemis-love-scene{
  width:min(920px,92vw);
  min-height:520px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
}

.artemis-morse{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
  max-width:780px;
  opacity:1;
  animation:artemis-morse-away 1.8s ease 8.3s forwards;
}

.artemis-morse-letter{
  display:grid;
  gap:8px;
  justify-items:center;
  min-width:56px;
}

.artemis-morse-label{
  font:800 13px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.16em;
  color:#8b8b95;
  opacity:0;
  animation:artemis-symbol-in .7s ease forwards;
}

.artemis-morse-code{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:16px;
}

.morse-symbol{
  display:block;
  height:8px;
  border-radius:999px;
  background:#e21d2f;
  opacity:0;
  transform:translateY(10px) scale(.7);
  animation:artemis-symbol-in .76s cubic-bezier(.2,.85,.25,1.15) forwards;
}

.morse-symbol.dot{width:8px}
.morse-symbol.dash{width:24px}

.artemis-heart-stage{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
}

.artemis-heart-dots{
  width:min(360px,72vw);
  overflow:visible;
}

.artemis-heart-dots circle{
  fill:#e21d2f;
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  transform:scale(0);
  animation:artemis-heart-dot .84s cubic-bezier(.18,.9,.3,1.25) forwards;
}

.artemis-signature{
  position:absolute;
  top:calc(50% + 185px);
  margin:0;
  font:700 clamp(18px,3vw,30px)/1.2 Georgia,'Times New Roman',serif;
  letter-spacing:.08em;
  text-transform:lowercase;
  color:#26242a;
  opacity:0;
  transform:translateY(12px);
  animation:artemis-signature-in 1.6s ease 11.4s forwards;
}

@keyframes artemis-symbol-in{
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes artemis-morse-away{
  to{opacity:0;transform:scale(.92);filter:blur(6px)}
}

@keyframes artemis-heart-dot{
  to{opacity:1;transform:scale(1)}
}

@keyframes artemis-signature-in{
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:620px){
  .artemis-love-scene{min-height:460px}
  .artemis-morse{gap:12px}
  .artemis-morse-letter{min-width:46px}
  .artemis-signature{top:calc(50% + 155px)}
}

@media(prefers-reduced-motion:reduce){
  .artemis-morse{animation:none;opacity:0}
  .artemis-morse-label,
  .morse-symbol,
  .artemis-heart-dots circle,
  .artemis-signature{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* Artemis v2 — left-to-right reveal, slower pacing, back control */
.artemis-morse{
  direction:ltr;
  unicode-bidi:isolate;
}
.artemis-morse-letter,
.artemis-morse-code{
  direction:ltr;
}
.artemis-back-button{
  position:absolute;
  top:24px;
  left:24px;
  z-index:3;
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(38,36,42,.14);
  border-radius:12px;
  background:rgba(255,255,255,.86);
  color:#26242a;
  font:700 13px/1 system-ui,sans-serif;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.artemis-back-button:hover{background:#fff}
.artemis-back-button:focus-visible{
  outline:3px solid rgba(226,29,47,.2);
  outline-offset:3px;
}
@media(max-width:620px){
  .artemis-back-button{top:16px;left:16px}
}


/* Physics Phase 6 — adaptive practice */
.physics-adaptive-practice{display:grid;gap:18px}
.adaptive-session-card{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
  gap:18px;
  align-items:stretch;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:color-mix(in srgb,var(--surface) 94%,var(--accent));
}
.adaptive-session-card>div:first-child>span{
  font-size:.68rem;
  font-weight:900;
  color:var(--accent);
  letter-spacing:.05em;
}
.adaptive-session-card h2{margin:5px 0 8px}
.adaptive-session-card p{margin:0;color:var(--muted);line-height:1.9;font-size:.82rem}
.adaptive-session-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.adaptive-session-stats article{
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  text-align:center;
}
.adaptive-session-stats strong{display:block;font-size:1.35rem;color:var(--accent)}
.adaptive-session-stats span{display:block;margin-top:3px;font-size:.66rem;color:var(--muted)}
.adaptive-focus{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.adaptive-focus b{font-size:.74rem}
.adaptive-focus span{
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface2);
  color:var(--muted);
  font-size:.68rem;
}
.adaptive-actions{display:flex;justify-content:flex-end}
@media(max-width:760px){
  .adaptive-session-card{grid-template-columns:1fr}
}


/* Physics Phase 7 — spaced daily review */
.review-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.review-summary-grid article{
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
}
.review-summary-grid strong{display:block;font-size:1.45rem;color:var(--accent)}
.review-summary-grid span{display:block;font-weight:800;margin-top:3px}
.review-summary-grid small{display:block;color:var(--muted);margin-top:4px}
.review-interval-note{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  padding:12px 14px;
  border:1px dashed var(--line);
  border-radius:14px;
  background:var(--surface2);
  font-size:.74rem;
}
.review-session-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-top:4px;
}
.review-session-head span{font-size:.68rem;color:var(--accent);font-weight:900}
.review-session-head h2{margin:4px 0}
.review-session-head p{margin:0;color:var(--muted);font-size:.78rem}
.review-reason-legend{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.review-reason-legend span{
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--muted);
}
.review-queue-list{
  display:grid;
  gap:7px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
}
.review-queue-list div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-top:7px;
  border-top:1px solid var(--line);
}
.review-queue-list small{color:var(--muted)}
@media(max-width:760px){
  .review-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-session-head{align-items:flex-start;flex-direction:column}
  .review-reason-legend{justify-content:flex-start}
  .review-queue-list div{flex-direction:column;gap:3px}
}


/* Physics Phase 8 — progress intelligence dashboard */
.progress-readiness-hero{
  display:grid;
  grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);
  gap:14px;
}
.progress-readiness-hero>div{
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
}
.progress-readiness-hero>div:first-child{
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
}
.progress-readiness-hero span{font-size:.7rem;font-weight:900;color:var(--muted)}
.progress-readiness-hero strong{font-size:2.5rem;line-height:1.1;color:var(--accent)}
.progress-readiness-hero small{margin-top:4px;color:var(--muted)}
.progress-next-action h3{margin:5px 0 6px}
.progress-next-action p{margin:0;color:var(--muted);line-height:1.8}
.progress-signal-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.progress-signal{
  padding:12px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface);
}
.progress-signal span{display:block;font-size:.68rem;color:var(--muted)}
.progress-signal strong{display:block;margin:5px 0 8px;font-size:1.05rem}
.progress-signal>div{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:var(--surface2);
}
.progress-signal i{display:block;height:100%;border-radius:inherit;background:currentColor}
.progress-signal.good{color:#1d8b57}
.progress-signal.ok{color:#b67a14}
.progress-signal.risk{color:#c84b4b}
.progress-signal.neutral{color:var(--muted)}
.progress-topic-grid,.progress-exam-history{display:grid;gap:9px}
.progress-topic-grid article,.progress-exam-history article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
}
.progress-topic-grid article>div{display:grid;gap:3px}
.progress-topic-grid small,.progress-exam-history small{color:var(--muted)}
.progress-exam-history{grid-template-columns:repeat(2,minmax(0,1fr))}
.progress-exam-history article{align-items:flex-start;flex-direction:column}
@media(max-width:900px){
  .progress-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .progress-readiness-hero{grid-template-columns:1fr}
  .progress-exam-history{grid-template-columns:1fr}
}


/* Physics Phase 9 — personalized mock exams */
.mock-setting-card small{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:.72rem;
}
.mock-composition-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 18px;
}
.mock-composition-strip span{
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface2);
  color:var(--muted);
  font-size:.7rem;
  font-weight:800;
}


/* Physics Phase 10 — smart study plan */
.physics-study-planner{display:grid;gap:18px}
.study-plan-budget{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
}
.study-plan-budget>div:first-child{display:grid;gap:4px}
.study-plan-budget span{color:var(--muted);font-size:.75rem}
.study-plan-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.study-plan-summary article{
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  text-align:center;
}
.study-plan-summary strong{display:block;font-size:1.4rem;color:var(--accent)}
.study-plan-summary span{display:block;margin-top:4px;font-size:.7rem;color:var(--muted)}
.study-plan-timeline{display:grid;gap:10px}
.study-plan-timeline article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:15px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
}
.study-plan-order{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--surface2);
  font-weight:900;
  color:var(--accent);
}
.study-plan-copy>div{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.study-plan-copy>div span{
  font-size:.67rem;
  font-weight:900;
  color:var(--accent);
}
.study-plan-copy>div small{
  padding:4px 7px;
  border-radius:999px;
  background:var(--surface2);
  color:var(--muted);
}
.study-plan-copy h3{margin:5px 0}
.study-plan-copy p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.8}
.study-plan-note{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:12px 14px;
  border:1px dashed var(--line);
  border-radius:14px;
  background:var(--surface2);
  font-size:.74rem;
}
@media(max-width:760px){
  .study-plan-budget{align-items:flex-start;flex-direction:column}
  .study-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .study-plan-timeline article{grid-template-columns:36px minmax(0,1fr)}
  .study-plan-timeline article>button{grid-column:2}
  .study-plan-order{width:36px;height:36px}
}


/* Physics Phase 11 — intelligent learning path */
.physics-learning-map{display:grid;gap:18px}
.learning-path-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
}
.learning-path-hero span{font-size:.7rem;font-weight:900;color:var(--accent)}
.learning-path-hero h3{margin:5px 0 8px}
.learning-path-hero p{margin:0;color:var(--muted);line-height:1.85}
.learning-path-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.learning-path-summary article{
  padding:13px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface);
}
.learning-path-summary strong{display:block;font-size:1.35rem;color:var(--accent)}
.learning-path-summary span{display:block;margin-top:3px;font-size:.68rem;color:var(--muted)}
.learning-path-legend{display:flex;gap:7px;flex-wrap:wrap}
.learning-status-dot{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface2);
  font-size:.67rem;
  color:var(--muted);
}
.learning-status-dot::before{
  content:'';
  width:7px;height:7px;border-radius:50%;
  background:currentColor;
}
.learning-status-dot.mastered{color:#1d8b57}
.learning-status-dot.ready{color:#3c7f64}
.learning-status-dot.review{color:#b67a14}
.learning-status-dot.weak{color:#c84b4b}
.learning-status-dot.learning{color:var(--accent)}
.learning-status-dot.blocked{color:#7a7a7a}
.learning-path-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.learning-path-card{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--surface);
  position:relative;
  overflow:hidden;
}
.learning-path-card::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--line);
}
.learning-path-card.mastered::before{background:#1d8b57}
.learning-path-card.ready::before{background:#3c7f64}
.learning-path-card.review::before{background:#b67a14}
.learning-path-card.weak::before{background:#c84b4b}
.learning-path-card.learning::before{background:var(--accent)}
.learning-path-card.blocked{opacity:.72}
.learning-path-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.learning-path-card-head span{font-size:.68rem;font-weight:900;color:var(--muted)}
.learning-path-card-head small{
  padding:4px 7px;
  border-radius:999px;
  background:var(--surface2);
  color:var(--muted);
}
.learning-path-card h3{margin:0;font-size:.9rem;line-height:1.65}
.learning-path-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.learning-path-metrics span{
  display:grid;
  gap:3px;
  padding:7px;
  border-radius:10px;
  background:var(--surface2);
  font-size:.62rem;
  color:var(--muted);
}
.learning-path-metrics b{font-size:.75rem;color:var(--text)}
.learning-path-prereq{margin:0;color:var(--muted);font-size:.68rem;line-height:1.7}
@media(max-width:980px){
  .learning-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .learning-path-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .learning-path-hero{grid-template-columns:1fr}
  .learning-path-grid{grid-template-columns:1fr}
  .learning-path-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Physics Phase 12 — weekly/monthly progress reports */
.physics-progress-report{display:grid;gap:18px}
.progress-report-period{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
}
.progress-report-period>div:first-child{display:grid;gap:4px}
.progress-report-period span{font-size:.72rem;color:var(--muted)}
.progress-report-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.progress-report-kpis article,
.progress-report-exams article,
.progress-report-skill article{
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
}
.progress-report-kpis span,
.progress-report-exams span,
.progress-report-skill span{
  display:block;
  font-size:.68rem;
  color:var(--muted);
}
.progress-report-kpis strong{
  display:block;
  margin:4px 0;
  font-size:1.45rem;
}
.progress-report-kpis small,
.progress-report-exams small,
.progress-report-skill small{
  display:block;
  color:var(--muted);
}
.progress-report-kpis small.up,
.progress-report-exams em.up{color:#1d8b57}
.progress-report-kpis small.down,
.progress-report-exams em.down{color:#c84b4b}
.progress-report-kpis small.neutral,
.progress-report-exams em.neutral{color:var(--muted)}
.progress-report-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.progress-report-columns>section{
  display:grid;
  gap:10px;
}
.progress-report-columns h3{margin:0}
.progress-report-exams,
.progress-report-skill{
  display:grid;
  gap:9px;
}
.progress-report-exams article{
  display:grid;
  gap:4px;
}
.progress-report-exams strong,
.progress-report-skill strong{
  font-size:1.05rem;
}
.progress-report-exams em{
  font-style:normal;
  font-size:.68rem;
  font-weight:800;
}
.progress-report-skill article{
  display:grid;
  gap:5px;
}
.progress-report-recommendation{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface2);
}
.progress-report-recommendation span{
  display:block;
  font-size:.68rem;
  font-weight:900;
  color:var(--accent);
}
.progress-report-recommendation h3{margin:5px 0 7px}
.progress-report-recommendation p{margin:0;color:var(--muted);line-height:1.8}
.progress-report-note{
  margin:0;
  padding:10px 12px;
  border-right:3px solid var(--line);
  color:var(--muted);
  font-size:.69rem;
  line-height:1.8;
}
@media(max-width:820px){
  .progress-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .progress-report-columns{grid-template-columns:1fr}
}
@media(max-width:620px){
  .progress-report-period{align-items:flex-start;flex-direction:column}
  .progress-report-kpis{grid-template-columns:1fr}
}


/* Physics Phase 13 — final UX and accessibility polish */
:where(button,a,input,textarea,select):focus-visible{
  outline:3px solid currentColor;
  outline-offset:3px;
}
.quiz-session-progress{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface2);
}
.quiz-session-progress span{
  font-size:.7rem;
  color:var(--muted);
}
.quiz-session-progress b{
  font-size:.76rem;
}
.quiz-session-progress>div{
  grid-column:1/-1;
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:var(--surface);
}
.quiz-session-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--accent);
  transition:width .2s ease;
}
.lesson-panel,
.quiz-card,
.example-card,
.visual-card,
.physics-progress-report,
.physics-learning-map{
  overflow-wrap:anywhere;
}
.formula-text,
.solution,
.final-answer,
.source-problem-solution,
.answer-math{
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}
.options button,
.section-nav button,
.mock-options button{
  min-height:44px;
}
@media(max-width:680px){
  .study-heading{
    align-items:flex-start;
    gap:10px;
  }
  .quiz-card,
  .example-card,
  .visual-card{
    padding-inline:12px;
  }
  .options{
    gap:8px;
  }
  .options button,
  .mock-options button,
  .catalog-primary,
  .catalog-outline,
  .primary-btn{
    min-height:46px;
  }
  .formula-card,
  .solution,
  .source-problem-solution{
    max-width:100%;
    overflow-x:auto;
  }
}
@media(prefers-reduced-motion:reduce){
  .quiz-session-progress i{
    transition:none;
  }
}


/* Rocket.Chat full-workspace messenger */
.messenger-loading{display:grid;place-items:center;min-height:320px;color:var(--muted)}
.rocketchat-page{max-width:1280px;margin:auto;padding:32px;display:grid;gap:16px}
.rocketchat-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.rocketchat-head span,.rocketchat-state>span{font-size:.7rem;font-weight:900;color:var(--accent)}
.rocketchat-head h1,.rocketchat-state h1{margin:3px 0;font-size:2rem}
.rocketchat-head p,.rocketchat-state p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.9}
.rocketchat-frame-wrap{height:min(840px,calc(100vh - 165px));min-height:620px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.rocketchat-frame{display:block;width:100%;height:100%;border:0;background:var(--surface)}.rocketchat-page.full-workspace{max-width:1500px}
.rocketchat-note{margin:0;padding:10px 12px;border-right:3px solid var(--accent);background:var(--surface2);border-radius:10px;color:var(--muted);font-size:.7rem}
.rocketchat-state{max-width:760px;margin:50px auto;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}
.rocketchat-state.error{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}
.rocketchat-config-example{margin:16px 0;padding:12px 14px;border-radius:12px;background:var(--surface2);overflow:auto;font:600 .78rem ui-monospace,SFMono-Regular,Consolas,monospace}
.rocketchat-state small{display:block;color:var(--muted);line-height:1.8}
@media(max-width:700px){
  .rocketchat-page{padding:15px}
  .rocketchat-head{align-items:flex-start;flex-direction:column}
  .rocketchat-head h1,.rocketchat-state h1{font-size:1.5rem}
  .rocketchat-frame-wrap{height:72vh;min-height:520px;border-radius:16px}
  .rocketchat-state{margin:24px auto;padding:18px}
}

/* Physics Phase 19 — adaptive error diagnostics */
.adaptive-error-panel{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.adaptive-error-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.adaptive-error-head span{font-size:.88rem;color:var(--muted)}
.adaptive-error-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.adaptive-error-grid article{padding:12px;border-radius:14px;background:var(--surface-2,rgba(127,127,127,.06));display:grid;gap:5px}
.adaptive-error-grid strong{font-size:1rem}
.adaptive-error-grid span{font-size:.9rem}
.adaptive-error-grid small{line-height:1.7;color:var(--muted)}

/* Physics Phase 20 — deadline-aware study plan */
.study-plan-date{min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit}
.study-plan-deadline{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:14px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.study-plan-deadline strong{font-size:1.8rem}
.study-plan-deadline span,.study-plan-deadline small{color:var(--muted)}
.study-plan-deadline b{margin-inline-start:auto}
@media (max-width:640px){.study-plan-deadline b{margin-inline-start:0;width:100%}.study-plan-date{width:100%}}

/* Physics Phase 21 — exam readiness dashboard */
.readiness-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0 22px}
.readiness-summary-grid article{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);display:grid;gap:4px}
.readiness-summary-grid strong{font-size:1.45rem}
.readiness-summary-grid span{color:var(--muted);font-size:.9rem}
.readiness-risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.readiness-risk{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.readiness-risk span{font-size:.78rem;color:var(--muted)}
.readiness-risk h4{margin:6px 0 8px}
.readiness-risk p{margin:0;color:var(--muted);line-height:1.7}
.readiness-risk.high{box-shadow:inset 0 0 0 1px rgba(180,60,60,.18)}
.readiness-trend{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;align-items:end;min-height:180px}
.readiness-trend article{display:grid;gap:6px;justify-items:center}
.readiness-trend article>div{height:110px;width:22px;border-radius:999px;background:var(--surface-2,rgba(127,127,127,.08));display:flex;align-items:flex-end;overflow:hidden}
.readiness-trend i{display:block;width:100%;border-radius:999px;background:currentColor;opacity:.65}
.readiness-trend span{font-size:.82rem;color:var(--muted);text-align:center}
.readiness-trend strong{font-size:1rem}


/* Physics Phase 22 — final UX and mobile polish */
.physics-final-polish :where(.study-grid,.lesson-panel,.lesson-blocks,.quiz-card,.exam-area,.physics-mock-exam,.physics-mock-result,.physics-study-planner,.physics-adaptive-practice,.physics-daily-review,.physics-learning-map,.physics-progress-dashboard,.physics-progress-report){min-width:0}
.physics-final-polish :where(.lesson-p,.example-prompt,.quiz-card h3,.mock-question-card h3,.mock-options b,.progress-next-action p,.readiness-risk p,.study-plan-copy p){overflow-wrap:anywhere}
.physics-final-polish :where(.formula-card,.solution,.source-problem-solution,.final-answer,.answer-math,.math-inline){max-width:100%}
.physics-final-polish :where(.formula-text,.solution p,.source-problem-solution,.final-answer,.answer-math,.math-inline){overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.physics-final-polish .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.physics-final-polish .table-wrap table{min-width:520px}
.physics-final-polish :where(.math-visual,svg,canvas,img){max-width:100%;height:auto}
.physics-final-polish :where(.options button,.mock-options button,.mock-count-options button,.study-plan-timeline button,.adaptive-actions button,.review-session-head button,.learning-path-card button,.lesson-footer-actions button,.section-nav button){min-height:46px}
.physics-final-polish .mock-options button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;width:100%;text-align:start}
.physics-final-polish .mock-options button>span{display:grid;place-items:center;min-width:32px;min-height:32px;border-radius:10px;background:var(--surface);font-weight:900}
.physics-final-polish .mock-options button.selected>span{background:var(--accent);color:#fff}
.physics-final-polish .readiness-trend-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 8px;scrollbar-width:thin}
.physics-final-polish .readiness-trend{min-width:min(720px,calc(90px * 8));grid-template-columns:repeat(8,minmax(74px,1fr))}
.physics-final-polish .progress-signal small{display:block;color:var(--muted);font-size:.68rem;margin-bottom:7px}
.physics-final-polish .mock-submit-bar{z-index:12}
.physics-final-polish .mock-question-card{scroll-margin-top:96px}
.physics-final-polish .study-plan-copy,.physics-final-polish .progress-topic-grid article>div{min-width:0}

@media(max-width:768px){
  .physics-final-polish .study-page{padding-inline:14px}
  .physics-final-polish .study-heading{margin-bottom:14px}
  .physics-final-polish .study-heading h1{font-size:clamp(1.45rem,7vw,1.9rem);line-height:1.45}
  .physics-final-polish .lesson-panel{padding:18px 14px}
  .physics-final-polish .content-intro h2{font-size:clamp(1.35rem,6vw,1.75rem)}
  .physics-final-polish .content-intro p{font-size:.82rem;line-height:1.85}
  .physics-final-polish .formula-card{padding:14px 10px}
  .physics-final-polish .formula-text{font-size:clamp(1rem,4.5vw,1.2rem);white-space:nowrap;padding-bottom:4px}
  .physics-final-polish .solution p,.physics-final-polish .final-answer,.physics-final-polish .source-problem-solution{white-space:normal}
  .physics-final-polish .table-wrap{margin-inline:0}
  .physics-final-polish .mock-setting-card{padding:14px}
  .physics-final-polish .mock-count-options{display:flex;flex-wrap:wrap;gap:8px}
  .physics-final-polish .mock-count-options button{flex:1 1 110px;padding-inline:12px}
  .physics-final-polish .mock-source-toggle{align-items:flex-start}
  .physics-final-polish .mock-source-toggle input{margin-top:6px;min-width:20px;min-height:20px}
  .physics-final-polish .mock-question-stack{gap:14px}
  .physics-final-polish .mock-question-card{padding:15px 12px}
  .physics-final-polish .mock-question-meta{align-items:flex-start;gap:6px;flex-wrap:wrap}
  .physics-final-polish .mock-options{grid-template-columns:1fr;gap:9px}
  .physics-final-polish .mock-options button{min-height:54px;padding:11px 12px}
  .physics-final-polish .mock-submit-bar{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;margin:18px 0 8px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 34px rgba(15,23,42,.12);backdrop-filter:blur(14px)}
  .physics-final-polish .mock-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physics-final-polish .mock-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physics-final-polish .progress-readiness-hero{grid-template-columns:1fr}
  .physics-final-polish .progress-readiness-hero>div:first-child{padding-block:22px}
  .physics-final-polish .progress-readiness-hero strong{font-size:3rem}
  .physics-final-polish .progress-next-action{order:2}
  .physics-final-polish .progress-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physics-final-polish .readiness-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physics-final-polish .readiness-risk-grid{grid-template-columns:1fr}
  .physics-final-polish .progress-topic-grid article{align-items:flex-start}
  .physics-final-polish .study-plan-budget{align-items:stretch}
  .physics-final-polish .study-plan-date{width:100%;min-width:0;min-height:46px}
  .physics-final-polish .study-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physics-final-polish .study-plan-timeline article{grid-template-columns:36px minmax(0,1fr);align-items:start}
  .physics-final-polish .study-plan-timeline article>button{grid-column:1/-1;width:100%;min-height:48px}
  .physics-final-polish .adaptive-session-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physics-final-polish .adaptive-error-head{align-items:flex-start;flex-direction:column}
  .physics-final-polish .adaptive-error-grid{grid-template-columns:1fr}
  .physics-final-polish .review-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physics-final-polish .learning-path-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .physics-final-polish .learning-path-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .physics-final-polish .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:9px 12px}
  .physics-final-polish .topbar-start{min-width:0}
  .physics-final-polish .mobile-title{min-width:0;display:grid;gap:1px}
  .physics-final-polish .mobile-title b,.physics-final-polish .mobile-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .physics-final-polish .top-tools{min-width:0;max-width:52vw;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .physics-final-polish .top-tools::-webkit-scrollbar{display:none}
  .physics-final-polish .top-tools button{min-width:44px;min-height:44px;white-space:nowrap}
  .physics-final-polish .mode-switch{grid-column:1/-1;order:initial;width:100%;overflow-x:auto}
  .physics-final-polish .mode-btn{min-height:42px}
  .physics-final-polish .focus-floating-bar{inset-inline:10px;bottom:max(10px,env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}
}
@media(max-width:430px){
  .physics-final-polish .study-page{padding:11px}
  .physics-final-polish .lesson-panel{padding:15px 11px;border-radius:16px}
  .physics-final-polish .section-nav{grid-template-columns:1fr}
  .physics-final-polish .section-nav>b,.physics-final-polish .section-nav hr{grid-column:1}
  .physics-final-polish .formula-card,.physics-final-polish .example-card,.physics-final-polish .quiz-card,.physics-final-polish .mock-question-card{border-radius:14px}
  .physics-final-polish .options button,.physics-final-polish .mock-options button{min-height:56px;font-size:.82rem}
  .physics-final-polish .mock-score-grid,.physics-final-polish .mock-chapter-grid,.physics-final-polish .readiness-summary-grid,.physics-final-polish .progress-signal-grid{grid-template-columns:1fr}
  .physics-final-polish .mock-submit-bar{grid-template-columns:1fr}
  .physics-final-polish .mock-submit-bar .catalog-primary{width:100%;min-height:50px}
  .physics-final-polish .mock-submit-bar span{text-align:center}
  .physics-final-polish .progress-readiness-hero strong{font-size:2.7rem}
  .physics-final-polish .progress-topic-grid article{flex-direction:column}
  .physics-final-polish .progress-topic-grid article>strong{align-self:flex-start}
  .physics-final-polish .study-plan-summary,.physics-final-polish .review-summary-grid,.physics-final-polish .learning-path-summary,.physics-final-polish .adaptive-session-stats{grid-template-columns:1fr 1fr}
  .physics-final-polish .study-plan-timeline article{padding:12px;gap:10px}
  .physics-final-polish .learning-path-metrics{grid-template-columns:1fr}
  .physics-final-polish .font-controls span{display:none}
  .physics-final-polish .top-tools{max-width:58vw}
}
@media(max-width:390px){
  .physics-final-polish .topbar{padding-inline:9px}
  .physics-final-polish .mobile-title b{font-size:.9rem}
  .physics-final-polish .mobile-title span{font-size:.68rem}
  .physics-final-polish .top-tools{gap:5px}
  .physics-final-polish .top-tools button{padding-inline:9px}
  .physics-final-polish .study-heading h1{font-size:1.42rem}
  .physics-final-polish .content-intro h2{font-size:1.32rem}
  .physics-final-polish .mock-count-options button{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){
  .physics-final-polish *{scroll-behavior:auto!important}
  .physics-final-polish :where(.mock-submit-bar,.readiness-trend i,.progress-signal i){transition:none!important}
}


/* =========================================================
   Site Phase 23 — global mobile UX foundation
   Shared mobile behavior for every course and main surface.
   ========================================================= */
.app-shell :where(.main-area,.study-grid,.lesson-panel,.lesson-blocks,.dashboard-page,.study-page,.catalog-page,.my-library-page,.resource-card,.source-problem-card,.quiz-card,.exam-area){min-width:0}
.app-shell :where(.lesson-p,.example-prompt,.quiz-card h3,.source-problem-card h3,.source-problem-card>p,.resource-copy,.library-course-main,.catalog-card-body){overflow-wrap:anywhere}
.app-shell :where(img,svg,canvas,video){max-width:100%;height:auto}
.app-shell .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.app-shell :where(.formula-text,.solution,.source-problem-solution,.final-answer,.answer-math,.math-inline,.matrix-demo-grid){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.app-shell :where(button,a,input,select,textarea,summary){touch-action:manipulation}
.app-shell :where(button,a,input,select,textarea):focus-visible{scroll-margin-block:96px}
.mobile-overlay{-webkit-tap-highlight-color:transparent}

@media(max-width:900px){
  html{scroll-padding-top:82px}
  .app-shell{min-height:100dvh}
  .app-shell.mobile-menu-open .main-area{pointer-events:none;user-select:none}
  .app-shell.mobile-menu-open .mobile-overlay{pointer-events:auto}
  .sidebar{width:min(360px,92vw);height:100dvh;max-height:100dvh;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .sidebar.mobile-open{overflow-y:auto;overscroll-behavior:contain}
  .sidebar-mobile-close,.mobile-menu-btn{min-width:44px;min-height:44px}
  .chapter-link,.course-option{min-height:52px}
  .topbar{padding-top:env(safe-area-inset-top);padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}
  .app-shell:not(.dashboard-mode) .topbar{height:calc(68px + env(safe-area-inset-top));min-height:calc(68px + env(safe-area-inset-top))}
  .main-area{width:100%;max-width:100vw}
  .study-page,.dashboard-page,.catalog-page,.my-library-page{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
  .study-page{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .section-nav{max-width:100%;scrollbar-width:none;scroll-snap-type:inline proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .section-nav::-webkit-scrollbar{display:none}
  .section-nav>button{scroll-snap-align:start;min-height:48px}
  .mode-switch{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right))}
  .mode-btn{min-height:44px}
  .top-tools>button,.font-controls,.font-controls button{min-height:44px}
  .focus-floating-bar{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}
  .lesson-footer-actions button,.options button,.quiz-card button,.exam-area button,.catalog-card-actions button,.library-course-actions button,.catalog-footer-callout button,.resource-download,.video-link-card a{min-height:48px}
  input,select,textarea{font-size:16px}
  .notes-area{font-size:16px}
  .resource-card{grid-template-columns:auto minmax(0,1fr)}
  .resource-download{grid-column:1/-1;width:100%}
}
@media(max-width:768px){
  .study-heading{align-items:flex-start;gap:10px}
  .study-heading>div:first-child{min-width:0}
  .study-heading h1{font-size:clamp(1.45rem,6.5vw,1.9rem);line-height:1.45;overflow-wrap:anywhere}
  .study-heading p{line-height:1.8}
  .lesson-panel{border-radius:18px}
  .lesson-meta,.example-top,.source-problem-meta{gap:8px;flex-wrap:wrap}
  .visual-card{grid-template-columns:1fr}
  .quick-drill,.example-card,.formula-card,.info-box,.checkpoint,.source-problem-card{max-width:100%}
  .table-wrap table{min-width:520px}
  .matrix-demo{max-width:100%;overflow:hidden}
  .matrix-demo-grid{justify-content:flex-start;padding-bottom:5px}
  .library-feedback{align-items:stretch}
}
@media(max-width:430px){
  .study-page,.dashboard-page,.catalog-page,.my-library-page{padding-inline:max(11px,env(safe-area-inset-left)) max(11px,env(safe-area-inset-right))}
  .lesson-panel{padding:16px 12px;border-radius:16px}
  .study-heading{margin-bottom:12px}
  .study-heading h1{font-size:1.42rem}
  .content-intro h2{font-size:1.35rem;line-height:1.5}
  .content-intro p,.lesson-p{line-height:1.9}
  .quiz-card,.example-card,.source-problem-card,.resource-card{padding-inline:12px}
  .options{grid-template-columns:1fr}
  .options button{min-height:54px;padding-block:12px}
  .lesson-footer-actions{gap:10px}
  .lesson-footer-actions>div{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .lesson-footer-actions>button{width:100%}
  .video-link-card a,.resource-download{width:100%;text-align:center}
  .source-problem-meta{flex-direction:column;align-items:flex-start}
  .source-problem-meta small{max-width:100%}
}
@media(max-width:390px){
  .study-page,.dashboard-page,.catalog-page,.my-library-page{padding-inline:10px}
  .topbar{padding-inline:9px}
  .mobile-menu-btn{width:44px;height:44px}
  .lesson-panel{padding-inline:10px}
  .mode-switch{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:900px){
  .sidebar{width:min(420px,72vw)}
  .mode-switch{bottom:max(6px,env(safe-area-inset-bottom))}
  .mode-btn{min-height:40px;padding-block:6px}
  .study-page{padding-bottom:72px}
}
@media(prefers-reduced-motion:reduce){
  .app-shell,.sidebar,.mobile-overlay,.mode-switch,.topbar,button,a{transition:none!important}
  html{scroll-behavior:auto}
}


/* =========================================================
   Site Phase 24 — mobile Home / Course Catalog redesign
   Faster discovery, shorter hero, clearer course CTAs.
   ========================================================= */
.catalog-discover-link{min-height:46px;padding:0 15px;border:1px solid var(--home-line);border-radius:13px;display:inline-flex;align-items:center;justify-content:center;color:var(--home-ink);text-decoration:none;font-size:.76rem;font-weight:900;background:color-mix(in srgb,var(--home-card) 78%,transparent)}
.catalog-discover-link:hover{border-color:color-mix(in srgb,var(--subject) 24%,var(--home-line))}
.catalog-section{scroll-margin-top:128px}

@media(max-width:760px){
  .dashboard-mode .topbar.home-topbar{position:sticky;top:0;z-index:40;min-height:62px;padding-block:max(6px,env(safe-area-inset-top)) 7px;border-radius:0}
  .dashboard-mode .home-topbar .topbar-start{align-self:center}
  .dashboard-mode .home-topbar .top-tools{align-self:center}
  .home-nav{gap:5px;padding:4px;border-radius:13px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;justify-content:flex-start}
  .home-nav::-webkit-scrollbar{display:none}
  .home-nav button{flex:1 0 auto;min-height:42px;padding-inline:12px;white-space:nowrap}
  .catalog-page{padding-top:16px;padding-bottom:calc(44px + env(safe-area-inset-bottom))}
  .catalog-hero{display:block;min-height:0;padding:14px 0 22px}
  .catalog-copy{max-width:none}
  .catalog-eyebrow{font-size:.69rem;line-height:1.7}
  .catalog-copy h1{max-width:12ch;margin:9px 0 12px;font-size:clamp(2.15rem,10.8vw,3.15rem);line-height:1.12;letter-spacing:-.04em}
  .catalog-copy h1 br{display:none}
  .catalog-copy>p{max-width:34rem;margin:0;font-size:.87rem;line-height:1.85}
  .catalog-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:stretch;margin-top:17px}
  .catalog-hero-actions .catalog-primary,.catalog-discover-link{width:100%;min-height:48px}
  .catalog-hero-actions>span{grid-column:1/-1;justify-self:start;font-size:.68rem}
  .catalog-stage{display:none}
  .catalog-section{margin-top:8px;scroll-margin-top:126px}
  .catalog-section-head{gap:5px;margin-bottom:14px}
  .catalog-section-head h2{margin-top:2px;font-size:1.45rem;line-height:1.5}
  .catalog-section-head>p{max-width:32rem;font-size:.72rem;line-height:1.8}
  .catalog-course-grid{gap:11px}
  .catalog-course-card{display:grid;grid-template-columns:94px minmax(0,1fr);min-height:0;border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(62,74,99,.07)}
  .catalog-card-visual{height:auto;min-height:100%;border-radius:0}
  .catalog-card-symbol{font-size:2.35rem}
  .catalog-card-visual .subject-orb{width:100px;height:100px}
  .catalog-card-body{display:flex;flex-direction:column;min-width:0;padding:15px 14px}
  .catalog-card-kicker{margin-bottom:6px}
  .catalog-card-body h3{margin:2px 0 5px;font-size:1.12rem;line-height:1.55}
  .catalog-card-body>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:.72rem;line-height:1.75}
  .catalog-card-meta{margin-top:9px;font-size:.62rem;gap:8px;flex-wrap:wrap}
  .catalog-card-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:auto;padding-top:12px}
  .catalog-card-actions button{min-height:46px;width:100%}
  .catalog-card-actions .catalog-outline{order:-1;font-weight:900}
  .catalog-footer-callout{margin-top:14px;padding:18px;border-radius:20px}
  .catalog-footer-callout h2{font-size:1.08rem;line-height:1.65}
  .catalog-footer-callout p{margin-top:6px!important;font-size:.72rem;line-height:1.8}
  .catalog-footer-callout button{min-height:48px}
}
@media(max-width:430px){
  .dashboard-mode .topbar.home-topbar{grid-template-columns:minmax(0,1fr) auto;padding-inline:10px}
  .home-brand b{font-size:1rem}
  .home-nav button{font-size:.68rem;padding-inline:9px}
  .catalog-page{padding-top:12px}
  .catalog-copy h1{max-width:11ch;font-size:clamp(2rem,11.5vw,2.75rem)}
  .catalog-copy>p{font-size:.82rem}
  .catalog-hero-actions{grid-template-columns:1fr}
  .catalog-hero-actions>span{grid-column:1}
  .catalog-section-head h2{font-size:1.35rem}
  .catalog-course-card{grid-template-columns:82px minmax(0,1fr);border-radius:18px}
  .catalog-card-symbol{font-size:2.05rem}
  .catalog-card-body{padding:13px 12px}
  .catalog-card-body h3{font-size:1rem}
  .catalog-card-body>p{font-size:.69rem}
  .catalog-card-actions button{min-height:48px}
}
@media(max-width:390px){
  .catalog-page{padding-inline:10px}
  .home-nav{margin-inline:-2px}
  .catalog-course-card{grid-template-columns:74px minmax(0,1fr)}
  .catalog-card-symbol{font-size:1.85rem}
  .catalog-card-body{padding-inline:11px}
  .catalog-card-meta span:last-child{display:none}
}


/* =========================================================
   Site Phase 25 — mobile Library redesign
   Personal study home: resume-first, scan-friendly, low-friction.
   ========================================================= */
.library-last-location{display:grid;gap:2px}
.library-last-location span{font-size:.64rem;color:#8a93a0}
.library-last-location b{font-size:.82rem;color:#4c5666;line-height:1.7}
.library-quick-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}
.library-quick-stats>span{display:grid;gap:1px;padding:9px 10px;border:1px solid rgba(20,26,36,.07);border-radius:12px;background:rgba(255,255,255,.54)}
.library-quick-stats b{font-size:.88rem;color:#313947}
.library-quick-stats small{font-size:.58rem;color:#88919d}
.library-course-actions{align-items:center}
.library-continue{flex:1}
.library-course-menu{position:relative;flex:0 0 auto}
.library-course-menu summary{list-style:none;width:46px;height:46px;border:1px solid rgba(20,26,36,.09);background:#fff;color:#6f7885;border-radius:13px;display:grid;place-items:center;font-weight:900;cursor:pointer;letter-spacing:1px}
.library-course-menu summary::-webkit-details-marker{display:none}
.library-course-menu[open] summary{background:#f7f8fb}
.library-course-menu .library-remove{position:absolute;left:0;bottom:calc(100% + 8px);width:max-content;min-width:150px;z-index:6;box-shadow:0 14px 36px rgba(37,49,71,.14)}

@media(max-width:760px){
  .my-library-page{padding-top:14px;padding-bottom:calc(46px + env(safe-area-inset-bottom))}
  .my-library-hero{display:grid;gap:14px;margin-bottom:16px}
  .my-library-hero>div:first-child{min-width:0}
  .my-library-hero .catalog-eyebrow{font-size:.68rem}
  .my-library-hero h1{font-size:clamp(2rem,9.5vw,2.7rem);line-height:1.2;margin:8px 0 8px}
  .my-library-hero h1 br{display:none}
  .my-library-hero p{font-size:.8rem;line-height:1.8;margin:0}
  .library-summary-panel{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:17px;overflow:hidden}
  .library-summary-panel>div{padding:11px 5px}
  .library-summary-panel strong{font-size:1.22rem}
  .library-summary-panel span{font-size:.55rem;line-height:1.55}
  .my-library-list{gap:10px}
  .my-library-card{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    min-height:0;
    border-radius:19px;
    overflow:visible;
    align-items:stretch;
  }
  .library-course-visual{
    height:auto;
    min-height:100%;
    border-radius:19px 0 0 19px;
  }
  [dir="rtl"] .library-course-visual{border-radius:0 19px 19px 0}
  .library-course-visual>span{font-size:2.35rem}
  .library-course-main{padding:14px 13px}
  .library-course-label{align-items:flex-start;gap:6px;font-size:.58rem}
  .library-course-label>b{padding:4px 6px;font-size:.56rem;white-space:nowrap}
  .library-course-main h2{font-size:1.08rem;line-height:1.55;margin:8px 0 6px}
  .library-last-location{margin:0}
  .library-last-location span{font-size:.57rem}
  .library-last-location b{font-size:.73rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .library-quick-stats{gap:5px;margin-top:10px}
  .library-quick-stats>span{padding:7px 6px;border-radius:10px}
  .library-quick-stats b{font-size:.78rem}
  .library-quick-stats small{font-size:.52rem}
  .library-progress-row{margin:11px 0 10px}
  .library-course-actions{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:7px}
  .library-course-actions .library-continue{width:100%;min-height:48px}
  .library-course-menu summary{width:46px;height:48px}
  .library-course-menu .library-remove{left:0;bottom:calc(100% + 7px);min-height:46px}
  .library-feedback{margin-top:14px;padding:14px;border-radius:18px}
  .library-feedback p{font-size:.68rem}
}
@media(max-width:430px){
  .my-library-page{padding-top:10px}
  .my-library-hero h1{font-size:2rem}
  .library-summary-panel strong{font-size:1.08rem}
  .library-summary-panel span{font-size:.5rem}
  .my-library-card{grid-template-columns:72px minmax(0,1fr);border-radius:17px}
  .library-course-visual>span{font-size:2rem}
  .library-course-main{padding:12px 11px}
  .library-course-label>span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .library-course-main h2{font-size:1rem;margin-top:6px}
  .library-quick-stats>span{padding-inline:4px}
  .library-quick-stats small{font-size:.48rem}
}
@media(max-width:390px){
  .my-library-card{grid-template-columns:64px minmax(0,1fr)}
  .library-course-visual>span{font-size:1.8rem}
  .library-course-main{padding-inline:10px}
  .library-quick-stats>span{padding:6px 3px}
  .library-quick-stats b{font-size:.72rem}
  .library-course-label>b{display:none}
}


/* =========================================================
   Site Phase 26 — mobile Study Experience
   Chapter rail, compact section drawer, persistent study dock.
   ========================================================= */
.mobile-chapter-rail,.mobile-study-drawer,.mobile-study-dock{display:none}
@media(max-width:760px){
  .study-page{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
  .study-grid{display:block}
  .study-grid>.section-nav{display:none}
  .study-heading{margin-bottom:10px}
  .mobile-chapter-rail{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:center;margin:0 0 10px;padding:8px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent)}
  .mobile-chapter-rail button{min-width:48px;min-height:48px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);font-weight:900}
  .mobile-chapter-rail button:disabled{opacity:.35}
  .mobile-chapter-rail div{min-width:0;text-align:center;display:grid;gap:2px}
  .mobile-chapter-rail small{font-size:.58rem;color:var(--muted)}
  .mobile-chapter-rail b{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-study-drawer{display:block;margin:0 0 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
  .mobile-study-drawer summary{list-style:none;min-height:48px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:.74rem;font-weight:900}
  .mobile-study-drawer summary::-webkit-details-marker{display:none}
  .mobile-study-drawer summary b{font-size:.66rem;color:var(--muted)}
  .mobile-study-drawer[open] summary{border-bottom:1px solid var(--line)}
  .mobile-study-drawer-body{padding:10px;display:grid;gap:10px}
  .mobile-section-list{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none;scroll-snap-type:inline proximity}
  .mobile-section-list::-webkit-scrollbar{display:none}
  .mobile-section-list button{flex:0 0 min(210px,72vw);min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;text-align:start;scroll-snap-align:start}
  .mobile-section-list button>span{width:28px;height:28px;border-radius:9px;background:var(--surface);display:grid;place-items:center;font-size:.62rem;font-weight:900}
  .mobile-section-list button>b{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-section-list button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
  .mobile-study-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .mobile-study-tools button{min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--surface2);color:var(--text);font-size:.68rem;font-weight:850}
  .mobile-study-tools button.active{border-color:var(--accent);color:var(--accent)}
  .lesson-panel{width:100%;max-width:100%}
  .lesson-footer-actions{display:none}
  .mobile-study-dock{position:fixed;z-index:45;inset-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:78px minmax(0,1fr) 78px;gap:7px;padding:8px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 16px 40px rgba(15,23,42,.16);backdrop-filter:blur(16px)}
  .mobile-study-dock button{min-height:50px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text);font-size:.69rem;font-weight:900}
  .mobile-study-dock button:disabled{opacity:.32}
  .mobile-study-dock .complete{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent);color:#fff}
  .mobile-study-dock .complete.done{background:color-mix(in srgb,var(--accent) 78%,#16a34a)}
}
@media(max-width:430px){
  .mobile-chapter-rail{grid-template-columns:44px minmax(0,1fr) 44px;padding:6px}
  .mobile-chapter-rail button{min-width:44px;min-height:44px}
  .mobile-chapter-rail b{font-size:.72rem}
  .mobile-study-dock{grid-template-columns:66px minmax(0,1fr) 66px;gap:6px;padding:7px}
  .mobile-study-dock button{font-size:.64rem}
  .mobile-study-dock button span{display:none}
}
@media(max-width:390px){
  .mobile-section-list button{flex-basis:76vw}
  .mobile-study-tools{grid-template-columns:1fr}
}


/* =========================================================
   Site Phase 27 — Mobile Bottom Navigation
   Persistent thumb-friendly navigation across primary surfaces.
   ========================================================= */
.mobile-bottom-nav{display:none}
@media(max-width:760px){
  .main-area{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .mobile-bottom-nav{position:fixed;z-index:50;inset-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;border:1px solid var(--line);border-radius:19px;background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 18px 46px rgba(15,23,42,.17);backdrop-filter:blur(18px)}
  .mobile-bottom-nav button{position:relative;min-width:0;min-height:56px;padding:6px 3px 5px;border:0;border-radius:14px;background:transparent;color:var(--muted);display:grid;justify-items:center;align-content:center;gap:2px;font:inherit;cursor:pointer}
  .mobile-bottom-nav button.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}
  .mobile-bottom-icon{font-size:1.18rem;line-height:1}
  .mobile-bottom-nav b{font-size:.58rem;line-height:1.35;white-space:nowrap}
  .mobile-bottom-badge{position:absolute;top:5px;inset-inline-start:calc(50% + 8px);min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:.5rem;font-weight:900;line-height:1}
  .mobile-study-dock{bottom:calc(82px + env(safe-area-inset-bottom));z-index:49}
  .study-page{padding-bottom:calc(222px + env(safe-area-inset-bottom))}
  .catalog-page,.my-library-page{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .focus-mode .mobile-bottom-nav{display:none}
  .focus-mode .mobile-study-dock{bottom:max(10px,env(safe-area-inset-bottom))}
  .focus-mode .study-page{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .mobile-bottom-nav{inset-inline:7px;padding:5px;border-radius:17px}
  .mobile-bottom-nav button{min-height:54px}
  .mobile-bottom-icon{font-size:1.08rem}
  .mobile-bottom-nav b{font-size:.54rem}
  .mobile-study-dock{bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media(max-width:390px){
  .mobile-bottom-nav{gap:2px}
  .mobile-bottom-nav b{font-size:.51rem}
}


/* =========================================================
   Site Phase 28 — mobile Quiz & Exam UX
   Shared question navigator, progress, answer states and submit UX.
   ========================================================= */
.quiz-question-nav,.exam-question-nav{display:flex;gap:7px;overflow-x:auto;padding:3px 1px 7px;scrollbar-width:none;scroll-snap-type:inline proximity;overscroll-behavior-inline:contain}
.quiz-question-nav::-webkit-scrollbar,.exam-question-nav::-webkit-scrollbar{display:none}
.quiz-question-nav button,.exam-question-nav button{flex:0 0 38px;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);font-weight:900;scroll-snap-align:start}
.quiz-question-nav button.correct,.exam-question-nav button.correct{border-color:color-mix(in srgb,var(--ok) 55%,var(--line));background:color-mix(in srgb,var(--ok) 10%,var(--surface));color:var(--ok)}
.quiz-question-nav button.wrong,.exam-question-nav button.wrong{border-color:color-mix(in srgb,var(--bad) 55%,var(--line));background:color-mix(in srgb,var(--bad) 9%,var(--surface));color:var(--bad)}
.exam-question-nav button.answered{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft);color:var(--accent)}
.exam-question-nav button.blank{opacity:.6}
.quiz-card{scroll-margin-top:100px}
.quiz-question-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.quiz-question-head small{font-size:.62rem;color:var(--muted)}
.options button{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;text-align:start}
.option-index{width:30px;height:30px;border-radius:9px;background:var(--surface2);display:grid;place-items:center;font-size:.68rem;font-weight:900}
.option-copy{min-width:0}
.options button.selected .option-index,.options button.correct .option-index{background:var(--accent);color:#fff}
.options button.wrong .option-index{background:var(--bad);color:#fff}
.exam-session-progress{display:grid;gap:8px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.exam-session-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}
.exam-session-progress span,.exam-session-progress small{font-size:.68rem;color:var(--muted)}
.exam-session-progress b{font-size:.76rem}
.exam-progress-track{height:7px;overflow:hidden;border-radius:999px;background:var(--surface2)}
.exam-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}
.exam-submit-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);position:sticky;bottom:calc(86px + env(safe-area-inset-bottom));z-index:40;box-shadow:0 14px 34px rgba(15,23,42,.09)}
.exam-submit-panel>div{display:grid;gap:2px}
.exam-submit-panel b{font-size:.78rem}
.exam-submit-panel span{font-size:.65rem;color:var(--muted)}
.exam-submit-panel .primary-btn{min-height:48px}

@media(max-width:760px){
  .quiz-stack,.exam-area{gap:12px}
  .quiz-session-progress,.exam-session-progress{position:sticky;top:calc(70px + env(safe-area-inset-top));z-index:18;box-shadow:0 10px 26px rgba(15,23,42,.06);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--surface) 94%,transparent)}
  .quiz-question-nav,.exam-question-nav{margin-inline:-2px}
  .quiz-question-nav button,.exam-question-nav button{flex-basis:42px;width:42px;height:42px}
  .quiz-card{padding:15px 12px}
  .quiz-card h3{font-size:.88rem;line-height:1.9;margin:8px 0 13px}
  .options{grid-template-columns:1fr;gap:9px}
  .options button{min-height:56px;padding:10px 11px;font-size:.78rem;line-height:1.75}
  .quiz-feedback{font-size:.75rem}
  .exam-banner{padding:14px}
  .exam-banner strong{font-size:1.2rem}
  .exam-submit-panel{grid-template-columns:1fr;bottom:calc(86px + env(safe-area-inset-bottom));padding:12px}
  .exam-submit-panel .primary-btn{width:100%;min-height:52px}
  .exam-area{padding-bottom:84px}
  .focus-mode .exam-submit-panel{bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .quiz-question-head{align-items:flex-start}
  .quiz-question-nav button,.exam-question-nav button{flex-basis:40px;width:40px;height:40px}
  .option-index{width:28px;height:28px}
  .options button{grid-template-columns:30px minmax(0,1fr);min-height:58px}
  .exam-session-progress{padding:11px 12px}
}
@media(max-width:390px){
  .quiz-card{padding-inline:10px}
  .options button{padding-inline:9px}
}
@media(prefers-reduced-motion:reduce){
  .exam-progress-track i{transition:none}
}


/* =========================================================
   Site Phase 29 — mobile Reading / Focus Mode
   Distraction-free reader with tone and text controls.
   ========================================================= */
:root[data-reader-tone="sepia"]{--bg:#f4ecd8;--surface:#fff9ec;--surface2:#f3ead5;--text:#3b3328;--muted:#746a5b;--line:#ddd0b6}
:root[data-reader-tone="dark"]{--bg:#0b0e13;--surface:#11161f;--surface2:#171e29;--text:#f2f4f8;--muted:#9aa6b7;--line:#283344}
[data-reader="normal"] .lesson-panel{font-size:.96rem}
[data-reader="large"] .lesson-panel{font-size:1rem}
[data-reader="xlarge"] .lesson-panel{font-size:1.08rem}
.focus-reading-title{display:grid;gap:1px;min-width:0}
.focus-reading-title span{font-size:.58rem;color:var(--muted)}
.focus-reading-title b{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-reading-controls{display:flex;gap:6px;align-items:center}
.focus-reading-controls button{min-width:42px;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface2);color:var(--text);font-weight:900}
.focus-reading-controls .reader-tone-btn{min-width:58px}
.focus-reading-controls .focus-exit-btn{min-width:54px;color:var(--bad)}

@media(max-width:760px){
  .focus-mode .sidebar,.focus-mode .topbar,.focus-mode .mobile-chapter-rail,.focus-mode .mobile-study-drawer,.focus-mode .mobile-bottom-nav{display:none!important}
  .focus-mode .main-area{padding:0}
  .focus-mode .study-page{max-width:760px;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(190px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .focus-mode .study-heading{margin:0 0 14px;padding:0 2px 12px;border-bottom:1px solid var(--line)}
  .focus-mode .study-heading .study-actions{display:none}
  .focus-mode .study-heading .kicker{font-size:.62rem}
  .focus-mode .study-heading h1{font-size:1.5rem;line-height:1.5;margin-top:4px}
  .focus-mode .study-heading p{font-size:.72rem;color:var(--muted)}
  .focus-mode .study-grid{display:block}
  .focus-mode .lesson-panel{border:0;box-shadow:none;border-radius:0;background:transparent;padding:0;max-width:68ch;margin:0 auto}
  .focus-mode .lesson-meta{margin-bottom:15px}
  .focus-mode .lesson-p,.focus-mode .content-intro p,.focus-mode .example-prompt,.focus-mode .source-problem-card p{line-height:2.05}
  .focus-mode .formula-card,.focus-mode .example-card,.focus-mode .info-box,.focus-mode .checkpoint,.focus-mode .quick-drill,.focus-mode .source-problem-card{box-shadow:none}
  .focus-floating-bar{position:fixed;z-index:60;inset-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));max-width:none;min-height:58px;padding:7px 8px 7px 12px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 16px 42px rgba(15,23,42,.16);backdrop-filter:blur(16px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}
  .focus-mode .mobile-study-dock{bottom:calc(78px + env(safe-area-inset-bottom));z-index:58}
}
@media(max-width:430px){
  .focus-reading-title{display:none}
  .focus-floating-bar{grid-template-columns:1fr;padding:7px}
  .focus-reading-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
  .focus-reading-controls button{width:100%;min-width:0}
  .focus-mode .study-heading h1{font-size:1.36rem}
  [data-reader="xlarge"] .focus-mode .lesson-panel{font-size:1.06rem}
}
@media(max-width:390px){
  .focus-mode .study-page{padding-inline:11px}
  .focus-reading-controls button{font-size:.68rem}
}


/* =========================================================
   Site Phase 30 — global scientific content polish
   Math, tables, matrices, diagrams and mixed RTL/LTR content.
   ========================================================= */
.scientific-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.scientific-scroll:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 52%,transparent);outline-offset:3px;border-radius:8px}
.rich-bidi,.bidi-text{max-width:100%;min-width:0}
.fa-run{unicode-bidi:plaintext}
.math-inline{display:inline-block;vertical-align:baseline;max-width:100%;direction:ltr;unicode-bidi:isolate;white-space:nowrap}
.lesson-panel :where(.formula-text,.concept-formula,.layer-expression,.derivative-function,.derivative-result,.notation-example,.answer-math,.final-answer,.source-problem-solution){direction:ltr;unicode-bidi:isolate;font-variant-numeric:lining-nums tabular-nums}
.lesson-panel :where(.visual-card,.physics-chart-card,.stats-visual,.matrix-demo,.table-wrap){min-width:0;max-width:100%}
.lesson-panel :where(svg.math-visual,.math-visual){display:block;width:100%;max-width:100%;height:auto;overflow:visible}
.lesson-panel svg text{unicode-bidi:plaintext}
.lesson-panel .matrix-view{max-width:100%}
.lesson-panel .matrix-shell{max-width:100%}
.lesson-panel .matrix-grid{width:max-content;min-width:min-content}
.lesson-panel .table-wrap{position:relative;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;border-radius:14px}
.lesson-panel .table-wrap table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.lesson-panel .table-wrap :where(th,td){max-width:min(42ch,72vw);overflow-wrap:anywhere}
.lesson-panel .table-wrap :where(th[dir="ltr"],td[dir="ltr"],.ltr){direction:ltr;unicode-bidi:isolate;text-align:left}
.lesson-panel .table-wrap :where(th[dir="rtl"],td[dir="rtl"]){direction:rtl;text-align:right}
.lesson-panel :where(.concept-formula,.layer-expression,.derivative-function,.derivative-result,.notation-example){white-space:nowrap}
.lesson-panel :where(.formula-card,.concept-mini-card,.layer-card,.matrix-demo,.visual-card){contain:inline-size}

@media(max-width:760px){
  .lesson-panel :where(.formula-text,.concept-formula,.layer-expression,.derivative-function,.derivative-result,.notation-example,.answer-math,.final-answer){padding-bottom:4px}
  .lesson-panel .table-wrap{margin-inline:0;border:1px solid var(--line)}
  .lesson-panel .table-wrap table{min-width:560px}
  .lesson-panel .matrix-demo{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
  .lesson-panel .matrix-demo-grid{width:max-content;min-width:100%;justify-content:flex-start}
  .lesson-panel .visual-card{overflow:hidden}
  .lesson-panel .math-visual{min-width:0!important}
  .lesson-panel :where(.concept-formula,.layer-expression,.derivative-function,.derivative-result){font-size:clamp(.92rem,4.4vw,1.08rem)}
}
@media(max-width:430px){
  .lesson-panel .table-wrap table{min-width:520px}
  .lesson-panel :where(.formula-text,.notation-example){font-size:clamp(.94rem,4.8vw,1.08rem)}
  .lesson-panel .matrix-view{font-size:.94em}
  .lesson-panel .matrix-shell{padding-inline:.5em}
}
@media(max-width:390px){
  .lesson-panel .table-wrap table{min-width:500px}
  .lesson-panel .matrix-view{font-size:.9em}
}


/* =========================================================
   Site Phase 31 — mobile accessibility & one-hand UX
   Keyboard focus, skip navigation, coarse-pointer targets and thumb zones.
   ========================================================= */
.skip-link{position:fixed;inset-inline-start:12px;top:10px;z-index:2147483000;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:var(--navy);color:var(--surface);font-size:.78rem;font-weight:900;text-decoration:none;box-shadow:var(--shadow)}
.skip-link:focus{transform:translateY(0)}
body.mobile-nav-lock{overflow:hidden;touch-action:none}
:where(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 62%,#fff);outline-offset:3px}
:where(button,[role="button"]):disabled{cursor:not-allowed;opacity:.46}
.home-nav button[aria-current="page"],.mobile-bottom-nav button[aria-current="page"],.chapter-link[aria-current="page"]{font-weight:900}
.mobile-bottom-nav button[aria-current="page"]::after{content:"";position:absolute;bottom:3px;width:18px;height:3px;border-radius:999px;background:currentColor}
.chapter-link[aria-current="page"]{box-shadow:inset -3px 0 0 var(--accent)}
.main-area:focus{outline:none}

@media(pointer:coarse){
  :where(.mobile-menu-btn,.sidebar-mobile-close,.sidebar-collapse,.chapter-link,.course-option,.home-nav button,.mobile-bottom-nav button,.mobile-study-dock button,.mobile-chapter-rail button,.mobile-study-tools button,.mobile-section-list button,.options button,.quiz-question-nav button,.exam-question-nav button,.focus-reading-controls button,.resource-download,.catalog-card-actions button,.library-course-actions button){min-height:48px}
  :where(.mobile-menu-btn,.sidebar-mobile-close,.sidebar-collapse,.quiz-question-nav button,.exam-question-nav button){min-width:48px}
}
@media(max-width:760px){
  html{scroll-padding-bottom:190px}
  .quiz-card,.source-problem-card,.resource-card,.lesson-subheading,.info-box,.formula-card{scroll-margin-bottom:190px}
  .mobile-bottom-nav{max-width:640px;margin-inline:auto}
  .mobile-study-dock{max-width:640px;margin-inline:auto}
  .mobile-study-dock .complete{font-size:.72rem}
  .sidebar-mobile-close{position:sticky;top:0}
  .sidebar.mobile-open{scroll-padding-top:72px}
  .mobile-section-list button.active{box-shadow:inset 0 -3px 0 var(--accent)}
  .exam-submit-panel{scroll-margin-bottom:180px}
}
@media(max-width:430px){
  .mobile-study-dock{grid-template-columns:62px minmax(0,1fr) 62px}
  .mobile-study-dock .complete{font-size:.68rem}
  .mobile-bottom-nav b{font-size:.56rem}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:900px){
  .mobile-bottom-nav{min-height:54px;padding-block:3px}
  .mobile-bottom-nav button{min-height:46px}
  .mobile-study-dock{bottom:calc(66px + env(safe-area-inset-bottom));padding-block:5px}
  .mobile-study-dock button{min-height:44px}
  .focus-floating-bar{min-height:50px}
}
@media(prefers-contrast:more){
  :where(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline-width:4px;outline-color:CanvasText}
  .mobile-bottom-nav,.mobile-study-dock,.exam-submit-panel{border-width:2px}
}
@media(forced-colors:active){
  .mobile-bottom-nav button[aria-current="page"],.chapter-link[aria-current="page"],.mobile-section-list button.active{outline:2px solid Highlight}
  .progress-track i,.exam-progress-track i,.quiz-session-progress i{background:Highlight}
}


/* =========================================================
   v2.39.1 — mobile study header + local Chat hotfix
   ========================================================= */
@media(max-width:760px){
  .app-shell:not(.dashboard-mode) .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "start tools"
      "modes modes";
    align-items:center!important;
    height:auto!important;
    min-height:0!important;
    gap:8px 10px!important;
    padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 9px max(10px,env(safe-area-inset-left))!important;
  }
  .app-shell:not(.dashboard-mode) .topbar-start{
    grid-area:start;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    overflow:hidden;
  }
  .app-shell:not(.dashboard-mode) .mobile-title{
    min-width:0;
    display:block;
    overflow:hidden;
  }
  .app-shell:not(.dashboard-mode) .mobile-title b{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.82rem;
  }
  .app-shell:not(.dashboard-mode) .top-tools{
    grid-area:tools;
    margin:0!important;
    min-width:0;
    justify-self:end;
    gap:3px;
  }
  .app-shell:not(.dashboard-mode) .page-toggle{display:none!important}
  .app-shell:not(.dashboard-mode) .mode-switch{
    grid-area:modes;
    position:static!important;
    inset:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible!important;
    box-shadow:none!important;
  }
  .app-shell:not(.dashboard-mode) .mode-btn{
    min-width:0!important;
    min-height:44px;
    justify-content:center;
    padding-inline:8px!important;
  }
  .app-shell:not(.dashboard-mode) .mode-btn b{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.66rem;
  }
  .study-page{padding-top:14px}
}
@media(max-width:430px){
  .app-shell:not(.dashboard-mode) .topbar{gap:6px 8px!important}
  .app-shell:not(.dashboard-mode) .font-controls{display:none}
  .app-shell:not(.dashboard-mode) .top-tools{padding:2px}
  .app-shell:not(.dashboard-mode) .mode-btn{padding-inline:5px!important}
  .app-shell:not(.dashboard-mode) .mode-btn span{font-size:.68rem}
  .app-shell:not(.dashboard-mode) .mode-btn b{font-size:.61rem}
}
.chat-local-state{max-width:760px;margin-inline:auto}


/* =========================================================
   v2.39.2 — mobile sidebar visibility hotfix
   Restore the drawer after legacy responsive display:none rules.
   ========================================================= */
@media(max-width:1000px){
  .app-shell:not(.dashboard-mode)>.sidebar{
    display:flex!important;
  }
}
@media(max-width:900px){
  .app-shell:not(.dashboard-mode)>.sidebar{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(360px,92vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    transform:translateX(105%)!important;
    visibility:visible!important;
    opacity:1!important;
    z-index:90!important;
    pointer-events:auto;
  }
  .app-shell:not(.dashboard-mode)>.sidebar.mobile-open{
    transform:translateX(0)!important;
  }
  .app-shell:not(.dashboard-mode)>.mobile-overlay{z-index:80}
}


/* =========================================================
   Physics Phase 37 — Visual & Diagram System 2.0
   ========================================================= */
.physics-chart-card{margin-inline:0;min-width:0}
.physics-visual-head{display:grid;gap:6px}
.physics-visual-kickers{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.physics-visual-kickers>span,.physics-visual-kickers>small{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:999px;font-size:.72rem;line-height:1.25}
.physics-visual-guide{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:start;margin:12px 0 8px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent,#2563eb) 7%,transparent);border:1px dashed color-mix(in srgb,var(--accent,#2563eb) 24%,transparent)}
.physics-visual-guide b{font-size:.78rem;white-space:nowrap}
.physics-visual-guide span{font-size:.8rem;line-height:1.75}
.physics-visual-stage{position:relative;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;border-radius:14px}
.physics-visual-stage>.math-visual{display:block;width:100%;min-width:460px;height:auto;margin-inline:auto}
.physics-visual-caption{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:start;margin-top:10px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,currentColor 4%,transparent)}
.physics-visual-caption b{font-size:.78rem;white-space:nowrap}
.physics-visual-caption span{font-size:.82rem;line-height:1.8}
.physics-visual-notes{display:grid;gap:7px;margin-top:8px}
.physics-visual-notes p{margin:0}
.physics-visual--graph .physics-visual-guide{border-style:solid}
.physics-visual--field .physics-visual-stage,.physics-visual--circuit .physics-visual-stage,.physics-visual--optics .physics-visual-stage{background:color-mix(in srgb,currentColor 2%,transparent)}
@media(max-width:760px){
  .physics-visual-guide,.physics-visual-caption{grid-template-columns:1fr;gap:3px}
  .physics-visual-guide b,.physics-visual-caption b{white-space:normal}
  .physics-visual-stage{margin-inline:-2px;padding-bottom:3px}
  .physics-visual-stage>.math-visual{min-width:420px}
}
@media(max-width:430px){
  .physics-visual-kickers>span,.physics-visual-kickers>small{font-size:.66rem;padding:4px 7px}
  .physics-visual-stage>.math-visual{min-width:390px}
}


/* =========================================================
   Physics Phase 38 — Worked Example System 2.0
   ========================================================= */
.example-v2{position:relative;overflow:hidden}
.example-v2::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:color-mix(in srgb,var(--accent,#2563eb) 55%,transparent)}
.example-v2 .example-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.example-heading{display:grid;gap:5px;min-width:0}
.example-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.example-badges small{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 15%,transparent);font-size:.7rem;white-space:nowrap}
.example-goal,.example-self-check,.example-takeaway{margin-top:10px;padding:10px 12px;border-radius:12px;display:grid;gap:4px}
.example-goal{background:color-mix(in srgb,var(--accent,#2563eb) 7%,transparent)}
.example-self-check{background:color-mix(in srgb,#f59e0b 8%,transparent);border:1px dashed color-mix(in srgb,#f59e0b 28%,transparent)}
.example-takeaway{background:color-mix(in srgb,#16a34a 8%,transparent);border:1px solid color-mix(in srgb,#16a34a 20%,transparent)}
.example-goal b,.example-self-check b,.example-takeaway b{font-size:.8rem}
.example-goal p,.example-self-check p,.example-takeaway p{margin:0;line-height:1.8}
.example-level-warmup::before{background:color-mix(in srgb,#16a34a 60%,transparent)}
.example-level-multistep::before{background:color-mix(in srgb,#7c3aed 60%,transparent)}
.example-level-exam-trap::before{background:color-mix(in srgb,#dc2626 60%,transparent)}
.example-level-challenge::before{background:color-mix(in srgb,#111827 65%,transparent)}
@media(max-width:760px){
  .example-v2 .example-top{display:grid}
  .example-badges{justify-content:flex-start}
  .example-goal,.example-self-check,.example-takeaway{padding:9px 10px}
}


/* =========================================================
   Physics Phase 39 — Halliday Question Bank 2.0
   ========================================================= */
.source-problem-v2{display:grid;gap:12px}
.source-problem-badges{display:flex;flex-wrap:wrap;gap:6px}
.source-problem-badges small{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 15%,transparent);font-size:.7rem}
.source-option-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:none}
.source-option-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border-radius:10px;background:color-mix(in srgb,currentColor 3%,transparent)}
.source-option-list li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 18%,transparent);font-size:.72rem}
.source-answer-details{border-top:1px solid color-mix(in srgb,currentColor 10%,transparent);padding-top:8px}
.source-answer-details>summary{cursor:pointer;font-weight:700}
.source-option-feedback{display:grid;gap:7px;margin-top:10px}
.source-option-feedback>b{font-size:.82rem}
.source-option-feedback>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:8px 10px;border-radius:10px}
.source-option-feedback>div.correct{background:color-mix(in srgb,#16a34a 8%,transparent)}
.source-option-feedback>div.wrong{background:color-mix(in srgb,#dc2626 6%,transparent)}
.source-option-feedback>div>span{font-weight:800}
.source-option-feedback p{margin:0;line-height:1.75}
.source-boundary{display:block;margin-top:10px;padding:8px 10px;border-radius:9px;background:color-mix(in srgb,#f59e0b 7%,transparent);line-height:1.7}
@media(max-width:600px){
  .source-option-list li,.source-option-feedback>div{grid-template-columns:24px minmax(0,1fr);padding:8px}
}


/* =========================================================
   Physics Phase 40 — Lesson UI/UX 2.0
   ========================================================= */
.physics-lesson-panel{position:relative}
.physics-lesson-context{
  position:sticky;
  top:78px;
  z-index:12;
  margin:-10px 0 22px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface) 95%,transparent);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.physics-context-main{display:flex;justify-content:space-between;gap:14px;align-items:center}
.physics-context-main>div{min-width:0;display:grid;gap:2px}
.physics-context-main small{font-size:.67rem;color:var(--muted)}
.physics-context-main b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.physics-context-main>span{font-size:.72rem;font-weight:900;color:var(--accent)}
.physics-chapter-progress{height:5px;margin-top:9px;border-radius:999px;background:color-mix(in srgb,currentColor 7%,transparent);overflow:hidden}
.physics-chapter-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .25s ease}
.physics-flow-strip{display:flex;gap:6px;align-items:center;overflow-x:auto;margin-top:9px;padding-bottom:1px;scrollbar-width:none}
.physics-flow-strip::-webkit-scrollbar{display:none}
.physics-flow-strip>span{font-size:.66rem;font-weight:900;color:var(--muted);white-space:nowrap;margin-inline-end:2px}
.physics-flow-strip>small{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);font-size:.65rem;font-weight:800}
.physics-lesson-flow{display:grid;gap:0;max-width:980px}
.physics-flow-block{position:relative;padding-inline-start:19px}
.physics-flow-block::before{content:"";position:absolute;inset-inline-start:5px;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--accent) 15%,var(--line))}
.physics-flow-marker{position:relative;display:flex;align-items:center;gap:9px;margin:28px 0 11px;padding:0 0 0 2px}
.physics-flow-marker::before{content:"";position:absolute;inset-inline-start:-18px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:3px solid var(--accent);box-shadow:0 0 0 4px var(--surface)}
.physics-flow-marker>span{font-size:.76rem;font-weight:950;color:var(--accent)}
.physics-flow-marker>small{font-size:.7rem;color:var(--muted);line-height:1.6}
.physics-flow-block:first-child .physics-flow-marker{margin-top:4px}
.physics-flow-model .physics-flow-marker::before{border-color:#7c3aed}
.physics-flow-model .physics-flow-marker>span{color:#7c3aed}
.physics-flow-visual .physics-flow-marker::before{border-color:#0284c7}
.physics-flow-visual .physics-flow-marker>span{color:#0284c7}
.physics-flow-solve .physics-flow-marker::before{border-color:#ea580c}
.physics-flow-solve .physics-flow-marker>span{color:#ea580c}
.physics-flow-check .physics-flow-marker::before{border-color:#16a34a}
.physics-flow-check .physics-flow-marker>span{color:#16a34a}
.physics-lesson-flow .lesson-p{font-size:1rem;line-height:2;max-width:860px}
.physics-lesson-flow .formula-card,
.physics-lesson-flow .example-card,
.physics-lesson-flow .visual-card,
.physics-lesson-flow .checkpoint,
.physics-lesson-flow .quick-drill,
.physics-lesson-flow .derivation-card,
.physics-lesson-flow .concept-cards-block,
.physics-lesson-flow .decision-block,
.physics-lesson-flow .steps-block{scroll-margin-top:170px}
.physics-lesson-flow .formula-card{box-shadow:inset 0 0 0 1px color-mix(in srgb,#7c3aed 7%,transparent)}
.physics-lesson-flow .example-card{box-shadow:0 8px 24px rgba(15,23,42,.035)}
.physics-lesson-flow .checkpoint{background:color-mix(in srgb,#16a34a 3%,var(--surface))}
@media(max-width:1000px){
  .physics-lesson-context{top:10px}
}
@media(max-width:760px){
  .physics-lesson-panel{padding-top:14px}
  .physics-lesson-context{position:relative;top:auto;margin:0 0 14px;padding:10px 11px;border-radius:14px;box-shadow:none}
  .physics-context-main b{font-size:.8rem}
  .physics-flow-strip>span{display:none}
  .physics-flow-strip>small{font-size:.61rem;padding:4px 7px}
  .physics-flow-block{padding-inline-start:13px}
  .physics-flow-block::before{inset-inline-start:3px}
  .physics-flow-marker{display:grid;gap:2px;margin:22px 0 9px}
  .physics-flow-marker::before{inset-inline-start:-13px;width:7px;height:7px;border-width:2px}
  .physics-flow-marker>span{font-size:.72rem}
  .physics-flow-marker>small{font-size:.65rem}
  .physics-lesson-flow .lesson-p{font-size:.94rem;line-height:1.9}
  .study-page{padding-bottom:calc(214px + env(safe-area-inset-bottom))}
  .mobile-study-dock{bottom:calc(82px + env(safe-area-inset-bottom));}
}
@media(max-width:430px){
  .physics-lesson-context{margin-inline:-3px}
  .physics-flow-strip{gap:4px}
  .physics-flow-strip>small{padding:3px 6px;font-size:.58rem}
  .physics-flow-block{padding-inline-start:10px}
  .physics-flow-marker::before{inset-inline-start:-10px}
}
@media(prefers-reduced-motion:reduce){
  .physics-chapter-progress i{transition:none}
}


/* =========================================================
   Physics Phase 41 — Smart Learning Integration
   ========================================================= */
.physics-smart-coach{display:grid;gap:14px;margin:0 0 22px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,var(--surface)),var(--surface))}
.smart-coach-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
.smart-coach-head>div:first-child>span{font-size:.7rem;font-weight:900;color:var(--accent)}
.smart-coach-head h2{margin:3px 0 4px;font-size:1.35rem}
.smart-coach-head p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.8;max-width:760px}
.smart-readiness{min-width:108px;display:grid;place-items:center;padding:11px 13px;border-radius:15px;background:var(--surface2);border:1px solid var(--line)}
.smart-readiness strong{font-size:1.55rem;color:var(--accent)}
.smart-readiness small{font-weight:900}
.smart-readiness span{font-size:.58rem;color:var(--muted);margin-top:2px}
.smart-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.smart-sequence>div{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;align-items:center;padding:8px 9px;border-radius:11px;background:var(--surface2)}
.smart-sequence span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:.67rem;font-weight:900}
.smart-sequence b{font-size:.69rem}
.smart-remediation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.smart-remediation-card{display:grid;align-content:start;gap:8px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.smart-remediation-card.priority-high{border-color:color-mix(in srgb,#dc2626 30%,var(--line))}
.smart-remediation-meta{display:flex;justify-content:space-between;gap:8px}
.smart-remediation-meta span{font-size:.7rem;font-weight:900;color:var(--accent)}
.smart-remediation-meta small{font-size:.62rem;color:var(--muted)}
.smart-remediation-card h3{font-size:.94rem;margin:0}
.smart-remediation-card p{font-size:.73rem;line-height:1.75;color:var(--muted);margin:0}
.smart-remediation-target{display:grid;gap:2px;padding:8px 9px;border-radius:10px;background:var(--surface2)}
.smart-remediation-target small{font-size:.6rem;color:var(--muted)}
.smart-remediation-target b{font-size:.72rem}
.smart-remediation-card button,.smart-remediation-empty button{border:0;border-radius:10px;min-height:38px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:900;cursor:pointer}
.smart-remediation-empty{display:grid;gap:7px;padding:14px;border-radius:14px;background:var(--surface2)}
.smart-remediation-empty p{margin:0;font-size:.75rem;color:var(--muted)}
.smart-next-action{padding-top:12px;border-top:1px solid var(--line)}
.smart-next-action small{font-size:.62rem;color:var(--muted)}
.smart-next-action b{display:block;font-size:.82rem;margin-top:2px}
.smart-next-action p{font-size:.7rem;color:var(--muted);margin:3px 0 0}
@media(max-width:900px){
  .smart-remediation-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .physics-smart-coach{padding:13px;border-radius:16px}
  .smart-coach-head{grid-template-columns:1fr}
  .smart-readiness{grid-template-columns:auto auto 1fr;justify-content:start;gap:8px;place-items:center start}
  .smart-readiness strong{font-size:1.2rem}
  .smart-sequence{display:flex;overflow-x:auto;scrollbar-width:none}
  .smart-sequence::-webkit-scrollbar{display:none}
  .smart-sequence>div{flex:0 0 auto;min-width:145px}
}


/* Math 1 Phase 20 — final parity and production polish */
.math1-final-polish .mock-options button,
.math1-final-polish .options button,
.math1-final-polish .mock-count-options button,
.math1-final-polish .catalog-primary,
.math1-final-polish .catalog-outline{min-height:46px}
.math1-final-polish .mock-options button{min-height:54px}
.math1-final-polish .mock-progress{height:8px;border-radius:999px;background:var(--surface2);overflow:hidden;margin:12px 0 20px}
.math1-final-polish .mock-progress i{display:block;height:100%;background:var(--accent);transition:width .2s ease}
.math1-final-polish .table-wrap,
.math1-final-polish .readiness-trend-scroll,
.math1-final-polish .progress-report-columns{min-width:0}
@media(max-width:768px){
  .math1-final-polish .mock-submit-bar{position:sticky;bottom:calc(82px + env(safe-area-inset-bottom));z-index:15}
  .math1-final-polish .readiness-component-grid,
  .math1-final-polish .mock-score-grid,
  .math1-final-polish .progress-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
  .math1-final-polish .readiness-component-grid,
  .math1-final-polish .mock-score-grid,
  .math1-final-polish .progress-report-kpis{grid-template-columns:1fr}
  .math1-final-polish .mock-options{grid-template-columns:1fr}
  .math1-final-polish .study-plan-timeline article{grid-template-columns:36px minmax(0,1fr)}
  .math1-final-polish .study-plan-timeline article>button{grid-column:2}
}
@media(max-width:390px){
  .math1-final-polish .lesson-panel{padding-left:16px;padding-right:16px}
  .math1-final-polish .mock-question-card,
  .math1-final-polish .mock-setting-card{padding-left:14px;padding-right:14px}
}
@media(prefers-reduced-motion:reduce){
  .math1-final-polish *, .math1-final-polish *::before, .math1-final-polish *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* Math 1 Content Upgrade — Stage 2 structured feedback */
.math1-final-polish .math1-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.math1-final-polish .math1-feedback-grid article{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.math1-final-polish .math1-feedback-grid article strong{font-size:.82rem}
.math1-final-polish .math1-feedback-grid article span{line-height:1.9}
@media(max-width:640px){.math1-final-polish .math1-feedback-grid{grid-template-columns:1fr}}


/* Math 1 Content Upgrade — Stage 3 deep practice */
.math1-final-polish .math1-deep-practice-panel{display:flex;flex-direction:column;gap:18px;margin-bottom:24px}
.math1-final-polish .deep-practice-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.math1-final-polish .deep-practice-stats article,.math1-final-polish .deep-practice-mistakes article{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.math1-final-polish .deep-practice-drills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.math1-final-polish .deep-practice-drills>article{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.math1-final-polish .deep-practice-drills details{margin-top:10px}
.math1-final-polish .deep-practice-mistakes>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:720px){
  .math1-final-polish .deep-practice-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .math1-final-polish .deep-practice-drills,.math1-final-polish .deep-practice-mistakes>div{grid-template-columns:1fr}
}


/* =========================================================
   Math 1 Phase 12 — Visual System & Study Rail
   Structured navigation + reusable conceptual-figure contract.
   ========================================================= */
.study-grid{grid-template-columns:318px minmax(0,1fr);gap:22px}
.study-rail{top:102px;padding:12px;max-height:calc(100vh - 122px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.study-rail-status{padding:14px 14px 13px;margin-bottom:10px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface))}
.study-rail-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.study-rail-status-row span{font-size:.72rem;color:var(--muted);font-weight:750}
.study-rail-status-row b{font-size:.9rem;color:var(--accent)}
.study-rail-progress{height:7px;margin:9px 0 7px;border-radius:99px;background:var(--surface2);overflow:hidden}
.study-rail-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .24s ease}
.study-rail-status>small{display:block;font-size:.66rem;color:var(--muted);line-height:1.6}
.study-rail-group{padding:9px 0;border-top:1px solid var(--line)}
.study-rail-group:first-of-type{border-top:0}
.study-rail-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 9px 8px}
.study-rail-group-head b{font-size:.76rem}
.study-rail-group-head small{font-size:.61rem;color:var(--muted)}
.study-rail-group-body{display:grid;gap:4px}
.study-rail-section,.study-rail-tool{width:100%;border:1px solid transparent;background:transparent;color:var(--text);border-radius:12px;cursor:pointer;text-align:start;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.study-rail-section{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:9px}
.study-rail-section>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--surface2);font:800 .68rem/1 monospace;color:var(--accent)}
.study-rail-section div,.study-rail-copy{min-width:0}
.study-rail-section b,.study-rail-section small,.study-rail-copy b,.study-rail-copy small{display:block}
.study-rail-section b{font-size:.76rem;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.study-rail-section small{font-size:.63rem;color:var(--muted)}
.study-rail-section:hover,.study-rail-tool:hover{background:var(--surface2);transform:translateY(-1px)}
.study-rail-section.active{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--surface))}
.study-rail-section.done>span{background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--ok)}
.study-rail-tool{display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;align-items:center;padding:8px 9px}
.study-rail-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--surface2);font-size:.68rem;font-weight:900;color:var(--accent)}
.study-rail-copy b{font-size:.74rem;line-height:1.45}
.study-rail-copy small{font-size:.61rem;color:var(--muted);line-height:1.45}
.study-rail-tool.active{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.study-rail-tool.active .study-rail-icon{background:var(--accent);color:#fff}

/* Conceptual figure contract: copy + bounded canvas + semantic figure */
.visual-system-v2{position:relative;grid-template-columns:minmax(220px,.82fr) minmax(360px,1.18fr);gap:24px;margin:34px 0;padding:0;overflow:hidden;border-radius:22px;background:var(--surface);box-shadow:0 16px 42px color-mix(in srgb,var(--text) 7%,transparent)}
.visual-system-v2 .visual-copy{align-self:stretch;padding:24px 24px 22px;display:flex;flex-direction:column;justify-content:center;border-inline-end:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface))}
.visual-system-v2 .visual-copy span{font-size:.7rem;letter-spacing:.01em}
.visual-system-v2 .visual-copy b{font-size:1rem;line-height:1.65;margin-top:4px}
.visual-system-v2 .visual-copy p{font-size:.83rem;line-height:1.95;margin:7px 0 0;color:var(--muted)}
.visual-canvas{min-width:0;min-height:270px;padding:20px 22px;display:grid;place-items:center;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--accent) 5%,var(--surface2)),var(--surface2) 68%)}
.visual-canvas .math-visual{display:block;width:100%;max-width:680px;max-height:330px}
.visual-system-v2 .math-visual line{vector-effect:non-scaling-stroke}
.visual-system-v2 .math-visual .curve{stroke-width:3.2;vector-effect:non-scaling-stroke}
.visual-system-v2 .math-visual .reg-line,.visual-system-v2 .math-visual .ci-line,.visual-system-v2 .math-visual .stat-arrow,.visual-system-v2 .math-visual .mean-line{vector-effect:non-scaling-stroke}
.visual-system-v2 .svg-label{font-size:14px;font-weight:650;fill:var(--text)}
.visual-system-v2:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}

@media(max-width:1180px){
  .study-grid{grid-template-columns:290px minmax(0,1fr);gap:16px}
  .study-rail{top:96px}
  .visual-system-v2{grid-template-columns:minmax(190px,.75fr) minmax(300px,1.25fr);gap:0}
}
@media(max-width:1000px) and (min-width:761px){
  .study-grid{grid-template-columns:1fr}
  .study-rail{position:static;max-height:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
  .study-rail-status{grid-column:1/-1;margin:0}
  .study-rail-group{border-top:0;border:1px solid var(--line);border-radius:15px;padding:9px}
  .study-rail-group-body{max-height:260px;overflow:auto}
}
@media(max-width:760px){
  .visual-system-v2{grid-template-columns:1fr;margin:24px 0;border-radius:18px}
  .visual-system-v2 .visual-copy{padding:18px 18px 15px;border-inline-end:0;border-bottom:1px solid var(--line)}
  .visual-canvas{min-height:220px;padding:12px}
  .visual-canvas .math-visual{max-height:275px}
}
@media(max-width:430px){
  .visual-system-v2 .visual-copy b{font-size:.92rem}
  .visual-system-v2 .visual-copy p{font-size:.77rem}
  .visual-canvas{min-height:190px;padding:8px}
}


/* =========================================================
   UI/UX Track 2 — Focus Reading & Context Navigation
   ========================================================= */
.lesson-context-bar{position:sticky;top:96px;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr) auto;gap:18px;align-items:center;margin:-10px 0 26px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);box-shadow:0 10px 26px color-mix(in srgb,var(--text) 6%,transparent)}
.lesson-context-copy{min-width:0}.lesson-context-copy small,.lesson-context-copy b{display:block}.lesson-context-copy small{font-size:.64rem;color:var(--muted)}.lesson-context-copy b{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lesson-context-progress{display:grid;gap:5px}.lesson-context-progress>span{height:6px;border-radius:99px;background:var(--surface2);overflow:hidden}.lesson-context-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.lesson-context-progress small{font-size:.6rem;color:var(--muted)}
.lesson-context-actions{display:flex;gap:6px;align-items:center}.lesson-context-actions button{min-width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;font-size:.68rem;font-weight:850}.lesson-context-actions button:disabled{opacity:.32;cursor:not-allowed}.lesson-context-actions button.active{border-color:var(--accent);background:var(--accent);color:#fff}
.study-actions button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent)}

.study-page.focus-reading{max-width:1320px}
.study-page.focus-reading>.study-heading{opacity:.72}
.study-page.focus-reading .study-grid{grid-template-columns:minmax(0,1fr)}
.study-page.focus-reading .study-rail{display:none}
.study-page.focus-reading .lesson-panel{max-width:1120px;width:100%;margin-inline:auto;padding-inline:clamp(34px,5vw,72px)}
.study-page.focus-reading .lesson-blocks{max-width:900px}
.study-page.focus-reading .lesson-p{max-width:68ch}
.study-page.focus-reading .lesson-context-bar{top:94px}

@media(max-width:1000px){
  .lesson-context-bar{top:88px;grid-template-columns:minmax(0,1fr) auto}
  .lesson-context-progress{grid-column:1/-1;grid-row:2}
}
@media(max-width:760px){
  .lesson-context-bar{position:static;grid-template-columns:minmax(0,1fr) auto;margin:0 0 18px;padding:10px 11px;border-radius:14px}
  .lesson-context-progress{grid-column:1/-1}
  .lesson-context-actions button:nth-child(2){display:none}
  .study-page.focus-reading .study-rail{display:none}
  .study-page.focus-reading .lesson-panel{padding-inline:19px}
  .study-actions button[title="حالت تمرکز"]{display:none}
}


/* =========================================================
   UI/UX Track 3 — Reading Continuity & Resume
   ========================================================= */
.resume-reading-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface));box-shadow:0 10px 28px color-mix(in srgb,var(--text) 5%,transparent)}
.resume-reading-banner>div:first-child{min-width:0}.resume-reading-banner span,.resume-reading-banner b,.resume-reading-banner small{display:block}.resume-reading-banner span{font-size:.64rem;color:var(--accent);font-weight:900}.resume-reading-banner b{font-size:.84rem;margin-top:2px}.resume-reading-banner small{font-size:.64rem;color:var(--muted);margin-top:2px}
.resume-reading-banner>div:last-child{display:flex;gap:7px;flex:0 0 auto}.resume-reading-banner button{border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;padding:8px 11px;cursor:pointer;font-size:.68rem;font-weight:850}.resume-reading-banner .resume-dismiss{background:var(--surface);color:var(--text);border-color:var(--line)}
.study-page.focus-reading .resume-reading-banner{max-width:1120px;width:100%;margin-inline:auto}
@media(max-width:760px){
  .resume-reading-banner{align-items:stretch;flex-direction:column;padding:12px 13px}
  .resume-reading-banner>div:last-child{display:grid;grid-template-columns:1fr 1fr}
  .resume-reading-banner button{min-height:42px}
}


/* =========================================================
   UI/UX Track 4 — Cross-page Resume
   ========================================================= */
.catalog-resume-card{position:relative;z-index:2;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;margin:18px auto 26px;max-width:1180px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface));box-shadow:0 16px 38px color-mix(in srgb,var(--text) 7%,transparent)}
.catalog-resume-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:var(--accent);color:#fff;font:800 1.55rem Georgia,serif}
.catalog-resume-copy{min-width:0}.catalog-resume-copy>span{display:block;font-size:.68rem;color:var(--accent);font-weight:900}.catalog-resume-copy h2{margin:1px 0 5px;font-size:1.08rem}.catalog-resume-copy p{margin:0}.catalog-resume-copy p b,.catalog-resume-copy p small{display:block}.catalog-resume-copy p b{font-size:.78rem}.catalog-resume-copy p small{font-size:.67rem;color:var(--muted);margin-top:1px}
.catalog-resume-actions{display:flex;gap:8px;align-items:center}.catalog-resume-library{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:11px;padding:10px 13px;cursor:pointer;font-size:.72rem;font-weight:800}
.library-last-location small{display:block;margin-top:2px;color:var(--muted);font-size:.66rem;font-weight:500}
@media(max-width:760px){
  .catalog-resume-card{grid-template-columns:48px minmax(0,1fr);padding:15px 14px;margin:14px 0 22px}
  .catalog-resume-mark{width:44px;height:44px;border-radius:14px;font-size:1.2rem}
  .catalog-resume-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .catalog-resume-actions button{min-height:42px}
}


/* =========================================================
   UI/UX Track 5 — Recent Activity & Smart Library
   ========================================================= */
.catalog-recent-strip{position:relative;z-index:2;max-width:1180px;margin:0 auto 28px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.catalog-recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px}.catalog-recent-head span{font-size:.76rem;font-weight:900}.catalog-recent-head small{font-size:.64rem;color:var(--muted)}
.catalog-recent-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.catalog-recent-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--surface2);color:var(--text);text-align:start;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.catalog-recent-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface2))}
.catalog-recent-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--surface);color:var(--accent);font-weight:900}.catalog-recent-copy{min-width:0}.catalog-recent-copy b,.catalog-recent-copy small{display:block}.catalog-recent-copy b{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-recent-copy small{font-size:.61rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.catalog-recent-item i{font-style:normal;font-size:.58rem;color:var(--accent);font-weight:850}
.my-library-list .my-library-card:first-child{border-color:color-mix(in srgb,var(--accent) 24%,var(--line));box-shadow:0 14px 34px color-mix(in srgb,var(--text) 6%,transparent)}
@media(max-width:900px){.catalog-recent-list{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .catalog-recent-strip{padding:13px 12px;margin-bottom:22px}
  .catalog-recent-head{display:block}.catalog-recent-head small{display:block;margin-top:2px}
  .catalog-recent-list{grid-template-columns:1fr}
}


/* =========================================================
   UI/UX Track 6 — Activity Timeline & Study Momentum
   ========================================================= */
.library-activity-panel{position:relative;z-index:2;margin:0 0 24px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 14px 34px color-mix(in srgb,var(--text) 5%,transparent)}
.library-activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.library-activity-head>div:first-child>span{display:block;font-size:.67rem;color:var(--accent);font-weight:900}.library-activity-head h2{margin:2px 0 0;font-size:1.02rem}
.library-momentum{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px}.library-momentum>span{padding:9px 10px;border-radius:12px;background:var(--surface2);text-align:center}.library-momentum b,.library-momentum small{display:block}.library-momentum b{font-size:.9rem;color:var(--accent)}.library-momentum small{font-size:.58rem;color:var(--muted);margin-top:1px}
.library-activity-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.library-activity-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text);text-align:start;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.library-activity-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.library-activity-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.library-activity-item.type-completed .library-activity-dot{background:var(--ok)}.library-activity-item.type-chapter-exam .library-activity-dot,.library-activity-item.type-mock-exam .library-activity-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.library-activity-copy{min-width:0}.library-activity-copy b,.library-activity-copy small{display:block}.library-activity-copy b{font-size:.72rem}.library-activity-copy small{font-size:.61rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.library-activity-item time{font-size:.59rem;color:var(--muted);white-space:nowrap}
@media(max-width:820px){.library-activity-head{display:block}.library-momentum{margin-top:12px}.library-activity-list{grid-template-columns:1fr}}
@media(max-width:520px){.library-activity-panel{padding:14px 12px}.library-momentum{grid-template-columns:1fr 1fr 1fr}.library-momentum>span{padding:8px 5px}.library-activity-item{grid-template-columns:8px minmax(0,1fr)}.library-activity-item time{grid-column:2}}


/* =========================================================
   UI/UX Track 7 — Study Streak & Weekly Goal
   ========================================================= */
.library-goal-panel{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;margin:0 0 20px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface));box-shadow:0 14px 34px color-mix(in srgb,var(--text) 5%,transparent)}
.library-goal-main{display:flex;align-items:center;gap:14px;min-width:0}.library-streak-badge{display:flex;align-items:center;gap:9px;flex:0 0 auto;padding:10px 12px;border-radius:15px;background:var(--surface2)}.library-streak-badge>span{font-size:1.35rem}.library-streak-badge b,.library-streak-badge small{display:block}.library-streak-badge b{font-size:1.08rem;color:var(--accent)}.library-streak-badge small{font-size:.58rem;color:var(--muted)}
.library-goal-copy{min-width:0}.library-goal-copy>span{display:block;font-size:.66rem;color:var(--accent);font-weight:900}.library-goal-copy h2{margin:2px 0 3px;font-size:1rem}.library-goal-copy p{margin:0;font-size:.67rem;color:var(--muted)}.library-goal-copy p b{color:var(--text)}
.library-week-strip{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(7,28px);gap:5px;align-content:center}.library-week-strip span{display:grid;justify-items:center;gap:4px}.library-week-strip i{width:24px;height:24px;border-radius:8px;background:var(--surface2);border:1px solid var(--line)}.library-week-strip span.active i{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.library-week-strip span.future{opacity:.42}.library-week-strip small{font-size:.55rem;color:var(--muted)}
.library-goal-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid var(--line)}.library-goal-progress{display:flex;align-items:center;gap:10px;flex:1}.library-goal-progress>span{height:7px;border-radius:99px;background:var(--surface2);overflow:hidden;flex:1}.library-goal-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.library-goal-progress b{font-size:.64rem;white-space:nowrap}.library-goal-controls label{display:flex;align-items:center;gap:7px;font-size:.62rem;color:var(--muted)}.library-goal-controls select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:6px 8px;font:inherit}
@media(max-width:820px){.library-goal-panel{grid-template-columns:1fr}.library-week-strip{grid-column:1;grid-row:auto;justify-content:start}.library-goal-controls{grid-column:1}}
@media(max-width:520px){.library-goal-panel{padding:14px 12px}.library-goal-main{align-items:flex-start}.library-streak-badge{padding:9px}.library-week-strip{grid-template-columns:repeat(7,1fr);width:100%}.library-week-strip i{width:100%;max-width:30px}.library-goal-controls{align-items:stretch;flex-direction:column}.library-goal-controls label{justify-content:space-between}}


/* =========================================================
   UI/UX Track 8 — Weekly Study Review & Insights
   ========================================================= */
.library-review-panel{position:relative;z-index:2;margin:0 0 20px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 14px 34px color-mix(in srgb,var(--text) 5%,transparent)}
.library-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.library-review-head>div:first-child>span{display:block;font-size:.66rem;color:var(--accent);font-weight:900}.library-review-head h2{margin:2px 0 0;font-size:1.02rem}
.library-review-trend{min-width:150px;padding:10px 12px;border-radius:14px;background:var(--surface2);text-align:center}.library-review-trend b,.library-review-trend small{display:block}.library-review-trend b{font-size:1rem;color:var(--accent)}.library-review-trend small{font-size:.58rem;color:var(--muted);margin-top:2px}.library-review-trend.trend-down b{color:var(--danger)}.library-review-trend.trend-up b{color:var(--ok)}
.library-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.library-review-grid article{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.library-review-grid span,.library-review-grid b,.library-review-grid small{display:block}.library-review-grid span{font-size:.6rem;color:var(--muted)}.library-review-grid b{font-size:.84rem;margin-top:2px}.library-review-grid small{font-size:.58rem;color:var(--muted);margin-top:2px}
.library-review-insight{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.library-review-insight>span{grid-column:1/-1;font-size:.61rem;color:var(--accent);font-weight:900}.library-review-insight p{margin:0;font-size:.72rem;line-height:1.8;color:var(--text)}.library-review-insight button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 11px;cursor:pointer;font-size:.65rem;font-weight:800}
@media(max-width:820px){.library-review-grid{grid-template-columns:1fr 1fr}.library-review-head{display:block}.library-review-trend{margin-top:10px;text-align:start;min-width:0}}
@media(max-width:520px){.library-review-panel{padding:14px 12px}.library-review-grid{grid-template-columns:1fr 1fr}.library-review-insight{grid-template-columns:1fr}.library-review-insight button{width:100%}}
