:root{color-scheme:dark;--bg:#111619;--paper:#1a2125;--raised:#20292e;--ink:#e6eceb;--muted:#a4b0b1;--line:#344148;--blue:#a2c8bf;--pale:#263b3a;--green:#a2c8bf;--sidebar:244px}

:root{--side-bg:#141b1e;--mark-line:#64847e;--card-hover:#1d262a;--hover-line:#647c79;--metadata:#b8c6c6;--separator:#2d373c;--video-bg:#0b1012;--button-ink:#11221f;--button-hover:#b8d8d0;--format-line:#4c615e;--body-text:#c7d0d0;--table-head:#263330;--code-bg:#101719;--code-ink:#d5e0de;--key-bg:#1d2d2b;--key-line:#3d5550;--inset-bg:#141c20;--inset-line:#2c3b40;--callout-line:#789c92;--callout-bg:#202f2d}
:root[data-theme="light"]{color-scheme:light;--bg:#f3f5f4;--paper:#fff;--raised:#eaf0ed;--ink:#20312d;--muted:#596c66;--line:#cbd7d2;--blue:#326b5e;--pale:#e0eee7;--green:#326b5e;--side-bg:#edf2ef;--mark-line:#8da89d;--card-hover:#f7faf8;--hover-line:#74998a;--metadata:#526a60;--separator:#dce4df;--video-bg:#e2eae6;--button-ink:#fff;--button-hover:#285b4e;--format-line:#a4bcb0;--body-text:#344b42;--table-head:#e1eee6;--code-bg:#edf2ef;--code-ink:#263f34;--key-bg:#e6f0e9;--key-line:#b7cdc0;--inset-bg:#f5f8f6;--inset-line:#d6e1da;--callout-line:#739b83;--callout-bg:#e5efe8}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 'Segoe UI',Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(32px,3.5vw,50px);font-weight:650;margin:14px 0 20px}h2{font-size:28px;font-weight:600;margin:0 0 22px}h3{font-size:22px;font-weight:600}p{margin:12px 0}small{display:block;color:var(--muted)}[hidden]{display:none!important}
.sidebar{position:fixed;width:var(--sidebar);inset:0 auto 0 0;background:var(--side-bg);border-right:1px solid var(--line);padding:34px 22px 24px;display:flex;flex-direction:column;overflow:auto;z-index:10;scrollbar-width:thin}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;letter-spacing:.09em;color:var(--ink);line-height:1.2;margin-bottom:46px}.brand:hover{text-decoration:none}.mark{display:grid;place-items:center;flex-shrink:0;width:40px;height:44px;color:var(--blue);border:1px solid var(--mark-line);border-radius:7px;font-size:25px;font-weight:500;letter-spacing:0}.brand small,.brand-sub{display:block;font-size:11px;font-weight:400;letter-spacing:0;margin-top:5px;color:var(--muted)}.nav-label{font-size:10px;font-weight:600;letter-spacing:.13em;color:var(--muted);margin:0 11px 10px}.sidebar nav a{display:block;color:var(--muted);padding:11px 12px;border-radius:6px;font-size:14px;line-height:1.45}.sidebar nav a:hover{background:var(--paper);color:var(--ink);text-decoration:none}.sidebar nav a.active{background:var(--pale);color:var(--blue)}nav+.nav-label{margin-top:30px}.side-foot{margin-top:auto;padding-top:36px;font-size:11px;color:var(--muted);line-height:2}.online-dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:5px}
main{margin-left:var(--sidebar);max-width:none;min-width:0;padding:30px clamp(24px,4.2vw,76px) 28px}.topline{display:flex;justify-content:space-between;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.12em;color:var(--muted)}.hero{padding:48px 0 28px;max-width:1000px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.13em;color:var(--blue)}.hero p{font-size:17px;max-width:700px;color:var(--muted);margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--paper);border-radius:12px;margin:4px 0 28px;padding:22px 0}.stat{padding:0 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat b{display:block;color:var(--blue);font-size:30px;font-weight:550;line-height:1.25;letter-spacing:-.04em}.stat span{font-size:12px;color:var(--muted)}
.course-card{display:flex;align-items:center;gap:22px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:24px;margin-bottom:38px}.course-icon{min-width:72px;height:80px;display:grid;place-items:center;font-size:21px;letter-spacing:-.05em;color:var(--blue);background:var(--pale);border-radius:8px}.course-info{min-width:0;flex:1}.course-meta{font-size:11px;color:var(--muted)}.course-card h2{font-size:23px;margin:6px 0 8px}.course-card p{font-size:13px;color:var(--muted);margin:0;max-width:650px}.course-button{font-size:13px;white-space:nowrap;padding:10px 13px;border:1px solid var(--line);border-radius:7px;color:var(--ink)}.course-button span{color:var(--blue);padding-left:8px}.course-button:hover{background:var(--raised);text-decoration:none}
.catalog{margin-top:42px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-top h2{font-size:27px;margin:10px 0 24px}#resultCount{font-size:12px;color:var(--muted);white-space:nowrap}.filters{display:flex;gap:10px;align-items:stretch}.search{display:flex;align-items:center;flex:1;min-width:180px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.search svg{margin:0 13px;flex-shrink:0;color:var(--muted)}.search input{min-width:0;width:100%;background:transparent;border:0;color:var(--ink);font-size:14px;padding:14px 12px 14px 0;border-radius:6px}.search input::placeholder{color:var(--muted);opacity:1}.filters select{height:100%;max-width:185px;padding:12px 26px 12px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:13px}.reset{padding:8px;background:none;border:0;color:var(--muted);font-size:12px}.reset:hover{color:var(--ink)}.search-help{font-size:12px;color:var(--muted);margin:10px 0 22px}.catalog-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow-x:auto}.catalog-tabs a{display:block;white-space:nowrap;font-size:14px;color:var(--muted);padding:9px 0 13px;border-bottom:2px solid transparent}.catalog-tabs a.active{color:var(--blue);border-color:var(--blue)}.catalog-tabs a:hover{text-decoration:none;color:var(--ink)}
.results{display:block}.result-section{margin:0 0 40px}.group-heading{margin:0 0 18px}.group-heading h3{font-size:19px;letter-spacing:-.01em;margin:0 0 4px}.group-heading h3 span{font-size:12px;font-weight:400;color:var(--muted);padding-left:8px}.group-heading p{font-size:12px;color:var(--muted);margin:0}.lesson-list{display:grid;gap:12px}.lesson-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:25px 28px;transition:border-color .16s,background .16s}.lesson-card:hover{border-color:var(--hover-line);background:var(--card-hover)}.lesson-number{font-size:42px;font-weight:550;line-height:1.15;letter-spacing:-.07em;color:var(--blue);font-variant-numeric:tabular-nums;padding-top:0}.lesson-content{min-width:0}.lesson-card h3{font-size:22px;margin:0 50px 9px 0;line-height:1.35}.lesson-card h3 a{color:var(--ink)}.lesson-card h3 a::after{content:'';position:absolute;inset:0;border-radius:12px}.lesson-card h3 a:focus-visible{outline:0}.lesson-card:focus-within{outline:2px solid var(--blue);outline-offset:3px}.row-arrow{position:absolute;right:28px;top:25px;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:18px;font-weight:400;color:var(--blue)}.lesson-card p{font-size:14px;color:var(--muted);line-height:1.65;margin:0 24px 13px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;gap:6px 15px;flex-wrap:wrap;font-size:12px;color:var(--metadata)}.card-meta span+span::before{content:'·';color:var(--muted);margin-right:15px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--separator)}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:10px;line-height:1.5;padding:3px 7px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}.tag.missing{border-style:dashed;color:var(--ink)}.file-count{font-size:11px;white-space:nowrap;color:var(--muted)}.empty{padding:50px 20px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
.crumb{font-size:12px;color:var(--muted);margin:0 0 24px}.lesson-head{padding:24px 0 12px}.lesson-head h1{max-width:1000px;font-size:clamp(32px,3.2vw,46px);margin:14px 0 22px}.meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.meta span{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:5px 11px}.muted{color:var(--muted)}.text-link{font-size:13px;font-weight:500}.source-link{font-size:12px;margin:8px 0 25px}.lesson-tabs{position:sticky;top:0;z-index:4;display:flex;gap:28px;background:var(--bg);border-bottom:1px solid var(--line);padding:16px 0;margin:15px 0 28px}.lesson-tabs a{font-size:14px;color:var(--muted)}.lesson-tabs a:hover,.lesson-tabs a.active{color:var(--blue);text-decoration:none}.video-panel{margin:25px 0 40px}.video-panel h2{font-size:23px;margin:7px 0 18px}.video-slot{aspect-ratio:16/8;min-height:240px;background:var(--video-bg);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px}.video-slot p{font-size:12px;color:var(--muted);margin-top:18px}.primary{background:var(--blue);color:var(--button-ink);border:0;border-radius:8px;padding:14px 24px;font-weight:650}.primary:hover{background:var(--button-hover)}.video-slot video{width:100%;height:100%;max-height:700px;display:block;background:var(--video-bg)}.count{font-size:14px;color:var(--muted);margin-left:8px;font-weight:400}.materials-section{margin:32px 0 46px}.material-group{margin:22px 0}.material-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 12px;font-weight:500}.file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.file{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:18px;font-size:14px;min-width:0}.file>div{min-width:0;flex:1}.file a{color:var(--ink);overflow-wrap:anywhere}.file small{font-size:11px;margin-top:6px}.format{display:grid;place-items:center;flex-shrink:0;min-width:44px;height:48px;border-radius:6px;border:1px solid var(--format-line);color:var(--blue);font-size:11px;font-weight:600}.file .original{font-size:11px;color:var(--muted);white-space:nowrap;align-self:flex-end}.notice{padding:15px 18px;background:var(--raised);border-left:2px solid var(--blue);color:var(--ink);font-size:13px;border-radius:5px}
.reading{margin:28px 0;overflow-wrap:anywhere;background:var(--paper);padding:32px 36px;border:1px solid var(--line);border-radius:12px}.reading.structured{padding:0;border:0;background:none}.reading h1{font-size:34px}.reading h2{font-size:25px;margin:36px 0 20px}.reading h3{font-size:23px;margin:28px 0 14px}.reading h4{font-size:18px;margin:24px 0 12px}.reading p,.reading li{max-width:920px}.reading p{line-height:1.85;color:var(--body-text)}.reading li{color:var(--body-text);margin:6px 0}.reading strong{color:var(--ink);font-weight:600}.reading a{text-decoration:underline;text-underline-offset:3px}.reading table{display:block;overflow:auto;border-collapse:collapse;font-size:14px;max-width:100%;margin:20px 0}.reading td,.reading th{border:1px solid var(--line);padding:13px 16px;text-align:left;min-width:100px;vertical-align:top}.reading th{background:var(--table-head);color:var(--ink);font-weight:600}.reading td{color:var(--body-text)}.reading pre{background:var(--code-bg);border:1px solid var(--line);padding:22px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;margin:20px 0}.reading code{font-family:Consolas,monospace;font-size:.92em;background:var(--code-bg);color:var(--code-ink)}.reading blockquote{border-left:2px solid var(--blue);padding:4px 0 4px 22px;color:var(--body-text);margin:22px 0}.reading hr{border:0;border-top:1px solid var(--line);margin:30px 0}.text-document{font-family:inherit!important}.study-intro,.study-block{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:32px 36px;margin:0 0 22px}.study-block>h2:first-child{margin-top:0}.study-intro>h1:first-child{margin-top:0}.study-intro>p:first-of-type{font-size:12px;color:var(--blue);letter-spacing:.04em}.study-intro>ul{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:20px 0 0}.study-intro>ul>li{font-size:12px;margin:0;padding:5px 10px;border:1px solid var(--line);border-radius:6px}.study-block>h2{color:var(--blue);font-size:20px}.study-block>h3{font-size:27px;margin-top:10px}.key-block{background:var(--key-bg);border-color:var(--key-line)}.key-block>h2{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.key-block>h3{font-size:28px}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.subtopic{min-width:0;background:var(--inset-bg);border:1px solid var(--inset-line);border-radius:9px;padding:22px}.subtopic>h4:first-child{margin-top:0;color:var(--ink);font-size:19px}.subtopic p,.subtopic li{font-size:14px;line-height:1.75}.subtopic>p:last-child{margin-bottom:0}.callout{padding:16px 20px;border-left:2px solid var(--callout-line);background:var(--callout-bg);border-radius:4px;margin:20px 0!important}.metric-list,.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0!important}.metric-list>li,.feature-list>li{margin:0;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--inset-bg);font-size:14px}.metric-list>li>strong:first-child{display:block;color:var(--blue);font-size:32px;font-weight:500;line-height:1.2;margin-bottom:8px}.feature-list>li>strong:first-child{display:block;margin-bottom:7px;font-size:17px}
.toc{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:12px}.toc summary{font-weight:600;color:var(--ink);margin-bottom:14px;list-style:none}.toc summary::after{content:'−';float:right;color:var(--muted)}.toc:not([open]) summary::after{content:'+'}.toc a{display:block;border-left:2px solid transparent;color:var(--muted);padding:7px 8px 7px 12px;font-size:12px;line-height:1.5}.toc a:hover,.toc a.active{background:var(--paper);color:var(--blue);border-color:var(--blue);text-decoration:none}.mobile-toc{display:none}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:32px 0}.pager a{display:block;font-size:13px;color:var(--ink);padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:7px}.pager a:hover{border-color:var(--hover-line);text-decoration:none}.pager-top{margin:0 0 12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.pager-top a{border:0;background:none;padding:4px 0;color:var(--muted);font-size:12px}.lesson-position{font-size:12px;color:var(--muted);margin-left:auto}.reader-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 25px}.reader-top .meta{font-size:12px}.back-top{display:block;text-align:right;font-size:12px;margin:28px 0}footer{display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.skip{position:fixed;top:-120px;left:260px;background:var(--paper);padding:12px;z-index:30}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1750px){main{margin-right:auto}}
@media(max-width:1200px){:root{--sidebar:220px}.sidebar{padding:28px 16px}main{padding:26px 30px}.filters{flex-wrap:wrap}.search{flex-basis:100%}.filters select{max-width:260px}.stat{padding:0 18px}.course-card{flex-wrap:wrap}.course-button{margin-left:94px}.file-grid{grid-template-columns:1fr}.file .original{align-self:center}.reading,.study-intro,.study-block{padding:28px}.topic-grid{gap:10px}.subtopic{padding:18px}}
@media(max-width:800px){:root{--sidebar:0px}.sidebar{position:static;width:auto;padding:20px;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{margin:0 0 20px;font-size:20px}.brand small{font-size:11px}.sidebar>nav{display:flex;flex-wrap:wrap;gap:4px}.sidebar nav a{font-size:12px;padding:8px 10px}.sidebar .nav-label,.sidebar .side-foot,.sidebar .toc{display:none}.sidebar #courseNav{margin-top:8px}.sidebar #courseNav a{padding:5px 10px}.brand .mark{width:32px;height:36px;font-size:22px}main{margin:0;padding:24px 20px}.hero{padding:32px 0 26px}.hero h1{font-size:36px}.hero p{font-size:16px}.topline{font-size:9px}.stats{padding:18px 0}.stat{padding:0 14px}.stat b{font-size:27px}.stat span{font-size:11px}.course-card{padding:20px;gap:16px}.course-icon{min-width:56px;height:64px;font-size:17px}.course-card h2{font-size:21px}.course-button{margin-left:72px}.catalog{margin-top:32px}.catalog-tabs{gap:24px}.lesson-card{grid-template-columns:40px minmax(0,1fr);gap:16px;padding:22px 20px}.lesson-number{font-size:32px}.lesson-card h3{font-size:20px;margin-right:28px}.row-arrow{right:18px;top:23px;width:25px;height:25px;font-size:15px}.lesson-card p{margin-right:0}.card-meta{gap:5px 10px}.card-meta span+span::before{margin-right:10px}.lesson-tabs{padding:14px 0;gap:24px}.video-slot{min-height:210px}.reading,.study-intro,.study-block{padding:25px 22px}.reading.structured{padding:0}.topic-grid{grid-template-columns:1fr}.mobile-toc{display:block;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:16px 20px;margin:24px 0}.mobile-toc summary{font-size:14px}.mobile-toc a{display:block;font-size:13px;padding:8px 0;line-height:1.5}.reading h1{font-size:29px}.study-block>h3{font-size:24px}.file .original{display:block;font-size:10px}.pager{flex-wrap:wrap}.skip{left:15px}footer{flex-direction:column;gap:5px}.reader-top{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:480px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}.stat:nth-child(2){border:0}.stat b{font-size:29px}.hero h1{font-size:32px}.course-card{gap:14px}.course-info{flex-basis:calc(100% - 80px)}.course-card p{font-size:12px}.filters select{max-width:180px}.section-top{align-items:flex-start}.section-top h2{font-size:24px}#resultCount{padding-top:30px}.lesson-card{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:20px 16px}.lesson-number{font-size:27px}.lesson-card h3{font-size:18px}.lesson-card p{font-size:13px}.card-meta{font-size:11px}.row-arrow{right:14px;top:20px}.card-bottom{align-items:flex-start}.file-count{padding-top:3px}.tag{font-size:9px}.metric-list,.feature-list{grid-template-columns:1fr}.study-block,.study-intro{padding:23px 20px}.file{padding:15px;gap:12px;flex-wrap:wrap}.file .original{margin-left:56px}.format{min-width:42px}.lesson-head h1{font-size:30px}.lesson-tabs a{font-size:13px}.pager a{padding:10px;font-size:12px}.pager-top a{padding:4px 0}.lesson-position{order:4;width:100%;margin:0;text-align:center}.reading table{font-size:13px}.reading pre{padding:16px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]){scroll-behavior:auto}html:not([data-motion="full"]) *{transition:none!important}}
@media print{:root{--ink:#111;--muted:#444;--line:#ccc;--paper:white;--bg:white;--blue:#234f47;--pale:#eee}body{color:#111;background:white}.sidebar,.filters,.video-panel,.pager,.lesson-tabs,.mobile-toc,footer,.back-top{display:none}main{margin:0;padding:0;max-width:none}.reading,.study-block,.study-intro,.subtopic{background:white;color:#111;box-shadow:none}.reading p,.reading li,.reading td,.reading strong,.reading code{color:#111}.reading pre{background:#f6f6f6}.reading{border:0;padding:0}.study-block{break-inside:auto}.topic-grid{display:block}.subtopic{margin:10px 0;break-inside:avoid}a{color:#111;text-decoration:underline}.lesson-card{break-inside:avoid}}

.personal-tools{margin:-22px 0 28px}.theme-switch{display:flex;gap:3px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:8px}.theme-switch button{flex:1;min-width:0;font-size:12px;line-height:1.5;color:var(--muted);background:transparent;border:0;border-radius:5px;padding:7px 9px;white-space:nowrap}.theme-switch button[aria-pressed="true"]{background:var(--pale);color:var(--blue);font-weight:600}.profile-button{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--ink);text-align:left;border:0;padding:17px 3px 0}.profile-button>span:last-child{min-width:0}.profile-button b{display:block;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.profile-button small{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.profile-avatar{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;color:var(--blue);font-size:11px}
html[data-profile-state="loading"] main,html[data-profile-state="signed-out"] main{visibility:hidden}html[data-profile-state="loading"] .sidebar>nav,html[data-profile-state="signed-out"] .sidebar>nav{visibility:hidden}
.account-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:30px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:15px;box-shadow:0 25px 90px #0005;overflow:auto}.account-dialog::backdrop{background:#0a1118c9;backdrop-filter:blur(5px)}.account-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}.account-brand{font-size:11px;letter-spacing:.1em;color:var(--blue)}.dialog-close{background:transparent;border:0;color:var(--muted);font-size:25px;padding:0 5px}.account-dialog .theme-switch{max-width:250px;margin-bottom:30px}.account-intro h2{font-size:29px;margin:10px 0 14px}.account-intro p{color:var(--muted);font-size:14px;margin-bottom:24px}.account-field{display:block;font-size:13px;font-weight:500;margin:18px 0}.account-field input{display:block;width:100%;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:12px 14px;font-size:16px;margin-top:8px}.account-field input[readonly]{color:var(--muted)}.account-field small{font-weight:400;font-size:11px;margin-top:5px}.account-submit{width:100%;margin:4px 0}.account-back{display:block;margin:12px auto 0;background:none;border:0;color:var(--blue);font-size:13px}.account-note{font-size:12px;color:var(--muted);line-height:1.75;margin:25px 0 0}.account-error{font-size:13px;color:var(--ink);border-left:2px solid var(--blue);padding-left:12px}.account-error:empty{display:none}.account-dialog button:disabled{opacity:.6;cursor:wait}.account-dialog dl{margin:22px 0}.account-dialog dt{font-size:12px;color:var(--muted);margin-top:18px}.account-dialog dd{margin:4px 0 0;font-size:17px;overflow-wrap:anywhere}.server-link{display:inline-block;font-size:14px}.preference-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(600px,calc(100vw - 32px));z-index:30;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:15px 20px;font-size:13px;box-shadow:0 8px 30px #0003}
@media(max-width:800px){.personal-tools{display:flex;align-items:center;gap:20px;margin:0 0 20px;flex-wrap:wrap}.personal-tools .theme-switch{min-width:200px;max-width:270px}.profile-button{padding:0;width:auto}.profile-button b,.profile-button small{max-width:220px}}
@media(max-width:480px){.account-dialog{padding:25px 22px}.account-intro h2{font-size:26px}.personal-tools{gap:15px}.personal-tools .theme-switch{flex:1}.profile-button b,.profile-button small{max-width:200px}}
@media print{.personal-tools,.account-dialog,.preference-status{display:none!important}html[data-profile-state] main{visibility:visible}.metric-list>li,.feature-list>li,.callout{background:white}.reading th{background:#eee;color:#111}}

.learning-progress{margin:28px 0}.course-progress{border:1px solid var(--key-line);background:var(--key-bg);border-radius:12px;padding:26px 28px;margin-bottom:18px}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.progress-heading h2{font-size:23px;margin:10px 0 12px}.progress-percent{font-size:32px;font-weight:500;color:var(--blue)}.progress-count{font-size:14px;color:var(--muted);margin:0 0 12px}.progress-count strong{color:var(--ink);font-weight:600}.course-progress progress{display:block;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;background:var(--line);accent-color:var(--blue)}.course-progress progress::-webkit-progress-bar{background:var(--line)}.course-progress progress::-webkit-progress-value{background:var(--blue);border-radius:8px}.course-progress progress::-moz-progress-bar{background:var(--blue)}.progress-resume{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:20px}.progress-resume p{font-size:13px;margin:0 0 8px}.progress-resume small{font-size:12px}.continue-learning{font-size:13px;white-space:nowrap;text-align:center;display:inline-block}.continue-learning:hover{text-decoration:none}.progress-message{font-size:14px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.progress-retry{background:transparent;border:0;color:var(--blue);text-decoration:underline;font-size:13px;padding:6px}.completion-panel{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:20px 0;padding:19px 22px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.completion-button{background:var(--pale);color:var(--blue);border:1px solid var(--format-line);border-radius:7px;padding:11px 16px;font-size:14px;font-weight:600}.completion-button:disabled{opacity:.6;cursor:default}.completion-hint{font-size:12px;color:var(--muted);margin:0;flex:1;min-width:180px}.completion-panel.is-complete{border-color:var(--key-line);background:var(--key-bg)}.lesson-progress-badge{display:inline-block;margin-top:12px;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:2px 9px}.lesson-progress-badge.done{color:var(--blue);background:var(--pale);border-color:var(--format-line)}
@media(max-width:800px){.progress-resume{align-items:flex-start;flex-direction:column;gap:16px}.course-progress{padding:22px}.progress-heading h2{font-size:21px}.completion-panel{padding:18px}.completion-button{font-size:13px}.completion-hint{flex-basis:100%}}
@media print{.learning-progress,.completion-panel,.lesson-progress-badge{display:none}}

.block-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 32px}.block-nav a{padding:14px 17px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:13px;line-height:1.65;color:var(--muted)}.block-nav a:hover{color:var(--blue);border-color:var(--key-line)}.course-block{scroll-margin-top:25px;margin:34px 0 48px}.block-heading{border-left:3px solid var(--blue);padding:2px 0 2px 18px;margin:0 0 20px}.block-heading h4{font-size:23px;line-height:1.45;font-weight:500;margin:10px 0 3px;max-width:850px}.lesson-section{color:var(--blue);font-size:14px;line-height:1.7}.lesson-introduction{margin:30px 0;padding:25px 30px;background:var(--paper);border:1px solid var(--line);border-radius:12px;max-width:100%}.lesson-introduction h2{font-size:22px;margin:0 0 15px}.lesson-introduction p{font-size:16px;color:var(--muted);line-height:1.9;white-space:pre-line}.interactive-card .format{font-size:9px;letter-spacing:.03em}.interactive-card .original{white-space:nowrap}.video-panel h2{overflow-wrap:anywhere}
@media(max-width:800px){.block-nav{grid-template-columns:1fr}.block-heading h4{font-size:21px}.lesson-introduction{padding:22px}.interactive-card .original{grid-column:2}}


.video-chapters{margin:25px 0;padding:24px 28px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.video-chapters h2{font-size:22px}.video-chapters ol{padding-left:22px;columns:2;column-gap:35px}.video-chapters li{break-inside:avoid;font-size:14px;line-height:1.7;margin:0 0 10px;padding-left:5px}@media(max-width:800px){.video-chapters ol{columns:1}}
.interactive-player{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--paper);margin:24px 0}
.interactive-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.interactive-player [data-interactive-status]{flex:1;min-width:180px;color:var(--muted);margin:0;line-height:1.6;font-size:13px}
.interactive-player[data-save-state="error"] [data-interactive-status]{color:var(--ink);border-left:3px solid var(--blue);padding-left:14px}
.interactive-toolbar button{padding:9px 14px;border:1px solid var(--line);border-radius:7px;background:var(--raised);color:var(--ink);font-size:13px;white-space:nowrap}
.interactive-toolbar button:disabled{opacity:.5;cursor:default}
.interactive-player iframe{display:block;width:100%;aspect-ratio:16/10;height:auto;min-height:420px;border:0;background:#fff;border-radius:6px}
body.interactive-expanded{overflow:hidden}
.interactive-player.is-expanded{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;z-index:100;display:flex;flex-direction:column;margin:0;padding:14px;border:0;border-radius:0;overflow:hidden}
.interactive-player.is-expanded .interactive-toolbar{flex:0 0 auto;margin-bottom:10px}
.interactive-player.is-expanded [data-interactive-frame]{flex:1;min-height:0}
.interactive-player.is-expanded iframe{height:100%;min-height:0;aspect-ratio:auto;border-radius:0}
@media(max-width:800px){.interactive-player{padding:15px}.interactive-player iframe{min-height:360px}.interactive-player.is-expanded{padding:8px}.interactive-player.is-expanded .interactive-toolbar{gap:8px}.interactive-player.is-expanded [data-interactive-status]{font-size:12px;min-width:120px}}
@media print{.interactive-player{display:none}}

/* Compact navigation and one course card per profile. */
.hero{margin-bottom:28px}.hero h1{font-size:clamp(30px,3vw,44px)}.hero>p{max-width:900px}.learning-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0 38px}.learning-progress>.progress-message,.learning-progress>.course-progress:only-child{grid-column:1/-1}.course-progress{margin:0;display:flex;flex-direction:column;padding:24px}.progress-heading{gap:15px;align-items:flex-start}.progress-heading h2{font-size:21px;margin:10px 0 16px}.progress-heading h2 a{color:var(--ink)}.progress-percent{font-size:27px}.progress-resume{align-items:flex-start;flex-direction:column;gap:18px;flex:1}.progress-resume .continue-learning{margin-top:auto}.learning-progress>.course-progress:only-child .progress-resume{flex-direction:row;align-items:center}.block-picker{margin:0 0 26px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.block-picker>summary{padding:15px 19px;font-size:14px;color:var(--blue)}.block-picker>summary span{color:var(--muted);margin-left:8px}.block-picker .block-nav{margin:0;padding:0 16px 16px}.block-picker .block-nav a{background:var(--bg)}.file-name{font-size:14px;color:var(--ink);line-height:1.65}.file:not(:has(.original)){grid-template-columns:auto 1fr}.catalog>.section-top{margin-top:12px}.lesson-head .meta:empty{display:none}.interactive-card .file-name{font-weight:500}
@media(max-width:1100px){.learning-progress{grid-template-columns:1fr}.learning-progress>.course-progress:only-child .progress-resume{flex-direction:column;align-items:flex-start}.progress-heading h2{font-size:21px}}@media print{.learning-progress,.block-picker{display:none}}

/* Screen-wide shell; reading paragraphs keep their comfortable line length. */
@media screen{
 main{width:auto;max-width:none;min-width:0;margin-right:0;padding-inline:clamp(20px,2.5vw,48px)}
 main>*,.course-info,.lesson-content,.progress-heading>*,.progress-resume>*,.reading,.study-intro,.study-block,.topic-grid>*,.file>div{min-width:0}
 .topline,.section-top,.reader-top{flex-wrap:wrap}
 .topline>*,.section-top>*,.reader-top>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .hero,.lesson-head{max-width:100%}
 h1,h2,h3,h4,.crumb,.meta,.course-card,.lesson-card,.course-progress,.lesson-introduction,.block-nav a,.file-name,footer{overflow-wrap:anywhere}
 .meta>span,.pager a,.course-button,.continue-learning{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .progress-percent,.file-count{flex-shrink:0}
 .filters,.search,.catalog-tabs,.lesson-tabs{min-width:0;max-width:100%}
 .filters>*{min-width:0}
 .lesson-tabs{overflow-x:auto;overscroll-behavior-inline:contain}
 .lesson-tabs a{flex-shrink:0;white-space:nowrap}
 .lesson-card p{max-width:110ch}
 .file .original{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .reading img,.reading svg,.study-intro img,.study-block img{max-width:100%;height:auto}
 .reading table,.reading pre{width:100%;max-width:100%;min-width:0}
 .reading pre{overflow:auto}
 .interactive-player,.interactive-toolbar,.interactive-player [data-interactive-frame]{min-width:0;max-width:100%}
 .interactive-toolbar>*{min-width:0;max-width:100%}
 .interactive-toolbar button{white-space:normal}
 .interactive-player iframe{max-width:100%}
 .account-dialog{max-width:calc(100vw - 32px);min-width:0;overflow-wrap:anywhere}
 .account-top,.account-intro,.account-field{min-width:0}
 .account-field input{min-width:0;max-width:100%}
 .sidebar nav a,.profile-button{max-width:100%;overflow-wrap:anywhere}
 @media(max-width:800px){main{padding-inline:20px}.hero{max-width:100%}.lesson-tabs{gap:20px}.video-slot{min-height:0;aspect-ratio:16/9}.personal-tools>*{min-width:0;max-width:100%}}
 @media(max-width:600px){main{padding-inline:16px}.topline{gap:8px}.hero{padding-top:24px}.filters select{flex:1 1 140px;max-width:100%}.search{width:100%}.section-top{gap:4px 16px}#resultCount{padding-top:0;white-space:normal}.course-card,.course-progress,.lesson-introduction,.video-chapters{padding:18px}.reading,.study-intro,.study-block{padding:20px 16px}.reading.structured{padding:0}.reading ul,.reading ol{padding-left:22px}.reading blockquote{margin-inline:0;padding-left:14px}.reading td,.reading th{padding:10px}.file .original{margin-left:0}.completion-hint{min-width:0}.interactive-player [data-interactive-status]{min-width:0;flex-basis:100%}.interactive-toolbar button{flex:1 1 130px;min-height:44px}.pager a{flex:1 1 130px}.pager-top a{flex:0 1 auto}}
 @media(max-width:380px){.course-button{margin-left:0;width:100%;text-align:center}.course-icon{min-width:48px}.course-info{flex-basis:calc(100% - 65px)}.personal-tools .theme-switch{min-width:0;width:100%;flex-basis:100%}.profile-button b,.profile-button small{max-width:calc(100vw - 96px)}.lesson-card{grid-template-columns:26px minmax(0,1fr);gap:10px;padding:16px 12px}.lesson-card h3{margin-right:26px}.card-bottom{flex-wrap:wrap}.stat{padding-inline:12px}.reading h1{font-size:26px}}
}

/* Shared visual language. Geometry and responsive rules above stay unchanged. */
@media screen{
 :root{
  --bg:#131819;--paper:#1b2223;--raised:#242d2d;
  --ink:#e9efec;--muted:#aab8b1;--body-text:#cbd5cf;
  --line:#35433e;--separator:#303c36;--blue:#9ac7b3;--green:#9ac7b3;
  --pale:#263c32;--side-bg:#171e1d;--mark-line:#668c77;
  --card-hover:#202b26;--hover-line:#739b83;--metadata:#b7c9bc;
  --button-ink:#14271e;--button-hover:#afd6c1;--format-line:#607d6b;
  --table-head:#28372e;--video-bg:#0e1412;
  --code-bg:#151e19;--code-ink:#d7e4dc;
  --key-bg:#1d2c24;--key-line:#47614f;
  --inset-bg:#18221c;--inset-line:#34483b;
  --callout-line:#88b49b;--callout-bg:#23372b;
  --ui-accent:var(--blue);--ui-accent-soft:var(--pale);
  --ui-border:var(--line);--ui-border-strong:var(--hover-line);
  --ui-control-border:#60786b;
  --ui-card-shadow:inset 0 1px 0 #ffffff05,0 2px 7px #00000018,0 12px 32px #00000010;
  --ui-card-shadow-hover:inset 0 1px 0 #ffffff08,0 5px 14px #00000024,0 16px 36px #00000020;
  --ui-floating-shadow:0 12px 36px #00000040,0 32px 80px #00000030;
  --ui-focus-ring:0 0 0 3px #9ac7b32e;
  --ui-selection:#3a5a47;--ui-progress-track:#35483c;
  --ui-radius-card:14px;--ui-radius-control:10px;
  --ui-motion-fast:140ms;--ui-motion:180ms;--ui-ease:cubic-bezier(.2,.65,.3,1);
 }
 :root[data-theme="light"]{
  --bg:#f4f6f4;--paper:#fff;--raised:#edf3ef;
  --ink:#23362d;--muted:#5b6e63;--body-text:#3e5347;
  --line:#d0dcd4;--separator:#e2e9e4;--blue:#326b50;--green:#326b50;
  --pale:#e4f0e8;--side-bg:#edf2ee;--mark-line:#8aa993;
  --card-hover:#fbfdfb;--hover-line:#7d9d88;--metadata:#526c5b;
  --button-ink:#fff;--button-hover:#27583f;--format-line:#a6bdad;
  --table-head:#e5eee8;--video-bg:#e6ede7;
  --code-bg:#edf3ef;--code-ink:#294434;
  --key-bg:#eff6f1;--key-line:#bbd2c2;
  --inset-bg:#f5f8f5;--inset-line:#dce7df;
  --callout-line:#70977c;--callout-bg:#e9f2eb;
  --ui-control-border:#82968a;
  --ui-card-shadow:0 2px 5px #23362d05,0 10px 26px #23362d05;
  --ui-card-shadow-hover:0 4px 10px #23362d0a,0 14px 30px #23362d0e;
  --ui-floating-shadow:0 12px 36px #23362d18,0 32px 80px #23362d12;
  --ui-focus-ring:0 0 0 3px #326b5029;
  --ui-selection:#cde5d4;--ui-progress-track:#dbe7df;
 }
 body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
 ::selection{background:var(--ui-selection);color:var(--ink)}
 a{text-underline-offset:.2em;text-decoration-thickness:1px}
 :where(button,a,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--ui-accent);outline-offset:3px;
 }
 .sidebar{box-shadow:4px 0 20px #00000004}
 .brand{color:var(--ink)}
 .mark{background:var(--ui-accent-soft);border-color:var(--mark-line);border-radius:11px;box-shadow:inset 0 1px 0 #ffffff08}
 .sidebar nav a{border-radius:var(--ui-radius-control);transition:color var(--ui-motion-fast) var(--ui-ease),background-color var(--ui-motion-fast) var(--ui-ease),box-shadow var(--ui-motion-fast) var(--ui-ease)}
 .sidebar nav a.active{color:var(--ui-accent);background:var(--ui-accent-soft);box-shadow:inset 3px 0 0 var(--ui-accent);font-weight:600}
 .nav-label,.eyebrow{font-weight:700}
 .topline{border-color:var(--separator)}
 .theme-switch{border-radius:12px;box-shadow:inset 0 1px 3px #00000006}
 .theme-switch button{border-radius:8px;transition:color var(--ui-motion-fast) var(--ui-ease),background-color var(--ui-motion-fast) var(--ui-ease),box-shadow var(--ui-motion-fast) var(--ui-ease)}
 .theme-switch button[aria-pressed="true"]{box-shadow:0 1px 3px #0000000d}
 .profile-avatar{background:var(--paper);border-color:var(--format-line)}
 .profile-button{border-radius:var(--ui-radius-control)}
 .kvart-ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.14em;flex-shrink:0;fill:none;stroke:currentColor}
 .sidebar nav a>.kvart-ui-icon,.sidebar nav #openTestingMode>.kvart-ui-icon{margin-inline-end:.65em}
 .theme-switch button>.kvart-ui-icon{margin-inline-end:.4em}

 .stats,.course-card,.lesson-card,.course-progress,.progress-message,
 .reading:not(.structured),.study-intro,.study-block,.lesson-introduction,
 .video-chapters,.interactive-player:not(.is-expanded),.block-picker,.completion-panel{
  border-radius:var(--ui-radius-card);box-shadow:var(--ui-card-shadow);
 }
 .stats{border-color:var(--ui-border)}
 .stat{border-color:var(--separator)}
 .stat b,.progress-percent{font-variant-numeric:tabular-nums}
 .course-icon{border-radius:12px;box-shadow:inset 0 0 0 1px var(--format-line)}
 .course-meta{letter-spacing:.025em}
 .lesson-card{transition:background-color var(--ui-motion-fast) var(--ui-ease),border-color var(--ui-motion-fast) var(--ui-ease),box-shadow var(--ui-motion) var(--ui-ease),transform var(--ui-motion) var(--ui-ease)}
 .lesson-card h3 a::after{border-radius:var(--ui-radius-card)}
 .lesson-card:focus-within{outline:2px solid var(--ui-accent);outline-offset:3px;box-shadow:var(--ui-card-shadow-hover)}
 .row-arrow{background:var(--inset-bg);border-color:var(--format-line);transition:background-color var(--ui-motion-fast) var(--ui-ease),border-color var(--ui-motion-fast) var(--ui-ease),color var(--ui-motion-fast) var(--ui-ease)}
 .card-bottom{border-color:var(--separator)}
 .tag{border-radius:6px;background:var(--inset-bg)}
 .meta span,.lesson-progress-badge{background:var(--inset-bg);border-color:var(--ui-border)}
 .lesson-progress-badge.done{background:var(--ui-accent-soft);color:var(--ui-accent);border-color:var(--format-line)}
 .file{border-radius:12px;box-shadow:0 2px 7px #00000004;transition:border-color var(--ui-motion-fast) var(--ui-ease),box-shadow var(--ui-motion-fast) var(--ui-ease)}
 .file:focus-within{border-color:var(--ui-border-strong);box-shadow:var(--ui-focus-ring)}
 .format{border-radius:9px;background:var(--inset-bg)}
 .subtopic,.metric-list>li,.feature-list>li{border-radius:12px}
 .key-block{border-color:var(--key-line)}
 .callout{border-radius:8px}
 .notice{border-radius:8px}
 .reading pre{border-radius:12px}
 .reading th{font-weight:650}

 .search,.filters select,.account-field input{border-radius:var(--ui-radius-control);border-color:var(--ui-control-border);transition:border-color var(--ui-motion-fast) var(--ui-ease),box-shadow var(--ui-motion-fast) var(--ui-ease),background-color var(--ui-motion-fast) var(--ui-ease)}
 .search:focus-within{outline:2px solid var(--ui-accent);outline-offset:2px;border-color:var(--ui-accent);box-shadow:var(--ui-focus-ring)}
 .search input:focus-visible{outline:none}
 .account-field input:focus-visible,.filters select:focus-visible{border-color:var(--ui-accent);box-shadow:var(--ui-focus-ring)}
 .catalog-tabs{border-color:var(--ui-border)}
 .catalog-tabs a{transition:color var(--ui-motion-fast) var(--ui-ease),border-color var(--ui-motion-fast) var(--ui-ease)}
 .catalog-tabs a.active{color:var(--ink);border-color:var(--ui-accent);font-weight:600}
 .lesson-tabs{border-color:var(--ui-border);box-shadow:0 7px 15px #00000004}
 .lesson-tabs a.active{color:var(--ui-accent);font-weight:600}
 .block-picker>summary{border-radius:var(--ui-radius-control)}
 .block-picker[open]>summary{color:var(--ink)}
 .block-nav a{border-radius:11px;transition:border-color var(--ui-motion-fast) var(--ui-ease),background-color var(--ui-motion-fast) var(--ui-ease),box-shadow var(--ui-motion) var(--ui-ease),transform var(--ui-motion) var(--ui-ease)}
 .block-nav a:focus-visible{box-shadow:var(--ui-focus-ring)}

 .primary,.course-button,.pager:not(.pager-top) a,.completion-button,.interactive-toolbar button{
  border-radius:var(--ui-radius-control);transition:background-color var(--ui-motion-fast) var(--ui-ease),color var(--ui-motion-fast) var(--ui-ease),border-color var(--ui-motion-fast) var(--ui-ease),box-shadow var(--ui-motion-fast) var(--ui-ease);
 }
 .primary{box-shadow:0 1px 3px #00000012}
 .course-button,.pager:not(.pager-top) a{background:var(--paper);border-color:var(--format-line)}
 .completion-button{background:var(--ui-accent-soft);border-color:var(--format-line)}
 .primary:focus-visible,.course-button:focus-visible,.completion-button:focus-visible,.interactive-toolbar button:focus-visible{box-shadow:var(--ui-focus-ring)}
 .course-progress{background:var(--key-bg);border-color:var(--key-line)}
 .course-progress progress{background:var(--ui-progress-track)}
 .course-progress progress::-webkit-progress-bar{background:var(--ui-progress-track)}
 .course-progress progress::-webkit-progress-value{background:var(--ui-accent)}
 .course-progress progress::-moz-progress-bar{background:var(--ui-accent)}
 .progress-count strong{font-variant-numeric:tabular-nums}
 .completion-panel.is-complete{box-shadow:var(--ui-card-shadow)}
 .account-dialog,.preference-status{box-shadow:var(--ui-floating-shadow);border-color:var(--format-line)}
 .account-dialog{border-radius:18px}
 .account-dialog::backdrop{background:#0d1712ad}

 /* A theme change animates paint only. Never transform a containing surface. */
 .kvart-theme-changing :is(body,.sidebar,.stats,.course-card,.lesson-card,.course-progress,.study-intro,.study-block,.file,.search,.theme-switch,.account-dialog){
  transition-property:background-color,color,border-color;
  transition-duration:var(--ui-motion);
  transition-timing-function:var(--ui-ease);
 }
 @media(hover:hover) and (pointer:fine){
  .sidebar nav a:hover:not(.active){background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ui-border)}
  .theme-switch button:hover:not([aria-pressed="true"]){background:var(--raised);color:var(--ink)}
  .lesson-card:hover,.block-nav a:hover{transform:translateY(-2px);border-color:var(--ui-border-strong);box-shadow:var(--ui-card-shadow-hover)}
  .lesson-card:hover{background:var(--card-hover)}
  .lesson-card:hover .row-arrow{background:var(--ui-accent-soft);border-color:var(--ui-border-strong)}
  .block-nav a:hover{background:var(--paper);color:var(--ui-accent);text-decoration:none}
  .primary:hover:not(:disabled):not([aria-disabled="true"]){background:var(--button-hover);box-shadow:0 4px 12px #00000018}
  .course-button:hover,.pager:not(.pager-top) a:hover,.interactive-toolbar button:hover:not(:disabled){background:var(--raised);border-color:var(--ui-border-strong);box-shadow:0 2px 6px #00000009}
  .completion-button:hover:not(:disabled){border-color:var(--ui-accent);box-shadow:var(--ui-focus-ring)}
 }
}
@media(prefers-reduced-motion:reduce){
 html:not([data-motion="full"]) *,html:not([data-motion="full"]) *::before,html:not([data-motion="full"]) *::after{transition:none!important;animation:none!important}
 html:not([data-motion="full"]){scroll-behavior:auto}
 html:not([data-motion="full"]) :is(.lesson-card,.block-nav a){transform:none!important}
}

/* App navigation: a compact desktop rail and a mobile drawer. Without the
   shell script, the original navigation above remains fully accessible. */
@media screen{
 html{scrollbar-gutter:stable}
 @supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
 html[data-document-state="loading"] main{visibility:hidden}
 html[data-document-state="loading"] .sidebar nav[aria-label="Управление проверкой"]{visibility:hidden}
 html[data-shell-state="loading"] .sidebar{visibility:hidden}
 html[data-shell-state="loading"] :is(.sidebar,main){transition:none!important}
 .kvart-mobile-bar,.kvart-menu-backdrop,.kvart-menu-close{display:none}
 .kvart-shell-ready{--sidebar:244px}
 .kvart-shell-ready .sidebar{padding:14px 18px 22px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;transition:width 200ms var(--ui-ease),padding 200ms var(--ui-ease)}
 .kvart-shell-ready main{margin-left:var(--sidebar);transition:margin-left 200ms var(--ui-ease)}
 .kvart-shell-ready .sidebar .brand{margin:8px 0 22px}
 .kvart-shell-ready .sidebar .personal-tools{display:block;margin:0 0 24px}
 .kvart-shell-ready .sidebar .profile-button{width:100%;min-height:44px;padding:10px 3px 0}
 .kvart-shell-ready .sidebar .profile-button b,.kvart-shell-ready .sidebar .profile-button small{max-width:155px}
 .kvart-shell-ready .sidebar nav>a,.kvart-shell-ready .sidebar nav>#openTestingMode{display:flex;align-items:center;gap:10px;min-height:44px;min-width:0;max-width:100%;font-size:13px;line-height:1.45;text-align:left}
 .kvart-shell-ready .sidebar nav>a>.kvart-ui-icon,.kvart-shell-ready .sidebar nav>#openTestingMode>.kvart-ui-icon{width:17px;height:17px;flex:0 0 17px;margin:0}
 .kvart-shell-ready .sidebar .kvart-nav-text{min-width:0;overflow-wrap:anywhere}
 .kvart-sidebar-controls{display:flex;justify-content:flex-end;align-items:center;min-height:44px;flex-shrink:0;margin:0 0 2px}
 .kvart-sidebar-toggle,.kvart-menu-close,#kvartMenuOpen{align-items:center;justify-content:center;flex-shrink:0;gap:8px;width:44px;height:44px;min-height:44px;margin:0;padding:10px;border:1px solid var(--ui-border);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;line-height:1;cursor:pointer;transition:background-color 140ms var(--ui-ease),border-color 140ms var(--ui-ease)}
 .kvart-sidebar-toggle{display:inline-flex}
 .kvart-sidebar-toggle>span,.kvart-menu-close>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
 .kvart-sidebar-toggle .kvart-ui-icon,.kvart-menu-close .kvart-ui-icon,#kvartMenuOpen .kvart-ui-icon{width:20px;height:20px}
 .kvart-shell-ready .skip{left:calc(var(--sidebar) + 16px);z-index:150}
 .kvart-shell-ready .sidebar .brand:focus-visible,.kvart-shell-ready .sidebar nav>a:focus-visible,.kvart-shell-ready .sidebar nav>#openTestingMode:focus-visible{outline-offset:2px}
 @media(hover:hover) and (pointer:fine){
  .kvart-sidebar-toggle:hover,.kvart-menu-close:hover,#kvartMenuOpen:hover{background:var(--raised);border-color:var(--ui-border-strong)}
 }
 @media(min-width:801px){
  .kvart-shell-ready[data-sidebar-collapsed="true"]{--sidebar:76px}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar{padding:14px 10px 20px}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .kvart-sidebar-controls{justify-content:center}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar .brand{justify-content:center;gap:0;margin:8px 0 16px}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar :is(.kvart-brand-text,.kvart-nav-text,.kvart-profile-text){position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar :is(.nav-label,.side-foot,.toc,.theme-switch){display:none}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar .personal-tools{margin:0 0 20px}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar .profile-button{justify-content:center;width:44px;height:44px;padding:0;gap:0;margin:0 auto}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar nav{display:grid;gap:6px;margin:0}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar nav+.nav-label+nav{margin-top:18px}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar nav>a,.kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar nav>#openTestingMode{justify-content:center;width:44px;min-width:44px;min-height:44px;max-width:44px;margin:0 auto;padding:10px;gap:0;border-radius:10px}
  .kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar nav>a>.kvart-ui-icon,.kvart-shell-ready[data-sidebar-collapsed="true"] .sidebar nav>#openTestingMode>.kvart-ui-icon{width:19px;height:19px;flex-basis:19px}
 }
 @media(max-width:800px){
  .kvart-shell-ready{--sidebar:0px;--kvart-mobile-bar-height:calc(60px + env(safe-area-inset-top,0px));scroll-padding-top:calc(var(--kvart-mobile-bar-height) + 76px)}
  .kvart-shell-ready .kvart-mobile-bar{position:fixed;inset:0 0 auto;height:var(--kvart-mobile-bar-height);display:flex;align-items:center;gap:12px;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;border-bottom:1px solid var(--ui-border);background:var(--side-bg);color:var(--ink);z-index:20;box-shadow:0 3px 12px #00000009}
  .kvart-mobile-bar>span{font-size:14px;font-weight:650;letter-spacing:.035em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  #kvartMenuOpen{display:inline-flex;width:auto;min-width:44px;padding-inline:12px;font-size:13px;font-weight:600}
  .kvart-shell-ready main{margin:0;padding-top:calc(var(--kvart-mobile-bar-height) + 24px);transition:none}
  .kvart-shell-ready .lesson-tabs{top:var(--kvart-mobile-bar-height)}
  .kvart-shell-ready .skip{left:12px}
  .kvart-shell-ready .sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,calc(100vw - 32px));height:100vh;height:100dvh;padding:calc(12px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;border-right:1px solid var(--ui-border);border-bottom:0;background:var(--side-bg);box-shadow:var(--ui-floating-shadow);z-index:40;visibility:hidden;transform:translateX(-100%);transition:transform 220ms var(--ui-ease),visibility 0s linear 220ms}
  .kvart-shell-ready[data-mobile-menu="open"] .sidebar{visibility:visible;transform:none;transition-delay:0s}
  .kvart-shell-ready .kvart-sidebar-toggle{display:none}
  .kvart-shell-ready .kvart-menu-close{display:inline-flex}
  .kvart-shell-ready .sidebar .brand{margin:8px 0 22px;font-size:21px}
  .kvart-shell-ready .sidebar .brand .mark{width:40px;height:44px;font-size:25px}
  .kvart-shell-ready .sidebar nav{display:grid;gap:4px}
  .kvart-shell-ready .sidebar nav>a,.kvart-shell-ready .sidebar nav>#openTestingMode{font-size:14px;padding:11px 12px}
  .kvart-shell-ready .sidebar .nav-label{display:block;font-size:10px;margin:0 11px 8px}
  .kvart-shell-ready .sidebar nav+.nav-label{margin-top:24px}
  .kvart-shell-ready .sidebar #courseNav{margin-top:0}
  .kvart-shell-ready .sidebar #courseNav a{padding:11px 12px}
  .kvart-shell-ready .sidebar .personal-tools{display:block;margin:0 0 24px}
  .kvart-shell-ready .sidebar .theme-switch{width:100%;min-width:0;max-width:none}
  .kvart-shell-ready .sidebar .profile-button{padding:10px 3px 0;width:100%}
  .kvart-shell-ready .sidebar .profile-button b,.kvart-shell-ready .sidebar .profile-button small{max-width:220px}
  .kvart-shell-ready .sidebar .side-foot{display:block;padding-top:24px;margin-top:auto}
  .kvart-shell-ready .kvart-menu-backdrop{display:block;position:fixed;inset:0;width:100%;height:100vh;height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:#08100bb3;z-index:39;cursor:default;touch-action:none}
  .kvart-shell-ready .kvart-menu-backdrop[hidden]{display:none}
 }
}
html[data-motion="reduce"],html[data-motion="reduce"] *{scroll-behavior:auto!important}
html[data-motion="reduce"] *,html[data-motion="reduce"] *::before,html[data-motion="reduce"] *::after{transition:none!important;animation:none!important}
html[data-motion="reduce"] :is(.lesson-card,.block-nav a){transform:none!important}
/* Account entry and activation share one compact, keyboard-accessible form. */
.account-modes{display:grid;grid-template-columns:minmax(70px,.6fr) minmax(0,1.4fr);gap:5px;padding:5px;margin:0 0 20px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.account-modes[hidden]{display:none}
.account-modes button{min-width:0;min-height:44px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;line-height:1.35;text-align:center;white-space:normal}
.account-modes button[aria-pressed="true"]{background:var(--accent-soft,var(--paper));color:var(--ink);box-shadow:0 1px 5px #00000010;font-weight:650}
.account-modes button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.account-dialog .account-field[hidden]{display:none}
.account-dialog .account-field small{display:block;line-height:1.5;color:var(--muted)}
.account-dialog #accountForm{min-width:0}
.account-dialog #accountNote{margin-top:18px}
@media(max-width:480px){.account-dialog{padding:20px 18px}.account-modes{margin-bottom:16px}.account-field{margin:16px 0}.account-intro p{margin-bottom:18px}}
@media print{
 .kvart-mobile-bar,.kvart-menu-backdrop,.kvart-sidebar-controls{display:none!important}
 .kvart-shell-ready main{margin:0;padding:0;transition:none}
}
