:root{--paper:#f6f1e7;--surface:#fffdf7;--surface-strong:#ebe4d5;--ink:#17231f;--muted:#5e6a64;--line:#d4ccbd;--accent:#176b4d;--accent-hover:#10583f;--accent-ink:#f8fff9;--warm:#ed713c;--dark:#14201b;--dark-muted:#d6dfd9;--focus:#d45c2c;--shadow:0 18px 50px #17231f1f;--content:1180px;--sans:Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{color:var(--ink);background:radial-gradient(circle at 88% 6%, #ed713c21, transparent 24rem), radial-gradient(circle at 7% 28%, #176b4d1a, transparent 25rem), var(--paper);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,summary,label,select{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{color:var(--accent-ink);background:var(--accent)}.shell{width:min(calc(100% - 40px), var(--content));margin-inline:auto}.site-header{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6f1e7e6;border-bottom:1px solid #d4ccbdd6;position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:22px;min-height:74px;display:flex}.brand{letter-spacing:-.025em;align-items:center;gap:11px;font-weight:800;display:inline-flex}.brand-mark{width:36px;height:36px;color:var(--accent-ink);background:var(--accent);border-radius:11px;place-items:center;display:grid;box-shadow:0 8px 20px #176b4d2e}.brand small{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.desktop-nav{color:var(--muted);align-items:center;gap:24px;font-size:14px;font-weight:700;display:flex}.desktop-nav>a:not(.button):hover,.footer-links a:hover{color:var(--accent)}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font-weight:750;line-height:1.2;transition:transform .16s,border-color .16s,background .16s,color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--accent-ink);background:var(--accent);box-shadow:0 10px 24px #176b4d2e}.button-primary:hover{background:var(--accent-hover)}.button-secondary{color:var(--ink);border-color:var(--line);background:#fffdf794}.button-secondary:hover{color:var(--accent);border-color:var(--accent)}.button-on-dark{color:var(--dark);background:var(--paper)}.button-on-dark:hover{color:var(--accent)}.button-disabled{color:var(--muted);border-color:var(--line);background:var(--surface-strong);cursor:not-allowed}.mobile-menu{display:none;position:relative}.mobile-menu summary{border:1px solid var(--line);background:var(--surface);border-radius:11px;place-items:center;width:42px;height:42px;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.menu-lines,.menu-lines:before,.menu-lines:after{background:var(--ink);border-radius:2px;width:18px;height:2px;display:block}.menu-lines{position:relative}.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0}.menu-lines:before{top:-6px}.menu-lines:after{top:6px}.mobile-menu nav{border:1px solid var(--line);background:var(--surface);min-width:220px;box-shadow:var(--shadow);border-radius:14px;gap:4px;padding:10px;display:grid;position:absolute;top:50px;right:0}.mobile-menu nav a{border-radius:9px;padding:10px 12px;font-weight:700}.mobile-menu nav a:hover{color:var(--accent);background:#176b4d14}.hero{grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr);align-items:center;gap:clamp(42px,7vw,92px);padding-block:clamp(70px,9vw,116px);display:grid}.eyebrow,.section-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 13px;font-size:12px;font-weight:850;display:flex}.live-dot{background:var(--warm);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 6px #ed713c21}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance;line-height:1.1}h1{letter-spacing:-.065em;max-width:10.5ch;margin-bottom:24px;font-size:clamp(48px,7vw,86px)}h1 span{color:var(--accent);display:block}h2{letter-spacing:-.05em;margin-bottom:16px;font-size:clamp(34px,4.6vw,58px)}h3{letter-spacing:-.03em;margin-bottom:14px;font-size:24px}.hero-lead{max-width:650px;color:var(--muted);margin-bottom:30px;font-size:clamp(17px,2vw,20px)}.button-row{flex-wrap:wrap;gap:12px;display:flex}.path-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf7e6;border-radius:22px;padding:26px;transform:rotate(1.25deg)}.path-list{margin:22px 0 0;padding:0;list-style:none}.path-list li{grid-template-columns:40px 1fr;gap:14px;padding-bottom:22px;display:grid;position:relative}.path-list li:last-child{padding-bottom:0}.path-list li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:40px;bottom:0;left:19px}.path-list li>span{z-index:1;width:40px;height:40px;color:var(--accent);border:1px solid var(--line);background:var(--paper);border-radius:50%;place-items:center;font-size:12px;font-weight:850;display:grid}.path-list strong{margin-bottom:3px;display:block}.path-list p{color:var(--muted);margin-bottom:0;font-size:14px}.proof-strip{border-block:1px solid var(--line);background:#fffdf77a}.proof-grid{grid-template-columns:repeat(3,1fr);display:grid}.proof-item{padding:28px 34px}.proof-item:not(:last-child){border-right:1px solid var(--line)}.proof-item strong,.proof-item span{display:block}.proof-item span{color:var(--muted);font-size:14px}.section{padding-block:clamp(74px,9vw,120px)}.section+.section{padding-top:0}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px;display:flex}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:480px;color:var(--muted);margin-bottom:5px}.course-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.course-card{border:1px solid var(--line);background:#fffdf7d1;border-radius:19px;flex-direction:column;min-height:100%;padding:25px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.course-card:hover{border-color:#176b4da6;transform:translateY(-4px);box-shadow:0 16px 38px #17231f1a}.course-card-featured{border-color:var(--accent);box-shadow:inset 0 4px 0 var(--accent)}.status{border-radius:999px;align-self:flex-start;margin-bottom:24px;padding:5px 10px;font-size:12px;font-weight:850;display:inline-block}.status-open{color:var(--accent);background:#176b4d1a}.status-waitlist{color:#8c451f;background:#ed713c21}.status-paused{color:var(--muted);background:var(--surface-strong)}.course-card>p{color:var(--muted)}.outcome-list{flex:1;margin:7px 0 26px;padding:0;list-style:none}.outcome-list li{color:var(--muted);padding:7px 0 7px 24px;position:relative}.outcome-list li:before{content:"✓";color:var(--accent);font-weight:900;position:absolute;left:0}.course-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-top:18px;font-weight:750;display:flex}.course-card-footer a{color:var(--accent)}.featured-course{color:var(--paper);background:radial-gradient(circle at 86% 16%, #ed713c2b, transparent 19rem), var(--dark);border-radius:26px;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:center;gap:clamp(32px,6vw,72px);padding:clamp(30px,6vw,68px);display:grid;box-shadow:0 26px 60px #17231f29}.featured-copy>p:not(.section-kicker){color:var(--dark-muted)}.section-kicker-light{color:#9ce2c1}.featured-facts{flex-wrap:wrap;gap:8px;margin:24px 0 26px;display:flex}.featured-facts span{color:var(--dark-muted);border:1px solid #f6f1e738;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:750}.phase-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.phase-card{background:#f6f1e712;border:1px solid #f6f1e730;border-radius:14px;padding:18px}.phase-card span{color:#f2a173;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:850;display:block}.phase-card strong{margin-bottom:5px;display:block}.phase-card p{color:var(--dark-muted);margin-bottom:0;font-size:13px}.method-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.method-grid li{border-top:3px solid var(--line);padding-top:18px}.method-grid li:first-child{border-color:var(--accent)}.method-grid span{color:var(--accent);margin-bottom:18px;font-size:13px;font-weight:850;display:block}.method-grid strong{margin-bottom:7px;display:block}.method-grid p{color:var(--muted);margin-bottom:0;font-size:14px}.truth-layout,.faq-layout{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(34px,8vw,110px);display:grid}.truth-copy{border-left:3px solid var(--warm);color:var(--muted);padding-left:24px;font-size:18px}.truth-copy p:last-child{margin-bottom:0}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:22px 48px 22px 0;font-weight:750;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--accent);font-size:25px;position:absolute;top:18px;right:4px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:720px;color:var(--muted);padding:0 48px 22px 0}.final-cta{background:var(--surface-strong);border-radius:24px;justify-content:space-between;align-items:center;gap:34px;margin-bottom:clamp(70px,9vw,116px);padding:clamp(30px,5vw,54px);display:flex}.final-cta h2{max-width:790px;font-size:clamp(30px,4vw,48px)}.final-cta p:last-child{color:var(--muted);margin-bottom:0}.site-footer{color:var(--dark-muted);background:var(--dark);padding-block:42px}.footer-grid{grid-template-columns:1.3fr repeat(2,.7fr);gap:40px;display:grid}.footer-brand .brand{margin-bottom:14px}.footer-brand p{color:#aebcb4;max-width:440px;margin-bottom:0}.footer-links strong{color:var(--paper);margin-bottom:12px;display:block}.footer-links a{color:#aebcb4;margin:8px 0;display:block}.footer-meta{color:#87978e;border-top:1px solid #f6f1e726;justify-content:space-between;gap:20px;margin-top:38px;padding-top:22px;font-size:13px;display:flex}.page-hero{padding-block:clamp(62px,8vw,100px)}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:26px;font-size:13px;display:flex}.breadcrumb a:hover{color:var(--accent)}.page-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:clamp(36px,8vw,100px);display:grid}.page-hero h1{max-width:13ch;font-size:clamp(46px,6vw,76px)}.page-lead{max-width:720px;color:var(--muted);font-size:19px}.course-summary{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:24px}.course-summary dl{grid-template-columns:1fr 1fr;gap:18px;margin:24px 0;display:grid}.course-summary dt{color:var(--muted);font-size:12px;font-weight:750}.course-summary dd{margin:2px 0 0;font-weight:750}.course-summary .button{width:100%}.content-section{border-top:1px solid var(--line);padding-block:72px}.content-grid{grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:clamp(34px,8vw,108px);display:grid}.content-grid h2{font-size:clamp(30px,3.8vw,46px)}.content-copy{color:var(--muted)}.deliverable-grid,.audience-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.deliverable-card,.audience-card{border:1px solid var(--line);background:#fffdf7ad;border-radius:15px;padding:20px}.deliverable-card span{width:32px;height:32px;color:var(--accent-ink);background:var(--accent);border-radius:9px;place-items:center;margin-bottom:16px;font-size:12px;font-weight:800;display:grid}.deliverable-card p,.audience-card p{color:var(--muted);margin-bottom:0;font-size:14px}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-top:1px solid var(--line);grid-template-columns:100px 1fr;gap:22px;padding:22px 0;display:grid}.timeline li:last-child{border-bottom:1px solid var(--line)}.timeline span{color:var(--accent);font-size:13px;font-weight:850}.timeline h3{margin-bottom:7px;font-size:20px}.timeline p{color:var(--muted);margin-bottom:0}.notice{border-left:4px solid var(--warm);background:#ed713c17;border-radius:0 12px 12px 0;margin-bottom:24px;padding:18px 20px}.notice p:last-child{margin-bottom:0}.mini-list{margin:0;padding-left:20px}.mini-list li{margin:8px 0}.match-page{padding-block:clamp(56px,8vw,96px)}.match-intro{max-width:780px;margin-bottom:44px}.match-intro h1{max-width:12ch;font-size:clamp(44px,6vw,72px)}.match-intro>p:last-child{color:var(--muted);font-size:18px}.match-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:24px;display:grid}.match-form,.match-result{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:clamp(22px,4vw,36px)}.form-group{border:0;margin:0 0 32px;padding:0}.form-group legend,.field-label{margin-bottom:14px;font-weight:800;display:block}.choice-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.choice{position:relative}.choice input{opacity:0;position:absolute}.choice span{border:1px solid var(--line);background:var(--paper);border-radius:12px;min-height:100%;padding:14px;display:block}.choice input:checked+span{color:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#176b4d12}.choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.select-field,.text-area{width:100%;color:var(--ink);border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:12px 14px}.text-area{resize:vertical;min-height:180px}.form-help{color:var(--muted);margin:10px 0 0;font-size:13px}.match-result{position:sticky;top:98px}.match-result-empty{color:var(--muted)}.result-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:850}.match-result h2{font-size:34px}.match-result .button{width:100%;margin-top:10px}.copy-status{min-height:24px;color:var(--accent);margin:10px 0 0;font-size:13px}.simple-page{padding-block:clamp(58px,8vw,100px)}.simple-page-header{max-width:800px;margin-bottom:48px}.simple-page-header h1{max-width:14ch;font-size:clamp(44px,6vw,72px)}.simple-page-header p:last-child{color:var(--muted);font-size:18px}.simple-layout{border-top:1px solid var(--line);grid-template-columns:.7fr 1.3fr;gap:clamp(34px,8vw,100px);padding-block:40px;display:grid}.simple-layout h2{font-size:30px}.simple-layout>div:last-child{color:var(--muted)}.simple-layout .button-row{margin-top:24px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block}.hero,.featured-course,.page-hero-grid,.match-layout{grid-template-columns:1fr}.path-panel{transform:none}.course-grid{grid-template-columns:1fr 1fr}.course-card:first-child{grid-column:1/-1}.method-grid{grid-template-columns:repeat(2,1fr)}.match-result{position:static}}@media (max-width:680px){.shell{width:min(calc(100% - 28px), var(--content))}.brand small{display:none}.hero{padding-block:56px 66px}h1{font-size:clamp(44px,15vw,66px)}.proof-grid,.course-grid,.phase-grid,.method-grid,.truth-layout,.faq-layout,.content-grid,.deliverable-grid,.audience-grid,.simple-layout,.footer-grid{grid-template-columns:1fr}.course-card:first-child{grid-column:auto}.proof-item{padding:20px 6px}.proof-item:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}.section-heading,.final-cta,.footer-meta{flex-direction:column;align-items:flex-start}.section{padding-block:68px}.section+.section{padding-top:0}.featured-course{border-radius:19px}.timeline li{grid-template-columns:1fr;gap:7px}.choice-grid{grid-template-columns:1fr}.footer-grid{gap:28px}}@media (max-width:420px){.button-row .button,.final-cta .button{width:100%}.brand>span:last-child{font-size:14px}.course-summary dl{grid-template-columns:1fr}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.muted-copy{color:var(--muted)}.nav-learn-button{min-height:40px;padding:8px 13px}.signout-notice{margin-top:22px}.student-inline-link{color:var(--accent);margin-top:14px;font-size:14px;font-weight:800;display:inline-block}.button-complete{color:var(--accent);cursor:default;background:#176b4d17;border-color:#176b4d59}.platform-preview{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#fffdf7f5,#ebe4d5bf);border-radius:26px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(34px,7vw,84px);padding:clamp(28px,5vw,58px);display:grid}.platform-preview>div:first-child>p{color:var(--muted)}.platform-feature-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.platform-feature-grid article{border:1px solid var(--line);background:#fffdf7d1;border-radius:16px;padding:20px}.platform-feature-grid span{color:var(--warm);margin-bottom:14px;font-size:12px;font-weight:900;display:block}.platform-feature-grid strong{display:block}.platform-feature-grid p{color:var(--muted);margin:6px 0 0;font-size:14px}.learn-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf7f0;border-bottom:1px solid #d4ccbdd9;position:sticky;top:0}.learn-header-inner{align-items:center;gap:26px;width:min(100% - 34px,1480px);min-height:68px;margin-inline:auto;display:flex}.learn-header nav{color:var(--muted);flex:1;align-items:center;gap:22px;font-size:14px;font-weight:750;display:flex}.learn-header nav a:hover{color:var(--accent)}.learn-mobile-nav{display:none}.learn-account{align-items:center;gap:12px;max-width:290px;font-size:13px;display:flex}.learn-account span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learn-account a{color:var(--accent);font-weight:800}.learn-layout{grid-template-columns:276px minmax(0,1fr);min-height:calc(100vh - 68px);display:grid}.course-sidebar{border-right:1px solid var(--line);background:#ebe4d573;align-self:start;height:calc(100vh - 68px);padding:28px 18px;position:sticky;top:68px;overflow-y:auto}.sidebar-title{padding:0 10px 20px}.sidebar-title span,.sidebar-title strong,.sidebar-title small{display:block}.sidebar-title span{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.sidebar-title strong{margin-top:6px;line-height:1.25}.sidebar-title small{color:var(--muted);margin-top:4px}.course-sidebar ol{margin:0;padding:0;list-style:none}.course-sidebar li{margin:3px 0}.course-sidebar li a{border:1px solid #0000;border-radius:11px;grid-template-columns:28px 1fr;align-items:center;gap:9px;padding:10px;display:grid}.course-sidebar li a:hover,.course-sidebar li a.active{border-color:var(--line);background:var(--surface)}.course-sidebar li a.active{box-shadow:inset 3px 0 0 var(--accent)}.course-sidebar li a>span{color:var(--warm);font-size:11px;font-weight:900}.course-sidebar li strong,.course-sidebar li small{line-height:1.3;display:block}.course-sidebar li strong{font-size:13px}.course-sidebar li small{color:var(--muted);margin-top:3px;font-size:11px}.course-sidebar .upcoming-week{color:var(--muted);opacity:.72;grid-template-columns:28px 1fr;align-items:center;gap:9px;padding:10px;display:grid}.course-sidebar .upcoming-week>span{color:var(--warm);font-size:11px;font-weight:900}.sidebar-links{border-top:1px solid var(--line);gap:4px;margin-top:18px;padding-top:16px;display:grid}.sidebar-links a{color:var(--muted);padding:8px 10px;font-size:13px;font-weight:750}.sidebar-links a:hover{color:var(--accent)}.learn-main{width:min(100%,1180px);margin-inline:auto;padding:clamp(34px,5vw,70px) clamp(22px,5vw,70px) 100px}.learn-dashboard-hero{color:var(--accent-ink);background:radial-gradient(circle at 86% 0, #ed713c57, transparent 18rem), var(--dark);border-radius:24px;justify-content:space-between;align-items:end;gap:36px;margin-bottom:30px;padding:clamp(26px,5vw,48px);display:flex}.learn-dashboard-hero h1,.learn-page-heading h1,.lesson-hero h1{letter-spacing:-.055em;max-width:none;margin-bottom:14px;font-size:clamp(38px,5vw,64px)}.learn-dashboard-hero>div:first-child>p:last-child{max-width:650px;color:var(--dark-muted);margin:0}.overall-progress{min-width:175px}.overall-progress>strong{font-size:54px;line-height:1;display:block}.overall-progress>strong span{color:var(--dark-muted);font-size:22px}.overall-progress p{color:var(--dark-muted);margin:8px 0;font-size:13px}.overall-progress>div{background:#fff3;border-radius:99px;height:7px;overflow:hidden}.overall-progress i{border-radius:inherit;background:var(--warm);height:100%;display:block}.dashboard-grid{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:20px;display:grid}.week-board,.dashboard-rail section{border:1px solid var(--line);background:var(--surface);border-radius:19px}.week-board{overflow:hidden}.board-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding:25px;display:flex}.board-heading h2{margin:0;font-size:30px}.board-heading>a,.dashboard-rail a{color:var(--accent);font-size:13px;font-weight:800}.week-list article{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px 25px;display:grid}.week-list article:last-child{border-bottom:0}.week-number{width:38px;height:38px;color:var(--accent);border:1px solid var(--line);border-radius:50%;place-items:center;font-size:12px;font-weight:900;display:grid}.week-list h3{margin:0 0 4px;font-size:18px}.week-list p{color:var(--muted);margin:0 0 8px;font-size:13px}.week-state{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:11px;font-weight:800;display:flex}.week-state .done{color:var(--accent)}.week-state .attention{color:#a44d22}.dashboard-rail{gap:14px;display:grid}.dashboard-rail section{padding:22px}.dashboard-rail h2{font-size:25px}.dashboard-rail .button{width:100%;margin-top:10px}.metric-pair{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.metric-pair div{background:var(--paper);border-radius:12px;padding:14px}.metric-pair strong,.metric-pair span{display:block}.metric-pair strong{color:var(--accent);font-size:26px}.metric-pair span{color:var(--muted);font-size:11px}.boundary-card{background:#ed713c14!important}.boundary-card p{color:var(--muted);margin-bottom:0;font-size:13px}.mobile-lesson-nav{display:none}.lesson-hero{border:1px solid var(--line);background:linear-gradient(145deg,#fffdf7fa,#ebe4d5b3);border-radius:24px;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);align-items:start;gap:30px;margin-bottom:22px;padding:clamp(26px,5vw,48px);display:grid}.lesson-hero>div>p:nth-of-type(2){max-width:760px;color:var(--muted);font-size:17px}.lesson-meta{flex-wrap:wrap;gap:8px;display:flex}.lesson-meta span{color:var(--accent);background:#176b4d17;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.lesson-hero aside{border:1px solid var(--line);background:#fffdf7bf;border-radius:15px;padding:20px}.lesson-hero aside ol{color:var(--muted);margin:12px 0 0;padding-left:20px;font-size:14px}.lesson-hero aside li{margin:6px 0}.homework-hero aside p{color:var(--muted);margin:9px 0 0;font-size:14px}.course-resources{background:linear-gradient(145deg,#e8f5edd1,#fffdf7f5);border:1px solid #176b4d47;border-radius:18px;max-width:920px;margin:0 auto 26px;padding:22px;box-shadow:0 12px 32px #17231f0f}.course-resources-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px;display:flex}.course-resources-heading h2{margin:3px 0 0;font-size:clamp(24px,3vw,31px)}.course-resources-heading>p{max-width:420px;color:var(--muted);margin:0;font-size:13px}.course-resource-list{gap:10px;display:grid}.course-resource-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.course-resource-icon{width:48px;height:48px;color:var(--accent-ink);background:var(--accent);letter-spacing:.05em;border-radius:11px;place-items:center;font-size:11px;font-weight:900;display:grid}.course-resource-card strong{overflow-wrap:anywhere;display:block}.course-resource-card p{color:var(--muted);margin:4px 0;font-size:13px}.course-resource-card span{color:var(--accent);font-size:11px;font-weight:800}.course-resource-card .button{white-space:nowrap}.video-slot{border:1px solid var(--line);background:var(--surface);border-radius:15px;justify-content:space-between;align-items:center;gap:20px;max-width:920px;margin:0 auto 26px;padding:16px 20px;display:flex}.video-slot>div{align-items:center;gap:14px;display:flex}.video-slot>div>span{width:38px;height:38px;color:var(--accent-ink);background:var(--accent);border-radius:50%;place-items:center;display:grid}.video-slot strong,.video-slot p{margin:0;display:block}.video-slot p{color:var(--muted);font-size:13px}.video-slot video{width:min(100%,620px)}.video-status{color:var(--muted);font-size:12px;font-weight:800}.lesson-prose{border:1px solid var(--line);background:var(--surface);border-radius:21px;max-width:920px;margin-inline:auto;padding:clamp(28px,5vw,52px);box-shadow:0 14px 40px #17231f0f}.lesson-on-page{border:1px solid var(--line);background:#fffdf7e0;border-radius:15px;max-width:920px;margin:0 auto 14px;padding:16px 18px}.lesson-on-page strong{color:var(--accent);margin-bottom:9px;font-size:12px;display:block}.lesson-on-page ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px;margin:0;padding-left:20px;display:grid}.lesson-on-page a{color:var(--muted);font-size:13px}.lesson-on-page a:hover{color:var(--accent)}.lesson-prose>:first-child{margin-top:0}.lesson-prose h2{letter-spacing:-.04em;margin:2.3em 0 .75em;padding-top:.25em;scroll-margin-top:92px;font-size:clamp(28px,4vw,40px)}.lesson-prose h3{margin:2em 0 .65em;scroll-margin-top:92px;font-size:23px}.lesson-prose h4{margin:1.8em 0 .55em;font-size:18px}.lesson-prose p,.lesson-prose li{color:#33413b}.lesson-prose p{margin-bottom:1.05em}.lesson-prose li{margin:.36em 0}.lesson-prose ul,.lesson-prose ol{padding-left:1.55em}.lesson-prose blockquote{border-left:4px solid var(--warm);background:#ed713c12;margin:1.5em 0;padding:14px 18px}.lesson-prose blockquote p:last-child{margin-bottom:0}.lesson-prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.lesson-prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.lesson-prose :not(pre)>code{color:#8a3918;background:#ed713c1a;border-radius:5px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.table-scroll{width:100%;margin:1.4em 0;overflow-x:auto}.lesson-prose table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}.lesson-prose th,.lesson-prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.lesson-prose th{background:var(--surface-strong)}.static-code{color:#e9f3ed;white-space:pre;background:#17231f;border-radius:13px;max-height:520px;margin:1.35em 0;padding:18px;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:auto}.static-python-block{margin:1.35em 0;position:relative}.static-python-block>span{z-index:1;color:#a9b9b0;letter-spacing:.03em;background:#213029;border:1px solid #3b4e46;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800;position:absolute;top:8px;right:10px}.static-python-block .static-code{margin:0;padding-top:42px}.python-runner{color:#edf7f0;background:#14201b;border:1px solid #2f493f;border-radius:15px;margin:1.5em 0;overflow:hidden;box-shadow:0 12px 28px #14201b2e}.python-toolbar{background:#1a2a23;border-bottom:1px solid #31453d;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.python-toolbar>span{color:#cfe1d7;letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:850;display:flex}.python-toolbar i{background:var(--warm);border-radius:50%;width:8px;height:8px}.python-toolbar>div{gap:6px;display:flex}.runner-button{color:#0e2a20;background:#a9e7c7;border:0;border-radius:7px;min-height:44px;padding:8px 12px;font-size:11px;font-weight:850}.runner-button:disabled{opacity:.55;cursor:not-allowed}.runner-button-quiet{color:#d8e6dd;background:0 0;border:1px solid #41584f}.runner-save-row{color:#9fb2a8;background:#101c17;border-bottom:1px solid #31453d;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:11px;display:flex}.runner-save-state{color:#a9e7c7;flex:none}.runner-save-state.is-saving{color:#f7d49d}.runner-save-state.is-error,.runner-save-state.is-conflict{color:#ffb59b}.runner-save-error{border-top:1px solid #31453d;padding:9px 15px;font-size:12px;color:#ffb59b!important;margin:0!important}.runner-reset-confirm{color:#f4ddb2;background:#2a2418;border-bottom:1px solid #5a492d;justify-content:space-between;align-items:center;gap:16px;padding:12px 15px;font-size:12px;display:flex}.runner-reset-confirm>div{flex:none;gap:7px;display:flex}.runner-reset-confirm button{color:#fff2d5;font:inherit;cursor:pointer;background:0 0;border:1px solid #887044;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.runner-reset-confirm button:first-child{color:#2d2414;background:#f4d89c}.python-editor{resize:vertical;color:#eef7f1;tab-size:4;background:#14201b;border:0;outline:0;width:100%;min-height:112px;max-height:500px;padding:18px;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:block}.python-editor:focus{box-shadow:inset 0 0 0 2px var(--warm)}.runner-status{border-top:1px solid #31453d;margin:0;padding:9px 15px;font-size:12px;color:#f6d3c4!important}.runner-output{color:#dfece4;background:#0e1814;border-top:1px solid #31453d;padding:14px 16px}.runner-output strong{color:#a9e7c7;font-size:12px}.runner-output p{font-size:12px;color:inherit!important;margin:8px 0 0!important}.runner-output-empty{color:#91a59a;background:#111d18}.runner-output pre{max-height:340px;color:inherit;white-space:pre-wrap;word-break:break-word;margin:8px 0 0;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:auto}.runner-output-error{color:#ffc5ae}.runner-output img{background:#fff;border-radius:8px;max-width:100%;margin-top:12px;display:block}.runner-note{border-top:1px solid #31453d;padding:8px 15px 10px;font-size:11px;color:#95a89e!important;margin:0!important}.lesson-complete-card{max-width:920px;color:var(--accent-ink);background:var(--dark);border-radius:20px;justify-content:space-between;align-items:center;gap:32px;margin:24px auto;padding:clamp(24px,4vw,38px);display:flex}.lesson-complete-card h2{font-size:30px}.lesson-complete-card p{max-width:600px;color:var(--dark-muted)}.lesson-complete-card>div:last-child{gap:9px;min-width:230px;display:grid}.lesson-complete-card .button{width:100%}.lesson-pagination{grid-template-columns:1fr 1fr;gap:12px;max-width:920px;margin:18px auto 0;display:grid}.lesson-pagination a{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:16px 18px}.lesson-pagination a:last-child{text-align:right}.lesson-pagination span,.lesson-pagination strong{display:block}.lesson-pagination span{color:var(--muted);font-size:11px}.lesson-pagination strong{margin-top:3px}.lesson-breadcrumb{max-width:920px;margin:0 auto 20px}.submission-panel{border:1px solid var(--line);background:var(--surface);border-radius:20px;max-width:920px;margin:24px auto 0;padding:clamp(24px,4vw,38px)}.submission-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.submission-heading h2{font-size:34px}.review-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;display:inline-flex}.review-submitted{color:#8a4a1e;background:#ed713c24}.review-approved{color:var(--accent);background:#176b4d1c}.review-changes_requested{color:#9b2f2f;background:#b040401c}.submission-history{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:18px}.submission-history-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.submission-history-meta span{color:var(--muted);font-size:12px}.submission-history p{white-space:pre-wrap;margin:10px 0}.submission-history .submission-version-note{color:#7b5c20;background:#f7ead0;border-radius:999px;margin:10px 0 0;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.submission-history a{color:var(--accent);font-weight:800}.submission-history blockquote,.review-card blockquote{border-left:3px solid var(--accent);background:#176b4d12;margin:16px 0 0;padding:13px 15px}.submission-history blockquote p,.review-card blockquote p{margin:5px 0 0}.submission-attempt+.submission-attempt{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.attempt-history{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.attempt-history summary,.review-history summary{color:var(--accent);cursor:pointer;font-weight:850}.attempt-history[open] summary{margin-bottom:14px}.submission-form{gap:16px;margin-top:20px;display:grid}.submission-form label,.review-form label,.certificate-issuer label{gap:7px;font-weight:800;display:grid}.submission-form textarea,.submission-form input,.review-form textarea,.certificate-issuer input{width:100%;color:var(--ink);border:1px solid var(--line);background:var(--paper);resize:vertical;border-radius:10px;padding:12px 13px}.submission-form .button{justify-self:start}.upload-field{gap:10px;display:grid}.upload-dropzone{text-align:center;background:#176b4d0b;border:2px dashed #b9c5bd;border-radius:14px;place-content:center;min-height:118px;padding:24px;transition:border-color .16s,background .16s;display:grid!important}.upload-dropzone:hover{border-color:var(--accent);background:#176b4d14}.upload-dropzone span{color:var(--muted);font-size:13px;font-weight:500}.selected-file-list,.submitted-file-block ul,.review-files ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.selected-file-list li,.submitted-file-block li,.review-files li{border:1px solid var(--line);background:var(--paper);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.selected-file-list li>div{min-width:0}.selected-file-list strong,.selected-file-list span{display:block}.selected-file-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-file-list span,.submitted-file-block li span,.review-files li span{color:var(--muted);font-size:11px}.selected-file-list button{color:#9b2f2f;background:0 0;border:0;flex:none;padding:5px 8px;font-weight:800}.submitted-file-block,.review-files{margin-top:15px}.submitted-file-block>strong{margin-bottom:8px;display:block}.upload-stage{color:var(--accent);margin:0;font-size:13px;font-weight:750}.form-error,.form-success{margin:10px 0 0;font-size:13px;font-weight:750}.form-error{color:#9b2f2f}.form-success{color:var(--accent)}.learn-page-heading{max-width:850px;margin-bottom:34px}.learn-page-heading>p:last-child{color:var(--muted);font-size:17px}.knowledge-search>label{margin-bottom:8px;font-weight:850;display:block}.search-box{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:14px;padding:7px 13px 7px 5px;display:flex}.search-box input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:10px;font-size:17px}.search-box:focus-within{outline:3px solid var(--focus);outline-offset:2px}.search-box span{color:var(--muted);flex:none;font-size:12px}.knowledge-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.knowledge-results article{border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:20px}.knowledge-results article>span{color:var(--accent);font-size:11px;font-weight:900}.knowledge-results h2{margin:9px 0 8px;font-size:21px}.knowledge-results h2 a:hover{color:var(--accent)}.knowledge-results p{color:var(--muted);margin:0;font-size:13px}.empty-state{color:var(--muted);border:1px dashed var(--line);text-align:center;border-radius:15px;padding:32px}.empty-state strong{color:var(--ink)}.admin-page{width:min(100% - 34px,1040px);margin-inline:auto;padding:clamp(44px,7vw,86px) 0}.review-list{gap:16px;display:grid}.admin-file-notice{margin-bottom:18px}.review-history{border:1px solid var(--line);background:#fffdf7b3;border-radius:16px;margin-top:24px;padding:18px}.review-history[open]>summary{margin-bottom:16px}.review-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:clamp(22px,4vw,32px)}.review-card header{justify-content:space-between;align-items:start;gap:18px;display:flex}.review-card header span:first-child{color:var(--accent);font-size:11px;font-weight:900}.review-card h2{margin:5px 0 1px;font-size:25px}.review-card header small{color:var(--muted)}.review-copy{background:var(--paper);border-radius:12px;margin:18px 0;padding:16px}.review-copy p{white-space:pre-wrap;margin:6px 0 0}.review-files{border:1px solid var(--line);background:#176b4d0a;border-radius:12px;padding:16px}.review-files>div{justify-content:space-between;gap:16px;margin-bottom:10px;display:flex}.review-files>div span{color:var(--muted);font-size:11px}.review-files a{color:var(--accent);font-weight:800}.review-form{gap:12px;margin-top:18px;display:grid}.review-form>div{justify-content:flex-end;gap:8px;display:flex}.student-admin-panel{gap:16px;display:grid}.student-admin-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:end;gap:18px;padding:18px;display:flex}.student-admin-toolbar label{flex:1;gap:6px;font-weight:800;display:grid}.student-admin-toolbar input,.student-admin-list input{width:100%;color:var(--ink);border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:11px 12px}.student-admin-toolbar>span{color:var(--muted);font-size:13px}.student-admin-list{gap:12px;display:grid}.student-admin-list article{border:1px solid var(--line);background:var(--surface);border-radius:15px;grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) auto;align-items:end;gap:18px;padding:20px;display:grid}.student-admin-list h2{margin:8px 0 0;font-size:22px}.student-admin-list p{color:var(--muted);margin:2px 0 0;font-size:13px}.student-admin-list label{gap:6px;font-size:13px;font-weight:800;display:grid}.student-admin-actions .button{min-width:112px}.certificate-progress-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.certificate-progress-grid article{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:24px}.certificate-progress-grid article>span{color:var(--warm);font-size:11px;font-weight:900}.certificate-progress-grid article>strong{color:var(--accent);margin:14px 0;font-size:38px;line-height:1;display:block}.certificate-progress-grid h2{font-size:22px}.certificate-progress-grid p{color:var(--muted);margin-bottom:0;font-size:13px}.certificate-locked,.certificate-ready{border:1px solid var(--line);background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:28px;margin-top:18px;padding:clamp(24px,4vw,38px);display:flex}.certificate-locked h2,.certificate-ready h2{font-size:30px}.certificate-locked p,.certificate-ready p{color:var(--muted);margin-bottom:0}.certificate-issuer{gap:10px;min-width:290px;display:grid}.certificate-page{background:#e7e3d9;min-height:calc(100vh - 68px);padding:34px 18px 70px}.certificate-actions{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto 18px;display:flex}.certificate-actions>a{color:var(--accent);font-weight:800}.certificate-sheet{color:#17231f;outline-offset:-23px;text-align:center;background:radial-gradient(circle at 90% 10%,#ed713c1f,#0000 18rem),#fffdf7;border:14px solid #173c2e;outline:2px solid #d2a45f;max-width:1100px;min-height:700px;margin-inline:auto;padding:clamp(48px,8vw,92px);position:relative;overflow:hidden;box-shadow:0 24px 70px #17231f33}.certificate-brand{align-items:center;gap:10px;display:inline-flex}.certificate-brand span{color:#fff;background:var(--accent);border-radius:9px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.certificate-label{color:var(--accent);letter-spacing:.25em;margin:44px 0 8px;font-size:11px;font-weight:900}.certificate-sheet h1{letter-spacing:.08em;max-width:none;margin-bottom:28px;font-family:Georgia,Songti SC,serif;font-size:clamp(54px,8vw,88px)}.certificate-sheet h2{color:var(--accent);margin:16px 0;font-family:Georgia,Songti SC,serif;font-size:clamp(40px,6vw,66px)}.certificate-sheet h3{font-size:clamp(25px,4vw,38px)}.certificate-description{max-width:760px;color:var(--muted);margin:26px auto 50px}.certificate-footer{border-top:1px solid var(--line);text-align:left;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:24px;display:grid}.certificate-footer span,.certificate-footer strong{display:block}.certificate-footer span{color:var(--muted);font-size:11px}.certificate-footer strong{margin-top:4px;font-size:13px}.revoked-stamp{color:#a83b32;border:4px solid #a83b32;padding:10px 18px;font-size:24px;font-weight:900;position:absolute;bottom:14%;right:8%;transform:rotate(-11deg)}.certificate-revoked{opacity:.72}.lesson-comments{border:1px solid var(--line);background:var(--surface);border-radius:18px;max-width:920px;margin:28px auto 0;padding:clamp(22px,4vw,34px)}.lesson-comments-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.lesson-comments-heading h2{margin:4px 0 0;font-size:clamp(27px,4vw,38px)}.lesson-comments-heading>span{color:var(--accent);background:#176b4d14;border-radius:999px;flex:none;padding:6px 9px;font-size:11px;font-weight:850}.lesson-comments-intro{max-width:780px;color:var(--muted);margin:10px 0 18px;font-size:13px}.lesson-comment-form{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:9px;padding:16px;display:grid}.lesson-comment-form label{font-size:13px;font-weight:850}.lesson-comment-form textarea{width:100%;min-height:108px;color:var(--ink);border:1px solid var(--line);background:var(--surface);resize:vertical;border-radius:10px;padding:12px 13px}.lesson-comment-form textarea:focus,.lesson-comment-reply-form textarea:focus{outline:3px solid var(--focus);outline-offset:2px}.lesson-comment-form>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-comment-form>div>span{color:var(--muted);font-size:11px}.lesson-comment-form>div>span.is-over-limit,.lesson-comment-reply-form>div>span.is-over-limit,.lesson-comment-error{color:#9b2f2f}.lesson-comment-error,.lesson-comment-status{margin:12px 0 0;font-size:13px;font-weight:750}.lesson-comment-status{color:var(--muted)}.lesson-comment-list{gap:12px;margin-top:18px;display:grid}.lesson-comment-root{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:17px}.lesson-comment-root.is-deleted{background:color-mix(in srgb, var(--paper) 72%, var(--surface))}.lesson-comment-root>header,.lesson-comment-reply>header{justify-content:space-between;align-items:start;gap:12px;display:flex}.lesson-comment-root>header div,.lesson-comment-reply>header div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.lesson-comment-list time{color:var(--muted);font-size:11px}.lesson-comment-root>p,.lesson-comment-reply>p{overflow-wrap:anywhere;white-space:pre-wrap;margin:10px 0 0}.lesson-comment-version{color:#7b5c20;background:#f7ead0;border-radius:999px;flex:none;padding:4px 7px;font-size:10px;font-weight:850}.lesson-comment-author-role{color:var(--accent);background:#176b4d1a;border-radius:999px;flex:none;padding:3px 6px;font-size:10px;font-weight:900}.lesson-comment-actions{flex-wrap:wrap;gap:14px;margin-top:11px;display:flex}.lesson-comment-actions button{min-height:32px;color:var(--accent);background:0 0;border:0;padding:0;font-size:12px;font-weight:850}.lesson-comment-actions .lesson-comment-delete{color:#8f4a3d}.lesson-comment-delete-confirm{color:#74463e;background:#f8ece8;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.lesson-comment-delete-confirm>div{gap:7px;display:flex}.lesson-comment-delete-confirm button,.lesson-comment-empty button{color:var(--accent);background:0 0;border:1px solid;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:800}.lesson-comment-reply-form{background:var(--surface);border:1px solid #176b4d33;border-radius:11px;gap:9px;margin-top:12px;padding:13px;display:grid}.lesson-comment-reply-form>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-comment-reply-form>div:first-child strong{color:var(--accent);font-size:12px}.lesson-comment-reply-form>div:first-child button{min-height:32px;color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:11px;font-weight:800}.lesson-comment-reply-form>div:last-child>span{color:var(--muted);font-size:11px}.lesson-comment-reply-form textarea{width:100%;min-height:82px;color:var(--ink);border:1px solid var(--line);background:var(--paper);resize:vertical;border-radius:9px;padding:11px 12px}.lesson-comment-thread{border-top:1px solid var(--line);border-left:3px solid #176b4d2e;gap:9px;margin:14px 0 0 18px;padding:13px 0 0 15px;display:grid}.lesson-comment-thread-heading{color:var(--muted);font-size:11px}.lesson-comment-reply{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:13px 14px}.lesson-comment-reply>header div>span{color:var(--accent);font-size:11px;font-weight:800}.lesson-comment-thread-actions{flex-wrap:wrap;gap:10px;display:flex}.lesson-comment-thread-actions button{min-height:34px;color:var(--accent);background:var(--paper);border:1px solid #176b4d47;border-radius:8px;padding:0 10px;font-size:11px;font-weight:850}.lesson-comment-thread-actions button:disabled{cursor:wait;opacity:.6}.lesson-comment-root-limit{color:var(--muted);text-align:center;margin:2px 0 0;font-size:12px}.lesson-comment-deleted-copy{color:var(--muted);font-size:13px;font-style:italic}.lesson-comment-empty{color:var(--muted);border:1px dashed var(--line);text-align:center;border-radius:13px;margin-top:18px;padding:22px}.lesson-comment-empty strong{color:var(--ink)}.lesson-comment-empty p{margin:6px 0 0;font-size:13px}.lesson-comment-empty button{margin-top:11px}@media (max-width:1050px){.learn-header nav{display:none}.learn-mobile-nav{z-index:60;color:var(--muted);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf7f5;border:1px solid #d4ccbde6;border-radius:16px;justify-content:center;gap:4px;padding:8px;display:flex;position:fixed;bottom:10px;left:12px;right:12px;overflow-x:auto;box-shadow:0 12px 38px #1e28222e}.learn-mobile-nav a{text-align:center;border-radius:10px;flex:none;min-width:72px;padding:9px 12px;font-size:13px;font-weight:850}.learn-mobile-nav a:hover{color:var(--accent);background:#176b4d14}.learn-account{margin-left:auto}.learn-layout{grid-template-columns:220px minmax(0,1fr)}.course-sidebar{padding-inline:10px}.dashboard-grid{grid-template-columns:1fr}.learn-main{padding-bottom:100px}.dashboard-rail{grid-template-columns:repeat(3,1fr)}.week-list article{grid-template-columns:38px minmax(0,1fr)}.week-list article>.button{grid-column:2;justify-self:start}}@media (max-width:760px){.platform-preview,.platform-feature-grid,.lesson-hero,.certificate-progress-grid{grid-template-columns:1fr}.learn-header-inner{width:min(100% - 24px,1480px)}.learn-account span{display:none}.learn-layout{display:block}.course-sidebar{display:none}.learn-main{padding:22px 14px 70px}.mobile-lesson-nav{border:1px solid var(--line);background:var(--surface);border-radius:11px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:9px 12px;font-size:12px;font-weight:800;display:flex}.learn-dashboard-hero,.lesson-complete-card,.certificate-locked,.certificate-ready{flex-direction:column;align-items:stretch}.overall-progress{width:100%}.dashboard-rail{grid-template-columns:1fr}.lesson-hero{padding:24px}.lesson-hero h1{font-size:clamp(38px,11vw,54px)}.course-resources-heading{flex-direction:column;align-items:flex-start;gap:8px}.course-resource-card{grid-template-columns:42px minmax(0,1fr)}.course-resource-icon{width:42px;height:42px}.course-resource-card .button{grid-column:1/-1;width:100%}.video-slot{align-items:flex-start}.video-status{flex:none}.lesson-prose{border-radius:15px;padding:24px 18px}.lesson-on-page ol{grid-template-columns:1fr}.python-toolbar{flex-direction:column;align-items:flex-start}.python-toolbar>div{width:100%}.runner-save-row,.runner-reset-confirm,.lesson-comments-heading,.lesson-comment-delete-confirm{flex-direction:column;align-items:flex-start}.lesson-comment-thread{margin-left:0;padding-left:11px}.lesson-comment-actions button,.lesson-comment-reply-form>div:first-child button,.lesson-comment-delete-confirm button,.lesson-comment-thread-actions button{min-height:44px}.lesson-comment-reply-form>div:last-child{flex-direction:column;align-items:stretch}.lesson-comment-reply-form>div:last-child .button{width:100%}.runner-button{flex:1}.lesson-complete-card>div:last-child,.certificate-issuer{width:100%;min-width:0}.knowledge-results{grid-template-columns:1fr}.certificate-footer{text-align:center;grid-template-columns:1fr}.certificate-sheet{outline-offset:-17px;border-width:9px;min-height:0;padding:56px 30px}.student-admin-list article{grid-template-columns:1fr;align-items:stretch}.student-admin-actions .button{width:100%}}@media (max-width:520px){.platform-feature-grid{grid-template-columns:1fr}.learn-header .brand>span:last-child{display:none}.learn-mobile-nav{justify-content:flex-start}.week-list article{grid-template-columns:34px minmax(0,1fr);padding:18px 14px}.week-list article>.button{width:100%}.board-heading,.submission-heading,.review-card header{flex-direction:column;align-items:flex-start}.lesson-pagination{grid-template-columns:1fr}.lesson-pagination a:last-child{text-align:left}.video-slot{flex-direction:column}.search-box{flex-direction:column;align-items:stretch}.search-box span{padding:0 10px 7px}.review-form>div{flex-direction:column}.review-form .button{width:100%}.submission-history-meta,.review-files>div,.student-admin-toolbar{flex-direction:column;align-items:flex-start}.selected-file-list li,.submitted-file-block li,.review-files li{align-items:flex-start}.certificate-actions{flex-direction:column;align-items:stretch;gap:12px}}@media print{@page{size:landscape;margin:0}body{background:#fff}.no-print,.learn-header{display:none!important}.certificate-page{background:#fff;padding:0}.certificate-sheet{max-width:none;min-height:100vh;box-shadow:none;break-inside:avoid;border-color:#173c2e}}.teacher-header{z-index:50;color:var(--paper);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#14201bf5;border-bottom:1px solid #f6f1e71f;position:sticky;top:0}.teacher-header-inner{align-items:center;gap:30px;width:min(100% - 40px,1240px);min-height:72px;margin-inline:auto;display:flex}.teacher-header .brand-mark{color:var(--dark);background:#9ce2c1}.teacher-header .brand small{color:#9fb0a6}.teacher-header nav{color:var(--dark-muted);flex:1;gap:24px;font-size:14px;font-weight:750;display:flex}.teacher-header nav a:hover,.teacher-account a{color:#9ce2c1}.teacher-account{color:var(--dark-muted);align-items:center;gap:14px;font-size:13px;display:flex}.teacher-account a{font-weight:850}.teacher-main{width:min(100% - 40px,1240px);margin-inline:auto;padding:clamp(38px,6vw,76px) 0 90px}.teacher-hero{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:end;gap:clamp(34px,7vw,86px);margin-bottom:30px;display:grid}.teacher-hero h1{max-width:12ch;font-size:clamp(45px,6vw,76px)}.teacher-hero>div:first-child>p:last-child{max-width:720px;color:var(--muted);margin:0;font-size:17px}.teacher-stats{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf7cc;border-radius:18px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.teacher-stats article{text-align:center;padding:22px 16px}.teacher-stats article+article{border-left:1px solid var(--line)}.teacher-stats strong,.teacher-stats span{display:block}.teacher-stats strong{color:var(--accent);font-size:34px;line-height:1}.teacher-stats span{color:var(--muted);margin-top:8px;font-size:12px}.teacher-panel{border:1px solid var(--line);background:#fffdf7db;border-radius:22px;margin-top:22px;padding:clamp(22px,4vw,38px);box-shadow:0 12px 35px #17231f12}.teacher-panel-heading{margin-bottom:24px}.teacher-panel-heading h2{margin-bottom:8px;font-size:clamp(29px,4vw,42px)}.teacher-panel-heading p:last-child{max-width:760px;color:var(--muted);margin:0}.teacher-review-list{gap:14px;display:grid}.review-history .teacher-review-list{margin-top:16px}.teacher-file-safety{color:#70461f;background:#fff7e8;border:1px solid #ead5b5;border-radius:12px;margin:-8px 0 20px;padding:13px 15px;font-size:13px}.teacher-create-form{grid-template-columns:1fr 1fr 1.25fr auto;align-items:end;gap:14px;display:grid}.teacher-create-form label,.teacher-list-heading label,.teacher-reset label{color:var(--ink);gap:6px;font-size:13px;font-weight:850;display:grid}.teacher-create-form input,.teacher-list-heading input,.teacher-reset input{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:10px 12px}.teacher-password-field>div,.teacher-reset label>div{display:flex}.teacher-password-field>div input,.teacher-reset label>div input{border-radius:10px 0 0 10px;min-width:0}.teacher-password-field>div button,.teacher-reset label>div button{color:var(--accent);border:1px solid var(--line);background:var(--surface-strong);border-left:0;border-radius:0 10px 10px 0;flex:none;padding:0 12px;font-size:12px;font-weight:850}.teacher-password-field small{color:var(--muted);font-weight:500}.teacher-create-actions{gap:8px;display:flex}.teacher-create-actions .button{white-space:nowrap}.teacher-list-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.teacher-list-heading>div{min-width:0}.teacher-list-heading label{width:min(100%,330px)}.teacher-student-list{gap:12px;display:grid}.teacher-student-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;padding:20px}.teacher-student-card>header{justify-content:space-between;align-items:center;gap:22px;display:flex}.teacher-student-card h3{margin:9px 0 3px;font-size:22px}.teacher-student-card header p{color:var(--muted);margin:0;font-size:12px}.teacher-account-state{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:900;display:inline-flex}.teacher-account-state.is-active{color:var(--accent);background:#176b4d1a}.teacher-account-state.is-disabled{color:#8c451f;background:#ed713c24}.teacher-account-actions{flex:none;gap:8px;display:flex}.teacher-account-actions .button{min-height:40px;padding:8px 12px;font-size:13px}.teacher-reset{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.teacher-reset summary{color:var(--accent);font-size:13px;font-weight:850}.teacher-reset form{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;max-width:720px;margin-top:13px;display:grid}.teacher-reset form>div{gap:8px;display:flex}.teacher-secret{color:var(--paper);background:var(--dark);box-shadow:var(--shadow);border-radius:20px;justify-content:space-between;align-items:center;gap:28px;margin:22px 0;padding:clamp(22px,4vw,32px);display:flex}.teacher-secret p{color:var(--dark-muted);margin:6px 0 15px}.teacher-secret dl{flex-wrap:wrap;gap:8px;margin:0;display:flex}.teacher-secret dl div{background:#f6f1e712;border:1px solid #f6f1e733;border-radius:10px;padding:8px 12px}.teacher-secret dt{color:#9ce2c1;font-size:10px;font-weight:900}.teacher-secret dd{overflow-wrap:anywhere;margin:1px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.teacher-secret>div:last-child{flex:none;gap:8px;display:grid}.teacher-error{color:#7d2b25;margin:20px 0}.teacher-boundary{color:var(--paper);background:radial-gradient(circle at 88% 18%, #ed713c29, transparent 16rem), var(--dark);border-radius:22px;justify-content:space-between;align-items:center;gap:34px;margin-top:22px;padding:clamp(28px,5vw,48px);display:flex}.teacher-boundary h2{margin-bottom:10px;font-size:clamp(29px,4vw,44px)}.teacher-boundary p:last-child{max-width:760px;color:var(--dark-muted);margin:0}@media (max-width:1080px){.teacher-create-form{grid-template-columns:1fr 1fr}.teacher-create-actions{align-self:end}}@media (max-width:800px){.teacher-header-inner{flex-wrap:wrap;gap:8px 18px;width:min(100% - 28px,1240px);padding:10px 0}.teacher-header nav{scrollbar-width:none;flex-basis:100%;order:3;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.teacher-header nav::-webkit-scrollbar{display:none}.teacher-header nav a{border:1px solid #f6f1e729;border-radius:999px;flex:none;padding:7px 12px}.teacher-header nav a[aria-current=page]{color:var(--dark);background:#9ce2c1;border-color:#9ce2c1}.teacher-account{margin-left:auto}.teacher-main{width:min(100% - 28px,1240px)}.teacher-hero{grid-template-columns:1fr}.teacher-student-card>header,.teacher-secret,.teacher-boundary{flex-direction:column;align-items:stretch}.teacher-account-actions{flex-wrap:wrap}.teacher-secret>div:last-child{width:100%}}@media (max-width:580px){.teacher-header .brand>span:last-child,.teacher-account span{display:none}.teacher-stats,.teacher-create-form,.teacher-reset form{grid-template-columns:1fr}.teacher-stats article+article{border-top:1px solid var(--line);border-left:0}.teacher-list-heading{flex-direction:column;align-items:stretch}.teacher-list-heading label{width:100%}.teacher-create-actions,.teacher-reset form>div,.teacher-account-actions{flex-direction:column}.teacher-create-actions .button,.teacher-reset .button,.teacher-account-actions .button{width:100%}}
