@font-face{font-family:Manrope;src:url(/manrope-regular.ttf)format("truetype");font-weight:400 600;font-display:swap}@font-face{font-family:Manrope;src:url(/manrope.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url(/manrope-extrabold.ttf)format("truetype");font-weight:800 900;font-display:swap}:root{--bg:#f6f7f2;--paper:#fff;--ink:#202721;--muted:#647065;--line:#e3e7dd;--lime:#c2ee7a;--green:#294322;--lavender:#e5def9;--peach:#ffdac6;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.6 Manrope,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea{outline-offset:4px}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible){outline:3px solid #5e4aa6}button{background:0 0;border:0}button:disabled{opacity:.5;cursor:not-allowed}button{transition:background-color .18s,transform .18s}button:active{transform:translateY(1px)}a{color:inherit;text-underline-offset:4px}::selection{color:#202721;background:#c2ee7a}input,textarea{caret-color:#6a5095}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c4cbbf;border-radius:8px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.03em;line-height:1.25}h1{font-size:42px;font-weight:800}h2{font-size:22px;font-weight:800}h3{font-size:16px;font-weight:800}p{color:var(--muted)}svg{flex-shrink:0}button svg{vertical-align:middle}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:230px;padding:31px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.06em;align-items:center;padding:0 14px;font-size:34px;font-weight:800;line-height:1;display:flex}.brand-light{font-weight:500}.brand-dot{color:#709843}.brand-icon{background:var(--lime);border-radius:11px;place-items:center;width:42px;height:42px;margin-right:10px;display:grid}.sidebar nav{gap:7px;margin-top:45px;display:grid}.nav-item{text-align:left;color:#627064;white-space:nowrap;border-radius:9px;align-items:center;gap:12px;padding:13px 16px;font-size:13px;font-weight:700;display:flex}.nav-item:hover{background:#f4f6ef}.nav-item.active{background:var(--lime);color:#233820}.nav-count{text-align:center;background:#fff8;border-radius:5px;min-width:22px;margin-left:auto;font-size:10px;line-height:20px}.sidebar-bottom{margin-top:auto;padding-top:50px}.help-box{background:#f5f3fa;border-radius:12px;padding:20px 16px}.mini-spark{color:#755da3;margin-bottom:14px}.help-box strong{font-size:15px;line-height:1.4;display:block}.help-box p{margin:10px 0 16px;font-size:12px;line-height:1.8}.help-box button{justify-content:space-between;align-items:center;width:100%;font-size:12px;font-weight:800;display:flex}.support-box{color:inherit;background:#fbf0f3;border-radius:12px;margin-bottom:12px;padding:15px 16px;text-decoration:none;display:block}.support-box:hover{background:#f7e4ea}.support-title{align-items:center;gap:8px;display:flex}.support-title>svg:first-child{color:#a2456a;flex-shrink:0}.support-title strong{flex:1;font-size:13px;line-height:1.4}.support-box small{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.7;display:block}.sidebar-foot{color:var(--muted);align-items:center;gap:7px;padding:24px 8px 0;font-size:10px;display:flex}.online-dot{background:#7aa63f;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.workspace{width:calc(100% - 230px);margin-left:230px}.topbar{border-bottom:1px solid var(--line);background:#ffffff80;justify-content:space-between;align-items:center;gap:12px;height:81px;padding:0 36px;display:flex}.breadcrumb{color:#737d72;align-items:center;gap:12px;font-size:11px;display:flex}.breadcrumb b{color:#394638;font-weight:600}.top-actions{align-items:center;gap:22px;display:flex}.demo-label{color:#6a7465;border:1px solid #dce2d5;border-radius:5px;padding:3px 8px;font-size:10px}.xp{color:#7b5c1d;font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:12px;font-weight:800;display:flex}.xp svg{fill:#ffdc85;stroke:#a67819}.avatar{color:#5b4979;background:#e4def2;border-radius:50%;place-items:center;width:33px;height:33px;font-size:12px;font-weight:800;display:grid}main{max-width:1590px;min-height:calc(100vh - 81px);margin:auto;padding:36px}.welcome{justify-content:space-between;align-items:center;margin:0 0 30px;display:flex}.welcome h1{letter-spacing:-.04em;font-size:44px;line-height:1.14}.welcome h1 span{z-index:0;display:inline-block;position:relative}.welcome h1 span:after{content:"";background:var(--lime);z-index:-1;border-radius:2px;width:100%;height:12px;position:absolute;bottom:2px;left:0;transform:rotate(-2deg)}.welcome p{margin-top:14px;font-size:13px}.welcome-stamp{color:#7e8a72;border:1px dashed #b2bca7;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:128px;height:128px;margin-right:28px;display:flex;transform:rotate(9deg)}.welcome-stamp span{letter-spacing:.1em;font-size:7px;font-weight:800}.dashboard-grid{grid-template-columns:minmax(0,1fr) 264px;gap:25px;display:grid}.main-column{min-width:0}.continue-panel{border-radius:var(--radius);color:#fff;background:#222e28;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:320px;display:grid;overflow:hidden}.continue-copy{z-index:1;padding:27px 0 27px 27px;position:relative}.inline-status{color:#c0d2b9;align-items:center;gap:7px;margin-bottom:17px;font-size:10px;display:flex}.inline-status>span{background:#c2ee7a;border-radius:50%;width:5px;height:5px}.continue-panel h2{letter-spacing:-.025em;font-size:29px;font-weight:700;line-height:1.18}.continue-panel p{color:#c0ccc0;margin-top:12px;font-size:11px;line-height:1.8}.primary,.secondary{border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:42px;padding:11px 17px;font-size:12px;font-weight:800;line-height:1.5;display:inline-flex}.primary{background:var(--lime);color:#253b21}.primary:hover{background:#b0df65}.secondary{border:1px solid var(--line);background:#fff}.secondary:hover{background:#f0f3e9}.continue-copy .primary{margin-top:20px;padding:10px 14px;font-size:11px}.course-progress{width:85%;margin-top:20px}.course-progress>div{color:#bdc9bd;justify-content:space-between;gap:10px;font-size:9px;display:flex}.course-progress b{color:#c2ee7a}progress{accent-color:#c2ee7a;background:#435148;border:0;border-radius:4px;width:100%;height:4px;margin-top:8px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#435148}progress::-webkit-progress-value{background:#c2ee7a}.code-scene{align-self:center;min-width:0;padding:32px 0 0 6px;position:relative;transform:translate(18px)}.terminal-head{background:#344239;border-radius:10px 0 0;align-items:center;gap:4px;padding:10px 12px;display:flex}.terminal-head>span{background:#ff9b8d;border-radius:50%;width:5px;height:5px}.terminal-head>span:nth-child(2){background:#f3d07d}.terminal-head>span:nth-child(3){background:#b6de80}.terminal-head small{color:#b8c9bc;margin-left:8px;font:8px monospace}.sample-code{white-space:nowrap;background:#1b251f;grid-template-columns:14px 1fr;gap:9px 8px;padding:18px 8px;font:9px/1.7 monospace;display:grid}.sample-code code{color:#e5ddbd}.sample-code em{color:#b6bcf3;font-style:normal}.line-no{color:#6e8173}.mini-browser{color:#513e30;background:#ffdec9;border-radius:10px;margin:13px 17px 24px -8px;padding:12px 17px 18px;position:relative;transform:rotate(-3deg)}.mini-browser>div{color:#8a6f5e;border-bottom:1px solid #d8b9a5;align-items:center;gap:5px;margin-bottom:13px;padding-bottom:9px;font-size:8px;display:flex}.mini-browser>div>span{background:#c88767;border-radius:50%;width:4px;height:4px}.mini-browser>div svg{margin-left:auto}.mini-browser h3{color:#493728;font-size:23px}.mini-browser p{color:#765d4b;margin:5px 0 10px;font-size:9px}.fake-button{color:#fff;background:#3b4938;border-radius:5px;align-items:center;gap:8px;padding:6px 10px;font-size:8px;display:inline-flex}.cursor-mark{color:#55417d;position:absolute;bottom:12px;right:18px;transform:rotate(-40deg)}.course-section{margin-top:33px}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.section-heading h2{font-size:20px}.text-link{align-items:center;gap:7px;padding:0;font-size:11px;font-weight:800;display:inline-flex}.text-link:hover{color:#52752e}.filter-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;display:flex}.filter-row button{color:#627061;border:1px solid #0000;border-radius:6px;padding:7px 12px;font-size:10px;font-weight:700}.filter-row button:hover{background:#e9eedd}.filter-row button.selected{color:#364d2d;background:#e8eedd;border-color:#d7e1c9}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.course{text-align:left;border:1px solid var(--line);background:#fff;border-radius:13px;flex-direction:column;justify-content:flex-start;width:100%;padding:0;display:flex;overflow:hidden}.course:hover .cover-arrow{background:#fff;transform:rotate(8deg)}.cover{height:142px;padding:16px;position:relative;overflow:hidden}.lime{color:#354d25;background:#d3efab}.lavender{color:#594679;background:#e6def8}.peach{color:#6b4233;background:#ffdac6}.yellow{color:#604f22;background:#ffe89a}.pink{color:#754355;background:#f5d6df}.blue{color:#385a70;background:#d9e9f4}.tech{letter-spacing:.08em;font-size:8px;font-weight:800}.course-symbol{letter-spacing:-.07em;font-family:monospace;font-size:49px;font-weight:700;line-height:1;position:absolute;top:37px;left:17px}.course-symbol:empty{display:none}.cover-arrow{background:#ffffff70;border-radius:50%;place-items:center;width:27px;height:27px;transition:all .2s;display:grid;position:absolute;top:12px;right:12px}.cover-code{background:#fbfff1;border-radius:6px;padding:10px;font:9px/1 monospace;position:absolute;bottom:14px;right:-6px;transform:rotate(-7deg);box-shadow:0 5px 14px #30482012}.cover-code i{background:#abc58e;border-radius:50%;width:3px;height:3px;margin-right:3px;display:inline-block}.cover-code code{margin-top:7px;display:block}.code-detail{font:9px monospace;position:absolute;bottom:17px;left:17px}.course-body{padding:15px 14px}.course-category{color:#65725f;font-size:8px;font-weight:700}.course-category>span{font-weight:400}.course-body h3{min-height:36px;margin:8px 0 19px;font-size:14px;line-height:1.4}.course-meta{color:#6d766b;border-top:1px solid #eef0e9;justify-content:space-between;gap:3px;padding-top:12px;font-size:8px;display:flex}.course-meta>span{align-items:center;gap:5px;display:flex}.project-strip{border-top:1px solid var(--line);align-items:center;gap:14px;margin-top:28px;padding:24px 0;display:flex}.project-icon{color:#6e558d;background:#ede7f7;border-radius:12px;place-items:center;width:46px;height:46px;display:grid}.project-strip h3{letter-spacing:-.01em;font-size:12px}.project-strip p{margin-top:6px;font-size:10px}.project-strip>.iconbtn{margin-left:auto}.iconbtn{border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.iconbtn:hover{background:#eaf0df}.right-rail{flex-direction:column;gap:20px;display:flex}.rail-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.rail-title h3{font-size:12px}.rail-title>span{color:#6e7668;font-size:10px}.daily-goal{background:#eaf0df;border-radius:13px;padding:22px 19px}.daily-goal>.rail-title svg{color:#526d38}.daily-goal p{color:#657555;margin-top:12px;font-size:12px;line-height:1.8}.goal-days{justify-content:space-between;gap:6px;margin:20px 0 17px;display:flex}.goal-days>div{text-align:center;flex:1}.goal-days>div>span{color:#7a856d;font-size:8px}.goal-days b{border:1px solid #d3ddc3;border-radius:7px;place-items:center;width:25px;height:28px;margin-top:6px;display:grid}.goal-days b>span{background:#c2ceb0;border-radius:50%;width:3px;height:3px}.goal-days b.today{color:#385026;background:#c2ee7a;border-color:#c2ee7a}.daily-goal>button{background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:11px 10px;font-size:10px;font-weight:800;display:flex}.daily-goal small{text-align:center;color:#738366;margin-top:11px;font-size:8px;display:block}.daily-challenge{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px 19px}.daily-challenge .rail-title svg{color:#8a65ac}.daily-challenge p{margin-top:13px;font-size:11px;line-height:1.8}.quiz-options{gap:8px;margin-top:16px;display:flex}.quiz-options button{background:#f4f4ef;border:1px solid #e6e7de;border-radius:6px;flex:1;padding:9px 3px;font:11px monospace}.quiz-options button:hover{background:#e6def8}.quiz-options button.correct{background:#d3efab;border-color:#97bd64}.quiz-options button.wrong{background:#ffe0d7;border-color:#dba491}.quiz-response{color:#6d7566;min-height:30px;margin-top:12px;font-size:9px;line-height:1.7}.term-day{padding:0 4px}.term-day h3{margin-top:14px;font-size:22px}.term-day h3>span{color:#6b7565;letter-spacing:0;margin-top:5px;font-size:11px;font-weight:500;display:block}.term-day p{margin-top:12px;font-size:11px;line-height:1.9}.term-day button{margin-top:17px}.rail-note{border-top:1px solid var(--line);color:#8c9882;gap:11px;padding:19px 3px;display:flex}.rail-note p{font-size:10px;line-height:1.9}.page-heading{margin-bottom:30px}.page-heading h1{font-size:36px}.page-heading p{margin-top:12px;font-size:14px}.catalog-toolbar{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.catalog{gap:24px;margin-top:22px}.catalog .cover{height:180px}.catalog .course-symbol{font-size:62px;top:55px}.catalog .course-body{padding:20px}.catalog .course-body h3{font-size:18px}.catalog .course-category,.catalog .course-meta{font-size:10px}.search{border:1px solid var(--line);color:#7c8775;background:#fff;border-radius:9px;align-items:center;gap:10px;padding:10px 13px;display:flex}.search input{color:var(--ink);background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:12px}.search:focus-within{outline-offset:2px;outline:2px solid #8d75b5}input::placeholder{color:#707c69}.info-note{color:#6b7564;max-width:90ch;margin:20px 0;font-size:11px;line-height:1.8}.back{margin-bottom:23px}.course-hero{border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:36px 40px;display:flex}.course-hero h1{max-width:600px;margin-top:12px;font-size:36px}.course-hero p{color:inherit;max-width:60ch;margin:18px 0}.badge{background:#ffffff80;border:1px solid #b6bfa150;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:inline-flex}.hero-symbol{letter-spacing:-.1em;margin-right:20px;font:100px/1 monospace}.overview-grid{grid-template-columns:1.7fr 1fr;gap:24px;margin-top:30px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:26px}.panel>h2{margin-bottom:20px}.module-row{border-top:1px solid var(--line);align-items:center;gap:15px;padding:22px 0;display:flex}.module-num{background:#eff3e8;border-radius:9px;place-items:center;min-width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.module-row h3{font-size:14px}.module-row p{margin-top:6px;font-size:11px}.module-row>.iconbtn,.module-row>svg{margin-left:auto}.overview-side{background:#eae4f6;align-self:start}.overview-side h2{margin-top:18px}.overview-side p{margin:15px 0 22px;font-size:13px;line-height:1.8}.lesson-title{justify-content:space-between;align-items:center;gap:15px;display:flex}.lesson-title h1{font-size:34px}.lesson-title p{margin-top:9px}.lesson-steps{flex-wrap:wrap;gap:10px;margin:28px 0;display:flex}.lesson-steps button{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:10px 15px;font-size:11px;display:flex}.lesson-steps button.current{background:#e5edda;border-color:#a9c584}.lesson-steps button>span{background:#f0f3ea;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:grid}.lesson-description{justify-content:space-between;align-items:center;gap:24px;margin:20px 0;display:flex}.lesson-description p{max-width:73ch;font-size:13px}.lesson-description button{white-space:nowrap}.task-bar{color:#57416e;background:#e8e1f5;border-radius:12px;align-items:flex-start;gap:14px;margin:24px 0;padding:19px 23px;display:flex}.task-bar p{color:#624d7a;margin-top:5px;font-size:12px}.lab-grid{border:1px solid var(--line);border-radius:13px;grid-template-columns:1fr 1fr;min-height:350px;display:grid;overflow:hidden}.editor{color:#e5e8d8;background:#222e28;flex-direction:column;min-width:0;display:flex}.editor-head,.preview-head{align-items:center;gap:10px;height:48px;padding:13px 18px;font-size:11px;display:flex}.editor-head{background:#2e3c32;justify-content:space-between}.editor-head span{align-items:center;gap:8px;display:flex}.editor-head button{color:#b5c4b3}.editor textarea{resize:vertical;color:#d5e7ad;tab-size:2;outline-offset:-3px;background:0 0;border:0;flex:1;width:100%;min-height:270px;padding:22px 18px;font:13px/1.9 monospace}.editor-footer{color:#acbda9;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:9px;display:flex}.editor-footer button{color:#d4ebb5;background:#42523a;border-radius:5px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;display:flex}.preview{background:#fff;flex-direction:column;min-width:0;display:flex}.preview-head{border-bottom:1px solid var(--line);color:#6b7864}.preview-head svg{margin-left:auto}.preview iframe{border:0;flex:1;width:100%;min-height:310px}.lesson-actions{justify-content:space-between;gap:15px;margin:22px 0;display:flex}.hint-box{color:#6a531e;background:#fff2cd;border-radius:9px;padding:18px 22px;font:13px/1.8 monospace}.feedback{border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin:20px 0;padding:22px;display:flex}.feedback p{color:inherit;margin-top:5px;font-size:12px}.success{color:#385826;background:#e3f1d5}.error{color:#913e25;background:#ffe7dd}.glossary-tools{gap:15px;margin-bottom:22px;display:flex}.search.large{flex:1;padding:15px 18px}.terms-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.term-entry{border:1px solid var(--line);background:#fff;border-radius:13px;padding:24px}.term-heading{justify-content:space-between;gap:15px;display:flex}.term-heading>div{flex:1;justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.term-heading h2{letter-spacing:-.02em;font-size:23px}.term-heading h2 span{color:var(--muted);letter-spacing:0;margin-top:6px;font-size:12px;font-weight:500;display:block}.tag{color:#6c5292;background:#f1edfa;border-radius:4px;padding:3px 8px;font-size:10px}.is-saved{color:#557b2d;background:#e8f3db}.term-entry>p{min-height:44px;margin:19px 0;font-size:12px;line-height:1.8}.term-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#3d5734;background:#f3f6ed;border-radius:7px;margin:0;padding:14px;font-size:11px;line-height:1.8}.empty{text-align:center;color:#7a8971;padding:65px 20px}.empty h3{margin:15px}.empty p{font-size:13px}.certificate-notice{color:#806429;background:#fff0cc;border-radius:10px;align-items:center;gap:12px;margin-bottom:26px;padding:16px 20px;display:flex}.certificate-notice p{color:#715a2b;font-size:12px}.certificate-grid{grid-template-columns:1.25fr 1fr;align-items:start;gap:26px;display:grid}.certificate{text-align:center;background:#fffef8;border:1px solid #d4d4b6;border-radius:13px;padding:30px;position:relative}.certificate:before{content:"";pointer-events:none;border:1px solid #e5e5cf;border-radius:7px;position:absolute;inset:10px}.cert-top{letter-spacing:.1em;color:#7a806a;justify-content:space-between;align-items:center;font-size:8px;display:flex;position:relative}.cert-logo{letter-spacing:-.04em;color:#35482b;align-items:center;gap:7px;font-size:22px;font-weight:800;display:flex}.cert-medal{color:#9a874a;margin-top:35px}.certificate h2{margin:16px 0;font-size:28px}.certificate>p{margin:8px 0;font-size:11px}.certificate>h3{color:#455e34;margin:18px 0;font-size:30px}.cert-skills{color:#707b64;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0;font-size:9px;display:flex}.cert-bottom{text-align:left;border-top:1px solid #e8e7d5;justify-content:space-between;align-items:center;gap:10px;margin-top:28px;padding-top:18px;display:flex}.cert-bottom strong{color:#677051;font:11px monospace}.cert-bottom p{margin-top:5px;font-size:9px}.cert-bottom img{display:block}.cert-bottom button{padding:0;position:relative}.verify-panel h2{font-size:20px}.verify-panel>p{font-size:12px;line-height:1.8}.verify-panel form{margin-top:20px}.verify-panel label{font-size:11px;font-weight:700;display:block}.verify-panel input{width:100%;color:var(--ink);background:#fafbf6;border:1px solid #dce2d3;border-radius:7px;margin:7px 0 14px;padding:12px;font:13px monospace}.verify-panel .primary{width:100%}.verify-result{border-radius:8px;align-items:flex-start;gap:10px;margin-top:18px;padding:14px;font-size:11px;display:flex}.verify-result p{color:inherit;margin-top:6px;font-size:10px;line-height:1.8}.project-proof{background:#e9e2f6;border-radius:13px;margin-top:20px;padding:24px}.project-proof>div{color:#6c5386;align-items:center;gap:9px;font-size:10px;display:flex}.project-proof h3{margin:17px 0 10px;font-size:20px}.project-proof p{color:#6a5b79;font-size:12px;line-height:1.8}.project-proof button{margin-top:17px}.completion-note{color:#4d673c;background:#eaf0df;border-radius:10px;align-items:flex-start;gap:12px;margin-top:26px;padding:20px;display:flex}.completion-note p{margin-top:7px;font-size:12px}.community-hero{text-align:center;color:#584175;background:#e5def8;border-radius:16px;padding:40px}.community-hero h2{margin:20px 0;font-size:30px}.community-hero p{color:#6c5686;max-width:60ch;margin:0 auto 22px}.community-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:25px;display:grid}.community-grid h2{margin-top:16px}.community-grid p{font-size:13px;line-height:1.9}.community-grid ul{color:#68735e;margin:20px 0;padding-left:19px;font-size:12px;line-height:2.3}.community-grid .panel:nth-child(2){background:#f1f4e9}footer{border-top:1px solid var(--line);color:#839078;justify-content:space-between;align-items:center;gap:15px;margin-top:45px;padding:22px 0 0;font-size:13px;display:flex}footer span{font-weight:800}footer b{margin-left:10px;font-size:10px;font-weight:400}footer small{font-size:9px}.toast{color:#eef9df;z-index:100;background:#293c29;border-radius:11px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 30px);padding:17px 20px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #26332025}.toast button{color:#e1edda}.skip{z-index:200;background:#c2ee7a;padding:12px;position:fixed;top:-100px;left:20px}.skip:focus{top:15px}.mobile-menu,.mobile-close{display:none}@media (min-width:1500px){.continue-panel h2{font-size:36px}.continue-copy{padding:32px}.code-scene{padding-top:20px}.sample-code{font-size:11px}.cover{height:170px}.course-body h3{font-size:16px}.course-meta{font-size:10px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 285px;gap:30px}.daily-goal{padding:25px}.rail-title h3{font-size:14px}.course-category{font-size:10px}}@media (max-width:1190px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.workspace{width:calc(100% - 205px);margin-left:205px}main{padding:28px}.topbar{padding:0 28px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.continue-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.continue-copy{padding-left:20px}.continue-panel h2{font-size:26px}.sample-code{gap:9px 4px;font-size:8px}.mini-browser h3{font-size:21px}.course-grid{gap:12px}.course-body{padding:12px 10px}.course-body h3{font-size:12px}.course-category,.course-meta{font-size:7px}.course-meta svg{width:12px}.section-heading h2{font-size:18px}.filter-row button{padding:6px 9px}.daily-goal,.daily-challenge{padding:18px 15px}.goal-days{gap:3px}.goal-days b{width:24px}.top-actions{gap:14px}.overview-grid{grid-template-columns:1.5fr 1fr}.certificate-grid{grid-template-columns:1.1fr 1fr}.certificate{padding:25px}.certificate h2{font-size:24px}}@media (max-width:1050px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.rail-note{display:none}.daily-goal,.daily-challenge{padding:17px 14px}.term-day{padding:12px 7px}.daily-goal .rail-title h3,.daily-challenge .rail-title h3{font-size:11px}.daily-goal .rail-title>svg,.daily-challenge .rail-title>svg{width:17px}.goal-days b{width:22px;height:25px}.goal-days{gap:2px}.daily-goal>button{padding:9px 6px;font-size:9px}.term-day h3{font-size:19px}.course-body h3{font-size:15px}.course-category,.course-meta{font-size:9px}.cover{height:160px}.continue-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.continue-panel h2{font-size:34px}.continue-copy{padding:28px}.sample-code{font-size:10px}.code-scene{transform:translate(10px)}.terms-list{gap:14px}.term-entry{padding:20px}.term-heading>div{flex-direction:column;gap:9px}.catalog-toolbar{flex-direction:column}.catalog-toolbar .search{width:100%}.catalog-toolbar .filter-row{margin-bottom:0}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.course-hero{padding:30px}.hero-symbol{font-size:75px}.course-hero h1{font-size:30px}.overview-grid{grid-template-columns:1fr}.overview-side{display:block}.certificate-grid{grid-template-columns:1fr}.certificate{justify-self:center;width:100%;max-width:650px}.certificate h2{font-size:30px}.lesson-description{align-items:flex-start}.lesson-title h1{font-size:30px}.lab-grid{grid-template-columns:1fr}.preview iframe{min-height:240px}.preview-head{border-top:1px solid var(--line)}.editor textarea{min-height:230px}}@media (max-width:760px){.sidebar{visibility:hidden;width:245px;transition:transform .2s;transform:translate(-100%);box-shadow:12px 0 40px #29332010}.sidebar.open{visibility:visible;transform:none}.sidebar.open:after{content:"";z-index:-1;pointer-events:none;background:#20272155;width:calc(100vw - 245px);height:100vh;position:fixed;top:0;left:245px}.sidebar nav{margin-top:30px}.sidebar .mobile-close{display:flex;position:absolute;top:34px;right:13px}.workspace{width:100%;margin-left:0}.mobile-menu{display:flex}.topbar{gap:10px;height:66px;padding:0 18px}.breadcrumb{gap:8px;font-size:10px}.breadcrumb>span,.breadcrumb>svg{display:none}.top-actions{gap:12px}.demo-label{padding:2px 5px;font-size:8px}.xp{font-size:11px}.avatar{width:29px;height:29px;font-size:10px}main{min-height:calc(100vh - 66px);padding:26px 20px}.welcome{margin-bottom:25px}.welcome h1{font-size:37px}.welcome p{max-width:250px;font-size:12px}.welcome-stamp{gap:5px;width:85px;height:85px;margin-right:0}.welcome-stamp svg{width:26px}.welcome-stamp span{font-size:4.5px}.continue-panel{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:300px}.continue-copy{padding:24px 0 24px 22px}.continue-panel h2{font-size:26px}.continue-panel p{font-size:10px}.continue-copy .primary{padding:10px 11px;font-size:10px}.continue-copy .primary svg{width:15px}.code-scene{padding-top:20px;transform:translate(10px)}.sample-code{grid-template-columns:8px 1fr;padding:14px 6px;font-size:8px}.terminal-head{padding:8px}.terminal-head small{margin-left:4px;font-size:6px}.mini-browser{margin-top:10px;margin-right:15px;padding:10px 12px 14px}.mini-browser h3{font-size:18px}.mini-browser>div{font-size:7px}.mini-browser p{font-size:8px}.cursor-mark{bottom:12px;right:8px}.course-section{margin-top:28px}.section-heading{align-items:flex-start;gap:10px}.section-heading h2{max-width:210px;font-size:19px}.section-heading>.text-link{white-space:nowrap;padding-top:3px;font-size:10px}.filter-row{gap:4px}.filter-row button{padding:6px 9px;font-size:9px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.course-grid:not(.catalog)>.course:last-child{grid-column:1/-1;grid-template-columns:1fr 1.1fr;display:grid}.course-grid:not(.catalog)>.course:last-child>.cover{height:100%;min-height:160px}.course-grid:not(.catalog)>.course:last-child .course-body{flex-direction:column;justify-content:center;padding:17px;display:flex}.course-grid:not(.catalog)>.course:last-child .course-meta{margin-top:auto}.cover{height:145px}.course-body{padding:14px 12px}.course-body h3{margin-bottom:15px;font-size:14px}.course-meta{flex-wrap:wrap;row-gap:7px;font-size:8px}.course-category{font-size:8px}.course-symbol{font-size:44px;top:40px}.code-detail{font-size:8px;left:12px}.right-rail{grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}.term-day{border-top:1px solid var(--line);grid-column:1/-1;margin-top:5px;padding:22px 0 0}.term-day h3 span{margin-left:10px;display:inline}.term-day p{max-width:60ch}.daily-goal .rail-title h3,.daily-challenge .rail-title h3{font-size:11px}.goal-days{margin-top:15px}.goal-days b{width:19px;height:25px}.goal-days>div>span{font-size:7px}.goal-days .today svg{width:14px}.daily-goal>button{font-size:8px}.daily-goal>button svg{width:12px}.daily-goal small{font-size:7px}.daily-goal p,.daily-challenge p{font-size:10px}.quiz-options{gap:5px}.quiz-options button{font-size:10px}.project-strip{gap:11px;margin-top:24px;padding:20px 0}.project-strip h3{font-size:12px;line-height:1.5}.project-strip p{font-size:10px;line-height:1.8}.project-icon{width:38px;min-width:38px;height:42px}.project-icon svg{width:23px}.project-strip>.iconbtn{flex-shrink:0;width:28px}.page-heading h1{font-size:30px;line-height:1.2}.page-heading p{font-size:12px}.catalog{gap:15px}.catalog .cover{height:150px}.catalog .course-body{padding:15px 12px}.catalog .course-body h3{font-size:15px}.catalog .course-symbol{font-size:50px;top:45px}.catalog .course-category,.catalog .course-meta{font-size:8px}.course-hero{padding:27px 24px}.course-hero h1{font-size:29px}.course-hero p{font-size:12px}.hero-symbol{display:none}.panel{padding:22px}.module-row{gap:11px}.module-row h3{font-size:12px}.module-row p{font-size:10px}.module-num{min-width:29px;height:29px}.lesson-title{align-items:flex-start}.lesson-title h1{font-size:28px}.lesson-title p{font-size:12px}.lesson-title .badge{white-space:nowrap;padding:5px 8px;font-size:9px}.lesson-steps{grid-template-columns:1fr;gap:7px;margin:22px 0;display:grid}.lesson-steps button{font-size:11px}.lesson-description{flex-direction:column;gap:12px}.lesson-description p{font-size:12px}.task-bar{gap:10px;padding:17px}.task-bar p{font-size:11px}.editor textarea{font-size:12px}.lesson-actions{gap:10px}.lesson-actions .primary,.lesson-actions .secondary{gap:8px;padding:10px 12px;font-size:10px}.feedback{flex-direction:column;align-items:flex-start}.feedback p{font-size:11px}.glossary-tools{flex-direction:column;gap:11px}.glossary-tools>.secondary{align-self:flex-start}.terms-list{grid-template-columns:1fr}.term-heading>div{flex-direction:row}.term-heading h2{font-size:22px}.term-entry{padding:21px}.term-entry>p{min-height:0}.certificate-notice{align-items:flex-start;padding:15px}.certificate-notice p{font-size:11px}.certificate{padding:26px 22px}.certificate h2{font-size:26px}.cert-medal{margin-top:25px}.certificate>h3{font-size:27px}.cert-top{font-size:7px}.cert-skills{gap:9px;font-size:8px}.community-hero{padding:30px 20px}.community-hero h2{font-size:25px}.community-hero p{font-size:12px}.community-grid{grid-template-columns:1fr;gap:18px}footer{flex-direction:column;align-items:flex-start;gap:8px;margin-top:32px}.toast{width:calc(100vw - 36px);padding:14px 16px;font-size:11px;bottom:18px}.completion-note{font-size:12px}.completion-note p{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.sidebar,.topbar,.page-heading,.certificate-notice,.verify-panel,.project-proof,.completion-note,footer{display:none}.workspace{width:100%;margin:0}main{padding:0}.certificate-grid{display:block}.certificate{break-inside:avoid;max-width:none}}.loading-state{text-align:center;color:#6c7b61;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:55vh;display:flex}.loading-state h2{font-size:22px}.loading-state p{font-size:12px}.login-welcome{text-align:center;max-width:650px;margin:75px auto}.login-welcome>svg{color:#709447}.login-welcome h1{margin:25px 0;font-size:40px}.login-welcome p{margin-bottom:28px}.login-welcome .text-link{justify-content:center;margin-top:25px;display:flex}.profile-nudge{background:#e9e2f6;border-radius:10px;align-items:center;gap:12px;margin-bottom:22px;padding:15px 20px;font-size:12px;display:flex}.profile-nudge .text-link{margin-left:auto}.learner-summary{align-items:baseline;gap:10px;margin:20px 0 7px;display:flex}.learner-summary strong{font-size:36px;line-height:1}.learner-summary span{color:#6d795f;font-size:10px}.daily-challenge .text-link{margin-top:15px}.skill-tags{flex-wrap:wrap;gap:7px;margin-bottom:22px;display:flex}.skill-tags span{background:#ffffff70;border-radius:5px;padding:5px 8px;font-size:10px}.lesson-prose{white-space:pre-wrap;line-height:1.95}.lesson-code{color:#d5e7b7;white-space:pre-wrap;overflow-wrap:anywhere;background:#26372a;border-radius:12px;padding:25px;font:13px/1.9 monospace}.question-list{gap:18px;margin:25px 0;display:grid}.question{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;margin:0;padding:22px}.question legend{overflow-wrap:anywhere;max-width:100%;padding:0 8px;font-size:13px;font-weight:800}.answer-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.answer{cursor:pointer;overflow-wrap:anywhere;background:#fafbf7;border:1px solid #e4e8de;border-radius:8px;align-items:flex-start;gap:10px;padding:13px;font-size:12px;display:flex}.answer.chosen{background:#e6efd9;border-color:#98b96e}.answer input{accent-color:#597c36;flex-shrink:0;margin-top:4px}.answer-good,.answer-bad{margin-top:16px;font-size:11px;line-height:1.8}.answer-good{color:#4b722f}.answer-bad{color:#974930}.admin-form>form,.admin-form{min-width:0}.admin-form label{color:#485b3b;margin-bottom:18px;font-size:11px;font-weight:700;display:block}.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select{width:100%;min-width:0;color:var(--ink);background:#fafbf7;border:1px solid #d9e1d1;border-radius:7px;margin-top:6px;padding:11px 12px;font-size:12px;line-height:1.7;display:block}.admin-form input[readonly]{color:#78856b;background:#f0f3e9}.admin-form textarea{resize:vertical}.admin-form .code-input{tab-size:2;font:12px/1.8 monospace}.admin-form h2{margin-bottom:24px;font-size:21px}.admin-form h3{margin:20px 0 14px;font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-row{align-items:flex-start;gap:10px;display:flex}.form-row label{flex:1}.form-row .iconbtn{margin-top:24px}.form-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.checkbox-line{align-items:flex-start;gap:10px;margin-top:20px;line-height:1.9;margin-bottom:20px!important;font-size:12px!important;font-weight:500!important;display:flex!important}.checkbox-line input{accent-color:#5a7e36;flex-shrink:0;margin-top:5px}.profile-form{max-width:650px}.profile-signout{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.profile-signout a{color:#7c5143;align-items:center;gap:9px;font-size:12px;text-decoration:none;display:inline-flex}.admin-tabs{border-bottom:1px solid var(--line);padding-bottom:15px}.admin-tabs button{font-size:11px}.admin-stats{color:#6b7b60;flex-wrap:wrap;gap:24px;margin:20px 0 25px;font-size:12px;display:flex}.admin-layout{grid-template-columns:220px minmax(0,1fr);gap:22px;display:grid}.admin-list{flex-direction:column;align-self:start;gap:7px;padding:14px;display:flex}.admin-list>button{text-align:left;overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:9px;padding:12px 10px;font-size:11px;display:flex}.admin-list>button>span{min-width:0}.admin-list button.selected{background:#e7efda}.admin-list button>span small{color:#758468;margin-top:5px;font-size:9px;display:block}.admin-list .primary{margin-bottom:12px;font-size:11px}.admin-question{background:#f6f8f0;border:1px solid #e4e9da;border-radius:10px;margin:15px 0;padding:19px}.question-editor{margin:15px 0 28px}.lesson-editor{border:1px solid var(--line);background:#fafbf6;border-radius:10px;margin-bottom:14px}.lesson-editor summary{cursor:pointer;padding:18px 20px;font-size:13px;font-weight:700}.lesson-editor[open] summary{border-bottom:1px solid var(--line)}.lesson-editor-body{padding:20px}.danger-link{color:#963f2c;align-items:center;gap:7px;margin-top:18px;font-size:11px;display:inline-flex}.form-section-title{margin-top:36px!important}.project-code{color:#dae8bf;white-space:pre-wrap;overflow-wrap:anywhere;background:#24342a;border-radius:10px;max-height:450px;margin:20px 0;padding:20px;font:11px/1.9 monospace;overflow:auto}.project-frame{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:280px;margin:18px 0}.project-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:18px 0;font-size:13px;line-height:1.9}.record-row{border-top:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.record-row>div{min-width:0}.record-row strong{font-size:13px}.record-row p{margin-top:6px;font-size:11px}.record-row small{color:#6e7b64;overflow-wrap:anywhere;margin-top:7px;font-size:9px;display:block}.record-row>.secondary{flex-shrink:0;font-size:10px}.project-requirements{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.project-requirements>span{border:1px solid var(--line);color:#78816d;background:#fff;border-radius:7px;align-items:center;gap:8px;padding:10px 13px;font-size:11px;display:flex}.project-requirements>span.met{color:#4b6d32;background:#e3efd5;border-color:#d5e5c1}.my-certificates{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0;display:grid}.my-certificate{text-align:left;background:#fffef5;border:1px solid #e0dfc6;border-radius:14px;padding:30px}.my-certificate>svg{color:#9b8b44}.my-certificate h2{margin:18px 0 12px;font-size:21px}.my-certificate p{font-size:13px}.my-certificate small{color:#7c846d;margin:10px 0 20px;font-size:10px;display:block}.verification-search{max-width:700px;margin-bottom:26px}.verification-search>label{margin-bottom:8px;font-size:11px;font-weight:700;display:block}.verification-search>div{gap:12px;display:flex}.verification-search input{background:#fff;border:1px solid #d6dfcb;border-radius:8px;flex:1;min-width:0;padding:12px;font:13px monospace}.verification-state{border-radius:10px;align-items:center;gap:15px;margin:23px 0;padding:20px;font-size:13px;display:flex}.verification-state p{color:inherit;margin-top:5px;font-size:11px}.project-proof-panel h2{font-size:21px}.project-proof-panel h3{margin:24px 0 14px;font-size:23px}.project-proof-panel>p{font-size:12px;line-height:1.9}.cert-download{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:15px;margin-top:27px;padding-top:22px;display:flex}.cert-bottom strong{overflow-wrap:anywhere;max-width:250px;font-size:9px;display:block}.connection-link{margin-top:20px}.connection-link p{margin:13px 0;font-size:11px;line-height:1.8}.community-grid .primary{margin-top:20px}.community-grid .secondary{margin-top:12px}.feedback[role=alert]{overflow-wrap:anywhere}@media (max-width:1100px){.admin-layout{grid-template-columns:1fr}.admin-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.admin-list .primary{grid-column:1/-1;justify-content:center}.admin-list>button{border:1px solid var(--line);font-size:11px}.admin-stats{gap:18px}.certificate-grid .cert-bottom strong{max-width:200px}}@media (max-width:760px){.answer-grid{grid-template-columns:1fr}.question{padding:18px 14px}.question legend{font-size:12px}.answer{font-size:11px}.form-grid{grid-template-columns:1fr;gap:0}.admin-form{padding:20px}.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select{font-size:16px}.admin-question{padding:14px}.admin-list{grid-template-columns:1fr}.admin-tabs{gap:4px}.admin-tabs button{padding:8px 9px;font-size:10px}.lesson-editor-body{padding:15px}.lesson-editor summary{padding:15px;font-size:12px}.admin-stats{gap:10px;font-size:10px}.my-certificates{grid-template-columns:1fr}.my-certificate{padding:25px}.my-certificate h2{font-size:21px}.verification-search>div{flex-direction:column}.verification-search input{font-size:16px}.verification-search .primary{align-self:flex-start}.verification-state{padding:17px;font-size:12px}.project-requirements{gap:8px}.project-requirements>span{padding:9px;font-size:10px}.project-description{font-size:12px}.record-row{align-items:flex-start;gap:12px}.record-row>.secondary{padding:9px;font-size:9px}.cert-bottom strong{font-size:8px;max-width:160px!important}.certificate>p{font-size:10px}.project-proof-panel h3{font-size:21px}.profile-nudge{gap:8px;padding:13px;font-size:10px}.profile-nudge .text-link{font-size:10px}.login-welcome{margin:45px auto}.login-welcome h1{font-size:33px}.login-welcome p{font-size:13px}.lesson-code{padding:20px;font-size:12px}.loading-state h2{font-size:19px}.project-code{font-size:10px}.connection-link .secondary{font-size:11px}}html,body{height:100%;overflow:hidden}.app-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}.workspace{overscroll-behavior-y:contain;scrollbar-gutter:stable;min-width:0;height:100%;min-height:0;scroll-padding-top:105px;overflow:hidden auto}.topbar{z-index:20;background:var(--paper);position:sticky;top:0}.sidebar{overscroll-behavior-y:contain;overflow-y:auto}.sidebar>*{flex-shrink:0}.right-rail{max-height:calc(100vh - 129px);scrollbar-gutter:stable;align-self:start;max-height:calc(100dvh - 129px);padding-right:6px;scroll-padding-block:8px;position:sticky;top:105px;overflow:hidden auto}.right-rail>*{flex-shrink:0}.right-rail::-webkit-scrollbar{width:6px}@media (max-width:1050px){.right-rail{scrollbar-gutter:auto;align-self:auto;max-height:none;padding-right:0;position:static;overflow:visible}}@media (max-width:760px){.workspace{scroll-padding-top:90px}.sidebar{height:100vh;height:100dvh}.sidebar.open{overscroll-behavior:contain}}@media print{html,body{height:auto;overflow:visible}.app-shell{height:auto;min-height:0;overflow:visible}.workspace{scrollbar-gutter:auto;height:auto;overflow:visible}.right-rail{max-height:none;position:static;overflow:visible}}.mobile-backdrop{display:none}@media (max-width:760px){.mobile-backdrop{z-index:25;background:#20272155;display:block;position:fixed;inset:0}.sidebar.open:after{display:none}}@media print{.mobile-backdrop{display:none}}.pathway{gap:8px;margin:20px 0 28px;display:grid}.pathway button{text-align:left;border:1px solid var(--line,#deded7);color:inherit;background:0 0;border-radius:12px;align-items:center;gap:12px;padding:13px;display:flex}.pathway button.selected{background:#ece8fc;border-color:#b4a7dc}.pathway button>b{background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.pathway button>span{flex:1}.pathway small{color:#62645d;margin-top:5px;font-size:12px;display:block}.practice-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px;display:grid}.practice-workspace .editor textarea{min-height:320px}.practice-guide{min-width:0}.practice-guide p{font-size:14px;line-height:1.7}.practice-guide pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f2ec;border-radius:10px;padding:14px;font:13px/1.7 ui-monospace,monospace}.practice-guide summary{cursor:pointer;padding:14px 0;font-weight:700}.lesson-prose{white-space:pre-line}.lesson-steps{max-height:200px;overflow:auto}.lesson-steps button{flex-shrink:0}.admin-unsaved{z-index:5;background:#fff3ce;border:1px solid #dec773;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex;position:sticky;top:80px}.admin-unsaved span{flex:1}.practice-editor-fields{border:1px solid #deded7;border-radius:10px;margin-top:15px;padding:14px}@media (max-width:760px){.practice-workspace{grid-template-columns:minmax(0,1fr)}.pathway button{padding:12px 9px}.pathway button>span{overflow-wrap:anywhere;min-width:0}.lesson-steps{max-height:150px}.editor-footer{flex-wrap:wrap;gap:8px}.admin-unsaved{top:72px}}.admin-form fieldset{border:0;min-width:0;margin:0;padding:0;display:contents}.admin-form fieldset:disabled{opacity:.7}.lesson-goal{background:#e9f3dc;border-radius:12px;align-items:flex-start;gap:14px;margin:20px 0;padding:20px;display:flex}.lesson-goal p{margin-top:5px}.worked-example,.debug-activity,.lesson-terms{max-width:80ch;margin:32px 0}.worked-example p,.debug-activity p{font-size:15px;line-height:1.85}.debug-activity summary,.lesson-terms summary{cursor:pointer;padding:14px 0;font-weight:700}.lesson-terms details{border-bottom:1px solid var(--line)}.lesson-terms pre{white-space:pre-wrap;overflow-wrap:anywhere}.module-label{color:#59654f;margin-bottom:7px;font-size:11px;display:block}.module-context{color:#4f623f;margin:20px 0 5px;font-weight:700}.python-console{margin-top:24px}.python-console>p{margin:12px 0 20px}.python-console label{font-size:13px;font-weight:700;display:block}.python-console textarea{border:1px solid #b5bfab;border-radius:8px;width:100%;margin:8px 0 16px;padding:12px;font:14px/1.7 ui-monospace,monospace;display:block}.python-console pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#e6f3dd;background:#233126;border-radius:10px;max-height:350px;margin:12px 0;padding:18px;font:14px/1.75 ui-monospace,monospace;overflow:auto}.python-console .python-error{color:#ffdad2}.python-console h4{margin:20px 0 8px}.python-console .form-actions{flex-wrap:wrap;gap:10px}.python-check{border-top:1px solid var(--line);padding:16px 0}.python-check pre{color:var(--ink);background:#f0f3ea}.lesson-goal,.worked-example,.debug-activity,.lesson-terms{min-width:0}.hint-box pre{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:760px){.python-console textarea,.practice-workspace textarea{font-size:16px}.python-console{padding:18px}.python-console .form-actions>button{flex:1;min-width:140px}.worked-example p,.debug-activity p{font-size:15px}.lesson-goal{padding:16px}.lesson-steps{flex-wrap:nowrap;max-height:150px;overflow:auto hidden}.lesson-steps button{white-space:normal;text-align:left;max-width:240px}.module-row{align-items:flex-start}}.course-outline>details{border-top:1px solid var(--line)}.course-outline>details>summary{cursor:pointer;list-style:revert;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.course-outline>details>summary strong{font-size:16px;line-height:1.5}.course-outline>details>summary span{white-space:nowrap;color:var(--muted);font-size:12px}.course-outline .module-row{padding-left:8px}.worked-example>p{white-space:pre-line}@media (max-width:760px){.lesson-steps{grid-template-columns:none;display:flex}.lesson-steps button{flex:none;max-width:240px;min-height:44px}}.catalog-continue{margin-bottom:34px}.catalog-continue h2{margin-bottom:14px;font-size:18px}.catalog-continue>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.continue-card{text-align:left;color:#fff;background:#222e28;border-radius:13px;align-items:center;gap:14px;min-width:0;padding:16px 18px;display:flex}.continue-card:hover{background:#2b3a31}.continue-symbol{letter-spacing:-.05em;border-radius:11px;flex-shrink:0;place-items:center;width:48px;height:48px;font:700 17px monospace;display:grid}.continue-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.continue-text small{letter-spacing:.08em;color:#a9bba8;font-size:9px;font-weight:800}.continue-text strong{font-size:14px;line-height:1.35}.continue-text>span{color:#c0ccc0;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.continue-text .catalog-progress{margin-top:8px}.continue-card .catalog-progress>div{color:#bdc9bd}.continue-card .catalog-progress b{color:#c2ee7a}.continue-play{background:var(--lime);color:#253b21;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.catalog-toolbar{align-items:center}.catalog-toolbar .filter-row{margin-bottom:0}.catalog-toolbar .filter-row button{padding:8px 14px;font-size:12px}.catalog-toolbar .filter-row button b{color:#86917d;margin-left:7px;font-size:10px;font-weight:700}.catalog-toolbar .search{min-width:260px}.catalog-group{margin-top:38px}.catalog-group-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;padding-bottom:14px;display:flex}.catalog-group-head h2{font-size:24px}.catalog-group-head p{margin-top:4px;font-size:13px}.catalog-group-head>span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.catalog-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.catalog-cards.with-path{grid-template-columns:minmax(0,1fr)}.catalog-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:13px;flex-direction:column;width:100%;height:100%;padding:0;transition:border-color .18s,transform .18s;display:flex;overflow:hidden}.catalog-card:hover{border-color:#c4d3b1}.catalog-card:hover .cover-arrow{background:#fff;transform:rotate(8deg)}.catalog-card .cover{flex-shrink:0;height:112px}.catalog-card .course-symbol{font-size:44px;top:34px}.stage-badge{background:#ffffffa8;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;bottom:12px;right:12px}.catalog-card-body{flex-direction:column;flex:1;min-width:0;padding:16px 18px 14px;display:flex}.catalog-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.catalog-card .course-category{font-size:10px}.course-status{color:#65725f;white-space:nowrap;background:#f1f3ec;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-flex}.course-status.active{color:#7a5b14;background:#fff1c7}.course-status.done,.course-status.passed{color:#3f6129;background:#e3f1d5}.course-status.certified{color:#806a22;background:#fbf3d9}.catalog-card h3{margin:10px 0 6px;font-size:17px;line-height:1.35}.catalog-card-body>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:14px;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.catalog-card .course-meta{margin-top:12px;font-size:11px}.catalog-cta{color:#36502a;font-weight:800}.catalog-progress{margin-top:auto}.catalog-progress>div{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;font-size:10px;display:flex}.catalog-progress b{color:#4f6f2f}.catalog-card progress{background:#eef1e8;height:6px;margin-top:6px}.catalog-card progress::-webkit-progress-bar{background:#eef1e8}.catalog-card progress::-webkit-progress-value{background:#a6d65f}.catalog-card progress::-moz-progress-bar{background:#a6d65f}.catalog-card.wide{flex-direction:row}.catalog-card.wide .cover{width:300px;height:auto;min-height:190px}.catalog-card.wide .course-symbol{font-size:64px;top:50px}.catalog-card.wide .catalog-card-body{padding:22px 26px}.catalog-card.wide h3{font-size:21px}.catalog-card.wide .catalog-card-body>p{-webkit-line-clamp:3;max-width:70ch}.catalog-path{margin-top:22px}.catalog-path-label{color:var(--muted);align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.catalog-path-label strong{color:var(--ink)}.path-or{letter-spacing:.08em;text-transform:uppercase;background:var(--lavender);color:#594679;border-radius:5px;padding:3px 9px;font-size:10px;font-weight:800}.catalog-path ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.catalog-path li{min-width:0;position:relative}.catalog-path li:not(:last-child):after{content:"";z-index:1;border-top:2px dashed #b3c19f;width:18px;position:absolute;top:56px;right:-18px}@media (max-width:1190px){.catalog-cards,.catalog-path ol{gap:14px}.catalog-path li:not(:last-child):after{width:14px;right:-14px}.catalog-continue>div{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card-body{padding:14px}}@media (max-width:1050px){.catalog-cards,.catalog-path ol{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-path li:nth-child(2n):after{display:none}.catalog-card.wide .cover{width:220px}.catalog-toolbar{align-items:stretch}.catalog-toolbar .search{min-width:0}}@media (max-width:760px){.catalog-continue>div,.catalog-cards,.catalog-path ol{grid-template-columns:minmax(0,1fr)}.catalog-path li:after{display:none}.catalog-card.wide{flex-direction:column}.catalog-card.wide .cover{width:auto;height:112px;min-height:0}.catalog-card.wide .course-symbol{font-size:44px;top:34px}.catalog-card.wide .catalog-card-body{padding:14px}.catalog-card.wide h3{font-size:17px}.catalog-group-head{flex-direction:column;align-items:flex-start;gap:6px}.catalog-group-head h2{font-size:21px}.catalog-toolbar .filter-row button{padding:7px 11px;font-size:11px}}.lesson-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;padding-bottom:22px;display:flex}.lesson-header-main{flex:1;min-width:0}.lesson-kicker{color:#4f623f;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.lesson-header h1{font-size:34px}.lesson-course-progress{align-items:center;gap:12px;max-width:420px;margin-top:14px;display:flex}.lesson-course-progress progress{background:#e6eadf;flex:1;height:6px;margin:0}.lesson-course-progress progress::-webkit-progress-bar{background:#e6eadf}.lesson-course-progress progress::-webkit-progress-value{background:#a6d65f}.lesson-course-progress progress::-moz-progress-bar{background:#a6d65f}.lesson-course-progress span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.lesson-nav{flex-shrink:0;align-items:center;gap:8px;display:flex}.lesson-nav .secondary{gap:8px}.lesson-picker{position:relative}.lesson-picker summary{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:10px 14px;font-size:12px;font-weight:800;list-style:none;display:flex}.lesson-picker summary::-webkit-details-marker{display:none}.lesson-picker summary:hover{background:#f0f3e9}.lesson-picker summary:focus-visible{outline:3px solid #5e4aa6}.lesson-picker summary b{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.lesson-picker summary svg{transition:transform .18s}.lesson-picker[open] summary svg{transform:rotate(180deg)}.lesson-picker-list{z-index:15;overscroll-behavior:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:min(420px,100vw - 40px);max-height:min(480px,60vh);padding:8px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 8px 25px #26332025}.lesson-picker-list h4{color:#4f623f;justify-content:space-between;gap:10px;margin:0;padding:12px 10px 6px;font-size:11px;font-weight:800;display:flex}.lesson-picker-list h4 small{color:var(--muted);font-weight:600}.lesson-picker-list ol{margin:0;padding:0;list-style:none}.lesson-picker-list button{text-align:left;border-radius:7px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.lesson-picker-list button:hover{background:#f4f6ef}.lesson-picker-list button.current{background:#e5edda;font-weight:700}.lesson-picker-list button>span{background:#f0f3ea;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:grid}.lesson-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:32px;display:grid}.lesson-content{min-width:0}.lesson-content .lesson-goal{margin-top:0}.lesson-content .lesson-prose{color:#4b574c;max-width:68ch;font-size:14px;line-height:1.85}.lesson-content .worked-example,.lesson-content .debug-activity,.lesson-content .lesson-terms{max-width:none}.lesson-glossary-link{margin-top:6px}.lesson-workbench{flex-direction:column;gap:16px;min-width:0;display:flex}.lesson-workbench>*{flex-shrink:0}.lesson-workbench .task-bar{margin:0}.lesson-workbench .lab-grid{grid-template-columns:minmax(0,1fr)}.lesson-workbench .preview-head{border-top:1px solid var(--line)}.lesson-workbench .practice-workspace{flex-direction:column;gap:16px;margin:0;display:flex}.lesson-workbench .practice-workspace .editor{border-radius:13px;overflow:hidden}.lesson-workbench .practice-workspace .editor textarea{min-height:260px}.lesson-workbench .python-console,.lesson-workbench .lesson-code{margin:0}.lesson-hint{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.lesson-hint .hint-box{width:100%}.lesson-check{border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.lesson-check .section-heading{margin-bottom:6px}.lesson-check .question-list{margin-top:12px}@media (max-width:1100px){.lesson-layout{grid-template-columns:minmax(0,1fr)}.lesson-header{flex-direction:column;align-items:stretch}.lesson-nav{justify-content:space-between}}@media (max-width:760px){.lesson-header h1{font-size:27px}.lesson-nav-label{display:none}.lesson-nav .secondary{min-width:44px;padding:10px 12px}.lesson-picker{flex:1}.lesson-picker summary{justify-content:center}.lesson-picker-list{width:auto;max-height:70vh;position:fixed;inset:auto 16px 16px}.lesson-course-progress{max-width:none}.lesson-check{margin-top:30px}}@media print{.lesson-nav{display:none}}.lesson-layout.stacked{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-layout.stacked .lab-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lesson-layout.stacked .preview-head{border-top:0}@media (max-width:1050px){.lesson-layout.stacked .lab-grid{grid-template-columns:minmax(0,1fr)}.lesson-layout.stacked .preview-head{border-top:1px solid var(--line)}}.glossary-tools .secondary.selected{color:#364d2d;background:#e8eedd;border-color:#c9d8b4}.glossary-tools .secondary b{font-variant-numeric:tabular-nums;color:var(--muted)}.glossary-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:24px;display:flex}.glossary-filters .filter-row{margin:0}.glossary-filters .filter-row button{padding:8px 14px;font-size:12px}.glossary-filters .filter-row button b{color:#86917d;margin-left:7px;font-size:10px;font-weight:700}.letter-index{flex-wrap:wrap;gap:2px;display:flex}.letter-index button{color:#55624f;border-radius:6px;width:28px;height:28px;font-size:11px;font-weight:800}.letter-index button:hover{background:#e9eedd}.glossary-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:28px;display:grid}.glossary-list{min-width:0}.glossary-list section+section{margin-top:18px}.letter-title{color:#5f8a36;border-bottom:1px solid var(--line);margin-bottom:6px;padding:0 4px 8px;font-size:13px;font-weight:800}.glossary-list ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.term-row{text-align:left;border:1px solid #0000;border-radius:9px;align-items:center;gap:12px;width:100%;padding:11px 12px;display:flex}.term-row:hover{background:#fff}.term-row.current{background:#fff;border-color:#c4d3b1;box-shadow:inset 3px 0 #a6d65f}.term-row-text{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.term-row-text strong{white-space:nowrap;font-size:14px;font-weight:800}.term-row-text span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.term-row-saved{color:#557b2d}.term-detail{max-height:calc(100vh - 129px);overscroll-behavior-y:contain;max-height:calc(100dvh - 129px);position:sticky;top:105px;overflow-y:auto}.term-inline{display:none}.term-detail-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.term-detail-head h2{letter-spacing:-.03em;margin-top:10px;font-size:32px}.term-detail-head p{margin-top:4px;font-size:14px}.term-detail-body .save-term{flex-shrink:0;gap:8px}.term-detail-body .save-term.is-saved{color:#557b2d;background:#e8f3db;border-color:#cfe2b8}.term-definition{color:#3f4b40;max-width:65ch;margin:20px 0 4px;font-size:15px;line-height:1.8}.term-detail-body h3{text-transform:uppercase;letter-spacing:.07em;color:#6b7564;margin:24px 0 10px;font-size:11px;font-weight:800}.term-detail-body pre{color:#d5e7ad;white-space:pre-wrap;overflow-wrap:anywhere;background:#222e28;border-radius:10px;margin:0;padding:16px 18px;font:13px/1.8 monospace}.term-lessons{gap:6px;margin:0;padding:0;list-style:none;display:grid}.term-lessons button{text-align:left;border:1px solid var(--line);background:#fafbf7;border-radius:9px;align-items:center;gap:12px;width:100%;padding:11px 13px;font-size:13px;line-height:1.4;display:flex}.term-lessons button:hover{background:#f0f3e9}.term-lessons button>span{flex:1;min-width:0}.term-lessons small{letter-spacing:.08em;color:#6b7564;font-size:9px;font-weight:800;display:block}.term-lessons svg{color:#5d7a3e}.term-related{flex-wrap:wrap;gap:6px;display:flex}.term-related button{background:var(--lavender);color:#594679;border-radius:6px;padding:7px 12px;font-size:12px;font-weight:700}.term-related button:hover{background:#d9cff4}@media (max-width:1050px){.glossary-layout{grid-template-columns:minmax(0,1fr)}.term-detail{display:none}.term-inline{background:#fff;border:1px solid #c4d3b1;border-top:0;border-radius:0 0 9px 9px;margin-bottom:8px;padding:18px 16px 20px;display:block}.term-row.current{box-shadow:none;border-radius:9px 9px 0 0}}@media (max-width:760px){.term-detail-head h2{font-size:26px}.glossary-filters .filter-row button{padding:7px 11px;font-size:11px}.term-row-text{flex-direction:column;gap:2px}.term-row-text span{white-space:normal}}@media (max-width:1050px){.term-inline .term-detail-head>div{display:none}.term-inline .term-detail-head{justify-content:flex-end}.term-inline .term-definition{margin-top:10px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.premium-badge{color:#f6d77a;background:#2b2a1f;border-radius:5px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex;position:absolute;bottom:12px;left:12px}.premium-chip,.supporter-chip,.premium-link{white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.premium-chip{color:#7a6118;background:#fbf3d9;border:1px solid #ecdba4}.premium-link{color:#7a6118;border:1px solid #ecdba4}.premium-link:hover{background:#fbf3d9}.supporter-chip{color:#8a3d55;background:#fbe4ea}.membership-row{flex-wrap:wrap;align-items:center;gap:10px;margin:-10px 0 24px;display:flex}.lesson-lock{color:#9a8336;margin-left:auto}.mentor-panel{background:#fbfaff;border-color:#ddd5f3;flex-direction:column;gap:12px;display:flex}.mentor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mentor-head h3{color:#4b3a72;align-items:center;gap:8px;font-size:15px;display:flex}.mentor-head svg{color:#7a5fb0}.mentor-quota{color:#6b5a8c;font-variant-numeric:tabular-nums;background:#ece6fa;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700}.mentor-quota.empty{color:#913e25;background:#ffe7dd}.mentor-panel>p{font-size:12px;line-height:1.7}.mentor-panel textarea{width:100%;color:var(--ink);resize:vertical;background:#fff;border:1px solid #d9d1ef;border-radius:8px;padding:10px 12px;line-height:1.6}.mentor-panel .form-actions{margin-top:0}.mentor-answer{background:#fff;border:1px solid #ddd5f3;border-left:3px solid #8d75b5;border-radius:8px;padding:14px 16px}.mentor-answer p{white-space:pre-wrap;overflow-wrap:anywhere;color:#2f3a31;font-size:14px;line-height:1.75}.mentor-answer small{color:#7a7590;margin-top:10px;font-size:10px;display:block}.premium-active{color:#6f5714;background:#fbf3d9;border:1px solid #ecdba4;border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:24px;padding:18px 20px;display:flex}.premium-active p{color:#7a6530;margin-top:4px;font-size:12px}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.plan-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:12px;padding:26px;display:flex}.plan-card h2{align-items:center;gap:8px;display:flex}.plan-card.featured{color:#f3f6ee;background:#232c25;border-color:#232c25}.plan-card.featured h2 svg{color:#f6d77a}.plan-card.featured p{color:#c4cfc2}.plan-card.featured .info-note{color:#c4cfc2;margin:0}.plan-price{letter-spacing:-.03em;font-size:26px;font-weight:800;color:var(--ink)!important}.plan-card.featured .plan-price{color:#fff!important}.plan-card .primary,.plan-card .badge{margin-top:auto}.plan-compare{margin-top:24px;padding:8px 26px;overflow-x:auto}.plan-compare table{border-collapse:collapse;width:100%;font-size:13px}.plan-compare th,.plan-compare td{border-bottom:1px solid var(--line);text-align:left;padding:14px 10px}.plan-compare tr:last-child th,.plan-compare tr:last-child td{border-bottom:0}.plan-compare thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.plan-compare tbody th{font-weight:600}.plan-compare td{color:#3f5634;white-space:nowrap;font-weight:700}.plan-compare td svg{color:#5d8a36}.plan-compare td svg[aria-label=Yo‘q]{color:#b4bcad}.plan-steps{margin-top:24px}.plan-steps ol{color:#4b574c;gap:10px;margin:0;padding-left:20px;font-size:13px;line-height:1.7;display:grid}.plan-steps code{overflow-wrap:anywhere;background:#f1f3ec;border-radius:4px;padding:2px 6px;font:12px monospace}.support-panel{background:#fff7f9;border-color:#f3d3dd;align-items:center;gap:18px;margin-top:24px;display:flex}.support-panel>svg{color:#c2557a;flex-shrink:0}.support-panel>div{flex:1;min-width:0}.support-panel h2{margin-bottom:6px;font-size:18px}.support-panel p{font-size:13px;line-height:1.7}.supporter-note{align-items:center;gap:6px;margin-top:8px;font-weight:700;display:flex;color:#8a3d55!important}.premium-lock{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:620px;margin:10px auto 0;padding:40px 30px;display:flex}.premium-lock>svg{color:#9a8336}.premium-lock p{max-width:48ch;line-height:1.75}.support-card{z-index:90;background:#fff;border:1px solid #f3d3dd;border-radius:14px;width:min(340px,100vw - 32px);padding:20px 20px 18px;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 25px #26332025}.support-card h2{margin:10px 0 6px;font-size:16px}.support-card p{font-size:12px;line-height:1.7}.support-card .form-actions{gap:8px;margin-top:14px}.support-card .primary,.support-card .secondary{min-height:38px;padding:8px 12px}.support-icon{color:#c2557a;background:#fbe4ea;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.support-close{position:absolute;top:10px;right:10px}.admin-members{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.admin-members small svg{vertical-align:-2px}@media (max-width:1100px){.admin-members{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.plan-grid{grid-template-columns:minmax(0,1fr)}.plan-compare{padding:4px 14px}.plan-compare th,.plan-compare td{padding:12px 6px;font-size:12px}.plan-compare td{white-space:normal}.support-panel{flex-direction:column;align-items:flex-start}.support-card{bottom:16px;right:16px}.premium-link,.premium-chip{padding:5px 8px;font-size:10px}.topbar .premium-link svg,.topbar .premium-chip svg{width:12px}}a.primary,a.secondary{text-decoration:none}.portfolio{max-width:1080px;margin:0 auto}.portfolio-hero{color:#f3f6ee;border-radius:var(--radius);background:#222e28;align-items:flex-start;gap:26px;padding:34px 36px;display:flex}.portfolio-avatar{background:var(--lime);color:#253b21;border-radius:50%;flex-shrink:0;place-items:center;width:88px;height:88px;font-size:38px;font-weight:800;display:grid}.portfolio-intro{flex:1;min-width:0}.portfolio-kicker{color:#c2ee7a;letter-spacing:.02em;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.portfolio-hero h1{color:#fff;margin-top:8px;font-size:38px}.portfolio-headline{color:#d9e4d4;margin-top:6px;font-size:16px;font-weight:700}.portfolio-bio{color:#b9c6b7;max-width:65ch;margin-top:12px;font-size:14px;line-height:1.8}.portfolio-links{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.portfolio-links .secondary{color:#eef4e9;background:#2f3c33;border-color:#3d4c41;gap:8px;min-height:38px;padding:8px 12px}.portfolio-links .secondary:hover{background:#3a493e}.portfolio-links .text-link{color:#c2ee7a}.portfolio-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.portfolio-stats>div{border:1px solid var(--line);background:#fff;border-radius:13px;padding:18px 20px}.portfolio-stats strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:26px;display:block}.portfolio-stats span{color:var(--muted);font-size:12px}.portfolio-section{margin-top:34px}.portfolio-section>h2{margin-bottom:14px;font-size:20px}.portfolio-empty{border:1px dashed #cfd6c6;border-radius:12px;padding:18px 20px;font-size:13px}.portfolio-skills span{color:#3a5130;background:#e8eedd;padding:6px 10px;font-size:12px;font-weight:700}.portfolio-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.portfolio-project{flex-direction:column;padding:0;display:flex;overflow:hidden}.portfolio-preview{border:0;border-bottom:1px solid var(--line);background:#fff;width:100%;height:200px}.portfolio-project-body{flex-direction:column;gap:8px;min-width:0;padding:20px 22px;display:flex}.portfolio-project-body small{color:var(--muted);font-size:11px}.portfolio-project-body h3{font-size:18px}.portfolio-project-body>p{white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:5;-webkit-box-orient:vertical;font-size:13px;line-height:1.75;display:-webkit-box;overflow:hidden}.portfolio-project .form-actions{margin-top:8px}.portfolio-project .project-code{margin:8px 0 0}.portfolio-certs,.portfolio-progress{gap:10px;margin:0;padding:0;list-style:none;display:grid}.portfolio-certs li{background:#fffef5;border:1px solid #e0dfc6;border-radius:12px;align-items:center;gap:14px;padding:16px 18px;display:flex}.portfolio-certs li>svg{color:#9b8b44;flex-shrink:0}.portfolio-certs li>div{flex:1;min-width:0}.portfolio-certs strong{font-size:14px;display:block}.portfolio-certs span{color:var(--muted);font-size:12px}.portfolio-progress li{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.portfolio-progress li>div{flex:1;min-width:0}.portfolio-progress-top{justify-content:space-between;gap:12px;font-size:13px;display:flex}.portfolio-progress-top span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:12px;display:inline-flex}.portfolio-progress progress{background:#eef1e8;height:6px;margin-top:8px}.portfolio-progress progress::-webkit-progress-bar{background:#eef1e8}.portfolio-progress progress::-webkit-progress-value{background:#a6d65f}.portfolio-progress progress::-moz-progress-bar{background:#a6d65f}.portfolio-settings{max-width:650px;margin-top:24px}.portfolio-settings h2{align-items:center;gap:8px;margin-bottom:0;display:flex}.portfolio-settings .badge.live{color:#3f6129;background:#e3f1d5;border-color:#cfe2b8}.portfolio-share{background:#f3f6ed;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:12px;display:flex}.portfolio-share code{overflow-wrap:anywhere;color:#3d5734;flex:1;min-width:0;font:12px monospace}.portfolio-share .secondary{gap:6px;min-height:36px;padding:7px 11px}.slug-field{align-items:stretch;margin-top:6px;display:flex}.slug-field span{color:#6b7564;background:#f0f3e9;border:1px solid #d9e1d1;border-right:0;border-radius:7px 0 0 7px;align-items:center;padding:0 10px;font:12px monospace;display:flex}.admin-form .slug-field input{border-radius:0 7px 7px 0;margin-top:0}@media (max-width:1050px){.portfolio-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.portfolio-hero{flex-direction:column;gap:16px;padding:26px 22px}.portfolio-avatar{width:64px;height:64px;font-size:28px}.portfolio-hero h1{font-size:30px}.portfolio-projects{grid-template-columns:minmax(0,1fr)}.portfolio-certs li{flex-wrap:wrap}.slug-field span{padding:0 7px;font-size:10px}}.slug-field span{white-space:nowrap;flex-shrink:0}.slug-field input{flex:1;min-width:0}.portfolio-stats>div:last-child strong{font-size:20px;line-height:1.6}.brand{letter-spacing:-.045em;padding:0 10px;font-size:26px}.brand-icon{color:var(--ink);flex-shrink:0}.brand-light{color:#4f623f}.cert-logo{font-size:20px}.cert-mark{background:var(--lime);width:30px;height:30px;color:var(--ink);border-radius:8px;place-items:center;display:inline-grid}.login-logo{border-radius:18px;margin:0 auto;display:block}.welcome-stamp svg{color:#6f7d63}@media (max-width:1190px){.brand{padding:0 6px;font-size:23px}.brand-icon{width:38px;height:38px;margin-right:8px}}.daily-card{flex-direction:column;gap:12px;display:flex}.daily-card .goal-days{margin:4px 0}.streak-badge{color:#7a856d;font-variant-numeric:tabular-nums;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex}.streak-badge.on{color:#9a4a12;background:#ffe7c7}.streak-badge.on svg{color:#e0761f;fill:#ffb35c}.goal-days b.done{color:#24391c;background:#a6d65f;border-color:#a6d65f}.goal-days b.today:not(.done){color:#e0761f;background:#fff;border-color:#c2ee7a}.daily-question>small{letter-spacing:.06em;text-transform:uppercase;color:#6c7b5c;font-size:9px;font-weight:800;display:block}.daily-question>p{color:var(--ink);margin:6px 0 10px;font-size:13px;font-weight:700;line-height:1.5}.daily-options{gap:6px;display:grid}.daily-option{text-align:left;color:var(--ink);overflow-wrap:anywhere;background:#fff;border:1px solid #d9e3c9;border-radius:8px;padding:9px 11px;font-size:11px;line-height:1.5}.daily-option:hover:not(:disabled){background:#f6faef;border-color:#a9c584}.daily-option:disabled{opacity:1;cursor:default}.daily-option.right{background:#e3f1d5;border-color:#7fb24a;font-weight:700}.daily-option.wrong{background:#ffe7dd;border-color:#dba491;-webkit-text-decoration:line-through #c26f55;text-decoration:line-through #c26f55}.daily-result{background:#fff;border-radius:9px;margin-top:10px;padding:11px 12px}.daily-result strong{align-items:center;gap:6px;font-size:12px;display:flex}.daily-result.ok strong{color:#3f6129}.daily-result.no strong{color:#974930}.daily-result p{white-space:pre-line;overflow-wrap:anywhere;margin-top:6px;font-size:11px;line-height:1.7}.daily-result small{color:#6c7b5c;margin-top:8px;font-size:10px;font-weight:700;display:block}.daily-goal>.daily-telegram{color:#3a5a8a;background:0 0;border:1px dashed #a9c584;justify-content:center;gap:6px}@media (max-width:760px){.daily-option{padding:10px 12px;font-size:12px}.daily-question>p{font-size:14px}}@media (max-width:1050px){.daily-card{grid-column:span 2}}@media (max-width:760px){.daily-card{grid-column:1/-1}}.course-editor{min-width:0}.course-editor fieldset{border:0;min-width:0;margin:0;padding:0}.course-editor fieldset:disabled{opacity:.7}.editor-tabs{border-bottom:1px solid var(--line);gap:4px;margin:4px 0 20px;display:flex}.editor-tabs button{color:#627061;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 14px;font-size:12px;font-weight:800;display:inline-flex}.editor-tabs button.selected{color:var(--ink);border-bottom-color:#7fb24a}.editor-tabs button b{color:#86917d;font-size:10px;font-weight:700}.tab-error{color:#fff;background:#c2492b;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;display:inline-grid}.issue-summary{color:#7f3420;background:#fff4ef;border:1px solid #e6b3a1;border-radius:10px;margin:6px 0 16px;padding:14px 16px}.issue-summary strong{align-items:center;gap:7px;font-size:13px;display:flex}.issue-summary ul{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.issue-summary button{text-align:left;color:#7f3420;border-radius:6px;width:100%;padding:5px 8px;font-size:12px;line-height:1.5}.issue-summary button:hover{background:#ffe7dd}.issue-summary small{margin-top:8px;font-size:11px;display:block}.field-error{color:#a63c22;align-items:flex-start;gap:5px;margin-top:6px;font-size:11px;font-weight:700;line-height:1.5;display:flex}.field-error svg{flex-shrink:0;margin-top:2px}.group-error{margin:0 0 12px}.admin-form label.has-error input,.admin-form label.has-error textarea,.admin-form label.has-error select{background:#fff8f5;border-color:#c2492b;box-shadow:0 0 0 2px #f6d3c7}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.option-row{align-items:flex-start;gap:6px;display:flex}.option-row>label{flex:1;min-width:0}.option-row>.iconbtn{flex-shrink:0;margin-top:24px}.lessons-pane{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:18px;display:grid}.lesson-outline{border:1px solid var(--line);background:#fafbf6;border-radius:10px;position:sticky;top:105px;overflow:hidden}.lesson-outline-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.lesson-outline ol{max-height:calc(100vh - 260px);overscroll-behavior:contain;max-height:calc(100dvh - 260px);margin:0;padding:6px;list-style:none;overflow-y:auto}.lesson-outline li button{text-align:left;border-radius:7px;align-items:center;gap:9px;width:100%;padding:7px 8px;font-size:12px;line-height:1.35;display:flex}.lesson-outline li button:hover{background:#f0f3e9}.lesson-outline li button.current{background:#e5edda;font-weight:700}.lesson-outline li button>b{background:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.lesson-outline li button>span{flex:1;min-width:0}.lesson-outline small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;font-weight:500;display:block;overflow:hidden}.lesson-current{border:1px solid var(--line);background:#fafbf6;border-radius:10px;min-width:0}.lesson-current-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.lesson-current-head h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px}.lesson-current-actions{align-items:center;gap:2px;display:flex}.lesson-current-actions .divider{background:var(--line);width:1px;height:20px;margin:0 6px}.iconbtn.danger{color:#a63c22}.iconbtn.danger:hover{background:#ffe7dd}.secondary.danger-outline{color:#963f2c;border-color:#ecc4b6}.secondary.danger-outline:hover{background:#fff1ec}.editor-footer-bar{z-index:4;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff2;border-radius:0 0 14px 14px;justify-content:space-between;align-items:center;gap:12px;margin:20px -26px -26px;padding:14px 26px;display:flex;position:sticky;bottom:0}.editor-footer-bar span{color:var(--muted);font-size:12px}@media (max-width:1100px){.lessons-pane{grid-template-columns:minmax(0,1fr)}.lesson-outline{position:static}.lesson-outline ol{max-height:240px}}@media (max-width:760px){.form-grid.three{grid-template-columns:minmax(0,1fr)}.editor-footer-bar{margin:16px -20px -20px;padding:12px 20px}.editor-tabs{overflow-x:auto}}.lesson-outline ol{position:relative}.admin-search{margin:2px 0 6px;padding:8px 10px}.admin-search input{font-size:12px}.admin-list-tools{gap:6px;margin-bottom:4px;display:flex}.admin-list-tools .secondary{flex:1;gap:6px;min-height:36px;padding:7px 10px;font-size:11px}.admin-list-empty{color:var(--muted);padding:6px 4px;font-size:12px}.review-filter{flex-wrap:wrap;gap:4px;margin:0 0 6px}.review-filter button{padding:6px 8px;font-size:10px}.review-filter button b{color:#86917d;margin-left:5px;font-weight:700}@media (max-width:1100px){.admin-list>.admin-search,.admin-list>.admin-list-tools,.admin-list>.review-filter,.admin-list>.admin-list-empty{grid-column:1/-1}}.audit-log .section-heading{margin-bottom:12px}.audit-log .filter-row button b{color:#86917d;margin-left:6px;font-size:10px;font-weight:700}.audit-list{margin:6px 0 0;padding:0;list-style:none}.audit-list li{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:13px 0;display:flex}.audit-icon{color:#4f623f;background:#eff3e8;border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.audit-list li>div{flex:1;min-width:0}.audit-list p{color:var(--ink);font-size:13px;line-height:1.5}.audit-list p strong{font-weight:800}.audit-list small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:12px;display:block}.audit-list time{color:#7a8571;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.editor-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-head-actions .secondary{gap:6px;min-height:34px;padding:6px 11px;font-size:11px}.preview-dialog{background:var(--bg);width:min(1000px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ink);border:0;border-radius:16px;padding:0;overflow:hidden;box-shadow:0 20px 60px #1b231c40}.preview-dialog[open]{flex-direction:column;display:flex}.preview-dialog::backdrop{background:#1b231c80}.pv-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 22px;display:flex}.pv-head h2{align-items:center;gap:8px;font-size:17px;display:flex}.pv-head p{margin-top:3px;font-size:12px}.preview-body{grid-template-columns:280px minmax(0,1fr);gap:24px;padding:22px;display:grid;overflow-y:auto}.preview-card-wrap .catalog-card{cursor:default}.preview-lesson{min-width:0}.preview-lesson h2{margin:4px 0 16px;font-size:26px}.preview-pick{align-items:center;gap:10px;margin-bottom:16px;font-size:12px;font-weight:700;display:flex}.preview-pick select{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:8px;flex:1;padding:8px 10px;font-size:12px}.preview-lesson h3{margin:22px 0 4px}.preview-lesson .info-note{align-items:center;gap:6px;display:flex}@media (max-width:860px){.preview-body{grid-template-columns:minmax(0,1fr)}.preview-card-wrap{max-width:320px}}.pv-head{flex-shrink:0}.preview-body{flex:1;align-items:start;min-height:0}.preview-card-wrap{position:sticky;top:0}.html-checks{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px}.html-checks>div{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.html-checks>div strong{font-size:13px}.html-checks>div span{color:#4f6f2f;font-variant-numeric:tabular-nums;background:#eef5e3;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.html-checks ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.html-checks li{color:#59645a;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;display:flex}.html-checks li svg{color:#4f8a2c;flex-shrink:0;margin-top:1px}.html-checks li.ok{color:var(--ink)}.todo-dot{border:2px solid #b9c3ae;border-radius:50%;flex-shrink:0;width:13px;height:13px;margin:2px 1px 0}.lesson-layout.stacked .html-checks ul{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:760px){.lesson-layout.stacked .html-checks ul{grid-template-columns:minmax(0,1fr)}}.lesson-article{min-width:0;max-width:76ch}.lesson-layout.stacked .lesson-article{max-width:80ch}.lesson-intro{gap:14px;margin-bottom:22px;display:grid}.lesson-meta{color:#5f6c58;flex-wrap:wrap;gap:14px;font-size:12px;font-weight:700;display:flex}.lesson-meta span{align-items:center;gap:5px;display:inline-flex}.lesson-objectives{background:#eef5e3;border:1px solid #d6e6c2;border-radius:14px;padding:18px 20px}.lesson-objectives h2{color:#2f4a24;align-items:center;gap:8px;margin-bottom:10px;font-size:16px;display:flex}.lesson-objectives ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lesson-objectives li{color:#2f3a31;align-items:flex-start;gap:9px;font-size:14px;line-height:1.6;display:flex}.lesson-objectives li svg{color:#4f8a2c;flex-shrink:0;margin-top:3px}.lesson-toc{border-left:3px solid #c2ee7a;padding:4px 0 4px 16px}.lesson-toc strong{letter-spacing:.06em;text-transform:uppercase;color:#6b7564;margin-bottom:6px;font-size:12px;display:block}.lesson-toc ol{gap:4px;margin:0;padding-left:20px;display:grid}.lesson-toc a{color:#2f4a24;font-size:14px;text-decoration:none}.lesson-toc a:hover{text-decoration:underline}.lesson-lead p,.lesson-section p{color:#38443a;margin:0 0 14px;font-size:15.5px;line-height:1.85}.lesson-lead p:first-child{color:#26302a;font-size:17px}.lesson-section ul,.lesson-lead ul{color:#38443a;gap:6px;margin:0 0 14px;padding-left:22px;font-size:15px;line-height:1.75;display:grid}.lesson-article code,.lesson-wrapup code{color:#2f4a24;background:#eef1e8;border-radius:5px;padding:1px 6px;font:13.5px ui-monospace,monospace}.lesson-article pre code{font:inherit;color:inherit;background:0 0;border-radius:0;padding:0}.lesson-section{margin-top:34px;scroll-margin-top:100px}.lesson-section h2{align-items:center;gap:12px;margin-bottom:14px;font-size:23px;line-height:1.3;display:flex}.lesson-section h2>span{color:#c2ee7a;background:#222e28;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.code-demo{gap:12px;margin:16px 0 18px;display:grid}.code-demo.with-result{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.code-demo small{letter-spacing:.08em;text-transform:uppercase;color:#6b7564;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.code-demo .lesson-code{max-height:420px;margin:0;font-size:13px;overflow:auto}.code-demo-result,.code-demo-code{flex-direction:column;display:flex}.code-demo-code .lesson-code{flex:1}.code-demo-result iframe{border:1px solid var(--line);background:#fff;border-radius:12px;flex:1 0 auto;width:100%;display:block}.lesson-note{color:#5e4a14;background:#fff7e0;border:1px solid #f0dfa4;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.7;display:flex}.lesson-note svg{color:#b8891b;flex-shrink:0;margin-top:3px}.lesson-wrapup{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;margin-top:34px;display:grid}.lesson-summary,.lesson-challenge{border-radius:14px;padding:20px 22px}.lesson-summary{border:1px solid var(--line);background:#fff}.lesson-summary h2,.lesson-challenge h2{align-items:center;gap:8px;margin-bottom:10px;font-size:17px;display:flex}.lesson-summary ul{color:#38443a;gap:7px;margin:0;padding-left:20px;font-size:14px;line-height:1.7;display:grid}.lesson-challenge{color:#3f3160;background:#efeafb;border:1px solid #ddd3f5}.lesson-challenge p{color:#4a3c6b;margin:0 0 10px;font-size:14px;line-height:1.75}.lesson-challenge small{color:#6b5c8c;font-size:11px}@media (max-width:900px){.code-demo.with-result,.lesson-wrapup{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.lesson-section h2{font-size:20px}.lesson-lead p,.lesson-section p{font-size:15px}}.course-landing{align-items:stretch}.course-landing-main{flex:1;min-width:0}.course-landing h1{font-size:38px}.course-stats{flex-wrap:wrap;gap:8px;margin:4px 0 22px;padding:0;list-style:none;display:flex}.course-stats li{background:#ffffffa8;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.course-stats b{font-size:13px}.course-landing-cta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.course-landing-progress{font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:12px;font-weight:700;display:inline-flex}.course-landing-progress progress{background:#ffffff90;width:140px;height:6px;margin:0}.course-landing-progress progress::-webkit-progress-bar{background:#ffffff90}.course-landing-progress progress::-webkit-progress-value{background:#2b4a24}.course-landing-progress progress::-moz-progress-bar{background:#2b4a24}.overview-main,.overview-aside{flex-direction:column;gap:20px;min-width:0;display:flex}.overview-aside{align-self:start}.course-objectives h2,.course-plan h2{align-items:center;gap:8px;display:flex}.course-objectives ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0;padding:0;list-style:none;display:grid}.course-objectives li{gap:9px;font-size:14px;line-height:1.6;display:flex}.course-objectives li svg{color:#4f8a2c;flex-shrink:0;margin-top:3px}.prereq-list{color:#4b574c;gap:6px;margin:0;padding-left:20px;font-size:13px;line-height:1.7;display:grid}.module-row>div{flex:1;min-width:0}.row-minutes{color:#6b7564;font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:4px;font-size:11px;display:inline-flex}.module-num.done{color:#24391c;background:#a6d65f}@media (max-width:760px){.course-objectives ul{grid-template-columns:minmax(0,1fr)}.course-landing h1{font-size:28px}.row-minutes{display:none}}.article-wrap{container:lesson-shell/inline-size}.article-shell{min-width:0}.lesson-rail{display:none}@container lesson-shell (width>=720px){.article-shell.with-rail{grid-template-columns:minmax(0,76ch) minmax(180px,230px);align-items:start;gap:clamp(28px,4cqi,56px);display:grid}.article-shell.with-rail .lesson-article{max-width:none}.article-shell.with-rail .lesson-toc{display:none}.lesson-rail{padding:4px 0;display:block;position:sticky;top:88px}}.lesson-rail-toc strong{letter-spacing:.06em;text-transform:uppercase;color:#6b7564;margin-bottom:10px;font-size:12px;display:block}.lesson-rail-toc ol{border-left:2px solid var(--line);margin:0;padding:0;list-style:none}.lesson-rail-toc li a{color:#5b6656;border-left:2px solid #0000;margin-left:-2px;padding:7px 0 7px 14px;font-size:14px;line-height:1.4;text-decoration:none;display:block}.lesson-rail-toc li a:hover{color:#2f4a24}.lesson-rail-toc li.active a{color:#24391c;border-left-color:#7fb83c;font-weight:700}.lesson-rail-meta{color:#6b7564;align-items:center;gap:6px;margin-top:16px;font-size:12px;display:flex}.lesson-article{container-type:inline-size}@container (width<=600px){.code-demo.with-result{grid-template-columns:minmax(0,1fr)}}.field-hint{color:#6b7564;margin-top:2px;font-size:11px;font-weight:500;display:block}.article-editor{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:12px 14px}.article-editor>summary{cursor:pointer;font-weight:700}.article-editor[open]>summary{margin-bottom:10px}.section-card .form-row{align-items:end}.section-card-actions{gap:4px;display:flex}.section-demo-preview{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:120px;margin:4px 0 10px}.card-rating{color:#8a5a00;align-items:center;gap:3px;margin-left:8px;font-weight:800;display:inline-flex}.card-rating svg{fill:#f2b33d;color:#e09a1a}.card-rating small{color:#6d766b;font-weight:600}.course-stats li svg.lucide-star{fill:currentColor}.course-rating p{margin-top:6px;font-size:13px}.course-rating fieldset{border:0;min-width:0;margin:12px 0 0;padding:0}.course-rating label{margin-top:10px;font-size:13px;font-weight:700;display:block}.course-rating textarea{resize:vertical;width:100%;margin-top:6px;display:block}.course-rating .form-actions{align-items:center;margin-top:12px}.star-input{gap:2px;display:flex}.star-input button{color:#c4cbbf;border-radius:8px;padding:4px;line-height:0}.star-input button:hover{background:#fff5e0}.star-input button.on{color:#e09a1a}.star-input button.on svg{fill:#f2b33d}.star-caption{min-height:20px;font-weight:700}.rating-saved{color:#36502a;font-size:13px;font-weight:700}.rating-summary{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.rating-summary>span{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px}.rating-summary b{color:#8a5a00}.rating-summary svg{fill:#f2b33d;color:#e09a1a;vertical-align:-1px}.rating-row{align-items:flex-start}.rating-comment{white-space:pre-wrap;color:var(--ink)!important;font-size:13px!important}.rating-stars{color:#e09a1a;letter-spacing:1px;white-space:nowrap;font-size:16px}.rating-stars>span{color:#d9ddd3}.soon-banner{background:linear-gradient(135deg,#eef7dc,#e8e1f6);border:1px solid #dbe5c9;border-radius:16px;align-items:flex-start;gap:18px;margin-bottom:24px;padding:26px 28px;display:flex}.soon-banner h2{margin:10px 0 8px;font-size:22px}.soon-banner p{color:#4f5b50;max-width:70ch;font-size:13px;line-height:1.8}.soon-banner .form-actions{flex-wrap:wrap;margin-top:18px}.soon-icon{background:var(--lime);color:#253b21;border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.soon-badge{color:#56428a;letter-spacing:.02em;background:#fff;border:1px solid #d9cff2;border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:11px;font-weight:800;display:inline-flex}.soon-badge.on-dark{color:#e9f6d2;background:#ffffff14;border-color:#ffffff30;margin-top:auto;padding:7px 13px}@media (max-width:760px){.soon-banner{flex-direction:column;padding:22px 20px}.soon-banner .form-actions>*{width:100%}}button.support-box{text-align:left;width:100%;font:inherit}button.support-box .soon-badge{white-space:nowrap;margin-top:8px;padding:1px 9px;font-size:10px}.sign-in{flex-direction:column;align-items:center;gap:12px;max-width:340px;margin:26px auto 14px;display:flex}.sign-in>a,.sign-in-telegram{width:100%}.sign-in-google{color:#1f2a20;background:#fff;border:1px solid #d7dccf;border-radius:9px;justify-content:center;align-items:center;gap:12px;min-height:46px;font-size:14px;font-weight:800;text-decoration:none;display:flex;box-shadow:0 1px 2px #1b231c14}.sign-in-google:hover{background:#f6f8f1}.sign-in-telegram{justify-content:center;min-height:40px;display:flex}.sign-in-telegram:empty{display:none}.sign-in small{color:var(--muted);font-size:11px;line-height:1.7}.sign-in-message{color:#913e25;background:#ffe7dd;border-radius:8px;width:100%;padding:10px 12px;font-size:12px}.sign-in-tabs{background:#eef1e8;border-radius:10px;grid-template-columns:1fr 1fr;width:100%;padding:4px;display:grid}.sign-in-tabs button{color:#5d6a5c;border-radius:7px;padding:9px 10px;font-size:13px;font-weight:800}.sign-in-tabs button.selected{color:var(--ink);background:#fff;box-shadow:0 1px 3px #1b231c1a}.sign-in-form{text-align:left;gap:12px;width:100%;display:grid}.sign-in-form label{color:#3d4a3d;gap:6px;font-size:12px;font-weight:700;display:grid}.sign-in-form input{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #d7dccf;border-radius:9px;padding:10px 12px;font-size:14px}.sign-in-form input:focus{outline-offset:1px;outline:2px solid #8d75b5}.password-field{display:block;position:relative}.password-field input{padding-right:44px}.password-field .iconbtn{color:#5d6a5c;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.sign-in-form small{color:var(--muted);font-size:11px;line-height:1.6}.sign-in-form .primary{width:100%;min-height:46px;font-size:14px}.sign-in-divider{color:#8a9484;align-items:center;gap:12px;width:100%;font-size:11px;display:flex}.sign-in-divider:before,.sign-in-divider:after{content:"";background:var(--line);flex:1;height:1px}.guest-card{background:#eef5e2;border:1px solid #d9e7c6;border-radius:13px;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 19px;display:flex}.guest-card>svg{color:#5a7e36}.guest-card h3{font-size:17px}.guest-card p{font-size:12px;line-height:1.7}.guest-card .primary{margin-top:6px}.topbar-signin{white-space:nowrap;padding:9px 16px;font-size:12px}@media (max-width:1050px){.guest-card{grid-column:span 2}}@media (max-width:760px){.guest-card{grid-column:1/-1}}.donate-dialog{width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:#fff;border:0;border-radius:22px;padding:0;overflow:auto;box-shadow:0 24px 70px #1b231c45}.donate-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b231c80}.donate-dialog[open]{animation:.22s ease-out donate-in}@keyframes donate-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.donate-body{text-align:center;background:radial-gradient(circle at 50% -20%,#fbe4ea 0,#fff 55%);flex-direction:column;align-items:center;padding:34px 28px 24px;display:flex;position:relative}.donate-close{background:#f6f4f5;position:absolute;top:14px;right:14px}.donate-close:hover{background:#efe9eb}.donate-icon{color:#fff;background:#c2557a;border-radius:50%;place-items:center;width:62px;height:62px;display:grid;box-shadow:0 10px 24px #c2557a40}.donate-body h2{color:#3b2430;margin:18px 0 8px;font-size:22px}.donate-body>p{max-width:36ch;font-size:13px;line-height:1.7}.donate-cards{gap:10px;width:100%;margin:22px 0 0;padding:0;list-style:none;display:grid}.donate-cards li{border:1px solid var(--line);background:#fbfbf9;border-radius:14px;align-items:center;gap:12px;padding:11px 11px 11px 14px;display:flex}.card-brand{letter-spacing:.06em;text-transform:uppercase;color:#5b4979;background:#ede7f7;border-radius:6px;flex-shrink:0;min-width:62px;padding:3px 8px;font-size:10px;font-weight:800}.card-brand.visa{color:#fff;background:#1a1f71}.card-brand.uzcard{color:#fff;background:#3d9be0}.card-brand.humo{color:#fff;background:#f27c22}.card-brand.mastercard{color:#fff;background:#2b2b2b}.card-number{letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal;flex:1;min-width:0;font:700 17px/1.4 ui-monospace,Cascadia Mono,Consolas,monospace}.donate-cards .iconbtn{border:1px solid var(--line);background:#fff;flex-shrink:0}.donate-cards .iconbtn:hover{background:#f0f3e9}.donate-cards .iconbtn svg[class*=check]{color:#4f7a2b}.donate-hint{max-width:40ch;min-height:20px;margin-top:12px;font-size:12px}.donate-or{width:100%;color:var(--muted);align-items:center;gap:12px;margin:16px 0 12px;font-size:12px;display:flex}.donate-or:before,.donate-or:after{content:"";background:var(--line);flex:1;height:1px}.donate-link{width:100%}.donate-thanks{color:var(--muted);margin-top:16px;font-size:11px;display:block}@media (max-width:420px){.donate-body{padding:30px 16px 20px}.card-number{letter-spacing:.01em;font-size:15px}.card-brand{min-width:0}}@media (prefers-reduced-motion:reduce){.donate-dialog[open]{animation:none}}.lang-switch{border:1px solid var(--line);background:#fff;border-radius:9px;gap:2px;padding:2px;display:inline-flex}.lang-switch button{letter-spacing:.04em;color:#627064;border-radius:7px;min-width:34px;padding:5px 9px;font-size:11px;font-weight:800}.lang-switch button:hover{background:#f4f6ef}.lang-switch button.active{background:var(--lime);color:var(--green)}@media (max-width:760px){.lang-switch button{min-width:32px;padding:8px}.top-actions .xp{white-space:nowrap;flex-shrink:0}.top-actions{gap:8px}}.soon-page{max-width:760px;margin:0 auto;padding:8px 0 40px}.soon-hero{text-align:center;border:1px solid var(--line);background:linear-gradient(#fff4f7 0,#fff 55%);border-radius:24px;padding:44px 28px 32px;position:relative;overflow:hidden;box-shadow:0 18px 50px #29432214}.soon-hero:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#c2ee7a59,#0000);height:70%;position:absolute;inset:-40% -20% auto}.soon-hero>*{position:relative}.soon-icon{background:var(--lime);width:84px;height:84px;color:var(--green);border-radius:26px;place-items:center;margin:0 auto 18px;display:grid;position:relative;box-shadow:0 10px 28px #70984359}.soon-badge-dot{color:#fff;background:#c4517a;border:3px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;bottom:-8px;right:-8px}.soon-pill{letter-spacing:.08em;text-transform:uppercase;color:#7a6118;background:#fbf0c8;border:1px solid #ecdba4;border-radius:999px;margin-bottom:12px;padding:5px 12px;font-size:11px;font-weight:800;display:inline-block}.soon-hero h1{max-width:520px;margin:0 auto 12px;font-size:30px}.soon-hero>p{max-width:520px;margin:0 auto 26px;font-size:15px}.soon-steps{text-align:left;gap:10px;max-width:540px;margin:0 auto 26px;padding:0;list-style:none;display:grid}.soon-step{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.soon-step strong{font-size:14px;display:block}.soon-step small{color:var(--muted);font-size:12.5px;line-height:1.5;display:block}.soon-step-icon{color:#647065;background:#f1f3ec;border-radius:11px;flex:0 0 36px;place-items:center;height:36px;display:grid}.soon-step.done{background:#f1f9e3;border-color:#d6eba9}.soon-step.done .soon-step-icon{background:var(--lime);color:var(--green)}.soon-step.doing{background:#fffaf0;border-color:#ecdba4}.soon-step.doing .soon-step-icon{color:#7a6118;background:#fbf0c8}.soon-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}@media (max-width:760px){.soon-hero{border-radius:20px;padding:32px 18px 24px}.soon-hero h1{font-size:24px}.soon-actions button{justify-content:center;width:100%}}.footer-links{flex-wrap:wrap;gap:6px 16px;font-size:11px;font-weight:700;display:flex}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{text-decoration:underline}
