:root{color-scheme:light;--canvas:#fbfcfe;--surface:#fff;--surface-2:#f4f7fb;--ink:#172033;--muted:#5d6a7e;--line:#dce3ed;--brand:#244ec7;--brand-strong:#173b9f;--search-active-bg:#244ec7;--search-active-ink:#fff;--search-active-muted:#e4ebff;--search-active-border:#173b9f;--accent:#087c69;--accent-soft:#d9f3ec;--code:#101827;--code-ink:#e7eef8;--shadow:0 12px 30px rgba(23,43,77,.08);--radius:14px;--max:1180px}
:root[data-theme=dark]{color-scheme:dark;--canvas:#0d1420;--surface:#151e2c;--surface-2:#101a29;--ink:#edf2fa;--muted:#aeb9ca;--line:#2b3a50;--brand:#98adff;--brand-strong:#bac6ff;--search-active-bg:#344f9f;--search-active-ink:#fff;--search-active-muted:#e2eaff;--search-active-border:#98adff;--accent:#5bd8bb;--accent-soft:#133e38;--code:#080d16;--code-ink:#e7eef8;--shadow:0 14px 32px rgba(0,0,0,.26)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button{cursor:pointer}.skip-link{position:fixed;z-index:100;left:12px;top:-60px;background:var(--brand);border-radius:8px;color:#fff;padding:9px 14px}.skip-link:focus{top:12px}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.site-header{min-height:70px;display:flex;align-items:center;gap:22px;padding:10px max(20px,calc((100% - var(--max))/2));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;font-size:17px}.brand-sub{color:var(--muted);font-weight:600}.main-nav{display:flex;align-items:center;gap:18px;margin-right:auto}.main-nav a{font-size:.91rem;font-weight:650;color:var(--muted);padding:8px 2px}.main-nav a[aria-current=page]{color:var(--brand);text-decoration:underline;text-underline-offset:8px}.header-tools{display:flex;align-items:center;gap:8px}.icon-button,.menu-button{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}.menu-button{display:none}.site-search{position:relative;width:min(250px,22vw)}.site-search input{width:100%;height:38px;padding:0 34px 0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:.85rem}.site-search input:focus{outline:3px solid color-mix(in srgb,var(--brand) 25%,transparent);border-color:var(--brand)}.search-key{position:absolute;right:8px;top:8px;color:var(--muted);font-size:.7rem}.search-results{position:absolute;top:44px;left:0;width:min(410px,calc(100vw - 40px));max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);padding:6px;display:none}.search-results.open{display:block}.search-item{display:block;padding:9px 10px;border-radius:7px}.search-item:hover{background:var(--surface-2);text-decoration:none}.search-item.active,.search-item[aria-selected=true]{background:var(--search-active-bg);color:var(--search-active-ink);text-decoration:none;box-shadow:inset 0 0 0 2px var(--search-active-border);font-weight:700}.search-item.active strong,.search-item[aria-selected=true] strong{color:var(--search-active-ink)}.search-item.active small,.search-item[aria-selected=true] small{color:var(--search-active-muted)}.search-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.search-item[aria-disabled=true]{cursor:default;color:var(--muted)}.search-item[aria-disabled=true]:hover{background:transparent}.search-item strong,.search-item small{display:block}.search-item strong{font-size:.83rem}.search-item small{font-size:.74rem;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;border:1px solid transparent;border-radius:9px;font-weight:750;font-size:.88rem;text-decoration:none}.button:hover{text-decoration:none}.button-primary{background:var(--brand);color:#fff}.button-primary:hover{background:var(--brand-strong)}.button-secondary{background:var(--surface);border-color:var(--line)}.button-quiet{color:var(--brand);padding-inline:0}.button-small{min-height:36px;padding:7px 11px;font-size:.8rem}.hero{padding:78px 0 66px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}.eyebrow{margin:0 0 10px;color:var(--brand);font-size:.71rem;font-weight:800;letter-spacing:.1em}.hero h1,.page-title{margin:0;max-width:760px;font-size:clamp(2.35rem,5.1vw,4.25rem);line-height:1.08;letter-spacing:-.055em}.highlight{color:var(--brand)}.lead{margin:19px 0 25px;max-width:650px;color:var(--muted);font-size:1.08rem}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-note{display:flex;gap:9px;align-items:center;margin-top:25px;color:var(--muted);font-size:.85rem}.dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.code-card{position:relative;max-width:470px;justify-self:end;width:100%;overflow:hidden;border:1px solid #2e3c56;border-radius:16px;background:var(--code);box-shadow:0 24px 56px rgba(13,31,63,.24);color:var(--code-ink)}.code-card-header{display:flex;gap:6px;align-items:center;min-height:46px;padding:0 17px;border-bottom:1px solid #2e3c56;color:#aebbd0;font-size:.78rem}.code-card-header span:last-child{margin-left:auto;color:#70d7b6}.code-card-header i{width:8px;height:8px;border-radius:50%;background:#fc7676}.code-card-header i:nth-child(2){background:#f6cb67}.code-card-header i:nth-child(3){background:#64d5a9}.code-card pre{margin:0;padding:23px 21px;overflow:auto;font:13px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace}.code-card .comment{color:#93a3bb}.code-card .keyword{color:#c3a1ff}.code-card .string{color:#93dcae}.card-output{padding:14px 21px;border-top:1px solid #2e3c56;color:#b4c3da;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.card-output b{color:#77d9b5}.section{padding:72px 0}.section-soft{background:var(--surface-2)}.section-title-row{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:27px}.section-title{margin:0;font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.04em;line-height:1.2}.section-intro{margin:7px 0 0;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-card,.feature-card,.learning-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:21px;background:var(--surface);box-shadow:0 1px 0 rgba(0,0,0,.01)}.course-card:hover,.feature-card:hover{border-color:color-mix(in srgb,var(--brand) 42%,var(--line));box-shadow:var(--shadow);text-decoration:none}.course-card-top{display:flex;justify-content:space-between;align-items:center}.course-icon{display:grid;place-items:center;min-width:43px;height:43px;padding:0 9px;border-radius:10px;background:#e9efff;color:#244ec7;font-weight:850;font-size:.78rem}.course-icon.teal{background:#dff5ee;color:#087c69}.course-icon.amber{background:#fff0d5;color:#955d00}.course-icon.violet{background:#efe9ff;color:#6241ad}.course-level{color:var(--muted);font-size:.72rem}.course-card h3{margin:18px 0 7px;font-size:1.1rem}.course-card p{margin:0;color:var(--muted);font-size:.86rem}.card-meta{display:flex;gap:13px;flex-wrap:wrap;margin:18px 0 12px;color:var(--muted);font-size:.76rem}.progress{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}.progress span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.card-footer{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:.76rem}.card-footer b{color:var(--brand)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card h3{margin:0 0 5px;font-size:1rem}.feature-card p{margin:0;color:var(--muted);font-size:.88rem}.feature-number{margin-bottom:16px;color:var(--brand);font-weight:850;font-size:.82rem}.page-shell{min-height:62vh;padding:58px 0 84px}.page-intro{margin-bottom:32px}.page-intro .page-title{font-size:clamp(2.2rem,4vw,3.35rem)}.toolbar{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap}.input-wrap{display:flex;align-items:center;gap:9px;min-width:min(100%,350px);height:44px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.input-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.filter-row{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);border-radius:99px;padding:7px 11px;background:var(--surface);color:var(--muted);font-size:.78rem}.filter[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:#fff}.empty{padding:40px 20px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted)}.breadcrumb{margin-bottom:25px;color:var(--muted);font-size:.8rem}.breadcrumb a{color:var(--brand)}.course-hero{display:grid;grid-template-columns:auto 1fr;gap:19px;align-items:start;padding:27px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.course-hero .course-icon{width:62px;height:62px;font-size:1rem}.course-hero h1{margin:0 0 8px;font-size:2rem;letter-spacing:-.04em;line-height:1.18}.course-hero p{margin:0;color:var(--muted);max-width:760px}.course-facts{display:flex;gap:15px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:.8rem}.notice{margin:20px 0;padding:13px 16px;border-left:3px solid var(--brand);border-radius:0 8px 8px 0;background:var(--surface-2);color:var(--muted);font-size:.88rem}.course-progress{padding:19px 21px;margin:18px 0 36px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.progress-row{display:flex;justify-content:space-between;gap:14px;margin-bottom:10px;font-size:.85rem}.muted{color:var(--muted)}.lesson-list{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.lesson-link{display:flex;align-items:center;gap:14px;padding:15px 17px;border-bottom:1px solid var(--line)}.lesson-link:last-child{border-bottom:0}.lesson-link:hover{background:var(--surface-2);text-decoration:none}.lesson-number{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:var(--surface-2);color:var(--brand);font-size:.76rem;font-weight:800}.lesson-link strong,.lesson-link small{display:block}.lesson-link strong{font-size:.88rem}.lesson-link small{color:var(--muted);font-size:.76rem}.lesson-link .lesson-status{margin-left:auto;color:var(--brand);font-size:.77rem}.lesson-shell{padding:30px 0 80px}.lesson-layout{display:grid;grid-template-columns:230px minmax(0,720px) 190px;gap:28px;align-items:start}.lesson-sidebar,.lesson-toc{position:sticky;top:90px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px}.lesson-sidebar-title,.lesson-toc h2{display:block;margin:2px 6px 9px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em}.lesson-sidebar a,.lesson-toc a{display:block;padding:7px 6px;border-radius:6px;color:var(--muted);font-size:.76rem;line-height:1.35}.lesson-sidebar a:hover,.lesson-sidebar a[aria-current=page],.lesson-toc a:hover{background:var(--surface-2);color:var(--brand);text-decoration:none}.lesson-article{min-width:0}.lesson-meta{color:var(--brand);font-size:.78rem;font-weight:750}.lesson-article h1{margin:8px 0 11px;font-size:clamp(2rem,4vw,3rem);line-height:1.16;letter-spacing:-.045em}.lesson-summary{margin:0;color:var(--muted);font-size:1.04rem}.lesson-actions{display:flex;gap:8px;flex-wrap:wrap;margin:21px 0;padding-bottom:21px;border-bottom:1px solid var(--line)}.lesson-actions button{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px 10px;font-size:.78rem}.lesson-body{font-size:1rem}.lesson-body h2{margin:35px 0 9px;font-size:1.46rem;line-height:1.25;letter-spacing:-.025em;scroll-margin-top:90px}.lesson-body h3{margin:25px 0 7px;font-size:1.1rem}.lesson-body p,.lesson-body li{color:var(--muted)}.lesson-body li+li{margin-top:5px}.lesson-body strong{color:var(--ink)}.lesson-body code{font:.9em ui-monospace,SFMono-Regular,Consolas,monospace}.code-block{position:relative;margin:18px 0;border-radius:11px;background:var(--code);color:var(--code-ink);overflow:hidden}.code-block .code-label{display:block;padding:9px 14px;border-bottom:1px solid #2b3b55;color:#a6b6ce;font:700 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.code-block pre{margin:0;padding:16px;overflow:auto;font:.84rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.copy-code{position:absolute;right:8px;top:6px;border:1px solid #45536b;border-radius:6px;background:#1d2a3e;color:#e7eef8;padding:4px 7px;font-size:.7rem}.output{max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;padding:12px 15px;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;background:var(--surface-2);color:var(--muted);font:.88rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.callout{margin:20px 0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:.9rem}.callout strong{color:var(--ink)}.table-wrap{overflow:auto;margin:18px 0}.lesson-body table{width:100%;border-collapse:collapse;font-size:.87rem}.lesson-body th,.lesson-body td{padding:10px;border:1px solid var(--line);text-align:left}.lesson-body th{background:var(--surface-2);color:var(--ink)}.quiz{margin:34px 0;padding:21px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.quiz h2{margin:5px 0 14px;font-size:1.15rem}.quiz-options{display:grid;gap:8px}.quiz-option{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:left;font-size:.87rem}.quiz-option:hover{border-color:var(--brand)}.quiz-option.correct{border-color:#15936f;background:#e2f7ef;color:#075e48}.quiz-option.incorrect{border-color:#d45656;background:#ffe9e9;color:#8e2828}.quiz-feedback{min-height:24px;margin-top:12px;color:var(--muted);font-size:.86rem}.lesson-nav{display:flex;justify-content:space-between;gap:10px;margin-top:40px}.ad-slot{display:grid;place-items:center;min-height:110px;margin:24px 0;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.7rem;letter-spacing:.06em}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{padding:19px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.metric strong{display:block;font-size:1.65rem;line-height:1.1}.metric span{color:var(--muted);font-size:.8rem}.dashboard-sections{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}.list-card{padding:19px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.list-card h2{margin:0 0 12px;font-size:1.15rem}.saved-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.86rem}.saved-item:last-child{border-bottom:0}.saved-item small{display:block;color:var(--muted)}.legal{max-width:780px}.legal h2{margin-top:32px;font-size:1.35rem}.legal p,.legal li{color:var(--muted)}.roadmap{display:grid;gap:12px;max-width:850px}.roadmap-step{display:grid;grid-template-columns:44px 1fr;gap:15px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.roadmap-step b{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--surface-2);color:var(--brand)}.roadmap-step h2{margin:0 0 5px;font-size:1.08rem}.roadmap-step p{margin:0;color:var(--muted);font-size:.9rem}.site-footer{margin-top:auto;border-top:1px solid var(--line);background:var(--surface-2)}.footer-main{display:flex;justify-content:space-between;align-items:start;gap:25px;padding:35px 0}.footer-main p{margin:8px 0 0;color:var(--muted);font-size:.83rem}.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.footer-bottom a{color:var(--brand)}
@media(max-width:1000px){.site-header{gap:14px}.site-search{width:190px}.hero{gap:30px}.card-grid{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:205px minmax(0,1fr)}.lesson-toc{display:none}}
@media(max-width:1700px){.site-header{min-height:62px;padding:8px 14px;flex-wrap:wrap}.menu-button{display:grid;order:2}.main-nav{display:none;order:5;flex-basis:100%;margin:0;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}.main-nav.open{display:flex}.header-tools{flex-basis:100%;margin-left:0;order:4}.site-search{position:relative;flex:1;width:auto}.site-search input{display:block;width:100%}.search-results{left:0;right:0;width:auto;top:44px}.search-key{display:none}.site-header .header-tools{display:flex;gap:8px}.site-header .site-search{min-width:0}.site-header .site-search input{min-height:42px}.site-header .icon-button,.site-header .menu-button{min-width:42px;min-height:42px}}
@media(max-width:720px){body{font-size:15px}.container{width:min(100% - 28px,var(--max))}.site-header{min-height:62px;padding:8px 14px;flex-wrap:wrap}.menu-button{display:grid;order:2}.main-nav{display:none;order:5;flex-basis:100%;margin:0;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}.main-nav.open{display:flex}.header-tools{flex-basis:100%;margin-left:0;order:4}.site-search{position:relative;flex:1;width:auto}.site-search input{display:block;width:100%}.search-results{left:0;right:0;width:auto;top:44px}.search-key{display:none}.hero{grid-template-columns:1fr;padding:52px 0 47px}.hero h1{font-size:2.55rem}.code-card{justify-self:stretch}.section{padding:51px 0}.section-title-row{align-items:start;flex-direction:column}.card-grid,.value-grid,.dashboard-grid,.dashboard-sections{grid-template-columns:1fr}.page-shell{padding:40px 0 60px}.course-hero{padding:19px;grid-template-columns:1fr}.course-hero .course-icon{width:51px;height:51px}.lesson-shell{padding-top:18px}.lesson-layout{display:block}.lesson-sidebar{position:static;margin-bottom:20px;max-height:230px;overflow:auto}.lesson-article h1{font-size:2rem}.lesson-nav{align-items:stretch}.lesson-nav .button{max-width:50%;font-size:.76rem}.footer-main,.footer-bottom{flex-direction:column}.footer-main{padding:27px 0;gap:20px}.footer-bottom{gap:6px}.ad-slot{min-height:72px}.course-facts{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{body{background:#fff;color:#000;font-size:11pt}.site-header,.site-footer,.skip-link,.lesson-sidebar,.lesson-toc,.lesson-actions,.lesson-nav,.ad-slot,.copy-code{display:none!important}.container{width:100%;max-width:none}.lesson-shell,.page-shell{padding:0}.lesson-layout{display:block}.lesson-body p,.lesson-body li{color:#000}.code-block{break-inside:avoid;background:#f4f4f4;color:#000;border:1px solid #bbb}.code-block .code-label{color:#000;border-color:#bbb}.code-block pre{white-space:pre-wrap}.quiz{break-inside:avoid;border-color:#999}.page-title,.lesson-article h1{color:#000}}

/* Focused tutorial catalogue */
.tutorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tutorial-card{display:flex;min-width:0;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .15s ease,transform .15s ease}
.tutorial-card:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-2px)}
.tutorial-card .eyebrow{margin-bottom:8px;font-size:.65rem}
.tutorial-card h2{margin:0 0 8px;font-size:1.05rem;line-height:1.3}
.tutorial-card p{margin:0 0 18px;color:var(--muted);font-size:.86rem}
.tutorial-meta{margin-top:auto;color:var(--brand);font-size:.75rem;font-weight:700}
.toolbar select{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}
@media(max-width:1000px){.tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.tutorial-grid{grid-template-columns:1fr}}

/* Keyboard focus and touch-sized controls */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 72%,transparent);outline-offset:3px}
@media(max-width:720px){.site-header .header-tools{display:flex;gap:8px}.site-header .site-search{min-width:0}.site-header .site-search input{min-height:42px}.site-header .icon-button,.site-header .menu-button{min-width:42px;min-height:42px}}

/* Engineering domains */
.domain-hero{padding:76px 0 48px;background:linear-gradient(135deg,var(--surface-2),var(--canvas))}.domain-hero>.container{width:min(var(--max),calc(100% - 40px));margin:auto}.domain-hero h1{font-size:clamp(2.5rem,5.5vw,4.5rem);line-height:1.06;letter-spacing:-.055em;max-width:850px;margin:0}.domain-search-wrap{max-width:760px;margin-top:30px}.domain-search-wrap>label{display:block;font-weight:750;margin-bottom:8px}.domain-search-control{display:flex;gap:8px}.domain-search-control input{flex:1;min-width:0;height:52px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.domain-search-control button,.domain-filter{border:1px solid var(--line);border-radius:9px;padding:9px 14px;background:var(--surface);color:var(--ink)}.domain-search-status{font-size:.85rem;color:var(--muted)}.domain-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.domain-filter.is-active{background:var(--brand);color:#fff}.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.domain-card,.subject-card,.roadmap-step{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:20px;box-shadow:var(--shadow)}.domain-card{display:flex;flex-direction:column;min-height:230px}.domain-card-top{display:flex;justify-content:space-between;align-items:center}.domain-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:850}.domain-count{font-size:.75rem;color:var(--muted)}.domain-card h2{font-size:1.12rem;line-height:1.3;margin:17px 0 7px}.domain-card p{font-size:.88rem;color:var(--muted)}.domain-link{margin-top:auto;color:var(--brand);font-weight:750}.domain-detail-shell{padding-top:24px;padding-bottom:60px}.breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin-bottom:28px}.breadcrumbs a{color:var(--brand)}.domain-detail-hero{padding:24px 0 35px;border-bottom:1px solid var(--line)}.domain-detail-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;letter-spacing:-.05em;margin:0}.domain-detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.domain-detail-meta span{border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--muted);font-size:.8rem}.domain-content-section{padding:42px 0;border-bottom:1px solid var(--line)}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.subject-card{box-shadow:none;padding:17px;scroll-margin-top:95px}.subject-card h3{font-size:1rem;margin:0 0 7px}.subject-card>p{font-size:.85rem;color:var(--muted)}.subject-resources a,.resource-panel a{color:var(--brand);font-weight:700}.subject-status{font-size:.8rem;color:var(--muted);border-left:3px solid var(--accent);padding-left:10px}.roadmap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.roadmap-step-number{color:var(--brand);font-size:.75rem;font-weight:850}.roadmap-step h3{margin:8px 0 4px}.roadmap-step p{margin:0;color:var(--muted);font-size:.87rem}.objective-list{padding-left:22px}.objective-list li{padding:5px 0}.resource-panel{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.related-domain-grid{display:flex;gap:10px;flex-wrap:wrap}.related-domain-link{padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-weight:700;font-size:.86rem}
@media(max-width:900px){.domain-grid,.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.domain-hero{padding:52px 0 36px}.domain-grid,.subject-grid,.roadmap-grid{grid-template-columns:1fr}.domain-card{min-height:0}.domain-search-control{flex-wrap:wrap}.domain-search-control input{flex-basis:100%}.domain-detail-shell{padding-top:18px}.domain-content-section{padding:30px 0}}
@media(prefers-reduced-motion:reduce){.domain-card,.subject-card{scroll-behavior:auto;transition:none}}
/* Search dropdowns must not block clicks on the page outside actual suggestions. */
.search-results{pointer-events:none}.search-results>*{pointer-events:auto}

/* Keep course content and metadata inside the responsive page container. */
.course-hero{grid-template-columns:auto minmax(0,1fr)}.course-hero>div{min-width:0}.course-facts{min-width:0}.course-facts>span{min-width:0;overflow-wrap:anywhere}.page-shell,.lesson-shell,.lesson-article{min-width:0}.main-nav a{white-space:nowrap}

/* Prevent long course titles, facts, and progress labels from widening narrow pages. */
.page-shell{overflow-wrap:anywhere}.course-hero *,.course-progress *,.lesson-link small{min-width:0;overflow-wrap:anywhere}.progress-row{flex-wrap:wrap}.lesson-link>span:nth-child(2){min-width:0;flex:1}
