@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f8fc;--surface:#fff;--ink:#1c2b42;--muted:#778399;--line:#e6eaf2;--blue:#2456b7;--blue-pale:#eff4ff;--green:#128466;--green-pale:#eaf8f2;--gold:#f8b84d;--rose:#fff4ec;--radius:17px;--shadow:0 8px 28px rgba(33,54,91,.035);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-size:14px;line-height:1.55}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none;color:inherit}svg{display:block}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8caeec;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Plus Jakarta Sans','DM Sans',sans-serif;letter-spacing:-.035em}h1{font-size:32px;line-height:1.25}h2{font-size:22px;line-height:1.3}h3{font-size:17px;line-height:1.35}h4{font-size:14px}.muted{color:var(--muted)}.small{font-size:12px}.overline{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800;color:#8391a9}.text-bold{font-weight:800}.mainwrap{display:flex;min-height:100vh}
.sidebar{width:250px;flex:none;background:var(--surface);border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30;gap:21px}
.logo{display:flex;align-items:center;gap:10px;padding:3px 9px 22px}.brand-symbol{width:35px;height:35px;border-radius:11px;background:#2052a6;color:#fff;display:grid;place-items:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:24px;position:relative;letter-spacing:-2px}.brand-symbol::after{content:'✦';position:absolute;font-size:15px;color:#b3f1d2;right:3px;top:-6px;letter-spacing:0}.brand-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:20px;font-weight:800;letter-spacing:-.07em}.brand-name span{color:var(--blue)}
.sidebar-section-label{padding:0 13px;margin:0 0 9px;color:#9aa5b5;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}
.nav-items{display:flex;flex-direction:column;gap:4px}.nav-link{border-radius:10px;display:flex;align-items:center;gap:12px;min-height:43px;padding:0 13px;font-weight:700;color:#687991;transition:background .16s,color .16s}.nav-link:hover{background:#f5f7fa;color:var(--ink)}.nav-link.active{background:#eaf1ff;color:#2255ae}.nav-link .ico{width:19px;height:19px}.sidebar-gap{flex:1}
.side-callout{background:#ecf6ff;border:1px solid #d9eafa;padding:15px;border-radius:15px;overflow:hidden;position:relative}.side-callout .emoji{font-size:23px;line-height:1;margin-bottom:8px}.side-callout b{font-size:13px;display:block}.side-callout p{font-size:11px;color:#7084a1;margin-top:6px}.side-callout a{font-size:12px;font-weight:800;color:var(--blue);display:inline-block;margin-top:10px}.sidebar-foot{display:flex;gap:10px;align-items:center;padding:14px 5px 0;border-top:1px solid var(--line)}.avatar{height:36px;width:36px;border-radius:12px;background:#e5eefc;display:grid;place-items:center;color:#2452a1;font-weight:800}.sidebar-foot b{font-size:12px}.sidebar-foot span{font-size:11px;color:var(--muted);display:block}
.main-column{flex:1;min-width:0}.topbar{height:78px;background:#ffffffdb;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 42px;gap:18px;position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.top-title{font-size:14px;color:var(--ink);font-weight:800;white-space:nowrap}.top-spacer{flex:1}.top-right{display:flex;align-items:center;gap:17px}.search-wrap{width:min(330px,28vw);height:40px;background:#f5f7fa;border:1px solid #eff2f6;border-radius:10px;display:flex;align-items:center;padding:0 12px;gap:10px;color:#8b99ad}.search-wrap input{background:transparent;border:none;outline:none;min-width:0;width:100%;font-size:12px;color:var(--ink)}.search-wrap input::placeholder{color:#94a0b0}.icon-button{background:#f5f7fb;border:0;border-radius:11px;width:40px;height:40px;display:grid;place-items:center;color:#738097}.icon-button:hover{background:#e8eef8}.status-pill{display:inline-flex;align-items:center;gap:6px;background:#eef9f2;color:#27866b;font-size:11px;font-weight:800;padding:7px 10px;border-radius:50px;white-space:nowrap}.status-pill:before{content:'';width:6px;height:6px;border-radius:50%;background:#26a980}.menu-button{display:none}
.content{padding:30px 42px 65px;max-width:1510px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 25px}.page-head p{color:var(--muted);margin-top:7px}.breadcrumb{color:#9ba7b5;font-weight:700;font-size:12px;display:flex;align-items:center;gap:9px;margin-bottom:18px}.breadcrumb a:hover{color:var(--blue)}.breadcrumb span{color:#3d516d}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px}.section-head p{color:var(--muted);font-size:12px;margin-top:4px}.text-link{color:var(--blue);font-weight:800;display:inline-flex;align-items:center;gap:6px;font-size:12px}.text-link:hover{text-decoration:underline}.subtle-sep{height:1px;background:var(--line);margin:23px 0}
.hero{background:linear-gradient(112deg,#18365f 0%,#255da9 57%,#3674c0 100%);border-radius:21px;min-height:245px;padding:34px 38px;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 265px;align-items:center;overflow:hidden;position:relative;box-shadow:0 14px 28px #245bb018}.hero:after{content:'';position:absolute;width:320px;height:320px;border:1px solid #ffffff22;border-radius:50%;right:-60px;top:-90px;box-shadow:0 0 0 58px #ffffff09,0 0 0 120px #ffffff06}.hero-text{position:relative;z-index:2}.hero-kicker{display:flex;align-items:center;gap:8px;letter-spacing:.1em;font-weight:800;text-transform:uppercase;font-size:10px;color:#b8d9ff;margin-bottom:15px}.hero h1{font-size:clamp(27px,3vw,39px);line-height:1.18;max-width:650px}.hero h1 em{font-style:normal;color:#ffe09b}.hero p{color:#d3e5ff;font-size:13px;max-width:480px;margin-top:13px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.btn{border:1px solid transparent;border-radius:10px;padding:10px 17px;min-height:41px;display:inline-flex;justify-content:center;align-items:center;gap:9px;font-size:12px;font-weight:800;line-height:1.2;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#1d4798}.btn-white{background:#fff;color:#23549c}.btn-outline-white{border-color:#8bb0e0;color:#fff;background:#ffffff0c}.btn-light{background:#eff4ff;color:#2456a7}.btn-light:hover{background:#e2ecff}.btn-ghost{background:transparent;border-color:var(--line);color:#4f6179}.btn-ghost:hover{background:#f5f8fb}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.hero-art{height:200px;display:grid;place-items:center;position:relative;z-index:2}.hero-art:before{content:'';position:absolute;width:215px;height:175px;background:#ffffff12;border-radius:50%;filter:blur(35px)}.art-card{position:absolute;border-radius:13px;box-shadow:0 20px 35px #08255240}.art-back{width:160px;height:164px;background:#ffcb71;transform:rotate(14deg) translate(22px,-4px)}.art-mid{width:172px;height:172px;background:#aadbe7;transform:rotate(-12deg) translate(-22px,7px)}.art-front{width:181px;height:184px;background:#fdfcff;color:#254c83;transform:rotate(1deg);padding:20px}.art-rule{height:8px;border-radius:9px;background:#dce7f9;margin:9px 0}.art-rule.short{width:67%}.art-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;color:#2d66b6;background:#e8f0ff;margin-bottom:17px}.art-star{position:absolute;right:13px;top:12px;font-size:28px;color:#f9de8d}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 33px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 19px;display:flex;justify-content:space-between;align-items:center;gap:10px;box-shadow:var(--shadow)}.stat b{font-family:'Plus Jakarta Sans',sans-serif;font-size:25px;line-height:1.2;letter-spacing:-.06em}.stat p{font-size:11px;color:var(--muted);margin-top:5px}.stat-icon{width:42px;height:42px;border-radius:13px;background:#eff3ff;display:grid;place-items:center;color:#3769c5}.stat:nth-child(2) .stat-icon{background:#e9faf2;color:#189774}.stat:nth-child(3) .stat-icon{background:#fff4e5;color:#d7973a}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.panel-pad{padding:21px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:9px;padding-bottom:15px}.panel-header h3{font-size:16px}.slim-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #eff2f6}.slim-row:first-of-type{border-top:0}.slim-row p{font-size:12px;color:var(--muted);margin-top:2px}.slim-row .mini-ico{height:40px;width:40px;border-radius:11px;display:grid;place-items:center;background:#eef4ff;color:#2b5db0;flex:none}.slim-row .grow{flex:1}.slim-row strong{font-size:13px}
.filterbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:10px 0 19px}.filterchips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;color:#78869a;padding:9px 15px;font-size:12px;font-weight:800;border-radius:9px}.chip:hover{background:#eff3fa}.chip.active{background:#2456b7;border-color:#2456b7;color:#fff}.count-label{color:var(--muted);font-size:12px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.course-card{border-radius:16px;background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:298px;transition:transform .17s,box-shadow .17s}.course-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px #29456b14}.course-top{height:112px;position:relative;overflow:hidden;padding:18px;display:flex;align-items:flex-start;justify-content:space-between}.course-top:after{content:'';position:absolute;width:185px;height:185px;border:1px solid #ffffff4a;border-radius:50%;right:-48px;top:-60px;box-shadow:0 0 0 30px #ffffff18,0 0 0 64px #ffffff0d}.course-code{position:relative;z-index:1;background:#ffffff3b;border:1px solid #ffffff70;color:#fff;border-radius:7px;font-size:11px;font-weight:800;padding:6px 10px}.course-art{position:absolute;right:25px;bottom:-15px;color:#ffffffee;transform:rotate(-13deg);opacity:.92}.course-body{padding:17px 18px 16px;display:flex;flex-direction:column;flex:1}.course-body h3{font-size:15px;min-height:41px;margin:4px 0 7px}.course-meta{color:#8895a7;font-size:11px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dot{width:3px;height:3px;border-radius:50%;background:#bac4d0}.course-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #f0f2f6;padding-top:14px}.course-link{color:#2456a7;font-weight:800;font-size:12px;display:inline-flex;align-items:center;gap:5px}.tiny-badge{font-size:10px;font-weight:800;background:#eef3fc;color:#5c76a4;padding:5px 8px;border-radius:6px;white-space:nowrap}.tiny-badge.green{color:#1c8d68;background:#e7f9f0}.tiny-badge.amber{color:#ad7728;background:#fff5e1}.tone-blue{background:linear-gradient(135deg,#3958b1,#8299ed)}.tone-teal{background:linear-gradient(135deg,#0f7c80,#49c6a4)}.tone-purple{background:linear-gradient(135deg,#6651b2,#bc91ec)}.tone-orange{background:linear-gradient(135deg,#d78a47,#fac781)}.tone-slate{background:linear-gradient(135deg,#354b75,#7587af)}.tone-rose{background:linear-gradient(135deg,#ac5776,#efafbd)}
.empty-state{text-align:center;border:1px dashed #cad6e4;background:#fff;border-radius:17px;padding:48px 20px}.empty-icon{margin:auto auto 14px;display:grid;place-items:center;background:#edf4ff;color:#3166b7;border-radius:16px;width:58px;height:58px}.empty-state p{color:var(--muted);max-width:440px;margin:8px auto 20px}
.summary-card{background:linear-gradient(150deg,#fbfcff,#fff);border:1px solid var(--line);border-radius:18px;padding:20px}.summary-card h3{margin-bottom:10px}.progress-track{height:8px;border-radius:25px;background:#e8edf4;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#1b9c7b,#64d0b1);border-radius:25px;transition:width .3s}
.steps-list{list-style:none;margin:0;padding:0}.steps-list li{display:flex;gap:12px;padding:10px 0;align-items:flex-start}.step-dot{border:1.5px solid #cad6e6;width:22px;height:22px;border-radius:8px;display:grid;place-items:center;color:#c1cfe2;flex:none;margin-top:2px}.step-dot.done{border-color:#1a9b77;background:#e7faf0;color:#128466}.steps-list b{font-size:12px}.steps-list p{font-size:11px;color:var(--muted);margin-top:1px}
.course-hero{border-radius:19px;color:#fff;background:linear-gradient(115deg,#244586,#1f65ae);padding:32px 34px;display:flex;justify-content:space-between;align-items:center;gap:20px;overflow:hidden;position:relative}.course-hero:before{content:'';position:absolute;right:-80px;top:-170px;width:400px;height:400px;border:1px solid #ffffff28;border-radius:50%;box-shadow:0 0 0 70px #ffffff0c,0 0 0 140px #ffffff09}.course-hero h1{max-width:620px;position:relative;font-size:32px}.course-hero p{color:#d9e7ff;margin-top:11px;max-width:510px;position:relative}.course-hero-icon{color:#ffffff9f;position:relative}.hero-label{color:#d0e5ff;font-weight:800;font-size:11px;letter-spacing:.12em;margin-bottom:12px;text-transform:uppercase}
.course-metrics{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 26px}.metric-pill{background:#fff;padding:10px 14px;border:1px solid var(--line);border-radius:11px;color:#657992;font-size:12px}.metric-pill strong{color:var(--ink);font-size:14px;margin-right:6px}
.info-banner{background:#fff9eb;border:1px solid #f5e7c2;border-radius:13px;padding:13px 16px;display:flex;align-items:flex-start;gap:12px;margin:18px 0;color:#80642e;font-size:12px}.info-banner strong{color:#77531a}.info-banner.info{background:#eef5ff;border-color:#dbe9ff;color:#42608d}.info-banner.info strong{color:#2456a7}
.module-row{border:1px solid var(--line);border-radius:15px;background:#fff;margin-bottom:13px;overflow:hidden}.module-row summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;padding:17px 18px}.module-row summary::-webkit-details-marker{display:none}.module-no{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#ebf2ff;color:#2b5db0;font-size:12px;font-weight:800}.module-summary{flex:1}.module-summary b{font-size:14px}.module-summary p{color:var(--muted);font-size:11px;margin-top:2px}.module-detail{border-top:1px solid #eef1f6;padding:10px 16px 16px}.lesson-line{display:flex;gap:12px;align-items:center;padding:13px 8px;justify-content:space-between}.lesson-line .grow{flex:1}.lesson-line b{display:block;font-size:13px}.lesson-line p{color:var(--muted);font-size:11px;margin-top:3px}.lesson-num{width:31px;height:31px;flex:none;border-radius:9px;background:#f0f5ff;color:#2c63b4;display:grid;place-items:center;font-size:11px;font-weight:800}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:start}.lesson-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 32px;box-shadow:var(--shadow)}.lesson-box h1{font-size:29px;margin-bottom:10px}.lesson-box .lead{font-size:13px;color:#718199;max-width:690px}.lesson-attributes{display:flex;align-items:center;gap:15px;color:#8390a4;font-size:11px;margin:16px 0 23px;flex-wrap:wrap}.lesson-attributes span{display:flex;align-items:center;gap:6px}.lesson-box h2{font-size:19px;margin:25px 0 12px}.lesson-box h3{font-size:15px;margin:20px 0 9px}.lesson-box p{line-height:1.85;color:#485973;font-size:13px;margin:11px 0}.objective-list{background:#f5f9ff;border:1px solid #e7effb;border-radius:12px;padding:16px 19px;margin-top:23px}.objective-list ul{padding-left:20px;margin:8px 0 0}.objective-list li{font-size:12px;color:#60728c;padding:4px 0}.tab-row{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-top:30px}.tab{border:0;background:transparent;color:#7a8a9e;padding:11px 15px;font-weight:800;font-size:12px;border-bottom:3px solid transparent}.tab.active{border-color:#265bb5;color:#2359b6}.source-block{margin:22px 0;padding-left:17px;border-left:3px solid #d6e5ff}.source-block h3{margin:0 0 7px}.source-block p{white-space:pre-line}.source-page{display:inline-block;border-radius:5px;color:#245aaa;background:#f0f5ff;padding:3px 7px;font-size:10px;margin-top:4px;font-weight:700}
.lesson-side{position:sticky;top:100px}.lesson-side .panel{margin-bottom:15px}.lesson-side .panel-pad{padding:19px}.toc-link{font-size:12px;color:#667c97;display:flex;gap:9px;padding:9px 0;border-top:1px solid #f0f3f7}.toc-link:first-of-type{border-top:none}.toc-link:hover{color:var(--blue)}.toc-link .ico{flex:none}.side-action{display:block;margin-top:8px;width:100%}.side-action .btn{width:100%}
.study-note{display:flex;align-items:flex-start;gap:9px;margin-bottom:15px}.study-note .ico{margin-top:3px;color:#25a77d}.lesson-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.quiz-shell{max-width:840px;margin:0 auto}.quiz-head{text-align:center;margin-bottom:24px}.quiz-head h1{margin:9px 0}.quiz-head p{color:var(--muted)}.quiz-progress{height:6px;background:#e6ebf3;border-radius:20px;overflow:hidden;margin:22px 0}.quiz-progress span{height:100%;background:var(--green);display:block;transition:width .24s}.quiz-panel{background:#fff;border-radius:20px;border:1px solid var(--line);padding:32px;box-shadow:var(--shadow)}.quiz-count{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:22px}.quiz-prompt{font-size:20px;line-height:1.45;margin-bottom:26px}.option-button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border-radius:12px;background:#fff;border:1.5px solid #e7ebf2;color:#36475f;padding:13px 16px;margin:9px 0;font-size:13px;min-height:57px;transition:border-color .15s,background .15s}.option-button:hover{border-color:#93b2e9;background:#f9fbff}.option-button.selected{border-color:#447be0;background:#f1f6ff}.option-button.correct{border-color:#19a579;background:#eaf9f1}.option-button.wrong{border-color:#d56a6a;background:#fff0ef}.option-letter{width:30px;height:30px;border-radius:9px;background:#f1f3f7;color:#70819a;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}.option-button.selected .option-letter{background:#d8e7ff;color:#2356b1}.option-button.correct .option-letter{background:#c5f0dd;color:#1a7e60}.option-button.wrong .option-letter{background:#ffdedc;color:#c04343}.answer-feedback{border-radius:12px;padding:16px;margin:18px 0;background:#f0faf4;border:1px solid #d7eee1;color:#316d55}.answer-feedback.incorrect{background:#fff5f3;color:#975047;border-color:#f2d9d2}.answer-feedback h4{font-size:13px;margin-bottom:5px}.answer-feedback p{font-size:12px;line-height:1.65}.answer-feedback small{font-size:11px;color:#78938a;display:block;margin-top:9px}.quiz-footer{border-top:1px solid #edf0f4;margin-top:25px;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:10px}.quiz-result{text-align:center;padding:20px 0 10px}.result-disc{width:120px;height:120px;background:#eaf8f1;color:#16866a;border-radius:50%;display:grid;place-items:center;margin:12px auto 23px;font-size:30px;font-weight:800}
.flashcard-box{max-width:780px;margin:auto}.card-flip-stage{min-height:330px;perspective:1100px;cursor:pointer}.flipcard{min-height:330px;position:relative;transform-style:preserve-3d;transition:transform .45s}.flipcard.flipped{transform:rotateY(180deg)}.flip-face{background:linear-gradient(145deg,#fff,#f9fbff);border:1px solid #e0e7f0;border-radius:21px;box-shadow:0 14px 38px #31517b12;position:absolute;inset:0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 45px}.flip-face.back{transform:rotateY(180deg);background:linear-gradient(145deg,#eafff3,#f7fffb)}.flip-face h2{font-size:21px;line-height:1.5;max-width:640px}.flip-face .flip-label{color:#7d93b0;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;margin-bottom:23px}.flip-options{text-align:left;display:grid;gap:7px;grid-template-columns:1fr 1fr;width:100%;margin-top:22px}.flip-options span{background:#f3f6fb;border-radius:9px;padding:9px 12px;color:#60708a;font-size:12px}.flip-hint{position:absolute;bottom:21px;color:#a0adbf;font-size:11px}.card-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin:23px 0}.circle-nav{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid #d7e1ef;background:#fff;color:#3c63a1}.circle-nav:hover{background:#eff4ff}.circle-nav:disabled{opacity:.4;cursor:not-allowed}
footer{margin:37px auto 0;text-align:center;color:#9da9b8;font-size:11px}.boot{height:100vh;display:grid;place-content:center;text-align:center;color:#7186a0}.boot-logo{font-size:42px;font-weight:800;color:#2455a3}.boot-logo span{font-size:20px;color:#15a781}.mobile-overlay{display:none}
@media(max-width:1250px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:minmax(0,1fr) 250px}.content,.topbar{padding-left:29px;padding-right:29px}}
@media(max-width:980px){.sidebar{width:75px;padding:24px 10px}.sidebar .brand-name,.sidebar .sidebar-section-label,.sidebar .nav-link span,.sidebar-foot,.side-callout{display:none}.sidebar .logo{padding:1px 8px 23px}.nav-link{justify-content:center;padding:9px}.hero{grid-template-columns:1fr 180px}.hero-art{transform:scale(.72)}.content-grid{grid-template-columns:1fr}.content-grid>aside{display:none}.lesson-layout{grid-template-columns:1fr}.lesson-side{display:none}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{height:68px}}
@media(max-width:680px){.sidebar{width:255px;position:fixed;top:0;left:0;bottom:0;transform:translateX(-102%);transition:transform .2s;padding:26px 17px;box-shadow:0 18px 36px #0b234c20}.sidebar .brand-name,.sidebar .sidebar-section-label,.sidebar .nav-link span,.sidebar-foot,.side-callout{display:initial}.sidebar .logo{padding:3px 9px 22px}.nav-link{justify-content:flex-start;padding:0 13px}.sidebar .side-callout{display:block}.sidebar-foot{display:flex}.mainwrap.menu-open .sidebar{transform:translateX(0)}.mainwrap.menu-open .mobile-overlay{display:block;position:fixed;inset:0;background:#0b234c66;z-index:29;border:0}.topbar{padding:0 19px;gap:10px}.menu-button{display:grid}.top-title{display:none}.search-wrap{width:auto;flex:1;min-width:0}.top-right{gap:9px;flex:1}.status-pill{display:none}.content{padding:25px 16px 56px}.page-head{align-items:flex-start}.page-head h1{font-size:26px}.hero{padding:28px 24px;min-height:270px;display:block}.hero h1{font-size:29px}.hero p{font-size:12px}.hero-art{display:none}.hero-actions{margin-top:20px}.stats-grid{gap:9px;margin-top:13px}.stat{padding:13px 11px;min-height:90px}.stat b{font-size:23px}.stat p{font-size:10px}.stat-icon{display:none}.course-grid{grid-template-columns:1fr}.course-card{min-height:280px}.course-top{height:96px}.course-metrics{gap:8px}.course-hero{padding:25px 22px}.course-hero h1{font-size:25px}.course-hero-icon{display:none}.lesson-box{padding:23px 20px}.lesson-box h1{font-size:24px}.lesson-action-row .btn{flex:1}.quiz-panel{padding:22px 17px}.quiz-prompt{font-size:18px}.flashcard-box .flip-face{padding:25px}.flip-face h2{font-size:17px}.flip-options{grid-template-columns:1fr}.flip-options span{font-size:11px}.flip-face{min-height:390px}.flipcard,.card-flip-stage{min-height:390px}.breadcrumb{flex-wrap:wrap}.card-controls{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.figure-card{margin:0;background:#f5f8ff;border:1px solid #e4eaf3;border-radius:13px;overflow:hidden}
.figure-card a{display:block;background:#fff;text-align:center;padding:8px}
.figure-card img{width:100%;max-height:380px;object-fit:contain;display:block}
.figure-card figcaption{padding:8px 11px;color:#708399;font-size:11px}
.course-figures{margin-top:32px;padding-top:12px;border-top:1px solid var(--line)}
.lesson-line{border-bottom:1px solid #edf1f6}
.lesson-line:last-child{border-bottom:none}
.lesson-line .btn{white-space:nowrap}
.source-block p{line-height:1.8;white-space:normal}
@media(max-width:680px){.figure-grid{grid-template-columns:1fr}.lesson-line{gap:7px;flex-wrap:wrap}.lesson-line .grow{flex-basis:calc(100% - 47px)}.lesson-line .tiny-badge{margin-left:43px}.lesson-line .btn{margin-left:auto}.module-row summary{gap:8px;flex-wrap:wrap}.module-summary{flex:1 1 170px}}

.lesson-table-wrap{margin-top:17px;border:1px solid var(--line);border-radius:12px;overflow-x:auto;padding:12px;background:#fff}
.lesson-data-table{border-collapse:collapse;width:100%;min-width:440px;font-size:12px}
.lesson-data-table th{text-align:left;background:#f3f7ff;color:#4f6686;font-weight:800;padding:10px 12px;border:1px solid #e4eaf4}
.lesson-data-table td{padding:9px 12px;border:1px solid #edf0f5;color:#4b5c75}
.lesson-data-table tr:nth-child(even) td{background:#fafcff}

.question-media{border:1px solid var(--line);background:#fbfdff;padding:14px;border-radius:12px;text-align:center;margin:-6px 0 19px}
.question-media img{max-height:190px;max-width:90%;object-fit:contain;display:block;margin:auto}
.question-media p{margin-top:5px}
.card-question-image img{width:auto;max-height:110px;max-width:90%;object-fit:contain;margin:12px auto}
.card-flip-stage:has(.card-question-image),.card-flip-stage:has(.card-question-image) .flipcard,.card-flip-stage:has(.card-question-image) .flip-face{min-height:420px}
