:root{--navy:#112b51;--navy2:#173e72;--blue:#175de6;--blue2:#0a73ec;--blue-soft:#eaf2ff;--teal:#16a79a;--ink:#173154;--muted:#60738f;--line:#e2e9f3;--bg:#f4f7fc;--white:#fff;--shadow:0 12px 32px rgba(29,58,101,.065);--radius:17px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font:15px/1.6 Inter,"Segoe UI",Arial,sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #83b4ff;outline-offset:2px}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}header.topbar{height:74px;background:#fff;display:flex;align-items:center;gap:22px;padding:0 27px;border-bottom:1px solid #e8ecf4;position:sticky;top:0;z-index:40;box-shadow:0 4px 18px rgba(17,43,81,.035)}.brand{display:flex;align-items:center;gap:8px;min-width:247px}.brand-mark{font-weight:900;color:#073166;font-size:32px;letter-spacing:-7px;line-height:1;transform:skew(-5deg);margin-right:7px;position:relative}.brand-mark:after{content:"";position:absolute;right:-1px;top:15px;width:29px;height:4px;background:#15a1be;transform:rotate(-23deg)}.brand-text{border-left:1px solid #ced8e7;padding-left:11px;line-height:1.1}.brand-text b{font-size:20px;letter-spacing:-.7px;color:#123a85}.brand-text b span{color:#1474e5}.brand-text small{display:block;text-transform:uppercase;letter-spacing:2px;color:#8090a5;font-size:7px;margin-top:5px}.top-search{display:flex;align-items:center;background:#f2f5fb;border:1px solid #edf1f7;border-radius:13px;padding:0 12px;gap:10px;min-width:200px;max-width:390px;flex:1;height:42px;color:#8a9bb2}.top-search svg{width:17px;height:17px}.top-search input{outline:0;border:0;background:transparent;min-width:0;flex:1;color:#193556;font-size:13px}.top-search button{border:0;color:#3575de;background:transparent;padding:3px;display:flex;align-items:center}.top-links{display:flex;gap:23px;align-items:center;margin-left:auto;white-space:nowrap;font-size:12px;font-weight:700;color:#5a6d88}.top-links a:hover,.top-links a.active{color:var(--blue)}.profile{display:flex;align-items:center;gap:10px;padding-left:8px;border-left:1px solid var(--line);white-space:nowrap}.avatar{width:35px;height:35px;background:linear-gradient(140deg,#1381bc,#1d568e);border-radius:50%;display:grid;place-items:center;color:white;font-size:14px;font-weight:800}.profile b{display:block;font-size:12px}.profile small{display:block;color:#8a9bb0;font-size:11px}.mobile-toggle{display:none;background:transparent;border:0;padding:5px;color:#14345d}.shell{display:grid;grid-template-columns:262px minmax(0,1fr);gap:23px;padding:23px 25px 42px;max-width:1920px;margin:0 auto;align-items:start}.sidebar{background:white;border:1px solid #eaf0f7;border-radius:18px;padding:22px 12px 14px;box-shadow:var(--shadow);position:sticky;top:97px;max-height:calc(100vh - 115px);overflow:auto;scrollbar-width:thin}.side-title{font-weight:800;font-size:13px;color:#14365d;padding:0 11px 12px}.nav-heading{font-size:10px;font-weight:850;letter-spacing:1.8px;color:#8a9db8;padding:12px 11px 7px}.side-nav{display:grid;gap:3px}.side-link{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:#60738e;font-size:12px;font-weight:650;line-height:1.4;transition:background .15s}.side-link svg{width:17px;height:17px;color:#7489a7}.side-link:hover{background:#f3f7ff;color:#0f62cd}.side-link.active{background:#e8f0ff;color:#145fe0}.side-link.active svg{color:#145fe0}.side-num{width:19px;height:19px;border:1px solid #d5dfec;display:grid;place-items:center;border-radius:6px;font-size:10px;color:#6381a4;flex:none}.side-link.active .side-num{border-color:#b8ceff;color:#165ee0;background:#fff}.side-link.done .side-num{background:#dff6ed;border-color:#b0e8d4;color:#168b67}.side-divider{height:1px;background:#edf1f7;margin:17px 9px 5px}.sidebar-foot{background:linear-gradient(135deg,#eaf4ff,#d9eaff);margin:19px 0 0;border-radius:13px;padding:15px 14px;font-size:12px;color:#3c628c}.sidebar-foot strong{color:#163f77;display:block;margin:6px 0}.sidebar-foot a{color:#075edd;font-weight:750}.main{min-width:0}.breadcrumb{font-size:11px;color:#7b8ba3;display:flex;align-items:center;gap:9px;margin:1px 0 17px}.breadcrumb a{color:#2565d0}.breadcrumb svg{width:13px;height:13px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:6px 0 20px}.page-heading h1{margin:0;color:#193453;font-weight:850;font-size:clamp(26px,2.2vw,36px);letter-spacing:-1px;line-height:1.18}.page-heading p{color:#6a7e96;margin:7px 0 0;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:1.65px;font-size:10px;font-weight:850;color:#7c97b9;margin:0 0 10px}.hero{position:relative;background:linear-gradient(110deg,#12375f 0%,#1b537d 58%,#2d777e 100%);min-height:265px;border-radius:20px;overflow:hidden;display:flex;padding:35px 42px;color:white;box-shadow:0 18px 35px rgba(17,55,95,.14)}.hero:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(96,207,207,.19),transparent 70%);right:-160px;top:-120px}.hero-content{position:relative;z-index:2;max-width:660px;width:67%}.hero small{color:#b6e0f2;font-weight:700;letter-spacing:.5px}.hero h1{font-size:clamp(28px,2.6vw,42px);line-height:1.13;letter-spacing:-1.4px;margin:11px 0 14px;max-width:650px}.hero p{font-size:14px;color:#d6e9f7;max-width:560px;margin:0 0 22px}.hero-chiplist{display:flex;gap:8px;flex-wrap:wrap}.hero-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);padding:6px 11px;border-radius:40px;font-size:11px;font-weight:750;color:white}.hero-visual{position:absolute;right:36px;top:35px;width:32%;max-width:375px;height:200px;transform:rotate(-2deg);background:rgba(9,33,59,.4);border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 34px rgba(3,24,44,.2);border-radius:15px;padding:17px;z-index:1}.visual-top{display:flex;gap:6px}.visual-top i{display:block;border-radius:50%;width:7px;height:7px;background:#56b7cf}.visual-title{font-size:11px;margin-top:12px;color:#d8eef6;font-weight:800}.visual-bars{height:112px;display:flex;gap:11px;align-items:end;margin:8px 0 0;border-bottom:1px solid #5988a0;padding:0 6px}.visual-bars span{flex:1;background:linear-gradient(#60d0d2,#267cb7);border-radius:4px 4px 0 0;opacity:.95;max-height:100%}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:14px 0}.stat-card{background:white;border:1px solid #e8eef7;border-radius:15px;display:flex;align-items:center;gap:13px;padding:17px 16px;min-height:94px;box-shadow:var(--shadow)}.stat-icon{width:45px;height:45px;flex:none;border-radius:13px;background:#e6f0ff;color:#1964e2;display:grid;place-items:center}.stat-icon.green{background:#dff8ed;color:#14936b}.stat-icon.purple{background:#eee6ff;color:#8543d8}.stat-icon.gold{background:#fff1d8;color:#e8a122}.stat-card b{display:block;font-size:25px;line-height:1.1;color:#1b3252;font-weight:850}.stat-card span{display:block;font-size:11px;color:#435a76;margin-top:5px;font-weight:750}.stat-card small{display:block;font-size:10px;color:#93a2b5;margin-top:2px}.panel{background:#fff;border:1px solid #e8eef6;box-shadow:var(--shadow);border-radius:17px;padding:24px}.panel h2,.panel h3{margin:0;color:#173558}.panel h2{font-size:19px;letter-spacing:-.5px}.panel h3{font-size:15px}.panel-sub{margin:6px 0 0;font-size:12px;color:#7a8ba4}.section-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:14px}.stack{display:grid;gap:14px}.step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:18px}.step{border:1px solid #e5ecf5;border-radius:13px;padding:15px 13px;background:linear-gradient(180deg,#fff,#fcfdff);min-height:143px;position:relative}.step-badge{border-radius:10px;background:#eaf2ff;color:#155fd7;width:34px;height:34px;display:grid;place-items:center;font-weight:850;font-size:13px;margin-bottom:11px}.step strong{display:block;font-size:12px;color:#18395d}.step p{margin:5px 0 0;font-size:11px;color:#71849b;line-height:1.45}.step:not(:last-child):after{content:'›';position:absolute;right:-12px;top:37px;z-index:2;color:#91abc9;background:#fff;width:12px;text-align:center;font-size:22px}.module-list{display:grid;gap:9px}.module-item{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid #e7edf5;border-radius:12px;background:#fff;transition:box-shadow .15s,border .15s}.module-item:hover{border-color:#bad3ff;box-shadow:0 7px 20px rgba(25,72,128,.055)}.module-number{font-size:12px;font-weight:850;color:#236bd4;background:#eaf2ff;width:49px;height:48px;border-radius:11px;display:grid;place-items:center;flex:none}.module-number.completed{background:#e1f8ed;color:#169a70}.module-copy{min-width:0;flex:1}.module-copy strong{display:block;font-size:13px;line-height:1.35}.module-copy p{margin:4px 0 5px;font-size:11px;color:#75889d;line-height:1.45}.module-meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center;color:#8da0b6;font-size:10px}.module-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end;min-width:118px}.status{color:#617c9d;font-size:10px;font-weight:750;background:#f3f6fa;padding:3px 8px;border-radius:20px}.status.done{color:#168962;background:#e8f8f0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#1367e8;border:1px solid #1367e8;border-radius:9px;padding:9px 13px;color:white;font-weight:800;font-size:11px;line-height:1.3;white-space:nowrap}.btn:hover{background:#0b56c5;color:white}.btn svg{width:15px;height:15px}.btn.secondary{color:#1764d6;background:#eef4ff;border-color:#dce9ff}.btn.secondary:hover{background:#dfecff}.btn.ghost{color:#3c5678;background:#fff;border-color:#dfe8f4}.btn.ghost:hover{background:#f5f9ff}.btn[disabled]{background:#e9eff7;border-color:#e9eff7;color:#8799b0;cursor:not-allowed}.small{font-size:11px}.progress-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.ring{width:112px;height:112px;border-radius:50%;margin:21px auto 15px;background:conic-gradient(#1b68e8 calc(var(--pct)*1%),#e8eef7 0);display:grid;place-items:center}.ring-inner{border-radius:50%;background:white;width:88px;height:88px;display:grid;place-items:center}.ring-inner strong{font-size:26px}.progress-caption{text-align:center;color:#6e839c;font-size:12px;margin-bottom:12px}.thin-progress{height:8px;border-radius:9px;background:#edf2f8;overflow:hidden}.thin-progress span{display:block;height:100%;background:linear-gradient(90deg,#1771e9,#21b8ab);border-radius:9px;width:0;transition:width .3s}.class-card{border:1px solid #e5edf5;border-radius:12px;padding:13px;margin:12px 0 0;display:flex;gap:12px}.class-day{width:60px;border-radius:9px;background:#edf4ff;color:#1c61c0;display:grid;place-items:center;font-size:11px;font-weight:850;text-align:center;padding:6px}.class-card strong{font-size:12px}.class-card p{margin:4px 0 0;color:#7c8ca4;font-size:11px;line-height:1.5}.muted{color:#74869f}.text-link{color:#1769dc;font-weight:750;font-size:12px}.text-link:hover{text-decoration:underline}.top-spacer{margin-top:14px}.info-banner{background:#eef5ff;border:1px solid #dae8fb;border-radius:12px;padding:14px 16px;color:#3b638e;font-size:12px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#f3f7fc;border:1px solid #e4ecf5;border-radius:24px;padding:5px 10px;font-size:11px;color:#617891;font-weight:750}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:17px;align-items:start}.reader-layout .reading-column{min-width:0}.chapter-head{background:#fff;border:1px solid #e7edf5;padding:24px 28px;border-radius:17px;margin-bottom:13px;box-shadow:var(--shadow)}.chapter-head h1{font-size:clamp(25px,2.2vw,34px);margin:5px 0 11px;line-height:1.2;letter-spacing:-.8px}.chapter-head p{margin:0 0 15px;color:#71839b}.video-shell{background:#0c2343;border-radius:16px;overflow:hidden;position:relative;border:1px solid #173f67;min-height:320px;aspect-ratio:16/7.5;display:grid;place-items:center;text-align:center;color:white}.video-shell:before{content:'';width:260px;height:260px;border:1px solid rgba(91,190,227,.25);border-radius:50%;position:absolute;top:-130px;right:-70px;box-shadow:0 0 0 68px rgba(16,121,164,.09),0 0 0 150px rgba(17,123,162,.07)}.video-empty{position:relative;z-index:2;display:grid;justify-items:center;gap:9px;padding:25px;max-width:460px}.video-play{width:66px;height:66px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);display:grid;place-items:center;margin-bottom:8px}.video-play svg{width:27px;height:27px;fill:white;stroke:white}.video-empty h2{font-size:20px;margin:0;color:white}.video-empty p{font-size:12px;color:#c3d9ef;margin:0}.video-label{font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:850;color:#a9d7f6}.video-shell iframe,.video-shell video{width:100%;height:100%;position:absolute;inset:0;border:0;background:black}.video-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 18px;background:white;border:1px solid #e6eef7;border-radius:0 0 12px 12px;margin:-2px 0 16px;color:#6d819c;font-size:11px}.reading-paper{background:#fff;border:1px solid #e8edf4;box-shadow:var(--shadow);border-radius:17px;padding:35px clamp(25px,4vw,64px);margin-bottom:14px}.read-copy{font-family:Georgia,"Times New Roman",serif;color:#273a52;font-size:17px;line-height:1.86;max-width:900px;margin:auto}.read-copy .mini-label{text-transform:uppercase;color:#7292b4;font-size:11px;letter-spacing:1.9px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-weight:850;margin:0 0 20px}.read-copy .lede{font-size:20px;line-height:1.75;color:#233b59}.read-copy p{margin:0 0 19px}.read-copy h2{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:22px;letter-spacing:-.5px;line-height:1.4;color:#18345a;margin:37px 0 12px;scroll-margin-top:105px}.read-copy h3{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:17px;color:#20456f;margin:28px 0 10px}.read-copy strong{color:#153963}.read-copy .aside{border-left:4px solid #2275e9;background:#f2f7ff;border-radius:0 11px 11px 0;padding:18px 21px;color:#3c5573;font:14px/1.75 Inter,"Segoe UI",Arial,sans-serif;margin:25px 0}.read-copy .aside p{margin:8px 0}.read-copy .quote{font-size:20px;color:#3868a0;font-style:italic;border-left:3px solid #4ea0db;padding:12px 23px;margin:28px 0;background:#fafcff}.read-copy .figure{margin:29px 0;border:1px solid #e1e9f3;border-radius:13px;padding:17px;background:#fbfdff}.read-copy figcaption{font:11px/1.6 Inter,"Segoe UI",Arial,sans-serif;color:#8495a9;margin-top:12px}.read-copy .figure-title{font:bold 13px Inter,"Segoe UI",Arial,sans-serif;margin-bottom:13px}.read-copy .flow-diagram{display:flex;align-items:stretch;gap:6px;overflow:auto}.read-copy .flow-node{flex:1;min-width:85px;text-align:center;background:#eaf2ff;border:1px solid #d9e7fc;color:#1c5597;border-radius:8px;font:800 10px/1.4 Inter,"Segoe UI",Arial,sans-serif;padding:12px 6px}.read-copy .flow-node small{display:block;font-size:10px;color:#7293ae;font-weight:500;margin-top:4px}.read-copy .bar-chart{display:grid;gap:12px}.read-copy .bar-item{display:grid;grid-template-columns:120px 1fr 38px;gap:10px;align-items:center;font:12px Inter,"Segoe UI",Arial,sans-serif}.bar-item div{height:15px;border-radius:4px;background:#edf3fb;overflow:hidden}.bar-item i{height:100%;display:block;background:linear-gradient(90deg,#2374d9,#48c2cd);border-radius:4px}.read-copy .table-wrap{width:100%;overflow-x:auto;margin:25px 0}.read-copy table{border-collapse:collapse;width:100%;font:12px/1.6 Inter,"Segoe UI",Arial,sans-serif;min-width:530px}.read-copy th{background:#ecf3fe;color:#25476e;text-align:left;font-weight:800;border:1px solid #dae5f3;padding:10px 11px}.read-copy td{border:1px solid #e2eaf4;padding:11px;vertical-align:top}.read-copy tr:nth-child(even) td{background:#fbfcff}.read-copy ul,.read-copy ol{padding-left:26px}.read-copy li{margin-bottom:8px}.read-copy hr{border:0;border-top:1px solid #e5eaf3;margin:26px 0}.reader-side{display:grid;gap:14px;position:sticky;top:96px}.reader-side .panel{padding:20px}.reader-side h3{font-size:13px;margin:0 0 14px}.toc-links{display:grid;gap:5px;max-height:45vh;overflow:auto}.toc-links a{font-size:11px;color:#617b98;border-left:2px solid #e5ecf5;padding:6px 7px;line-height:1.45}.toc-links a:hover{border-color:#236ee1;color:#125fc7;background:#f4f9ff}.next-list{display:grid;gap:9px;margin:14px 0}.next-list a{display:flex;gap:9px;align-items:center;border:1px solid #e7edf6;border-radius:9px;padding:9px;font-size:11px;font-weight:750;color:#2c527e}.next-list a:hover{background:#f3f8ff}.next-list svg{width:15px;height:15px;color:#1b69d5}.chapter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.chapter-actions .btn{font-size:12px}.action-card{padding:20px 23px;border-radius:13px;background:white;border:1px solid #e9eff7;box-shadow:var(--shadow);display:flex;gap:13px;flex-wrap:wrap;justify-content:space-between;align-items:center}.action-card strong{font-size:14px}.action-card p{margin:4px 0 0;font-size:12px;color:#7d8da4}.activity-intro{margin-bottom:17px}.activity-intro .panel{background:linear-gradient(125deg,#fff,#f7faff)}.activity-panel{margin-bottom:14px}.activity-panel h2{font-size:17px}.activity-panel p{color:#647992}.activity-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:14px;align-items:start}.lab-card{border:1px solid #e5ecf5;border-radius:13px;padding:21px;margin:12px 0;background:white;scroll-margin-top:100px}.lab-card h3{font-size:16px;margin:0 0 8px}.lab-card p{font-size:13px;line-height:1.65;color:#62778f}.lab-card ol{font-size:13px;color:#4a6280;padding-left:21px}.lab-card li{margin:7px 0}.lab-card .tag{display:inline-flex;padding:4px 9px;background:#ecf5ff;color:#1d62be;border-radius:20px;font-size:10px;font-weight:800}.lab-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.lab-list a{display:inline-block;padding:8px 12px;border:1px solid #dee9f6;border-radius:9px;font-size:11px;color:#33618f;background:#fff;font-weight:750}.lab-list a:hover{background:#f0f6ff}.question{margin:15px 0;padding:19px;border:1px solid #e4edf7;border-radius:12px;background:#fff}.question-title{font-size:13px;color:#1b3d65;font-weight:800;margin-bottom:11px}.choices{display:grid;gap:7px}.choice{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #e8eef6;border-radius:9px;background:#fbfdff;color:#3e5876;font-size:12px;cursor:pointer}.choice:hover{background:#f3f8ff}.choice input{margin:3px 0 0;accent-color:#1b68e9}.choice:has(input:checked){border-color:#95beff;background:#edf5ff}.answer-feedback{display:none;margin-top:11px;padding:10px 12px;border-radius:9px;background:#f1f8ff;color:#345d85;font-size:12px}.answer-feedback.visible{display:block}.answer-feedback.correct{background:#eaf9f1;color:#187651}.answer-feedback.wrong{background:#fff2ed;color:#99523c}.question textarea{display:block;width:100%;border:1px solid #dfe8f5;border-radius:9px;min-height:100px;padding:11px;resize:vertical;margin-top:10px;color:#233b59}.result-box{border:1px solid #d6e9fb;background:#edf6ff;border-radius:12px;padding:15px 16px;margin-top:16px;color:#214d79;display:none}.result-box.visible{display:block}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:30px;font-weight:850;font-size:10px;padding:4px 9px;color:#2673c8;background:#e7f0ff}.badge.amber{background:#fff2d8;color:#966619}.file-row{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid #ebf0f6}.file-row:last-child{border-bottom:none}.file-icon{background:#eaf3ff;color:#1f6bd7;width:41px;height:41px;border-radius:10px;display:grid;place-items:center}.file-row strong{display:block;font-size:13px}.file-row small{font-size:11px;color:#8395ab;display:block;margin-top:3px}.file-row .file-control{margin-left:auto;flex:none}.footnote{font-size:11px;color:#8a9ab0;margin-top:17px}.footer{text-align:center;color:#93a2b4;font-size:11px;padding:26px 0 6px}.not-found{padding:14px;color:#7086a0;text-align:center;font-size:12px;display:none}.module-item.hidden{display:none}.table-modern{width:100%;border-collapse:collapse;font-size:12px}.table-modern th{background:#f2f6fc;color:#4b6586;text-align:left;padding:12px}.table-modern td{padding:12px;border-bottom:1px solid #edf2f7;color:#5b728c}.table-modern tr:last-child td{border:0}.screen-reader{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden}.mobile-backdrop{display:none}.script-box{background:#f6f9fe;border:1px solid #e5ecf7;border-radius:12px;padding:18px;margin:12px 0;font:13px/1.8 Georgia,serif;color:#344c6a}.script-box .script-time{font:800 11px Inter,Arial,sans-serif;color:#2066bb;margin-bottom:6px}.subsection{scroll-margin-top:95px}.print-only{display:none}@media(max-width:1280px){.top-links{gap:12px}.shell{grid-template-columns:232px minmax(0,1fr);gap:15px;padding:17px}.brand{min-width:232px}.sidebar{padding:18px 10px}.main-grid{grid-template-columns:minmax(0,1fr) 255px}.stat-card{padding:14px 11px;gap:9px}.reader-layout{grid-template-columns:minmax(0,1fr) 230px}}@media(max-width:1040px){.top-links{display:none}.hero-visual{opacity:.6}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-grid{grid-template-columns:1fr}.reader-layout{grid-template-columns:1fr}.reader-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.reader-side .panel{height:auto}.top-search{max-width:530px}.activity-grid{grid-template-columns:1fr}}@media(max-width:750px){header.topbar{height:64px;padding:0 13px;gap:10px}.mobile-toggle{display:flex}.brand{min-width:0;flex:none}.brand-text b{font-size:16px}.brand-mark{font-size:25px;letter-spacing:-5px}.brand-mark:after{top:12px;width:23px;height:3px}.brand-text small{font-size:6px;letter-spacing:1px}.top-search{max-width:none;min-width:0;height:37px}.top-search input{font-size:11px}.profile{padding:0;border:0}.profile>div:last-child{display:none}.avatar{width:31px;height:31px;font-size:11px}.shell{display:block;padding:13px 11px 30px}.sidebar{position:fixed;z-index:60;left:0;top:64px;bottom:0;width:282px;max-height:none;border-radius:0 18px 0 0;transform:translateX(-110%);transition:transform .2s;box-shadow:10px 10px 35px #17395c22}.sidebar.open{transform:translateX(0)}.mobile-backdrop.open{display:block;position:fixed;inset:64px 0 0;background:#102d5088;z-index:50}.hero{padding:25px 20px;min-height:257px}.hero-content{width:100%}.hero h1{font-size:30px}.hero-visual{display:none}.hero p{font-size:12px}.stat-grid{gap:9px;margin:11px 0}.stat-card{min-height:80px;padding:12px}.stat-icon{width:35px;height:35px}.stat-icon svg{width:17px}.stat-card b{font-size:20px}.stat-card span{font-size:10px}.step-grid{grid-template-columns:repeat(2,1fr)}.step:nth-child(2):after{display:none}.panel{padding:17px}.module-item{gap:10px;padding:12px}.module-number{width:39px;height:43px}.module-copy strong{font-size:12px}.module-actions{min-width:0}.module-actions .btn{padding:7px;font-size:10px}.module-copy p{font-size:10px}.chapter-head{padding:19px}.video-shell{min-height:235px;aspect-ratio:16/10}.video-empty h2{font-size:17px}.reading-paper{padding:25px 18px}.read-copy{font-size:16px;line-height:1.8}.read-copy .lede{font-size:18px}.read-copy h2{font-size:20px}.reader-side{grid-template-columns:1fr}.video-foot{font-size:10px;flex-wrap:wrap}.page-heading h1{font-size:25px}.page-heading{align-items:flex-start}.page-heading p{font-size:12px}.file-row{gap:8px}.file-row strong{font-size:12px}}@media(max-width:430px){.brand-text small{display:none}.top-search{padding:0 7px}.top-search input{width:50px}.profile{display:none}.module-actions{align-items:flex-end}.module-actions .btn{max-width:92px;white-space:normal}.module-item{align-items:flex-start}.hero-chip{font-size:10px}.stat-card small{font-size:9px}.read-copy .flow-diagram{flex-wrap:wrap}.read-copy .flow-node{min-width:32%;}.read-copy .bar-item{grid-template-columns:92px 1fr 25px;font-size:10px}}@media print{header.topbar,.sidebar,.reader-side,.chapter-actions,.video-shell,.video-foot,.footer,.topbar,.mobile-toggle{display:none!important}.shell,.reader-layout{display:block;padding:0}.reading-paper{border:0;box-shadow:none;padding:0}.read-copy{max-width:none;font-size:11pt}body{background:white}.print-only{display:block}}
/* Narrow refinements for compact progress figures and wrapping labels */
.stat-card b [data-chapters-read]{display:inline}
.stat-card .stat-icon{display:grid}
.section-header .badge{white-space:nowrap;flex:none}


/* Curriculum accordions and reading typography — strictly scoped extension */
.shell{max-width:none;grid-template-columns:minmax(280px,315px) minmax(0,1fr);gap:20px}
.sidebar{scrollbar-gutter:stable;overscroll-behavior:contain}
.dc-nav-heading{padding:12px 11px 10px}
.dc-accordion{display:grid;gap:6px}
.dc-module{border:1px solid #e4ecf7;border-radius:11px;background:#fff;overflow:hidden}
.dc-module[open]{background:#fbfdff;border-color:#cbdcf8}
.dc-module-summary{list-style:none;display:flex;gap:10px;align-items:center;padding:12px 10px;cursor:pointer;color:#23436a;line-height:1.35}
.dc-module-summary::-webkit-details-marker{display:none}
.dc-module-summary:focus-visible{outline:3px solid #76aaff;outline-offset:-3px}
.dc-module-summary:hover{background:#f1f6ff}
.dc-module[open]>.dc-module-summary{background:#edf4ff}
.dc-module-number{display:grid;place-items:center;border-radius:8px;background:#eaf1fb;color:#1762bd;font-size:12px;font-weight:800;min-width:31px;height:32px}
.dc-module-summary-copy{min-width:0;flex:1}
.dc-module-summary-copy strong{display:block;font-size:13.3px;line-height:1.42;font-weight:800;color:#1d406c}
.dc-module-summary-copy small{display:block;color:#788da7;font-size:11px;margin-top:4px;line-height:1.45}
.dc-chevron{font-size:19px;line-height:1;color:#6287b9;transition:transform .18s}
.dc-module[open] .dc-chevron{transform:rotate(180deg)}
.dc-module-chapters{display:grid;gap:2px;padding:6px 5px 9px}
.dc-chapter-link{display:flex;gap:9px;align-items:flex-start;padding:9px 8px;border-radius:8px;color:#536d8c;font-size:12.5px;line-height:1.47;transition:background .16s;color .16s}
.dc-chapter-link:hover{background:#f0f6ff;color:#155fd4}
.dc-chapter-link.active{background:#e5efff;color:#155fe1;font-weight:750}
.dc-chapter-id{color:#235fb2;font-size:12px;font-weight:800;flex:none;min-width:30px}
.dc-chapter-name{min-width:0;overflow-wrap:anywhere}
.dc-overview-link{font-weight:750;color:#28558e;padding-left:12px;border-bottom:1px solid #eef2f9;border-radius:0}
/* Comfortable book-length reading, scoped to the existing chapter text only. */
.reading-paper{padding:clamp(28px,3.5vw,60px) clamp(25px,4.1vw,70px)}
.read-copy{max-width:86ch;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.9;letter-spacing:.003em;color:#263b54}
.read-copy .lede{font-size:22px;line-height:1.8;color:#273e5b}
.read-copy p{margin-bottom:23px}
.read-copy h2{font-size:26px;line-height:1.38;letter-spacing:-.35px;margin:46px 0 16px;scroll-margin-top:105px}
.read-copy h3{font-size:21px;line-height:1.45;margin:32px 0 13px}
.read-copy li{margin-bottom:12px}
.read-copy .mini-label{font-size:12px;letter-spacing:1.5px}
.read-copy .aside{font-size:15px;line-height:1.78;padding:19px 23px}
.read-copy .quote{font-size:21px;line-height:1.75}
.read-copy .table-wrap{margin:28px 0}
.read-copy table{font-size:14px;line-height:1.68}
.read-copy th,.read-copy td{padding:13px 15px}
.read-copy figcaption{font-size:12px}
.read-copy .figure-title{font-size:14px}
.toc-links a{font-size:13px;line-height:1.6;padding:8px}
.reader-side h3{font-size:15px}
/* Visible, keyboard accessible Previous / Next chapter navigation */
.dc-chapter-pager{margin:20px 0 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.dc-pager-link{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:103px;padding:17px 19px;border:1px solid #dce7f6;background:#fff;border-radius:14px;box-shadow:var(--shadow);transition:border-color .16s,transform .16s}
.dc-pager-link:hover{border-color:#81aae7;transform:translateY(-1px)}
.dc-pager-caption{font:800 11px/1.4 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:1.25px;color:#236ed5}
.dc-pager-link strong{font-size:15px;line-height:1.45;color:#1b3e69}
.dc-pager-next{text-align:right;align-items:flex-end;background:#f0f6ff;border-color:#cee0fa}
/* New curriculum directory uses existing visual design, not new teaching material. */
.dc-curriculum-crumb{margin-bottom:16px}
.dc-curriculum-head{background:#fff;border:1px solid #e6edf6;box-shadow:var(--shadow);border-radius:17px;padding:29px 32px;margin-bottom:17px}
.dc-curriculum-head .eyebrow{font-size:12px;letter-spacing:1.4px;margin:0 0 10px}
.dc-curriculum-head h1{font-size:clamp(25px,2.5vw,36px);line-height:1.22;letter-spacing:-.7px;margin:0 0 11px}
.dc-curriculum-subtitle{font-size:16px;color:#627a95;line-height:1.65;margin:0 0 18px}
.dc-curriculum-meta{display:flex;flex-wrap:wrap;gap:9px}
.dc-meta-pill{background:#eff5ff;color:#235c9d;padding:7px 12px;border-radius:30px;font-size:12px;font-weight:700}
.dc-directory{padding:27px 28px}
.dc-directory h2{font-size:23px;margin:0 0 8px}
.dc-directory-list{display:grid;gap:9px;margin-top:20px}
.dc-directory-item{display:flex;gap:16px;align-items:center;min-height:58px;padding:13px 16px;border:1px solid #e5edf7;border-radius:11px;background:#fff}
.dc-directory-item:hover{background:#f4f8ff;border-color:#bad3f8}
.dc-directory-code{font-weight:850;color:#1a63d9;background:#eaf2ff;border-radius:8px;min-width:54px;text-align:center;padding:7px}
.dc-directory-item strong{font-size:15px;line-height:1.48;flex:1}
.dc-directory-arrow{color:#1c67d7;font-size:20px}
.dc-directory-note{font-size:14px;color:#617895;line-height:1.65;margin:17px 3px}
.dc-unpublished-video{background:#132f52;min-height:220px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;color:#fff;padding:25px;margin-bottom:16px}
.dc-video-icon{display:grid;place-items:center;border:1px solid #91b7d5;border-radius:100px;width:55px;height:55px;font-size:21px;color:#aee1f2;padding-left:3px}
.dc-unpublished-video strong{font-size:20px}.dc-unpublished-video p{font-size:14px;color:#c4d6e8;margin:0}
.dc-upcoming-paper{margin-bottom:0}.dc-content-notice{padding:17px 19px;border-radius:10px;background:#f1f6ff;border-left:4px solid #2671d9;margin-top:22px;font:15px/1.65 Inter,"Segoe UI",Arial,sans-serif}
.dc-content-notice p{margin:7px 0 0}
@media(max-width:1280px){.shell{grid-template-columns:minmax(260px,290px) minmax(0,1fr)}}
@media(max-width:750px){.shell{display:block;padding:13px 11px 30px}.dc-module-summary-copy strong{font-size:13px}.dc-module-summary-copy small{font-size:10.5px}.sidebar{width:min(332px,88vw)}.reading-paper{padding:27px 20px}.read-copy{font-size:17.5px;line-height:1.83}.read-copy .lede{font-size:19px;line-height:1.75}.read-copy h2{font-size:23px;margin-top:36px}.read-copy h3{font-size:19px}.read-copy table{font-size:13px}.read-copy .aside{font-size:14px}.dc-chapter-pager{grid-template-columns:1fr}.dc-pager-next{text-align:left;align-items:flex-start}.dc-curriculum-head{padding:23px 19px}.dc-directory{padding:20px 17px}.dc-directory-item strong{font-size:13.5px}.dc-meta-pill{font-size:11px}.dc-unpublished-video strong{font-size:17px}}
@media print{.read-copy{font-size:11pt;max-width:none}.dc-chapter-pager{display:none!important}}

/* Sidebar-only correction: persistent, readable 11-module accordion in every page. */
.dc-curriculum-section{display:block;min-width:0}
.dc-curriculum-section .dc-nav-heading{font-size:11px;letter-spacing:1.3px;line-height:1.45;padding:10px 10px 13px}
.dc-curriculum-section .dc-accordion{display:grid;gap:7px}
.dc-curriculum-section .dc-module{min-width:0;border:1px solid #dce6f3;border-radius:12px}
.dc-curriculum-section .dc-module-summary{padding:12px 10px;gap:9px;min-height:63px}
.dc-curriculum-section .dc-module-summary-copy strong{font-size:14px;line-height:1.45;font-weight:750}
.dc-curriculum-section .dc-module-summary-copy small{font-size:11.5px;line-height:1.45}
.dc-curriculum-section .dc-chapter-link{font-size:13.25px;line-height:1.48;gap:9px;padding:9px 10px}
.dc-curriculum-section .dc-chapter-id{font-size:12px;min-width:33px}
.dc-curriculum-section .dc-module[open]>.dc-module-summary{border-bottom:1px solid #dbe6f6}
.dc-curriculum-section .dc-chapter-link.active{background:#e2eeff;color:#155de0;font-weight:800}
.dc-curriculum-section .dc-chapter-link.active .dc-chapter-id{color:#155de0}
.dc-curriculum-section .dc-module-summary:focus-visible{outline:3px solid #78abf5;outline-offset:-3px}
.sidebar{overscroll-behavior:contain;scrollbar-gutter:stable}
@media(min-width:751px){.shell{grid-template-columns:minmax(290px,307px) minmax(0,1fr)}}
@media(max-width:750px){.sidebar{scrollbar-gutter:auto}.dc-curriculum-section .dc-module-summary-copy strong{font-size:14px}.dc-curriculum-section .dc-chapter-link{font-size:13.25px}}

/* Consistent DataConsultant student header — shared on every module page. */
.dc-topbar{gap:clamp(10px,1.5vw,22px);padding-inline:clamp(14px,1.6vw,30px);height:84px;min-height:84px}
.dc-header-brand{display:flex;align-items:center;flex:0 0 auto;min-width:0;width:clamp(190px,18vw,290px);height:60px}
.dc-brand-logo{display:block;width:100%;height:auto;max-height:59px;object-fit:contain;object-position:left center}
.dc-topbar .top-search{max-width:410px;min-width:180px;height:56px;border-radius:15px;padding-inline:16px}
.dc-topbar .top-search input{font-size:14px}
.dc-topbar .top-links{font-size:13px;gap:clamp(12px,1.6vw,27px);margin-left:auto}
.dc-topbar .top-links a{color:#526886;white-space:nowrap}
.dc-topbar .top-links a:hover,.dc-topbar .top-links a.active{color:#1763e5}
.dc-notification-link{display:flex;align-items:center;justify-content:center;width:30px;height:35px;flex:none;color:#7089ab}
.dc-notification-link:hover{color:#1763e5}
.dc-notification-link svg{width:21px;height:21px}
.dc-student-profile{min-width:0;border-left:none;padding-left:0;gap:11px}
.dc-student-profile .avatar{width:42px;height:42px;font-size:17px;flex:none;background:#0788b1}
.dc-student-profile-copy{min-width:0;max-width:180px}
.dc-student-profile b{font-size:13.5px;color:#142e51;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-student-profile small{font-size:12px;color:#8095b0;line-height:1.5}
.dc-signout{display:flex;flex:none;align-items:center;gap:9px;border:1px solid #e4eaf4;border-radius:13px;padding:10px 13px;font-size:13px;color:#7287a3;min-height:45px;white-space:nowrap}
.dc-signout svg{width:18px;height:18px}.dc-signout:hover{background:#f1f6ff;color:#175fd9;border-color:#cfdef4}
@media(max-width:1450px){.dc-header-brand{width:clamp(172px,18vw,250px)}.dc-topbar .top-search{max-width:315px;min-width:150px}.dc-topbar .top-links{gap:15px}.dc-student-profile-copy{max-width:140px}}
@media(max-width:1180px){.dc-header-brand{width:190px}.dc-topbar .top-search{min-width:110px;max-width:250px}.dc-topbar .top-links{gap:12px;font-size:12px}.dc-student-profile-copy{max-width:118px}}
@media(max-width:980px){.dc-topbar{gap:12px}.dc-header-brand{width:190px}.dc-topbar .top-search{min-width:0;max-width:none;flex:1}.dc-topbar .top-links{display:none}.dc-notification-link{display:none}.dc-student-profile-copy{max-width:170px}}
@media(max-width:750px){.dc-topbar{height:70px;min-height:70px;padding:0 12px;gap:9px}.dc-topbar .mobile-toggle{display:flex}.dc-header-brand{width:clamp(125px,29vw,185px);height:46px}.dc-brand-logo{max-height:44px}.dc-topbar .top-search{display:none}.dc-student-profile{display:flex;gap:7px;margin-left:auto}.dc-student-profile .avatar{width:34px;height:34px;font-size:13px}.dc-student-profile-copy{max-width:clamp(60px,18vw,140px)}.dc-student-profile b{font-size:11px}.dc-student-profile small{font-size:10px}.dc-signout{padding:8px;min-height:36px;border-radius:10px}.dc-signout span{display:none}.dc-signout svg{width:17px;height:17px}}
@media(max-width:430px){.dc-topbar{gap:7px}.dc-header-brand{width:clamp(110px,30vw,145px)}.dc-student-profile-copy{max-width:80px}.dc-signout{padding:7px}.dc-student-profile .avatar{width:30px;height:30px}}
@media print{.dc-topbar{display:none!important}}

/* --------------------------------------------------------------------------
   DATACONSULTANT ACADEMY · READING & TRUST DESIGN REFINEMENT · 2026-11-01
   CSS-only update. Preserves all existing HTML, scripts and course content.
   Brand treatment: clear institutional navy, confident accessible blues.
   -------------------------------------------------------------------------- */
:root{
  --navy:#102d55;
  --navy2:#163e75;
  --blue:#1765dc;
  --blue2:#0c73ed;
  --blue-soft:#edf4ff;
  --teal:#2771ca; /* formerly teal: map decorative accents to brand blue */
  --ink:#203854;
  --muted:#526783;
  --line:#dce6f1;
  --bg:#f4f7fc;
  --shadow:0 8px 28px rgba(20,52,97,.055);
}
html{scroll-padding-top:106px}
body{color:var(--ink);background:var(--bg);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15.5px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#d8e8ff;color:#102f5a}
:where(button,a,input,textarea,summary):focus-visible{outline:3px solid #7aaaf4;outline-offset:3px}

/* A cohesive, restrained header and complete-width working environment. */
.dc-topbar{background:#fff;border-bottom:1px solid #e2eaf4;box-shadow:0 3px 15px rgba(15,43,78,.04)}
.dc-topbar .top-search{background:#f4f7fc;border-color:#e4ebf6}
.dc-topbar .top-search input{color:#193656}
.dc-topbar .top-search input::placeholder{color:#7386a1;opacity:1}
.dc-topbar .top-links a{color:#405979}
.dc-topbar .top-links a:hover,.dc-topbar .top-links a.active{color:#145fd4}
.dc-student-profile b{color:#15345c}
.dc-signout{color:#4b6687;border-color:#dbe5f1}
.shell{max-width:1920px;gap:clamp(15px,1.6vw,25px)}
.sidebar{border:1px solid #e1e9f4;box-shadow:0 8px 25px rgba(24,54,99,.055)}
.side-title{font-size:15px;line-height:1.35;color:#14375f}
.nav-heading,.dc-curriculum-section .dc-nav-heading{color:#536e99;font-size:11px;font-weight:800}
.dc-curriculum-section .dc-module{border-color:#dce7f3;background:#fff;border-radius:12px}
.dc-curriculum-section .dc-module[open]{border-color:#bfd4f1;background:#fff}
.dc-curriculum-section .dc-module[open]>.dc-module-summary{background:#eef5ff;border-bottom-color:#dce8f7}
.dc-curriculum-section .dc-module-summary-copy strong{color:#1c3f68;font-size:14px;font-weight:750}
.dc-curriculum-section .dc-module-summary-copy small{color:#5a7391;font-size:11.5px}
.dc-curriculum-section .dc-chapter-link{font-size:13.5px;color:#476386;line-height:1.55;border-radius:8px}
.dc-curriculum-section .dc-chapter-link:hover{color:#125cc8;background:#f0f6ff}
.dc-curriculum-section .dc-chapter-link.active{background:#e8f1ff;color:#0b54c9;box-shadow:inset 3px 0 #216de0;font-weight:800}
.dc-curriculum-section .dc-chapter-link.active .dc-chapter-id{color:#0b54c9}
.dc-module-number{background:#e5efff;color:#155ec5}
.dc-module[open] .dc-module-number{background:#d8e9ff;color:#114eaa}
.side-link,.next-list a{color:#45607e;font-size:13px;line-height:1.55}
.sidebar-foot{background:linear-gradient(135deg,#eef5ff,#e2eeff);color:#385b85}
.sidebar-foot strong{color:#183b68}

/* General headings, panels, figures and controls used across all pages. */
.breadcrumb{font-size:12.5px;color:#617590;line-height:1.5}
.breadcrumb a{color:#1b5fb9}
.eyebrow{font-size:11px;color:#3765a1;font-weight:800;letter-spacing:1.35px}
.page-heading h1{font-size:clamp(28px,2.3vw,37px);line-height:1.2;color:#112e54}
.page-heading p{font-size:15px;line-height:1.65;color:#596f89}
.panel{background:#fff;border-color:#dfe8f3;box-shadow:0 8px 25px rgba(24,54,99,.045)}
.panel h2{font-size:21px;line-height:1.35;color:#17385f;letter-spacing:-.3px}
.panel h3{font-size:17px;line-height:1.4;color:#17385f}
.panel-sub{font-size:14px;line-height:1.65;color:#62758e}
.btn{border-radius:10px;min-height:41px;font-size:13px;font-weight:750;padding:10px 15px;background:#1765dc;border-color:#1765dc}
.btn:hover{background:#0d54bc;border-color:#0d54bc}
.btn.secondary{background:#eaf2ff;color:#145ac5;border-color:#cee0fb}
.btn.secondary:hover{background:#dceaff}
.btn.ghost{color:#284e7e;border-color:#dae5f3;background:#fff}
.chip{background:#eff5ff;border-color:#dbe7f8;color:#325d91;font-size:12px;padding:6px 11px}
.badge{background:#eaf2ff;color:#245eae;font-size:11px}
.hero{background:linear-gradient(112deg,#102f5b 0%,#164579 57%,#2369ac 100%)}
.hero:before{background:radial-gradient(circle,rgba(98,160,244,.19),transparent 70%)}
.hero p{font-size:15px;line-height:1.7}
.visual-top i{background:#90c5ff}
.visual-bars span{background:linear-gradient(#75b9ff,#347bd1)}
.stat-icon.green{background:#e9f2ff;color:#236ccf}
.step{border-color:#dfe8f4}
.step strong{font-size:14px;color:#1e416a}
.step p{font-size:13px;line-height:1.6;color:#5a7090}
.step-badge{background:#e5efff;color:#175ec7}
.class-card{border-color:#e0eaf6}
.class-card strong{font-size:14px;color:#1b3c64}
.class-card p{font-size:13px;color:#60758c;line-height:1.6}
.module-item{border-color:#e0e9f4}
.next-list a{padding:11px 12px;font-weight:700}
.footer{font-size:12px;color:#637793;line-height:1.6}

/* Book-chapter presentation: deliberate typographic rhythm, not dashboard cards. */
.reader-layout{grid-template-columns:minmax(0,1fr) clamp(235px,18vw,270px);gap:clamp(14px,1.5vw,24px)}
.reader-layout .reading-column{min-width:0}
.chapter-head{background:#fff;border:1px solid #dde7f3;border-radius:16px;padding:clamp(24px,2.6vw,38px);box-shadow:0 8px 25px rgba(24,54,99,.05)}
.chapter-head h1{font-size:clamp(29px,2.6vw,41px);font-weight:800;line-height:1.19;color:#102f59;letter-spacing:-.8px}
.chapter-head p{font-size:15px;color:#536e8b;line-height:1.65}
.video-shell{background:linear-gradient(133deg,#0b2245,#143f76 64%,#1e609d);border-color:#264d81;min-height:295px;box-shadow:0 12px 26px rgba(15,42,78,.12)}
.video-label{color:#b4d9ff}
.video-empty p{font-size:14px;line-height:1.6;color:#d4e6f9}
.video-foot{font-size:13px;line-height:1.55;color:#526c89;border-color:#dee9f6}
.reading-paper{background:#fff;border:1px solid #e0e8f2;border-radius:17px;padding:clamp(30px,3.2vw,56px) clamp(30px,4vw,68px);box-shadow:0 9px 28px rgba(23,51,89,.05)}
.read-copy{max-width:76ch;margin-inline:auto;color:#26364a;font-family:Georgia,"Times New Roman",serif;font-size:18.5px;line-height:1.86;letter-spacing:0;overflow-wrap:break-word}
.read-copy p{margin:0 0 1.28em;max-width:100%;orphans:3;widows:3}
.read-copy .mini-label{font:800 11.5px/1.6 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:1.4px;color:#1d62b0;margin-bottom:20px}
.read-copy .lede{color:#213954;font-size:21px;line-height:1.82;margin-bottom:1.4em}
.read-copy .first-para:first-letter{color:#145daf}
.read-copy h2{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#133964;font-size:clamp(23px,1.8vw,27px);line-height:1.34;letter-spacing:-.45px;font-weight:800;margin:2em 0 .72em;scroll-margin-top:105px}
.read-copy h3{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1c4a79;font-size:clamp(19px,1.3vw,21px);line-height:1.45;letter-spacing:-.2px;font-weight:760;margin:1.5em 0 .55em}
.read-copy strong{color:#173c65;font-weight:700}
.read-copy ul,.read-copy ol{padding-left:27px;margin:16px 0 25px}
.read-copy li{padding-left:2px;margin:0 0 12px}
.read-copy li::marker{color:#2564bd}
.read-copy .aside{background:#edf5ff;border:1px solid #d8e6f9;border-left:5px solid #256fd6;border-radius:10px;color:#254a74;font:15.5px/1.8 Inter,"Segoe UI",Arial,sans-serif;padding:21px 24px;margin:30px 0 34px;box-shadow:none}
.read-copy .aside strong{color:#164d94;font-weight:800}
.read-copy .aside p{margin:8px 0 0}
.read-copy .quote{color:#254f81;border-left:4px solid #3b7bd0;background:#f1f6ff;border-radius:0 9px 9px 0;padding:20px 25px;font:italic 20px/1.73 Georgia,"Times New Roman",serif;margin:32px 0}
.read-copy .figure{background:#fbfdff;border:1px solid #dbe7f5;border-radius:13px;padding:clamp(15px,2vw,24px);margin:29px 0 33px}
.read-copy .figure-title{font:800 15px/1.55 Inter,"Segoe UI",Arial,sans-serif;color:#193c63;margin-bottom:14px}
.read-copy .flow-diagram{gap:9px;scrollbar-color:#bed2ed transparent;scrollbar-width:thin;padding-bottom:5px}
.read-copy .flow-node{background:#eaf3ff;border:1px solid #cfe1f9;color:#1552a0;border-radius:10px;font:800 11.5px/1.45 Inter,"Segoe UI",Arial,sans-serif;padding:13px 8px;min-width:100px}
.read-copy .flow-node small{font-size:10.5px;color:#456f9d;line-height:1.55;margin-top:6px}
.read-copy figcaption{font:12.5px/1.65 Inter,"Segoe UI",Arial,sans-serif;color:#5c728e;margin-top:13px}
.read-copy .table-wrap{overflow-x:auto;margin:30px 0;border-radius:11px;border:1px solid #dfebf7}
.read-copy table{min-width:530px;font:14px/1.6 Inter,"Segoe UI",Arial,sans-serif;color:#25405f}
.read-copy th{background:#eaf2ff;color:#173d68;border-color:#d3e2f5;font-weight:800;padding:14px 16px}
.read-copy td{border-color:#e1eaf6;padding:13px 16px}
.read-copy tr:nth-child(even) td{background:#f8fbff}
.read-copy .formula{background:#edf5ff;border:1px solid #d5e5f9;color:#19477c;border-radius:10px;padding:17px 20px;font:700 15px/1.75 Inter,"Segoe UI",Arial,sans-serif;overflow-wrap:anywhere}
.read-copy .two-col{gap:13px}
.read-copy .mini-card{background:#f5f9ff;border-color:#dbe7f8;border-radius:11px;padding:19px}
.read-copy .mini-card b{color:#174d91;font-size:15px}
.read-copy .mini-card p{font-size:15px;line-height:1.72;color:#345271;margin:8px 0 0}
.read-copy hr{border-top:1px solid #dce7f4;margin:36px 0}
.read-copy a{text-decoration-color:#9fc0ea;text-underline-offset:3px}
.read-copy a:hover{color:#0d58bc;text-decoration-color:#0d58bc}

/* Reading companion panels: secondary visually, but readable. */
.reader-side{gap:15px}
.reader-side .panel{padding:22px 19px;border-color:#e0e9f4}
.reader-side h3{font-size:15px;line-height:1.45;color:#1d426c;margin-bottom:14px}
.toc-links{gap:4px}
.toc-links a{font-size:13px;color:#456487;line-height:1.6;padding:9px 10px;border-left:3px solid #e4edf7}
.toc-links a:hover{background:#edf5ff;border-color:#246cdc;color:#145bbc}
.reader-side .next-list a{font-size:12.5px;line-height:1.48;padding:10px}
.reader-side .panel p,.reader-side .panel small{color:#5b7190;line-height:1.65}
.action-card{border-color:#dfe9f5;padding:21px 24px}
.action-card strong{font-size:16px;color:#173c66}
.action-card p{font-size:13.5px;color:#59718c;line-height:1.55}
.dc-chapter-pager{gap:15px}
.dc-pager-link{border-color:#d6e5f7;box-shadow:0 6px 20px rgba(23,60,115,.05)}
.dc-pager-caption{color:#1a5fc3;font-size:12px}
.dc-pager-link strong{font-size:16px}
.dc-pager-next{background:#eff6ff;border-color:#c8dffa}

/* Quiz, lab, assignment, script and dataset pages share the same readable scale. */
.activity-grid{grid-template-columns:minmax(0,1fr) minmax(235px,275px);gap:18px}
.activity-panel,.activity-intro .panel{border-color:#dfe9f4}
.activity-panel h2{font-size:20px}
.activity-panel p{font-size:15px;line-height:1.7;color:#506985}
.lab-card{border-color:#dfe8f5;border-radius:13px;padding:clamp(20px,2.2vw,28px);box-shadow:0 3px 15px rgba(15,51,94,.025)}
.lab-card h3{font-size:19px;line-height:1.45;color:#183d68}
.lab-card p,.lab-card ol{font-size:15px;line-height:1.75;color:#405d7d}
.lab-card li{margin:9px 0}
.lab-card .tag{background:#eaf3ff;color:#1e5fac;font-size:11px;padding:6px 11px}
.lab-list{gap:10px}
.lab-list a{font-size:13px;line-height:1.5;padding:10px 13px;color:#28568d;border-color:#dbe7f6}
.question{background:#fff;border:1px solid #dce7f5;border-radius:13px;padding:clamp(19px,2vw,27px);margin:18px 0}
.question-title{font-size:16px;line-height:1.6;color:#173d66;font-weight:800;margin-bottom:15px}
.choices{gap:10px}
.choice{background:#fafcff;border-color:#dfe8f5;color:#274663;font-size:14.5px;line-height:1.6;padding:12px 14px;border-radius:10px}
.choice:hover{background:#f0f6ff;border-color:#b6d1f3}
.choice:has(input:checked){background:#e9f2ff;border-color:#91b8ed}
.choice input{accent-color:#1a63ce;margin-top:6px}
.answer-feedback{font-size:13.5px;line-height:1.65;padding:12px 15px;background:#eff6ff;color:#23588f}
.answer-feedback.correct{background:#e8f2ff;color:#184f92;border-left:4px solid #246ec9}
.answer-feedback.wrong{background:#fff3eb;color:#865132;border-left:4px solid #d78543}
.question textarea{font-size:14.5px;line-height:1.65;border-color:#d5e3f3;padding:13px 15px}
.result-box{font-size:14.5px;line-height:1.65;background:#edf5ff;color:#174d82;border-color:#cde1f8}
.table-modern{font-size:14px;line-height:1.6}
.table-modern th{background:#eaf2ff;color:#234b7c;padding:14px 16px}
.table-modern td{color:#345472;padding:14px 16px}
.file-row{padding:18px 0;border-color:#e2eaf4}
.file-row strong{font-size:15px;color:#173d66}
.file-row small{font-size:12.5px;line-height:1.55;color:#607692}
.script-box{background:#f6faff;border-color:#d9e6f7;border-radius:12px;padding:22px 24px;font:17px/1.85 Georgia,"Times New Roman",serif;color:#29405b}
.script-box .script-time{font:800 12px/1.55 Inter,"Segoe UI",Arial,sans-serif;color:#1b5cb0}
.direction{color:#365e8f}
.dc-curriculum-head{border-color:#dfe8f4}
.dc-curriculum-head h1{color:#133660}
.dc-curriculum-subtitle{color:#526d89}
.dc-meta-pill{background:#eaf3ff;color:#245b9b}
.dc-directory{border-color:#dfe8f4}
.dc-directory-item{border-color:#dce7f3}
.dc-directory-item strong{font-size:15px;color:#223f63}
.dc-directory-code{background:#e7f1ff;color:#1b62c2}
.dc-content-notice{background:#eef5ff;border-left-color:#2671d9}

/* Preserve usable content width and comfortable reading on tablets/phones. */
@media (min-width:1600px){
  .shell{grid-template-columns:minmax(297px,315px) minmax(0,1fr)}
  .reader-layout{grid-template-columns:minmax(0,1fr) 280px}
}
@media (max-width:1280px) and (min-width:751px){
  .shell{grid-template-columns:260px minmax(0,1fr);padding:18px 17px 32px;gap:15px}
  .reader-layout{grid-template-columns:minmax(0,1fr) 220px;gap:14px}
  .reading-paper{padding:33px clamp(22px,2.8vw,38px)}
  .read-copy{font-size:17.5px;line-height:1.8}
  .read-copy h2{font-size:23px}
  .reader-side .panel{padding:17px 13px}
}
@media (max-width:1050px) and (min-width:751px){
  .reader-layout{display:block}
  .reader-side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
  .reader-side .panel{padding:19px}
}
@media (max-width:750px){
  body{font-size:15px}
  .shell{padding:15px 12px 32px}
  .sidebar{max-height:calc(100dvh - 70px)}
  .reader-layout{display:block}
  .reader-side{position:static;display:grid;grid-template-columns:1fr;gap:12px;margin-top:13px}
  .chapter-head{padding:23px 20px}
  .chapter-head h1{font-size:29px;letter-spacing:-.5px}
  .chapter-head p{font-size:14px}
  .video-shell{min-height:205px;aspect-ratio:16/10}
  .video-foot{font-size:12px;padding:12px 14px}
  .reading-paper{padding:30px 22px;border-radius:14px}
  .read-copy{max-width:none;font-size:17.5px;line-height:1.82}
  .read-copy .lede{font-size:19px;line-height:1.8}
  .read-copy h2{font-size:23px;margin:1.85em 0 .65em}
  .read-copy h3{font-size:19px;margin-top:1.5em}
  .read-copy .aside{font-size:14px;line-height:1.7;padding:17px 18px;margin:25px 0}
  .read-copy .quote{font-size:18px;line-height:1.7;padding:17px 19px}
  .read-copy .figure{padding:14px 13px}
  .read-copy .flow-node{min-width:105px}
  .read-copy table{font-size:13px}
  .read-copy .mini-card p{font-size:14px}
  .read-copy .two-col{grid-template-columns:1fr}
  .panel{padding:20px 17px}
  .panel h2{font-size:19px}
  .panel h3{font-size:16px}
  .activity-grid,.main-grid{display:grid;grid-template-columns:1fr}
  .activity-panel h2{font-size:18px}
  .lab-card{padding:20px 17px}
  .question{padding:19px 16px}
  .question-title{font-size:15.5px}
  .choice{font-size:14px}
  .script-box{font-size:16px;padding:19px 17px}
  .dc-chapter-pager{grid-template-columns:1fr}
}
@media (max-width:380px){
  .shell{padding-inline:9px}
  .reading-paper{padding:24px 16px}
  .read-copy{font-size:17px}
  .read-copy .lede{font-size:18px}
  .chapter-head h1{font-size:26px}
  .read-copy .aside{padding:15px}
}
@media print{
  body{background:white;color:#15283c}
  .reading-paper{box-shadow:none;border:0;padding:0}
  .read-copy{font-size:12pt;line-height:1.62;max-width:none;color:#15283c}
  .read-copy h2,.read-copy h3{break-after:avoid}
  .read-copy .aside,.read-copy .figure,.read-copy table{break-inside:avoid}
}
/* Defensive width constraints for long resource names and narrow split layouts. */
.main,.main-grid,.activity-grid,.reader-layout,.stack,.panel{min-width:0}
.main-grid>*,.activity-grid>*,.reader-layout>*{min-width:0}
@media (max-width:1280px) and (min-width:751px){
  .main-grid{grid-template-columns:minmax(0,1fr) minmax(0,265px)}
}
@media (max-width:1050px) and (min-width:751px){
  .video-shell{min-height:210px;aspect-ratio:16/9;width:100%}
  .read-copy .figure,.read-copy .table-wrap{max-width:100%}
}
@media (max-width:750px){
  .file-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px 12px;align-items:start}
  .file-row>div{min-width:0;overflow-wrap:anywhere}
  .file-row .file-control{grid-column:2;justify-self:start;margin-left:0}
}
@media (max-width:750px){
  .table-modern{display:block;max-width:100%;overflow-x:auto;scrollbar-width:thin}
}
/* Separate callout headings from explanatory body text without altering content. */
.read-copy .aside>strong:first-child{display:block;margin:0 0 7px;line-height:1.4}


/* ================================================================
   READABILITY PASS · lesson typography, restrained emphasis, topic
   icons, and scannable learning objectives. No functional changes.
   700 is a font-weight (not a pixel measurement).
   ================================================================ */
.read-copy{
  font-size:18px;
  line-height:1.82;
  font-weight:400;
  letter-spacing:0;
  color:#26384d;
  max-width:76ch;
}
.read-copy p,
.read-copy p.lede,
.read-copy p.first-para{
  font:inherit;
  color:inherit;
  margin:0 0 1.22em;
  letter-spacing:inherit;
}
.read-copy p.first-para:first-letter{
  font:inherit;
  color:inherit;
  float:none;
  padding:0;
  margin:0;
  text-transform:none;
}
.read-copy h2,
.read-copy h3,
.read-copy strong,
.read-copy b,
.read-copy .aside strong,
.read-copy .figure-title,
.read-copy .flow-node,
.read-copy th,
.read-copy .formula,
.read-copy .mini-card b{
  font-weight:700;
}
.read-copy h2{
  font-size:clamp(22px,1.8vw,26px);
  letter-spacing:-.35px;
  line-height:1.38;
  margin:1.9em 0 .75em;
  color:#133b68;
}
.read-copy h3{
  font-size:clamp(18px,1.25vw,20px);
  line-height:1.45;
  margin:1.6em 0 .65em;
  color:#244a74;
}
.read-copy p strong{color:#173d66;font-weight:700}
.read-copy .mini-label{
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  color:#3166a5;
}
.chapter-head h1{font-weight:700}
.chapter-head .eyebrow{font-weight:700}
.read-copy .aside{font-size:15px;line-height:1.72}
.read-copy .aside p{font-size:inherit;line-height:inherit}
.read-copy .quote{font-weight:400}
.read-copy .figure-title{font-size:15px}
.read-copy .flow-node{font-weight:700}
.read-copy .flow-node small{font-weight:400}
.read-copy .mini-card b{font-weight:700}
.read-copy .mini-card p{font-weight:400}
.read-copy th{font-weight:700}
.read-copy td{font-weight:400}
.read-copy ul,.read-copy ol{line-height:1.75}
.read-copy li{margin-bottom:.55em}
.read-copy li::marker{color:#2464b9}

/* Decorative inline SVG section symbols: a relevant icon per topic. */
.read-copy h2 .dc-chapter-icon{
  display:inline-block;
  width:22px;
  height:22px;
  margin-right:11px;
  vertical-align:-3px;
  stroke:#2b6ac6;
  stroke-width:1.75;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:none;
}
/* Objectives use bullets rather than a dense semicolon-separated paragraph. */
.read-copy .dc-objectives-panel{padding:20px 24px;background:#edf5ff;border-color:#d5e5f8}
.read-copy .dc-objectives-panel>strong{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
  color:#18529b;
  margin:0 0 10px;
}
.dc-objectives-panel>strong .dc-chapter-icon{width:19px;height:19px;stroke:#2366bd;fill:none}
.read-copy .dc-objective-intro{
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  line-height:1.6;
  margin:0 0 11px;
  color:#456887;
}
.read-copy .dc-objective-list{
  margin:0;
  padding:0 0 0 20px;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  font-weight:400;
  color:#2d4d72;
  line-height:1.7;
  list-style-type:disc;
}
.read-copy .dc-objective-list li{
  font-weight:400;
  padding-left:3px;
  margin:5px 0;
}
.read-copy .dc-objective-list li::marker{color:#2673d4}
/* Other pages inherit better hierarchy without stronger decoration. */
.sidebar .side-link{font-weight:500}
.sidebar .side-link.active{font-weight:700}
.reader-side h3,.action-card strong,.question-title,.lab-card h3,
.activity-panel h2,.dc-directory-item strong{font-weight:700}
@media (max-width:750px){
  .read-copy{font-size:17px;line-height:1.78}
  .read-copy p,.read-copy p.lede,.read-copy p.first-para{font-size:inherit;line-height:inherit}
  .read-copy h2{font-size:22px;line-height:1.36}
  .read-copy h3{font-size:18.5px}
  .read-copy h2 .dc-chapter-icon{width:20px;height:20px;margin-right:9px}
  .read-copy .dc-objectives-panel{padding:17px 19px}
  .read-copy .dc-objective-list{font-size:13.5px}
}
@media (max-width:380px){
  .read-copy{font-size:16.5px}
  .read-copy p,.read-copy p.lede,.read-copy p.first-para{font-size:inherit;line-height:inherit}
}
@media print{
  .read-copy{font-size:12pt;line-height:1.65}
  .read-copy p,.read-copy p.lede,.read-copy p.first-para{font:inherit}
}
