/* Shared dark design system: neutral graphite, warm paper, restrained coral. */
:root{color-scheme:dark;--bg:#101215;--surface:#191c21;--ink:#edeef0;--muted:#a0a6af;--purple:#e8a181;--line:#2d323a;--lavender:#272d36;--radius:10px;--sidebar:0px}
html{scroll-padding-top:32px}body{background:var(--bg);color:var(--ink);font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:500;letter-spacing:-.6px}h1{font-size:38px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:500;color:#a4abb6}.accent{display:none}p,.muted{color:var(--muted)}a:hover{color:#fff}:focus-visible{outline:2px solid #e8a181;outline-offset:5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:none}.small,small{font-size:12px}.button{background:#e9e9e5;color:#16181b;border:1px solid #e9e9e5;border-radius:7px;padding:14px 20px;font-size:13px;font-weight:550;gap:25px;transition:background .2s,transform .2s}.button:hover{background:#fff;color:#16181b;transform:translateY(-2px);box-shadow:none}.button span{transition:transform .2s}.button:hover span{transform:translate(2px,-2px)}.button.secondary{background:transparent;color:#d8dce2;border-color:#50555f}.text-link,.purple{color:#e8b298}.quiet-link{display:inline-flex;gap:18px;align-items:center;font-size:13px;color:#b9bfc8}.quiet-link:hover{color:white}.badge{border-radius:4px;background:#2a303a;color:#c1c9d6;font-size:11px}.badge.green{background:#28352f;color:#bed2c3}.skip{background:white;color:#101215}
.site-header{position:relative;z-index:20;max-width:1440px;margin:auto;min-height:100px;padding:24px 54px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #ffffff0c}.brand{margin:0;display:flex;align-items:center;gap:12px;flex-shrink:0;color:#e9ecee;font-size:13px;font-weight:550;letter-spacing:.1px;line-height:1.5}.brand svg{flex-shrink:0}.sidebar{position:static;inset:auto;width:auto;display:flex;flex-direction:row;gap:7px;padding:0;border:0;background:none;transform:none;box-shadow:none;z-index:20}.nav-link{font-size:12px;font-weight:450;margin:0;padding:9px 12px;border:0;border-radius:6px;color:#969faa;white-space:nowrap}.nav-link.active{color:#f2f3f4;background:#252a32;border:0;padding-left:12px}.nav-link:hover{background:#20242b;color:white}.teacher-link{font-size:11px;white-space:nowrap;color:#939ca7}.teacher-link span{margin-left:8px;color:#d8dfe5}.menu-button{display:none}.shell{margin:0}.shell main{max-width:1440px;margin:auto;padding:48px 54px 65px}.page-heading h1{font-size:36px}.page-heading p{font-size:14px}.page-heading{margin-bottom:32px}footer{max-width:1332px;margin:auto;padding:28px 0;border-color:var(--line);font-size:11px;color:#919aa5}footer>span:first-child{color:#bdc3ca}.section-title{margin:32px 0 20px}.section-title h2{font-size:21px}.section-title>a{font-size:12px;color:#b9c4d3}.section-title>.small{font-size:12px}
.filters{gap:12px}.search-field,.filters select{border-color:#3d4551;background:#1b2027;border-radius:7px;color:#dce1e8}.search-field input{font-size:13px;color:var(--ink);padding:14px 0}.search-field input::placeholder{color:#9ba5b3}.search-field span{color:#b6c1d1}.filters select{padding:14px 30px 14px 14px;font-size:12px}.module-number{font:20px Consolas,monospace;background:#262d38;color:#c0cee2;border:0;border-radius:6px}.lesson-group{background:#181c22;padding:25px;border:1px solid #303844;border-radius:10px}.module-heading{margin-bottom:20px}.module-heading h2{font-size:21px}.lesson-row{border-color:#303742;padding:20px 0}.lesson-row h3{font-size:14px;font-weight:450}.lesson-row:hover h3{color:#eac1ab}.lesson-num,.lesson-time{color:#a4b1c2}.catalog-card h2{font-weight:500}.catalog-card p{font-size:13px;line-height:1.8}.card-actions{border-color:var(--line)}.card-actions .small{color:#9da8b7}.file-icon{background:#272f3d;color:#c0cee4;border:0;border-radius:5px}.resource-relations{color:#c1cbd9}.resource-row{border-color:var(--line)}.resource-row h3{font-size:14px}.resource-row .small{font-size:12px}.back-link,.detail-meta{color:#a5b1c2}.detail-title{font-size:38px}.prose{background:#191e25;color:#d4dce7;border-color:#343e4b;font-size:16px;line-height:1.9}.prose p,.prose ul,.prose ol{color:#bcc6d4}.prose h2,.prose h3{color:#e7ebf0}.prose section+section{border-color:#354151}.objective,.prose blockquote{background:#252f3d;border:0;border-left:2px solid #9aafcd;border-radius:0 5px 5px 0}.prose a{color:#e5b69e}.prose p code,.prose li code{background:#303d51;color:#d5dfef}.prose th,.prose td{border-color:#435167}.prose th{background:#273247}.codehilite{background:#11161d;border-color:#374356;border-radius:7px}.copy-code{background:#28354a;color:#d5e0f3;border-color:#516483;border-radius:4px}.reading-aside .card{background:transparent;border-color:var(--line);border-radius:7px}.reading-aside a{color:#b9c8de}.lesson-pagination .card{background:transparent}.lesson-pagination span{color:#b4c5dd}.reading-aside h3{font-size:14px}
.demo-label{color:#a7b3c4}.demo-notice{color:#c1cad8;background:#252d3a;border-radius:5px}.rank{color:#b3c0d3}.rank-1{color:#e6b281}.rank-2{color:#bac8dc}.rank-3{color:#c7a68f}.score,.big-score{color:#ccd9ec}.score small,.big-score span{color:#a2b3cc}.avatar{background:#29374b;color:#c7d8f0}.leader-row{border-color:var(--line)}.leader-caption{background:#1b2431;border-color:var(--line);color:#a3b5cc}.ranking th{background:#202a37;color:#c1cddd}.ranking td{border-color:#384454}.ranking td small{color:#a9b9d0}.table-wrap{background:#1a222d}.podium-card{background:#1a2029}.project-art{background:#2a3545;color:#c3d1e5}.project-art small{color:#b5c6df}.project-info p{font-size:13px}.video-cover{background:#273241;border-color:#384b63}.video-cover:before{display:none}.video-pattern{color:#aebed469}.play{background:#202a38;color:#d0dcec;border:1px solid #8999b1;backdrop-filter:none}.video-cover:hover .play{color:#202a38;background:#d0dcec}.video-card{background:#1c2634;border-color:#3c4d65}.video-info p{font-size:12px}.external-video{background:#222e3e}.external-video .play{position:static}.video-player{background:#141e2b}.about-stats .card{background:transparent}.about-stats b{color:#cbd9ee}.about-stats span{color:#a6bad6}.announcement{background:#26382f;color:#c8dece;border-radius:5px}
@media(max-width:1200px){.site-header{padding:22px 32px;gap:18px}.teacher-link{display:none}.sidebar{gap:2px}.shell main{padding:38px 32px 55px}footer{margin:0 32px}.brand{font-size:12px}.nav-link{font-size:12px;padding:9px 10px}}
@media(max-width:900px){.site-header{padding:20px 26px;gap:14px}.brand{font-size:11px;gap:8px}.brand svg{width:32px}.nav-link{font-size:11px;padding:8px}.shell main{padding:32px 26px 45px}.sidebar{gap:0}.reading-layout{grid-template-columns:1fr}.detail-title{font-size:32px}}
@media(max-width:740px){.site-header{min-height:80px;padding:19px 22px}.brand{font-size:13px;gap:10px}.brand svg{width:36px}.menu-button{display:block;background:#252c36;color:#eceff4;border:1px solid #3b4554;border-radius:6px;font-size:19px;padding:5px 10px}.sidebar{position:absolute;left:14px;right:14px;top:74px;bottom:auto;width:auto;padding:12px;flex-direction:column;gap:4px;border:1px solid #424c5b;border-radius:10px;background:#1c222c;box-shadow:0 18px 40px #0009;transform:translateY(-10px);opacity:0;visibility:hidden;transition:transform .2s,opacity .2s,visibility .2s}.sidebar.open{transform:translateY(0);opacity:1;visibility:visible}.nav-link{font-size:14px;padding:12px 15px}.nav-link.active{padding-left:15px;background:#303a49}.shell main{padding:27px 22px 40px}.page-heading h1{font-size:30px}.lesson-group{padding:20px}.module-heading h2{font-size:18px}.reading-layout .prose{padding:24px;font-size:15px}footer{margin:0 22px;font-size:10px}.teacher-link{display:none}}
@media(max-width:520px){.module-heading h2{font-size:17px}.module-heading{gap:12px}.module-number{font-size:17px;padding:9px}.lesson-group{padding:18px 15px}.lesson-row{gap:11px}.lesson-row h3{font-size:13px;line-height:1.65}.detail-title{font-size:29px}.reading-layout .prose{padding:20px 17px}.program-section .prose{padding:0}.card-actions{flex-wrap:wrap}.prose{font-size:15px}}
