@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--bg:#0b1017;--panel:#111821;--panel-raised:#151e29;--border:#26303e;--muted:#8c99aa;--text:#e8edf4;--mint:#a2f87b;--mint-dark:#192a20;--sidebar:230px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Manrope,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button{border:0}img{max-width:100%}h1,h2,h3,p{margin:0}p{line-height:1.7}h1,h2,h3{letter-spacing:-.04em}h1{font-size:2rem;font-weight:800;line-height:1.3}h2{font-size:1.4rem}h3{font-size:1.1rem}svg{flex-shrink:0}.muted{color:var(--muted)}.mint{color:var(--mint)}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);border-right:1px solid var(--border);z-index:40;background:#0e141d;flex-direction:column;padding:32px 19px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1px;align-items:center;gap:11px;margin:0 6px 48px;font-family:IBM Plex Mono,monospace;font-size:1.3rem;font-weight:700;display:flex}.brand-mark{background:var(--mint);color:#102018;justify-content:center;align-items:center;width:34px;height:34px;display:flex;box-shadow:3px 3px #42613b}.brand-dot{color:var(--mint)}.sidebar-label{letter-spacing:1.8px;color:#717e90;margin-bottom:15px;padding:0 13px;font-size:.6875rem}.sidebar nav{gap:7px;display:grid}.nav-item{color:#9aa6b7;border:1px solid #0000;align-items:center;gap:12px;padding:14px 13px;font-size:.875rem;display:flex}.nav-item.active{color:var(--mint);box-shadow:inset 3px 0 var(--mint);background:#1b2a23;border-color:#334938}.nav-item:hover{color:var(--text);background:#19212c}.nav-count{color:#84927f;margin-left:auto;font-family:monospace;font-size:.75rem}.sidebar-bottom{margin-top:auto}.terminal-note{border:1px solid var(--border);color:var(--mint);padding:15px 11px;font:.625rem/1.9 IBM Plex Mono,monospace}.terminal-line{color:var(--muted);letter-spacing:-.6px;margin-top:9px;font-size:.75rem;display:block}.status-dot{background:var(--mint);vertical-align:middle;width:6px;height:6px;margin-right:7px;display:inline-block;box-shadow:0 0 10px #a2f87b25}.cursor{color:var(--mint)}.sidebar-foot{color:var(--muted);margin:22px 11px 8px;font-size:.75rem;display:block}.version{color:#647181;margin:0 11px;font:.625rem IBM Plex Mono,monospace}.workspace{margin-left:var(--sidebar)}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;height:80px;padding:0 44px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:15px;font-size:.8125rem;display:flex}.breadcrumb span{color:#435064}.breadcrumb strong{color:#cbd3df;font-weight:500}.topbar-left,.topbar-actions{align-items:center;gap:24px;display:flex}.language{align-items:center;gap:8px;font:.75rem IBM Plex Mono,monospace;display:flex}.language .status-dot{width:4px;height:4px}.button{background:#17212c;border:1px solid #344252;justify-content:center;align-items:center;gap:14px;min-height:44px;padding:13px 20px;font-size:.875rem;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.button:hover{background:#253141;transform:translateY(-1px)}.button.primary{background:var(--mint);color:#132218;border-color:var(--mint);box-shadow:3px 3px #4e713e}.button.primary:hover{background:#b9ff99}.button.small{min-height:38px;box-shadow:none;padding:9px 15px;font-size:.8125rem}.icon-button{background:0 0;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:9px;display:inline-flex}.mobile-menu{display:none}.page{max-width:1530px;margin:auto;padding:40px 44px 26px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.6px;color:var(--mint);margin-bottom:12px;font-size:.6875rem;font-weight:600}.page-heading p{color:var(--muted);margin-top:10px;font-size:.875rem}.pixel-label{color:#71817e;white-space:nowrap;border:1px dashed #39433b;padding:10px 12px;font:.6875rem IBM Plex Mono,monospace}.featured{background:#101e26;border:1px solid #334a42;height:290px;position:relative;overflow:hidden}.featured-copy{z-index:2;width:50%;padding:28px 34px;position:relative}.featured-badge{letter-spacing:1.3px;color:var(--mint);align-items:center;gap:15px;margin-bottom:14px;font-size:.625rem;display:flex}.featured-badge span{color:#a5b4bd;border-left:1px solid #536459;padding-left:15px;font-family:IBM Plex Mono,monospace;font-size:.625rem}.featured h2{letter-spacing:-1px;font-size:2.35rem;line-height:1.2}.featured h2 span{color:var(--mint)}.featured p{color:#9eafb9;margin:12px 0 20px;font-size:.8125rem;line-height:1.6}.featured .button{min-height:40px;padding:10px 15px;font-size:.8125rem}.featured-image{width:65%;height:100%;position:absolute;top:0;right:0}.featured-image img{object-fit:cover;object-position:45% 45%;image-rendering:pixelated}.featured-image:after{content:"";background:linear-gradient(90deg,#101e26 0%,#101e2690 16%,#0000 44%);position:absolute;inset:0}.featured-caption{color:#a0c5b5;background:#09141b99;padding:8px;font:.625rem IBM Plex Mono,monospace;position:absolute;bottom:20px;right:24px}.catalog-stats{border-bottom:1px solid var(--border);color:#a2afbd;gap:30px;padding:21px 0 26px;font-size:.75rem;display:flex}.catalog-stats span{align-items:center;gap:9px;display:flex}.catalog-stats svg{color:#789584}.section-heading{justify-content:space-between;align-items:center;margin-top:32px;margin-bottom:22px;display:flex}.section-heading h2{align-items:center;gap:10px;font-size:1.35rem;display:flex}.section-heading h2 span{color:var(--muted);letter-spacing:0;background:#1d2733;padding:4px 7px;font:.75rem IBM Plex Mono,monospace}.section-note{font-size:.75rem}.catalog-tabs{border-bottom:1px solid var(--border);gap:23px;display:flex;overflow:auto}.catalog-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border-bottom:2px solid #0000;padding:0 0 15px;font-size:.8125rem;position:relative}.catalog-tabs button.selected{color:var(--mint);border-bottom-color:var(--mint)}.catalog-tabs button span{background:#223329;margin-left:8px;padding:2px 5px;font-size:.625rem}.filter-row{gap:12px;margin:23px 0 12px;display:flex}.search-field{border:1px solid var(--border);color:#778696;background:#101720;flex:1;align-items:center;gap:10px;min-width:150px;padding:0 13px;display:flex}.search-field input{width:100%;min-width:0;height:44px;color:var(--text);background:0 0;border:0;outline:none;font-size:.8125rem}.search-field:focus-within{border-color:var(--mint)}.search-field input::placeholder{color:#748294}.search-field button{background:0 0;padding:7px;display:flex}.select-field{border:1px solid var(--border);color:#9eacbc;background:#101720;align-items:center;gap:7px;padding:0 11px;display:flex}.select-field select{color:#bac4d1;background:0 0;border:0;max-width:100%;min-height:44px;padding:12px 2px;font-size:.8125rem}.result-count{color:#798697;margin-bottom:14px;font-size:.6875rem}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.course-card{border:1px solid var(--border);background:var(--panel);--accent:#a2f87b;--cover:#172623;flex-direction:column;min-width:0;transition:transform .18s,border-color .18s;display:flex}.course-card:hover{border-color:var(--accent);transform:translateY(-4px)}.tone-green{--accent:#91dfb6;--cover:#142b28}.tone-teal{--accent:#60e1d0;--cover:#102b32}.tone-purple{--accent:#c0a4f8;--cover:#242139}.tone-amber{--accent:#f4c467;--cover:#2b261e}.tone-pink{--accent:#f4a4c4;--cover:#2c2030}.course-cover{background:var(--cover);height:166px;color:var(--accent);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.cover-grid{opacity:.22;background-image:linear-gradient(#72869830 1px,#0000 1px),linear-gradient(90deg,#72869830 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.cover-label{letter-spacing:1.8px;color:var(--accent);font:.5625rem IBM Plex Mono,monospace;position:absolute;top:17px;left:17px}.course-symbol{letter-spacing:-5px;text-shadow:4px 4px #0005;font:600 3.4rem IBM Plex Mono,monospace;transform:translateY(5px)}.symbol-cursor{margin-left:5px;font-size:2.2rem}.cover-bottom{letter-spacing:1px;opacity:.6;justify-content:space-between;font:.5rem IBM Plex Mono,monospace;display:flex;position:absolute;bottom:14px;left:17px;right:17px}.cover-corner{opacity:.6;font-size:1.2rem;position:absolute;top:12px;right:15px}.card-content{flex-direction:column;flex:1;padding:20px 18px 0;display:flex}.card-eyebrow{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-eyebrow>span:last-child{letter-spacing:1px;color:#7d899a;font-size:.5rem}.level{color:#a3b3aa;align-items:center;gap:6px;font-size:.6875rem;display:flex}.level i{background:var(--accent);width:5px;height:5px}.card-content h3{font-size:1rem;font-weight:800;line-height:1.5}.card-content>p{color:#8d9bac;flex:1;margin:9px 0 16px;font-size:.8125rem;line-height:1.65}.course-meta{color:#8e9cac;gap:17px;margin-bottom:18px;font-size:.6875rem;display:flex}.course-meta span{align-items:center;gap:6px;display:flex}.card-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:15px 0;display:flex}.price{font-size:.875rem;font-weight:800}.card-link{color:#bac5d1;align-items:center;gap:6px;font-size:.6875rem;display:flex}.path-callout{background:#111c1a;border:1px dashed #354038;align-items:center;gap:20px;margin-top:32px;padding:25px;display:flex}.path-icon{color:var(--mint);white-space:nowrap;font:1.6rem IBM Plex Mono,monospace}.path-callout h3{font-size:.9375rem}.path-callout p{color:var(--muted);margin-top:4px;font-size:.8125rem}.path-callout>a{color:var(--mint);white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:.8125rem;display:flex}.footer{color:#707e8d;border-top:1px solid var(--border);justify-content:space-between;gap:20px;margin-top:20px;padding:22px 44px;font-size:.6875rem;display:flex}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:70px 24px;display:flex}.empty-state p{color:var(--muted)}.empty-state h1{font-size:1.7rem}.pixel-404{color:var(--mint);font:5rem IBM Plex Mono,monospace}.skip-link{background:var(--mint);color:#0b1017;z-index:100;padding:14px;position:fixed;top:-100px;left:10px}.skip-link:focus{top:10px}.account{align-items:center;gap:9px;font-size:.8125rem;display:flex}.avatar{color:var(--mint);background:#243827;padding:8px 12px}.back-link{color:var(--muted);align-items:center;gap:8px;margin-bottom:28px;font-size:.8125rem;display:inline-flex}.detail-layout{grid-template-columns:minmax(0,1fr) 300px;gap:40px;display:grid}.detail-header{border-bottom:1px solid var(--border);padding-bottom:30px}.detail-header h1{margin:14px 0;font-size:2.7rem}.detail-header p{color:#9eacbe;max-width:700px}.detail-tags{color:#a4b2c2;gap:20px;margin-top:24px;font-size:.8125rem;display:flex}.detail-block{margin-top:32px}.detail-block h2{margin-bottom:20px}.outcome-list{color:#afbac7;gap:13px;padding:0;font-size:.9375rem;list-style:none;display:grid}.outcome-list li{gap:10px;display:flex}.outcome-list svg{color:var(--mint)}.curriculum{border:1px solid var(--border)}.lesson-row{border-bottom:1px solid var(--border);align-items:center;gap:13px;padding:18px;font-size:.875rem;display:flex}.lesson-row:last-child{border-bottom:0}.lesson-number{color:#748398;font:.75rem IBM Plex Mono,monospace}.lesson-row .lesson-time{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.75rem}.preview-tag{color:var(--mint);white-space:nowrap;border:1px solid #41543c;padding:4px 6px;font-size:.625rem}.enroll-card{border:1px solid var(--border);background:var(--panel);align-self:start;position:sticky;top:30px}.enroll-card .course-cover{height:200px}.enroll-content{padding:25px}.enroll-content h2{margin-bottom:8px;font-size:1.75rem}.enroll-content p{color:var(--muted);margin-bottom:20px;font-size:.8125rem}.enroll-content .button{width:100%;margin-bottom:12px}.enroll-notes{border-top:1px solid var(--border);color:#a7b5c5;gap:13px;margin:18px 0 0;padding:18px 0 0;font-size:.8125rem;list-style:none;display:grid}.enroll-notes li{align-items:center;gap:10px;display:flex}.notice{color:#b6c8ae;background:#212b23;border:1px solid #3b5139;margin:18px 0;padding:15px 18px;font-size:.8125rem;line-height:1.7}.notice.error{color:#f2bac9;background:#301f24;border-color:#63313e}.auth-page{max-width:570px;margin:40px auto 70px;padding:0 24px}.auth-panel{border:1px solid var(--border);background:var(--panel);padding:35px}.auth-panel h1{font-size:1.8rem}.auth-panel>p{color:var(--muted);margin:12px 0 25px;font-size:.875rem}.auth-form{gap:18px;display:grid}.form-label{gap:9px;font-size:.875rem;display:grid}.form-label input{width:100%;min-height:46px;color:var(--text);background:#0b121b;border:1px solid #344052;padding:12px}.auth-switch{color:var(--mint);background:0 0;margin-top:24px;font-size:.8125rem;line-height:1.6}.auth-back{text-align:center;color:var(--muted);margin-top:20px;font-size:.8125rem;display:block}.learn-layout{grid-template-columns:minmax(0,1fr) 290px;gap:30px;display:grid}.lesson-article{min-width:0}.lesson-article h1{margin:12px 0 26px;font-size:2rem}.lesson-content{border-top:1px solid var(--border);padding-top:24px}.lesson-content p{white-space:pre-line;color:#bac6d4;margin-bottom:24px;line-height:1.95}.code-block{background:#081219;border:1px solid #2a3b44;margin:25px 0}.code-title{color:#8da69b;border-bottom:1px solid #2a3b44;justify-content:space-between;padding:10px 18px;font:.75rem IBM Plex Mono,monospace;display:flex}.code-block pre{color:#b9e6a4;margin:0;padding:23px;font:.875rem/1.9 IBM Plex Mono,monospace;overflow:auto}.lesson-actions{flex-wrap:wrap;gap:15px;margin:28px 0;display:flex}.lesson-sidebar{border:1px solid var(--border);background:var(--panel);align-self:start}.lesson-sidebar h2{border-bottom:1px solid var(--border);padding:20px;font-size:.9375rem}.lesson-nav{border-bottom:1px solid var(--border);color:#9dacbd;align-items:flex-start;gap:10px;padding:18px 15px;font-size:.8125rem;line-height:1.6;display:flex}.lesson-nav.active{color:var(--mint);box-shadow:inset 3px 0 var(--mint);background:#1c2c25}.lesson-nav span{margin-top:2px;font:.75rem IBM Plex Mono,monospace}.lesson-nav svg{margin-left:auto}.progress-summary{color:var(--muted);padding:18px 15px;font-size:.75rem}progress{width:100%;height:7px;accent-color:var(--mint);margin-top:12px}.learning-grid{gap:20px;display:grid}.learning-card{background:var(--panel);border:1px solid var(--border);align-items:center;gap:24px;padding:24px;display:flex}.learning-card>div{flex:1}.learning-card h2{margin-bottom:10px;font-size:1.2rem}.learning-card p{color:var(--muted);font-size:.8125rem}.path-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;display:grid}.path-card{border:1px solid var(--border);background:var(--panel);padding:28px}.path-card h2{margin:16px 0 12px;font-size:1.5rem}.path-card>p{color:var(--muted);min-height:52px;font-size:.875rem}.path-steps{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.path-steps a{border:1px solid var(--border);background:#0d151e;align-items:center;gap:14px;padding:17px 14px;font-size:.875rem;display:flex}.path-steps a:hover{border-color:var(--mint)}.path-steps span{color:var(--mint);font:.75rem IBM Plex Mono,monospace}.path-steps svg{margin-left:auto}.loading-state{min-height:60vh;color:var(--muted)}video{background:#000;width:100%}.resource-link{color:var(--mint);font-size:.8125rem;text-decoration:underline}@media (min-width:1600px){:root{--sidebar:250px}.page{padding-top:45px}.featured{height:330px}.featured-copy{padding:35px 40px}.featured h2{font-size:2.7rem}.course-cover{height:200px}}@media (max-width:1200px){:root{--sidebar:210px}.topbar{padding:0 28px}.page{padding:30px 28px}.pixel-label{display:none}.course-grid{gap:16px}.card-content{padding:17px 14px 0}.card-eyebrow>span:last-child{display:none}.catalog-tabs{gap:18px}.detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:25px}.learn-layout{grid-template-columns:minmax(0,1fr) 250px}}@media (max-width:1000px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-stats{gap:20px}.catalog-stats span:last-child{display:none}.featured-copy{width:60%;padding:28px 25px}.featured h2{font-size:2rem}.featured-caption{display:none}.path-callout{flex-wrap:wrap}.path-callout>a{margin-left:0}.detail-layout,.learn-layout{grid-template-columns:1fr}.enroll-card{position:static}.enroll-card .course-cover{height:160px}.lesson-sidebar{order:-1}.lesson-sidebar .lesson-nav{padding:12px 15px}.path-grid{grid-template-columns:1fr}.detail-header h1{font-size:2rem}}@media (max-width:760px){:root{--sidebar:0px}.sidebar{width:230px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-menu{display:inline-flex}.topbar{height:68px;padding:0 17px}.topbar-left{gap:7px}.breadcrumb{gap:8px;font-size:.75rem}.breadcrumb>span,.breadcrumb{color:#8798ab}.topbar-actions{gap:10px}.language{display:none}.page{padding:28px 20px}.page-heading{margin-bottom:24px}h1{font-size:1.6rem}.page-heading p{font-size:.8125rem}.featured{height:280px}.featured-copy{width:64%;padding:26px 20px}.featured-image{opacity:.8;width:72%}.featured h2{font-size:2rem}.featured p{font-size:.75rem}.featured .button{gap:9px;font-size:.75rem}.section-heading h2{font-size:1.2rem}.section-note{display:none}.filter-row{flex-wrap:wrap;gap:10px}.search-field{flex-basis:100%}.select-field{flex:1;justify-content:space-between}.select-field select{width:100%;font-size:.75rem}.course-grid{gap:15px}.course-cover{height:145px}.cover-label{font-size:.5rem;left:12px}.cover-bottom{letter-spacing:.5px;font-size:.4375rem;left:12px;right:12px}.course-symbol{font-size:2.9rem}.card-content h3{font-size:.9375rem}.card-content>p{font-size:.75rem}.card-link{gap:3px;font-size:.625rem}.course-meta{gap:10px;font-size:.625rem}.footer{flex-wrap:wrap;padding:20px;font-size:.625rem}.backdrop{z-index:30;background:#0009;position:fixed;inset:0}.learning-card{flex-direction:column;align-items:flex-start}.auth-page{margin-top:25px}.auth-panel{padding:25px}.detail-tags{flex-wrap:wrap;gap:10px}.lesson-row{flex-wrap:wrap;padding:15px 12px}.lesson-row .lesson-time{font-size:.6875rem}.preview-tag{font-size:.5625rem}.path-callout{gap:15px;padding:20px}.path-icon{display:none}.path-callout h3{font-size:.875rem}.path-callout p{font-size:.75rem}.lesson-article h1{font-size:1.6rem}}@media (max-width:420px){.course-grid{grid-template-columns:1fr}.course-cover{height:180px}.card-content{padding:20px 18px 0}.card-content h3{font-size:1.1rem}.card-content>p{font-size:.875rem}.card-link,.course-meta{font-size:.75rem}.featured-badge{letter-spacing:.8px;gap:8px}.featured-badge span{padding-left:8px}.featured-copy{width:74%}.catalog-stats{gap:15px;font-size:.6875rem}.topbar .breadcrumb{font-size:.6875rem}.card-eyebrow>span:last-child{display:block}.topbar-actions .button{padding:9px 10px;font-size:.75rem}.page{padding:26px 16px}}.page-heading p,.card-content>p,.auth-panel>p,.path-card>p,.path-callout p,.featured p,.enroll-content p,.search-field input,.nav-item,.button,.catalog-tabs button,.select-field select,.card-link,.form-label,.lesson-nav,.back-link{font-size:.875rem}.card-eyebrow>span:last-child,.cover-label,.cover-bottom,.featured-badge,.featured-badge span,.featured-caption,.eyebrow,.sidebar-label,.terminal-note,.version,.result-count,.course-meta,.level,.section-note,.footer{font-size:.75rem}.lesson-content p,.detail-header p,.outcome-list{font-size:1rem}.cover-bottom{letter-spacing:0}.course-meta{flex-wrap:wrap}.featured-badge{letter-spacing:.7px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.featured-image picture,.featured-image picture img{width:100%;height:100%;display:block}.hero-motion-button{z-index:3;color:#cce0cb;background:#0b171cdd;border:1px solid #40564c;align-items:center;gap:7px;min-height:38px;padding:8px 12px;font-size:.75rem;display:flex;position:absolute;top:16px;right:16px}.hero-motion-button:hover{background:#20382c}.admin-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px;padding-bottom:19px;display:flex}.admin-bar>span{color:var(--mint);letter-spacing:1.3px;align-items:center;gap:10px;font-size:.75rem;display:flex}.admin-bar nav{gap:22px;display:flex}.admin-bar nav a{color:#a7b7c6;align-items:center;gap:8px;font-size:.875rem;display:flex}.admin-bar nav a:hover{color:var(--mint)}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:36px;display:grid}.admin-stat{border:1px solid var(--border);background:var(--panel);grid-template-columns:1fr auto;gap:15px;padding:23px;display:grid}.admin-stat svg{color:var(--mint);grid-area:1/2}.admin-stat strong{grid-area:1/1;font:2rem/1 IBM Plex Mono,monospace}.admin-stat>span{color:var(--muted);grid-column:1/-1;font-size:.875rem}.admin-table-wrap{border:1px solid var(--border);overflow:auto}.admin-table{border-collapse:collapse;text-align:left;background:var(--panel);width:100%;min-width:650px}.admin-table th{color:#a2b0c0;white-space:nowrap;background:#18212d;padding:16px 18px;font-size:.75rem;font-weight:600}.admin-table td{border-top:1px solid var(--border);padding:19px 18px;font-size:.875rem}.admin-table tbody tr:hover{background:#18222d}.admin-course-title{font-weight:700}.admin-course-title:hover{color:var(--mint)}.table-caption{color:var(--muted);margin-top:7px;font-size:.75rem;display:block}.table-action{color:var(--mint);white-space:nowrap;align-items:center;gap:7px;font-size:.875rem;display:flex}.state-badge{white-space:nowrap;color:#b7dea5;background:#1d2d24;border:1px solid #344238;align-items:center;gap:7px;padding:6px 9px;font-size:.75rem;display:inline-flex}.state-badge i{background:currentColor;width:5px;height:5px}.state-badge.draft{color:#c8b586;background:#2b2820;border-color:#4b4130}.recent-enrollments{border:1px solid var(--border);margin:0;padding:0;list-style:none}.recent-enrollments li{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:15px;padding:18px;display:flex}.recent-enrollments li:last-child{border-bottom:0}.recent-enrollments li>div{gap:7px;font-size:.875rem;display:grid}.recent-enrollments li a{color:var(--muted);font-size:.8125rem}.recent-enrollments time{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.75rem}.editor-fieldset{border:0;min-width:0;margin:0;padding:0}.editor-grid{grid-template-columns:minmax(0,1fr) 285px;gap:24px;display:grid}.editor-panel{border:1px solid var(--border);background:var(--panel);gap:22px;margin-bottom:24px;padding:25px;display:grid}.editor-panel h2{font-size:1.1rem}.editor-main,.editor-settings{min-width:0}.editor-settings .editor-panel{padding:22px}.form-label textarea,.form-label select{width:100%;color:var(--text);font:inherit;background:#0b121b;border:1px solid #344052;min-height:46px;padding:12px;line-height:1.6}.form-label textarea{resize:vertical}.form-label small,.field-help{color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.8}.form-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.slug-field{background:#0b121b;border:1px solid #344052;align-items:center;min-width:0;display:flex}.slug-field span{color:#8a9aab;padding-left:12px;font:.75rem IBM Plex Mono,monospace}.slug-field input{border:0;min-width:0}.editor-section-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.editor-section-title h2 span{margin-left:6px;font:.875rem IBM Plex Mono,monospace}.checkbox-label{align-items:center;gap:10px;min-height:44px;font-size:.875rem;line-height:1.7;display:flex}.checkbox-label input{accent-color:var(--mint);flex-shrink:0;width:18px;height:18px}.lesson-edit-list{gap:18px;display:grid}.lesson-edit{border:1px solid #33424d;min-width:0}.lesson-edit summary{cursor:pointer;overflow-wrap:anywhere;background:#1a2530;padding:16px;font-size:.875rem;font-weight:700;line-height:1.7}.lesson-edit summary .lesson-number{color:var(--mint);margin:0 10px}.lesson-edit summary .preview-tag{margin-left:10px}.lesson-edit-content{gap:20px;padding:20px;display:grid}.lesson-toolbar{align-items:center;gap:4px;display:flex}.lesson-toolbar>span{color:var(--muted);margin-right:auto;font-size:.75rem}.danger{color:#ed9b9b}.code-input{tab-size:4;color:#bbe8a6!important;font:.8125rem/1.8 IBM Plex Mono,monospace!important}.editor-cover{--accent:#a2f87b;--cover:#172623;border:1px solid var(--border)}.editor-cover.tone-green{--accent:#91dfb6;--cover:#142b28}.editor-cover.tone-teal{--accent:#60e1d0;--cover:#102b32}.editor-cover.tone-purple{--accent:#c0a4f8;--cover:#242139}.editor-cover.tone-amber{--accent:#f4c467;--cover:#2b261e}.editor-cover.tone-pink{--accent:#f4a4c4;--cover:#2c2030}.editor-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:.875rem;display:flex}.editor-panel .notice{margin:0}.editor-panel .button{font-size:.8125rem}.editor-settings .button{width:100%;line-height:1.7}.admin-page>.notice svg{vertical-align:middle;margin-right:6px}@media (max-width:1150px){.editor-grid{grid-template-columns:minmax(0,1fr)}.editor-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.admin-stats{gap:12px}.admin-stat{padding:20px}}@media (max-width:760px){.admin-bar{flex-wrap:wrap;gap:18px}.admin-bar nav{gap:18px}.admin-bar nav a{font-size:.8125rem}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .page-heading{flex-wrap:wrap}.editor-settings{grid-template-columns:1fr;gap:0}.editor-panel,.editor-settings .editor-panel{padding:18px}.form-columns{grid-template-columns:1fr;gap:15px}.editor-section-title{flex-wrap:wrap}.lesson-edit-content{padding:15px}.editor-bottom{flex-direction:column;align-items:flex-start}.recent-enrollments time{display:none}.hero-motion-button{padding:8px;top:12px;right:12px}.hero-motion-button span{display:none}}.rich-editor{--ck-color-base-background:#101923;--ck-color-base-foreground:#182431;--ck-color-base-border:#3b4a5a;--ck-color-text:#e8edf4;--ck-color-toolbar-background:#182431;--ck-color-toolbar-border:#3b4a5a;--ck-color-button-default-hover-background:#2e4351;--ck-color-button-default-active-background:#2e4351;--ck-color-button-on-background:#304d37;--ck-color-button-on-color:#b8f58d;--ck-color-button-on-hover-background:#3b5941;--ck-color-dropdown-panel-background:#17232e;--ck-color-dropdown-panel-border:#3b4a5a;--ck-color-input-background:#0c151d;--ck-color-input-border:#485969;--ck-color-focus-border:#a2f87b;--ck-color-list-background:#17232e;--ck-color-list-button-hover-background:#2e4351;--ck-color-panel-background:#17232e;--ck-color-labeled-field-label-background:#101923;min-width:0}.rich-editor .ck-editor__editable{min-height:280px;max-height:650px;font-size:1rem;line-height:1.8;overflow:auto}.rich-editor .ck-editor__editable p{color:var(--text);line-height:1.8}.rich-editor .ck.ck-editor__main>.ck-editor__editable{color:#e8edf4;background:#0c151d}.rich-editor-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.rich-editor-actions>span{color:var(--muted);font-size:.75rem}.rich-editor .ck.ck-toolbar,.rich-editor .ck.ck-toolbar .ck-toolbar__items{flex-wrap:wrap}.rich-editor .ck-content pre,.lesson-rich-content pre{color:#bbe8a6;white-space:pre;background:#081219;border:1px solid #344653;padding:20px;font:.875rem/1.9 IBM Plex Mono,monospace;overflow:auto}.lesson-rich-content p{white-space:normal}.lesson-rich-content h2,.lesson-rich-content h3,.lesson-rich-content h4{margin:1.5em 0 .7em}.lesson-rich-content ul,.lesson-rich-content ol{margin-bottom:24px;padding-left:26px;line-height:1.9}.lesson-rich-content a{color:var(--mint);overflow-wrap:anywhere;text-decoration:underline}.lesson-rich-content figure{max-width:100%;margin:24px auto}.lesson-rich-content figure.image{text-align:center}.lesson-rich-content img{max-width:100%;height:auto}.lesson-rich-content figcaption{color:var(--muted);padding:8px;font-size:.875rem}.lesson-rich-content table{border-collapse:collapse;width:100%;margin:20px 0}.lesson-rich-content td,.lesson-rich-content th{border:1px solid var(--border);vertical-align:top;padding:10px}.lesson-rich-content figure.table{overflow:auto}.lesson-rich-content blockquote{border-left:3px solid var(--mint);background:var(--panel);margin:20px 0;padding:10px 20px}.lesson-rich-content pre code{white-space:pre;color:inherit;background:0 0}.lesson-rich-content code{color:#b7e594;background:#17231e;font-family:IBM Plex Mono,monospace}.video-upload{border:1px dashed #3b4a5a;gap:14px;padding:18px;display:grid}.uploaded-video{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;display:flex}.video-upload input[type=file]{white-space:normal;max-width:100%;font-size:.875rem}.protected-video{margin-bottom:24px}.video-loading{border:1px solid var(--border);text-align:center;background:#070e15;gap:15px;padding:40px;display:grid}.protected-video video{max-height:70vh}.protected-video .notice .button{margin:12px 0 0 12px}.rich-editor .ck-content .image img{max-width:100%}.video-row-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.uploaded-video{flex-wrap:wrap}.uploaded-video>span{flex:180px;min-width:0}.video-playlist{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.video-playlist .button{white-space:normal;text-align:left;overflow-wrap:anywhere;max-width:100%}.lesson-videos{margin-bottom:28px}.subscription-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:24px 0;display:grid}.subscription-card{flex-direction:column;gap:14px;display:flex}.subscription-card h2{margin:0;font-size:2rem}.subscription-price{color:var(--mint);font:700 1.75rem IBM Plex Mono,monospace}.subscription-card .button{margin-top:auto}.subscription-card p{color:var(--muted);line-height:1.7}.admin-bar nav{flex-wrap:wrap}.path-admin-list{gap:24px;max-width:980px;display:grid}.path-course-list{gap:12px;margin:16px 0;display:grid}.path-admin-list .editor-panel h3{margin:20px 0 10px}.path-admin-list .editor-panel>.notice{margin-top:16px}.python-practice{border:1px solid var(--border);background:#101923;border-radius:12px;margin:36px 0;overflow:hidden}.practice-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:22px;display:flex}.practice-heading h2{margin:8px 0 0}.practice-layout{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);display:grid}.practice-task{border-right:1px solid var(--border);min-width:0;padding:22px}.practice-task>p{white-space:pre-wrap;font-size:.9rem;line-height:1.8}.practice-task pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#081219;padding:12px;font-size:.8rem}.practice-task summary{cursor:pointer;color:var(--mint);margin:16px 0}.practice-workspace{min-width:0}.practice-file{color:var(--muted);background:#182431;justify-content:space-between;padding:12px 16px;font:12px IBM Plex Mono,monospace;display:flex}.practice-input,.practice-actions,.practice-status,.practice-workspace>.field-help{margin:14px 16px}.practice-actions{flex-wrap:wrap;gap:8px;display:flex}.practice-input{font-size:.75rem}.practice-console{background:#070e15;min-height:120px;max-height:360px;overflow:auto}.practice-console pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#c4f2ae;margin:0;padding:14px 16px;font:13px/1.7 IBM Plex Mono,monospace}.practice-console .practice-error{color:#ff9d9d}.practice-status{color:var(--muted);font-size:.85rem}.practice-status.passed{color:var(--mint)}.practice-settings{border:1px solid var(--border);margin:20px 0;padding:18px}.python-source{tab-size:4;font:13px/1.8 IBM Plex Mono,monospace}.python-practice .cm-editor{font-size:14px}.python-practice .cm-scroller{font-family:IBM Plex Mono,monospace}@media (max-width:1100px){.practice-layout{grid-template-columns:1fr}.practice-task{border-right:0;border-bottom:1px solid var(--border)}}.hero-slider{isolation:isolate;background:#111a2a;border:1px solid #34435b;border-radius:14px;margin-bottom:24px;position:relative;overflow:hidden}.hero-slide{align-items:center;min-height:460px;padding:48px 48px 92px;display:flex;position:relative}.hero-visual{background:#152036;position:absolute;inset:0;overflow:hidden}.hero-visual img,.hero-visual canvas{object-fit:cover;object-position:center;width:100%;height:100%;image-rendering:pixelated;position:absolute}.hero-image-fallback{background:linear-gradient(130deg,#13233a,#324c65);width:100%;height:100%}.hero-shade{pointer-events:none;background:linear-gradient(90deg,#050c18e6 0%,#050c1899 38%,#050c181f 75%),linear-gradient(#0000 65%,#050c18cc);position:absolute;inset:0}.hero-slide-copy{z-index:1;max-width:530px;position:relative}.hero-slide-copy .eyebrow{color:#b7f2ba;letter-spacing:.13em;align-items:center;gap:10px;display:flex}.hero-slide-copy h2{letter-spacing:-.04em;color:#f5f8ff;text-wrap:balance;overflow-wrap:anywhere;margin:22px 0;font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.12}.hero-slide-copy p{color:#d2dcec;white-space:pre-line;overflow-wrap:anywhere;max-width:390px;margin:0 0 28px;font-size:1rem;line-height:1.9}.hero-slider-controls{z-index:2;color:#e5eefa;align-items:center;gap:16px;display:flex;position:absolute;bottom:20px;left:28px;right:28px}.hero-slider-nav{align-items:center;gap:12px;font:12px IBM Plex Mono,monospace;display:flex}.hero-slider-nav button,.hero-slider-pause{color:#e5eefa;background:#09121dd9;border:1px solid #556176;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px;display:inline-flex}.hero-slider-nav button:disabled{opacity:.4;cursor:default}.hero-slider-dots{flex-wrap:wrap;flex:1;justify-content:center;gap:8px;display:flex}.hero-slider-dots button{background:0 0;border:0;width:24px;min-height:24px;position:relative}.hero-slider-dots button:after{content:"";background:#77849a;width:100%;height:4px;display:block}.hero-slider-dots button[aria-pressed=true]:after{background:var(--mint)}.hero-slider-pause{padding:8px 12px;font-size:.75rem}.hero-admin-preview{aspect-ratio:16/9;border:1px solid var(--border);border-radius:8px;margin:20px 0;position:relative;overflow:hidden}.hero-editor>.notice{margin-top:16px}@media (max-width:760px){.hero-slide{min-height:500px;padding:32px 24px 105px}.hero-slide-copy{max-width:100%}.hero-slide-copy h2{font-size:2.5rem}.hero-shade{background:linear-gradient(90deg,#071221d9,#07122165),linear-gradient(#0000,#071221e6)}.hero-slider-controls{flex-wrap:wrap;gap:8px;left:16px;right:16px}.hero-slider-pause span{display:none}.hero-slider-nav{gap:6px}.hero-slider-dots{gap:3px}}.qpay-checkout{max-width:760px;margin:0 auto}.qpay-qr{width:280px;max-width:100%;height:auto;image-rendering:pixelated;background:#fff;margin:24px auto;padding:12px;display:block}.qpay-banks{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.qpay-checkout .field-help{overflow-wrap:anywhere;margin-top:24px}.course-description{overflow-wrap:anywhere;margin:22px 0}.course-description:after,.lesson-rich-content:after{content:"";clear:both;display:block}.lesson-rich-content .image-style-side,.lesson-rich-content .image-style-align-right{float:right;max-width:50%;margin-left:1.5em}.lesson-rich-content .image-style-align-left{float:left;max-width:50%;margin-right:1.5em}.lesson-rich-content .image-style-align-center{margin-left:auto;margin-right:auto}.lesson-rich-content .image_resized img{width:100%}.lesson-rich-content mark.marker-yellow{color:#111;background:#fdfd77}.lesson-rich-content mark.marker-green{color:#111;background:#62f962}.lesson-rich-content mark.marker-pink{color:#111;background:#fc7899}.lesson-rich-content mark.marker-blue{color:#111;background:#72ccfd}.lesson-rich-content mark.pen-red{color:#e71313;background:0 0}.lesson-rich-content mark.pen-green{color:#128a00;background:0 0}.lesson-rich-content hr{border:0;border-top:1px solid var(--border);margin:24px 0}.rich-editor .ck-source-editing-area textarea{color:#e8edf4;background:#0c151d;min-height:280px}.ck-fullscreen__main-wrapper{z-index:1000!important}.section-editor-row{flex-wrap:wrap;align-items:end;gap:8px;margin:14px 0;display:flex}.section-editor-row .form-label{flex:1;min-width:180px;margin:0}.curriculum-section>h3{border-bottom:1px solid var(--border);background:#182431;padding:18px;font-size:1rem}.curriculum-section>h3 small{color:var(--muted);margin-top:4px;font-size:.75rem;font-weight:400;display:block}.lesson-nav-section>h3{color:var(--mint);border-top:1px solid var(--border);padding:14px 16px 8px;font-size:.8125rem}
