:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f8f9fb;--ink:#1c2330;--muted:#7a8495;--line:#e8ebf0;--sidebar:#171c26;--sidebar-2:#202633;--sidebar-text:#a5afbf;--brand:#5573e8;--brand-dark:#3d58cd;--brand-soft:#edf0ff;--green:#39a779;--green-soft:#eaf7f0;--amber:#c98b37;--amber-soft:#fff5e7;--red:#cd625e;--shadow:0 10px 30px rgba(24,35,55,.06);--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(85,115,232,.3);outline-offset:2px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;flex:0 0 252px;min-height:100vh;background:var(--sidebar);color:#f4f6fb;padding:24px 15px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}.brand-row{display:flex;align-items:center;gap:10px;padding:0 9px 25px}.brand-mark{width:39px;height:39px;color:#8ea3ff;flex:0 0 39px}.brand-mark svg{width:100%;height:100%;stroke:none}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{font-family:Manrope,sans-serif;letter-spacing:-.65px;font-size:17px}.brand-copy strong span{color:#9ba8ff;font-weight:600}.brand-copy small{font-size:8px;letter-spacing:1.45px;color:#7f8a9d;font-weight:700}.workspace-switch{display:flex;align-items:center;gap:10px;margin:0 4px 24px;background:#202633;border:1px solid #2d3544;border-radius:11px;padding:11px 10px}.workspace-icon{width:31px;height:31px;background:#303b50;border-radius:8px;display:grid;place-items:center;color:#a9b8ff}.workspace-icon svg{width:17px;height:17px}.workspace-switch>div:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.workspace-switch b{font-size:11px;font-weight:600}.workspace-switch small{font-size:10px;color:#8f9aab}.tiny-chevron{width:15px;height:15px;margin-left:auto;color:#778397}.sidebar-label{color:#697588;font-size:9px;letter-spacing:1.35px;font-weight:700;padding:0 12px;margin:0 0 9px}.second-label{margin-top:26px}.main-nav{display:flex;flex-direction:column;gap:4px}.nav-item{border:0;background:transparent;color:var(--sidebar-text);height:43px;display:flex;align-items:center;text-align:left;gap:12px;border-radius:9px;padding:0 12px;font-size:12px;font-weight:500;position:relative;width:100%;transition:background .18s,color .18s}.nav-item:hover{background:#222a38;color:#e4e9f4}.nav-item.active{background:#2a3450;color:#f5f7ff}.nav-item.active:before{content:"";position:absolute;left:-15px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#8fa2ff}.nav-icon{width:18px;height:18px;color:#929eb1;display:grid;place-items:center}.nav-icon svg{width:18px;height:18px}.nav-item.active .nav-icon{color:#aebaff}.nav-active-dot{display:none}.nav-count{margin-left:auto;font-family:'DM Mono',monospace;font-size:10px;color:#929caf;background:#2b3341;padding:4px 6px;border-radius:5px}.nav-live{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#4eca9a;box-shadow:0 0 0 3px rgba(78,202,154,.12)}.sidebar-bottom{margin-top:auto}.sidebar-tip{display:flex;gap:10px;background:#202735;border:1px solid #2b3444;border-radius:11px;padding:13px 11px;margin:0 3px 16px}.tip-icon{height:27px;width:27px;border-radius:8px;background:#34334b;color:#d2bcff;display:grid;place-items:center;flex:0 0 27px}.tip-icon svg{width:15px;height:15px}.sidebar-tip b{font-size:11px;color:#e8ebf4}.sidebar-tip p{font-size:10px;line-height:1.55;color:#929eb0;margin:5px 0 0}.profile-row{border-top:1px solid #2b3340;padding:17px 5px 2px;display:flex;align-items:center;gap:9px}.avatar{height:32px;width:32px;flex:0 0 32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#748be8,#9e87dc);color:white;font-weight:700;font-size:10px}.profile-info{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-info b{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-info small{font-size:9px;color:#818da0}.profile-menu{margin-left:auto;color:#9da7b5;border:0;background:none;font-size:20px}.main-column{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.91);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3vw,42px);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.crumb{display:flex;align-items:center;gap:11px;color:#9aa3b0;font-size:12px}.crumb-slash{color:#d0d5dd}.crumb strong{color:#313b4b;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:12px}.global-search{height:36px;width:258px;display:flex;align-items:center;gap:9px;border:1px solid #e7eaf0;background:#f9fafc;border-radius:9px;padding:0 9px;position:relative;color:#8d98a9}.global-search>svg{width:16px;height:16px;flex:0 0 16px}.global-search input{width:100%;min-width:0;outline:none!important;border:0;background:transparent;color:#273142;font-size:11px}.global-search input::placeholder{color:#a1a9b6}.global-search kbd{font-family:'DM Mono',monospace;font-size:9px;color:#a4acb9;white-space:nowrap;border:1px solid #e1e5ec;background:white;border-radius:4px;padding:2px 4px}.language-switch{display:flex;align-items:center;background:#f0f2f6;border:1px solid #e7eaf0;border-radius:8px;padding:3px;gap:2px}.lang-option{border:0;border-radius:5px;display:flex;align-items:center;gap:5px;padding:5px 7px;background:transparent;color:#7e8999;font-size:10px;font-weight:700}.lang-option .flag{font-size:14px;line-height:1}.lang-option.selected{background:white;color:#303a4c;box-shadow:0 1px 4px rgba(25,35,50,.1)}.icon-button{border:1px solid var(--line);border-radius:9px;background:white;color:#677487;width:36px;height:36px;display:grid;place-items:center;position:relative}.icon-button svg{width:17px;height:17px}.notification-button i{position:absolute;top:7px;right:7px;width:5px;height:5px;background:#e17873;border-radius:50%;border:1px solid white}.mobile-only{display:none}.main-content{width:100%;max-width:1550px;margin:0 auto;padding:30px clamp(20px,3vw,42px) 40px;flex:1}.app-footer{border-top:1px solid var(--line);padding:15px clamp(20px,3vw,42px);display:flex;align-items:center;gap:16px;color:#9aa3b0;font-size:10px}.app-footer>span:nth-child(2){margin-left:4px}.footer-status{margin-left:auto;display:flex;align-items:center;gap:6px}.footer-status i{width:6px;height:6px;background:#3bb489;border-radius:50%}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.5px}h1{font-size:27px;line-height:1.25;margin-bottom:7px;font-weight:800}h2{font-size:19px;margin-bottom:6px;font-weight:750}h3{font-size:14px;margin-bottom:6px;font-weight:750}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{color:#7180a0;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;font-weight:800;margin-bottom:10px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:23px}.page-heading p{font-size:12px;color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;padding:10px 14px;font-size:11px;font-weight:700;transition:transform .15s,background .15s,border-color .15s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button svg{width:15px;height:15px}.button-primary{background:var(--brand);color:white;box-shadow:0 4px 10px rgba(85,115,232,.16)}.button-primary:hover{background:var(--brand-dark)}.button-secondary{border-color:#e3e7ee;background:white;color:#465267}.button-ghost{background:transparent;color:#738096;padding:8px 10px}.button-dark{background:#252f43;color:#fff}.button-sm{padding:7px 10px;font-size:10px;border-radius:7px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 14px rgba(26,37,56,.018)}.section{margin-top:30px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.section-header h2{font-size:16px;margin:0}.section-header p{font-size:11px;color:var(--muted);margin:4px 0 0}.text-link{color:var(--brand);font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:6px}.text-link svg{width:14px;height:14px}.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#202b40 0%,#253750 57%,#34496d 100%);border-radius:19px;padding:29px 30px;color:white;display:flex;align-items:center;min-height:215px;box-shadow:0 12px 24px rgba(34,49,76,.12)}.hero:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(183,201,255,.12);border-radius:50%;right:8%;top:-65px;box-shadow:0 0 0 28px rgba(183,201,255,.025),0 0 0 58px rgba(183,201,255,.025),0 0 0 88px rgba(183,201,255,.02)}.hero:after{content:"";position:absolute;width:260px;height:260px;right:11.5%;top:-31px;border:1px dashed rgba(192,210,255,.15);border-radius:50%}.hero-content{position:relative;z-index:2;width:62%;max-width:610px}.hero-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(187,205,255,.2);background:rgba(255,255,255,.06);color:#c4d3ff;border-radius:7px;padding:6px 9px;font-size:9px;letter-spacing:.7px;text-transform:uppercase;font-weight:800;margin-bottom:14px}.hero-pill i{width:6px;height:6px;border-radius:50%;background:#78dab1}.hero h1{font-size:27px;max-width:480px;margin-bottom:10px;letter-spacing:-.7px}.hero p{font-size:12px;line-height:1.7;max-width:475px;color:#c4cede;margin-bottom:18px}.hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.hero .button-primary{background:#fff;color:#293754;box-shadow:none}.hero .button-primary:hover{background:#f0f3ff}.hero .button-secondary{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#edf1ff}.hero-orbit{position:absolute;right:11.5%;top:50%;transform:translateY(-50%);width:125px;height:125px;border:1px solid rgba(176,198,255,.25);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.025);z-index:1}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid rgba(176,198,255,.22);border-radius:50%}.hero-orbit:before{inset:15px}.hero-orbit:after{inset:31px;border-style:dashed}.hero-orbit svg{width:40px;height:40px;color:#adc0ff;stroke-width:1.3}.orbit-chip{position:absolute;right:-15px;bottom:11px;background:#fff;color:#384768;padding:7px 9px;border-radius:8px;box-shadow:0 8px 20px #17203444;font-size:9px;font-weight:700;display:flex;align-items:center;gap:5px}.orbit-chip i{width:6px;height:6px;border-radius:50%;background:#38b781}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:15px}.metric-card{padding:15px 16px;display:flex;align-items:center;gap:12px;min-width:0}.metric-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:0 0 38px}.metric-icon svg{width:19px;height:19px}.metric-icon.blue{background:#edf0ff;color:#5573e8}.metric-icon.green{background:#e9f7f0;color:#2b9a6a}.metric-icon.amber{background:#fff4e4;color:#c38a38}.metric-icon.violet{background:#f2edff;color:#8b6bd0}.metric-value{font-family:Manrope,sans-serif;font-weight:800;font-size:20px;letter-spacing:-.6px;line-height:1.1}.metric-label{font-size:10px;color:#8a94a3;margin-top:5px}.continue-card{padding:16px 17px;display:flex;align-items:center;gap:15px}.course-logo{width:47px;height:47px;border-radius:12px;display:grid;place-items:center;flex:0 0 47px;font-size:23px;font-weight:800}.course-logo svg{width:25px;height:25px}.course-logo.python{background:#fff1d7;color:#3e77a3}.course-logo.web{background:#eaf3ff;color:#4e83dc}.course-logo.js{background:#fff4bd;color:#6b5b24}.course-logo.arduino{background:#e4f6f8;color:#158c9f}.course-logo.sql{background:#f1eaff;color:#8461c4}.course-logo.git{background:#ffe9e5;color:#cf6652}.course-logo.css{background:#eaeaff;color:#675be2}.continue-main{flex:1;min-width:0}.small-label{font-size:9px;text-transform:uppercase;letter-spacing:.9px;color:#8e98a7;font-weight:800}.continue-main h3{margin:5px 0 7px;font-size:13px}.continue-meta{display:flex;align-items:center;gap:8px;color:#8b95a4;font-size:10px}.progress-line{height:5px;border-radius:100px;background:#edf0f4;overflow:hidden;margin-top:10px;max-width:250px}.progress-line span{height:100%;display:block;background:#6f87eb;border-radius:100px;transition:width .3s}.continue-right{text-align:right;min-width:86px}.continue-right strong{font-size:12px}.continue-right small{display:block;font-size:9px;color:#929baa;margin-top:5px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.course-card{padding:17px;display:flex;flex-direction:column;min-width:0;transition:box-shadow .18s,transform .18s,border-color .18s;cursor:pointer}.course-card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d9dff0}.course-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.course-card h3{margin:12px 0 6px;font-size:14px}.course-card p{font-size:11px;color:#7f8999;line-height:1.65;margin-bottom:14px;min-height:36px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:700;white-space:nowrap}.badge.basic{background:#eaf7f0;color:#348762}.badge.intermediate{background:#fff3e3;color:#b98132}.badge.advanced{background:#f0edff;color:#7c62bd}.badge.neutral{background:#f1f3f7;color:#778294}.course-card-foot{border-top:1px solid #f0f1f5;padding-top:12px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;color:#8c96a5;font-size:10px}.course-card-foot span{display:flex;align-items:center;gap:5px}.course-card-foot svg{width:13px;height:13px}.course-card-foot strong{color:#536cce;font-weight:700}.compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card{display:flex;align-items:flex-start;gap:13px;padding:15px;cursor:pointer;transition:box-shadow .18s,transform .18s,border-color .18s}.project-icon{width:41px;height:41px;flex:0 0 41px;border-radius:11px;display:grid;place-items:center}.project-icon svg{width:20px;height:20px}.project-body{flex:1;min-width:0}.project-body h3{font-size:12px;margin:1px 0 6px}.project-body p{font-size:10px;color:#828c9a;line-height:1.55;margin:0 0 9px}.project-tags{display:flex;flex-wrap:wrap;gap:5px}.project-tag{font-size:9px;color:#778294;background:#f4f6f9;border-radius:5px;padding:4px 6px}.project-arrow{color:#a4adba;margin-top:3px}.project-arrow svg{width:15px;height:15px}.dashboard-lower{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}.learning-card{padding:18px}.learning-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #f0f2f5}.learning-row:last-child{border-bottom:0;padding-bottom:1px}.learning-row:first-of-type{padding-top:14px}.learning-row .course-logo{width:38px;height:38px;flex-basis:38px;border-radius:10px}.learning-row .course-logo svg{width:21px;height:21px}.learning-row-main{flex:1;min-width:0}.learning-row-main b{font-size:11px;display:block;margin-bottom:5px}.learning-row-main small{font-size:9px;color:#8a94a2}.learning-row .mini-progress{font-size:10px;color:#657ad5;font-weight:700}.mini-progress-line{height:4px;background:#edf0f5;border-radius:100px;margin-top:8px;max-width:200px}.mini-progress-line span{display:block;height:100%;border-radius:100px;background:#7890f0}.activity-card{padding:18px}.activity-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 12px 13px;color:#8993a2}.activity-empty .empty-icon{width:45px;height:45px;display:grid;place-items:center;background:#f1f3ff;color:#7185e0;border-radius:14px;margin-bottom:10px}.activity-empty p{font-size:10px;max-width:220px;margin:0;line-height:1.7}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:4px;background:#eaedf2;padding:4px;border-radius:9px}.filter-button{border:0;background:transparent;color:#758092;font-size:10px;font-weight:700;border-radius:6px;padding:8px 11px}.filter-button.active{background:white;color:#354258;box-shadow:0 1px 4px rgba(28,42,65,.08)}.select-control{height:34px;border:1px solid #e5e8ef;border-radius:8px;background:white;color:#667286;padding:0 10px;font-size:10px}.empty-state{border:1px dashed #dce1ea;border-radius:14px;background:#fafbfc;padding:42px 20px;text-align:center;color:#858fa0}.empty-state svg{width:32px;height:32px;margin:0 auto 12px;color:#9ba8c3}.empty-state h3{color:#4a5669}.empty-state p{font-size:11px;max-width:370px;margin:0 auto 14px}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:start}.lesson-main{padding:26px;min-width:0}.lesson-back{border:0;background:none;color:#788498;display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;padding:0;margin-bottom:23px}.lesson-back svg{width:14px;height:14px}.lesson-title-row{display:flex;align-items:flex-start;gap:13px}.lesson-title-row .course-logo{width:51px;height:51px;flex-basis:51px}.lesson-title-row h1{font-size:24px;margin:2px 0 8px}.lesson-title-row p{color:#818b9a;font-size:11px;margin:0}.lesson-divider{border:0;border-top:1px solid var(--line);margin:22px 0}.lesson-content h2{font-size:17px;margin:20px 0 10px}.lesson-content h3{font-size:13px;margin:20px 0 8px}.lesson-content p{font-size:12px;color:#596477;line-height:1.85}.lesson-content ul{padding-left:20px;color:#596477;font-size:12px;line-height:1.9}.inline-code{font-family:'DM Mono',monospace;font-size:11px;background:#f0f2f7;padding:3px 5px;border-radius:4px;color:#475dd1}.code-sample{background:#181e2a;color:#dbe5f4;border-radius:11px;overflow:hidden;margin:14px 0}.code-sample-head{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:1px solid #303849;color:#9ba8bc;font-size:9px}.code-sample pre{margin:0;padding:16px;overflow:auto;font-family:'DM Mono',monospace;font-size:11px;line-height:1.8;white-space:pre}.code-sample button{background:#2b3547;color:#d3dced;border:0;border-radius:5px;padding:5px 7px;font-size:9px}.exercise-box{border:1px solid #dce4ff;background:#f7f8ff;border-radius:11px;padding:16px;margin-top:19px}.exercise-title{display:flex;align-items:center;gap:8px;color:#5366bb;font-weight:800;font-size:11px;margin-bottom:7px}.exercise-title svg{width:16px;height:16px}.exercise-box p{margin:0;color:#596680;font-size:11px}.quiz-box{border:1px solid #e9edf3;border-radius:11px;padding:16px;margin-top:15px}.quiz-option{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e8ebf1;border-radius:8px;margin-top:7px;color:#5f6b7f;font-size:11px;cursor:pointer}.quiz-option input{accent-color:var(--brand)}.quiz-feedback{font-size:11px;margin-top:10px}.lesson-sidebar{padding:18px;position:sticky;top:92px}.lesson-sidebar h3{font-size:12px;margin-bottom:5px}.lesson-sidebar>p{font-size:10px;color:#8993a2;margin-bottom:14px}.lesson-list{display:flex;flex-direction:column;gap:5px}.lesson-item{display:flex;align-items:flex-start;gap:9px;border:0;background:transparent;text-align:left;color:#748094;padding:10px 8px;border-radius:8px;width:100%}.lesson-item.active{background:#f0f2ff;color:#4057bd}.lesson-item.done{color:#398965}.lesson-check{width:19px;height:19px;border:1px solid #dce1e9;border-radius:50%;display:grid;place-items:center;flex:0 0 19px;font-size:10px}.lesson-item.done .lesson-check{border-color:#b8e4ce;background:#e4f6ec}.lesson-item.active .lesson-check{border-color:#899be9}.lesson-item span:nth-child(2){font-size:10px;line-height:1.5}.lesson-progress{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.lesson-progress-line{height:5px;background:#edf0f4;border-radius:10px;margin-top:9px;overflow:hidden}.lesson-progress-line span{display:block;background:#7287ed;height:100%;border-radius:10px}.lesson-nav-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}
/* Coding lab */
.lab-shell{background:#171c26;border:1px solid #242c3b;border-radius:15px;overflow:hidden;color:#dce4f2;box-shadow:0 8px 25px rgba(20,29,44,.1)}.lab-toolbar{min-height:54px;display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid #2b3443;background:#1c222e}.lab-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:11px}.lab-brand-icon{width:27px;height:27px;border-radius:8px;background:#313d5e;color:#a9b9ff;display:grid;place-items:center}.lab-brand-icon svg{width:15px;height:15px}.lab-toolbar-separator{height:24px;width:1px;background:#333d4d}.lab-language-tabs{display:flex;gap:4px}.lab-tab{border:0;background:transparent;color:#8d9aae;border-radius:6px;padding:8px 9px;font-size:10px;font-weight:700}.lab-tab.active{background:#313b51;color:#eef2ff}.lab-toolbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.lab-status{font-size:9px;color:#8f9db0;display:flex;align-items:center;gap:6px}.lab-status i{width:6px;height:6px;border-radius:50%;background:#48bf8d}.lab-run{background:#4c70e1;color:white;border:0;border-radius:7px;padding:8px 12px;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800}.lab-run svg{width:14px;height:14px}.lab-save{background:#283141;color:#c6d0df;border:1px solid #394354;border-radius:7px;padding:7px 9px;font-size:10px;display:flex;align-items:center;gap:5px}.lab-save svg{width:13px;height:13px}.lab-grid{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:590px}.lab-file-sidebar{border-right:1px solid #2b3443;background:#1a202b;padding:14px 10px}.lab-file-head{display:flex;align-items:center;justify-content:space-between;padding:0 7px 11px;color:#77869c;font-size:9px;font-weight:800;letter-spacing:1px}.lab-file-row{display:flex;align-items:center;gap:8px;color:#a3aec0;border:0;background:transparent;width:100%;border-radius:6px;padding:9px 8px;text-align:left;font-family:'DM Mono',monospace;font-size:10px}.lab-file-row.active{background:#2a3447;color:#f0f3ff}.file-dot{width:7px;height:7px;border-radius:2px;background:#e4bd58}.file-dot.python{background:#71a9e8}.file-dot.html{background:#e98961}.file-dot.js{background:#d7c45f}.file-dot.arduino{background:#72c6c6}.lab-tip{border-top:1px solid #2b3443;margin-top:20px;padding:14px 7px 0;color:#76859b;font-size:9px;line-height:1.7}.lab-workspace{min-width:0;display:flex;flex-direction:column}.lab-workspace-top{display:flex;align-items:center;gap:10px;background:#202633;border-bottom:1px solid #2b3443;padding:0 13px;min-height:38px}.file-tab{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#e2e8f4;background:#171c26;border-bottom:2px solid #7790fa;font-family:'DM Mono',monospace;font-size:10px}.file-tab em{font-style:normal;color:#96a4b9}.lab-workspace-top .spacer{flex:1}.editor-hint{font-size:9px;color:#718198}.editor-frame{display:grid;grid-template-columns:40px minmax(0,1fr);min-height:300px;flex:1;background:#171c26;position:relative}.line-numbers{padding:15px 10px 15px 0;text-align:right;color:#5d6a80;font:10px/1.8 'DM Mono',monospace;user-select:none;white-space:pre;overflow:hidden;border-right:1px solid #262e3c}.code-editor{border:0;resize:vertical;min-height:300px;width:100%;padding:15px 15px;background:transparent;outline:none!important;color:#cfdbeb;font:11px/1.8 'DM Mono',ui-monospace,monospace;tab-size:4;white-space:pre;overflow:auto;caret-color:#9fb1ff}.code-editor:focus{box-shadow:none}.code-editor::selection{background:#42527a}.editor-placeholder{position:absolute;bottom:11px;right:13px;color:#58677d;font:9px 'DM Mono',monospace;pointer-events:none}.lab-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid #2b3443;min-height:180px}.console-panel,.preview-panel{min-width:0}.console-panel{border-right:1px solid #2b3443}.lab-panel-head{height:39px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #2b3443;background:#1c222e}.lab-panel-head b{font-size:9px;letter-spacing:.6px;color:#b9c4d4}.lab-panel-head span{font-size:9px;color:#74849a}.console-output{padding:12px 13px;min-height:138px;max-height:200px;overflow:auto;font:10px/1.8 'DM Mono',monospace;color:#a9b7cb;white-space:pre-wrap;overflow-wrap:anywhere}.console-line{display:flex;gap:8px}.console-prompt{color:#6ebf9b}.console-error{color:#ff9a92}.console-success{color:#8ce0b8}.preview-frame{width:100%;height:137px;border:0;background:white}.preview-placeholder{min-height:137px;display:grid;place-items:center;text-align:center;padding:18px;color:#708099;font-size:10px;line-height:1.6}.preview-placeholder svg{width:24px;height:24px;margin:0 auto 7px;color:#7589ad}.lab-disclaimer{display:flex;gap:8px;align-items:flex-start;color:#818da0;font-size:10px;line-height:1.6;margin-top:11px}.lab-disclaimer svg{width:15px;height:15px;flex:0 0 15px;margin-top:1px;color:#bd914a}.lab-disclaimer strong{color:#697588}.lab-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.lab-intro p{font-size:11px;color:#7c8797;margin:0;max-width:650px}.lab-info-card{padding:15px;display:flex;gap:10px;align-items:flex-start}.lab-info-card svg{color:#647fe0;flex:0 0 18px}.lab-info-card b{font-size:11px;display:block;margin-bottom:5px}.lab-info-card p{font-size:10px;color:#7e8999;margin:0;line-height:1.6}.lab-info-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:15px;align-items:start}.settings-nav{padding:8px}.settings-nav button{display:flex;width:100%;align-items:center;gap:9px;text-align:left;border:0;background:transparent;border-radius:8px;padding:11px;color:#758094;font-size:11px}.settings-nav button.active{background:#eef1ff;color:#455dc5;font-weight:700}.settings-nav svg{width:16px;height:16px}.settings-panel{padding:22px}.settings-panel h2{font-size:16px}.settings-panel>p{font-size:11px;color:#8b95a3}.setting-row{padding:17px 0;border-top:1px solid #eef0f4;display:flex;align-items:center;justify-content:space-between;gap:20px}.setting-row:first-of-type{margin-top:16px}.setting-row b{font-size:11px;display:block;margin-bottom:5px}.setting-row small{font-size:10px;color:#8893a2;display:block;line-height:1.6;max-width:500px}.toggle{width:36px;height:21px;border:0;border-radius:100px;background:#d7dce5;padding:3px;flex:0 0 36px;transition:background .2s}.toggle span{width:15px;height:15px;background:white;border-radius:50%;display:block;box-shadow:0 1px 3px #0002;transition:transform .2s}.toggle.on{background:#617ce5}.toggle.on span{transform:translateX(15px)}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.stat-panel{padding:18px}.stat-panel .metric-value{font-size:25px}.stat-panel p{font-size:10px;color:#8a94a3;margin:7px 0 0}.progress-course-row{display:flex;align-items:center;gap:13px;padding:16px 18px;border-bottom:1px solid #eef0f5}.progress-course-row:last-child{border-bottom:0}.progress-course-row .course-logo{width:39px;height:39px;flex-basis:39px}.progress-course-info{flex:1;min-width:0}.progress-course-info b{font-size:11px;display:block;margin-bottom:6px}.progress-course-info .progress-line{max-width:100%;margin-top:0}.progress-course-meta{font-size:10px;color:#8c96a4;min-width:83px;text-align:right}.modal-backdrop{position:fixed;inset:0;background:rgba(20,27,41,.48);backdrop-filter:blur(4px);z-index:80;display:grid;place-items:center;padding:20px}.modal{width:min(540px,100%);max-height:86vh;overflow:auto;background:white;border-radius:18px;padding:25px;box-shadow:0 25px 70px #151b2d3d;animation:modal-in .16s ease-out}.modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.modal-top h2{font-size:21px;margin:3px 0 7px}.modal-top p{font-size:11px;color:#7d8898;margin:0;line-height:1.6}.modal-close{width:30px;height:30px;display:grid;place-items:center;border:1px solid #e5e9ef;background:#fff;border-radius:8px;color:#8490a0}.modal-section{margin-top:21px}.modal-section h3{font-size:12px}.modal-section p,.modal-section li{font-size:11px;color:#687487;line-height:1.8}.modal-section ul{padding-left:18px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px;padding-top:17px;border-top:1px solid #eef0f4}.toast-region{position:fixed;bottom:24px;right:24px;z-index:100;display:flex;flex-direction:column;gap:8px}.toast{background:#202a3a;color:#f2f5fa;border:1px solid #3d495f;border-radius:10px;padding:12px 15px;box-shadow:0 8px 25px #1620333a;font-size:11px;display:flex;align-items:center;gap:9px;max-width:min(360px,calc(100vw - 40px));animation:toast-in .2s ease-out}.toast svg{width:16px;height:16px;color:#7ed7aa;flex:0 0 16px}.search-results{position:absolute;top:43px;left:0;right:0;background:#fff;border:1px solid #e4e8ef;border-radius:10px;box-shadow:0 13px 28px rgba(22,35,59,.12);padding:6px;z-index:60;max-height:400px;overflow:auto}.search-results button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:white;padding:9px;border-radius:7px;text-align:left;color:#445066}.search-results button:hover{background:#f3f5ff}.search-results button>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.search-results b{font-size:10px}.search-results small{font-size:9px;color:#8b95a4}.search-results .search-kind{font-size:8px;color:#7284d8;text-transform:uppercase;letter-spacing:.5px;margin-left:auto}.search-empty{font-size:10px;color:#8b95a4;padding:13px;text-align:center}.language-note{padding:10px 12px;background:#f6f8ff;border:1px solid #e4e9ff;border-radius:8px;font-size:10px;color:#6879bd;line-height:1.6}.not-found{padding:50px 20px;text-align:center}.not-found h2{margin-bottom:8px}.not-found p{color:#7d899a;font-size:11px}.mobile-backdrop{display:none}
@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1180px){.sidebar{width:225px;flex-basis:225px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-orbit{right:8%}.hero-content{width:70%}.hero-orbit{opacity:.7}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower{grid-template-columns:1fr}.lab-grid{grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:850px){.sidebar{position:fixed;left:-265px;top:0;height:100dvh;transition:left .24s;width:252px;z-index:100}.sidebar.open{left:0}.mobile-backdrop.show{display:block;position:fixed;inset:0;background:rgba(14,20,32,.44);z-index:90}.mobile-only{display:grid}.topbar{height:64px;padding:0 18px}.crumb{display:none}.topbar-actions{gap:7px}.global-search{width:min(38vw,235px)}.global-search kbd{display:none}.main-content{padding:24px 18px 34px}.app-footer{padding:14px 18px;flex-wrap:wrap}.hero{padding:24px;min-height:230px}.hero-orbit{right:5%;width:94px;height:94px}.hero-content{width:75%}.hero h1{font-size:23px}.hero p{max-width:410px}.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{position:static}.lesson-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow:auto}.settings-nav button{width:auto;white-space:nowrap}.lab-grid{grid-template-columns:145px minmax(0,1fr)}.lab-file-sidebar{padding:12px 7px}.lab-toolbar{flex-wrap:wrap}.lab-toolbar-right{margin-left:auto}.lab-info-row{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.topbar{padding:0 12px}.topbar-actions{gap:6px}.global-search{width:36px;padding:0;justify-content:center;background:transparent;border-color:transparent}.global-search input,.global-search kbd{display:none}.global-search>svg{width:18px;height:18px}.global-search.search-expanded{position:absolute;left:57px;right:105px;width:auto;background:#fff;border-color:#e1e6ef;padding:0 10px;z-index:5}.global-search.search-expanded input{display:block}.language-switch{padding:2px}.lang-option{padding:5px 5px;gap:3px}.lang-option .flag{font-size:12px}.notification-button{width:32px;height:32px}.main-content{padding:20px 13px 29px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:18px}.page-heading h1{font-size:24px}.page-heading .button{align-self:stretch}.hero{padding:22px 18px;min-height:unset}.hero-content{width:100%}.hero h1{font-size:24px;max-width:350px}.hero p{max-width:350px;font-size:11px}.hero-orbit{display:none}.hero:before{right:-190px}.hero:after{right:-170px}.metric-grid{gap:8px}.metric-card{padding:12px 10px;gap:8px}.metric-icon{width:31px;height:31px;flex-basis:31px}.metric-icon svg{width:16px;height:16px}.metric-value{font-size:17px}.metric-label{font-size:9px;line-height:1.4}.course-grid{grid-template-columns:1fr}.course-card p{min-height:unset}.compact-grid{grid-template-columns:1fr}.continue-card{align-items:flex-start;padding:13px;gap:10px}.continue-card .course-logo{width:39px;height:39px;flex-basis:39px}.continue-right{min-width:48px}.continue-right small{line-height:1.4}.section{margin-top:25px}.section-header{align-items:flex-start}.section-header h2{font-size:15px}.dashboard-lower{gap:11px}.learning-card,.activity-card{padding:14px}.lab-toolbar{padding:9px;gap:8px}.lab-brand{font-size:10px}.lab-toolbar-separator,.lab-status{display:none}.lab-language-tabs{order:3;width:100%;overflow:auto}.lab-tab{padding:7px 8px}.lab-toolbar-right{gap:5px}.lab-run{padding:8px 9px}.lab-save{padding:7px}.lab-grid{grid-template-columns:1fr;min-height:0}.lab-file-sidebar{border-right:0;border-bottom:1px solid #2b3443;display:flex;align-items:center;gap:4px;overflow:auto;padding:7px}.lab-file-head,.lab-tip{display:none}.lab-file-row{width:auto;white-space:nowrap;padding:8px 9px}.editor-frame{grid-template-columns:30px minmax(0,1fr);min-height:250px}.code-editor{min-height:250px;padding:12px 10px;font-size:10px}.line-numbers{padding:12px 7px 12px 0;font-size:10px}.lab-bottom{grid-template-columns:1fr}.console-panel{border-right:0;border-bottom:1px solid #2b3443}.lab-panel-head{height:35px}.console-output{min-height:100px}.preview-frame{height:140px}.preview-placeholder{min-height:120px}.lesson-main{padding:18px}.lesson-title-row h1{font-size:21px}.lesson-title-row .course-logo{width:43px;height:43px;flex-basis:43px}.lesson-list{grid-template-columns:1fr}.lesson-nav-footer{align-items:stretch}.lesson-nav-footer .button{flex:1}.stat-grid{grid-template-columns:1fr}.stat-panel{padding:14px;display:flex;align-items:center;gap:12px}.stat-panel .metric-value{font-size:20px}.stat-panel p{margin:3px 0 0}.progress-course-row{padding:13px 12px;gap:9px}.progress-course-row .course-logo{width:34px;height:34px;flex-basis:34px}.progress-course-meta{min-width:55px;font-size:9px}.settings-panel{padding:16px}.setting-row{gap:10px}.setting-row small{max-width:270px}.app-footer{gap:7px;font-size:9px}.app-footer>span:nth-child(2){display:none}.footer-status{margin-left:auto}.modal{padding:19px}.toast-region{bottom:12px;right:12px}.language-switch .lang-option span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
.lab-input-row{display:flex;align-items:center;gap:12px;padding:10px 13px;background:#1b222e;border-top:1px solid #2b3443}.lab-input-row label{font-size:9px;font-weight:800;letter-spacing:.7px;color:#8291a7;white-space:nowrap}.lab-input-row textarea{flex:1;min-width:0;resize:vertical;min-height:32px;max-height:90px;border:1px solid #354154;border-radius:6px;background:#141a24;color:#dce4f2;padding:8px;font:10px/1.5 'DM Mono',monospace;outline:none}.lab-input-row textarea::placeholder{color:#627086}
@media(max-width:600px){.lab-input-row{align-items:flex-start;flex-direction:column;gap:7px}.lab-input-row textarea{width:100%}}


/* Foglabs brand + accessible light/dark themes */
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark;--bg:#11151d;--surface:#191f2b;--surface-2:#202837;--ink:#e8edf6;--muted:#a9b4c6;--line:#30394a;--brand:#92a5ff;--brand-dark:#7a90f1;--brand-soft:#252f4d;--green-soft:#203a31;--amber-soft:#3d3021;--shadow:0 12px 36px rgba(0,0,0,.22)}
:root[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
:root[data-theme="dark"] .topbar{background:rgba(20,26,37,.94);border-color:var(--line)}
:root[data-theme="dark"] .crumb{color:#9eabc0}
:root[data-theme="dark"] .crumb strong{color:#e6ebf4}
:root[data-theme="dark"] .crumb-slash{color:#647186}
:root[data-theme="dark"] .global-search{background:#171e29;border-color:#364155;color:#a9b5c8}
:root[data-theme="dark"] .global-search input{color:#ecf1f9}
:root[data-theme="dark"] .global-search input::placeholder{color:#8e9bb0}
:root[data-theme="dark"] .global-search kbd{background:#232d3c;border-color:#3a4659;color:#b0bbce}
:root[data-theme="dark"] .language-switch{background:#202939;border-color:#354156}
:root[data-theme="dark"] .lang-option{color:#aab5c8}
:root[data-theme="dark"] .lang-option.selected{background:#354258;color:#fff;box-shadow:0 1px 5px #0005}
:root[data-theme="dark"] .icon-button{background:#202939;border-color:#364256;color:#d8e1f0}
:root[data-theme="dark"] .icon-button:hover{background:#2b374a;color:#fff}
:root[data-theme="dark"] .button-secondary{background:#222b3a;border-color:#384457;color:#e3eaf5}
:root[data-theme="dark"] .button-secondary:hover{background:#2a3547;border-color:#495872}
:root[data-theme="dark"] .button-ghost{color:#bac6d8}
:root[data-theme="dark"] .card,:root[data-theme="dark"] .course-card,:root[data-theme="dark"] .project-card,:root[data-theme="dark"] .continue-card,:root[data-theme="dark"] .learning-card,:root[data-theme="dark"] .activity-card,:root[data-theme="dark"] .stat-panel,:root[data-theme="dark"] .lesson-main,:root[data-theme="dark"] .lesson-sidebar,:root[data-theme="dark"] .settings-nav,:root[data-theme="dark"] .settings-panel{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:none}
:root[data-theme="dark"] .course-card h3,:root[data-theme="dark"] .project-body h3,:root[data-theme="dark"] .learning-row-main b,:root[data-theme="dark"] .progress-course-info b,:root[data-theme="dark"] .settings-panel h2,:root[data-theme="dark"] .lesson-title-row h1,:root[data-theme="dark"] .lesson-content h2,:root[data-theme="dark"] .lesson-content h3,:root[data-theme="dark"] .section-header h2,:root[data-theme="dark"] .continue-card h3,:root[data-theme="dark"] .stat-panel .metric-value{color:var(--ink)}
:root[data-theme="dark"] .section-header p,:root[data-theme="dark"] .course-card p,:root[data-theme="dark"] .project-body p,:root[data-theme="dark"] .learning-row-main small,:root[data-theme="dark"] .activity-empty p,:root[data-theme="dark"] .settings-panel>p,:root[data-theme="dark"] .setting-row small,:root[data-theme="dark"] .lesson-title-row p,:root[data-theme="dark"] .lesson-content p,:root[data-theme="dark"] .lesson-content li,:root[data-theme="dark"] .lesson-sidebar>p,:root[data-theme="dark"] .progress-course-meta,:root[data-theme="dark"] .stat-panel p{color:#aeb9ca!important}
:root[data-theme="dark"] .eyebrow{color:#9eafff}
:root[data-theme="dark"] .course-card-foot{border-color:#30394a;color:#b8c4d7}
:root[data-theme="dark"] .course-card-foot span{color:#aeb9ca}
:root[data-theme="dark"] .filter-button{background:#1a2230;border-color:#364154;color:#bac5d7}
:root[data-theme="dark"] .filter-button:hover{background:#273246}
:root[data-theme="dark"] .filter-button.active{background:#303d63;border-color:#7088eb;color:#f2f5ff}
:root[data-theme="dark"] .select-control,:root[data-theme="dark"] input:not(.code-editor),:root[data-theme="dark"] textarea:not(.code-editor),:root[data-theme="dark"] select{background:#171e29;border-color:#384458;color:#e8eef8}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:#8492a8}
:root[data-theme="dark"] .quiz-box{background:#202939;border-color:#364257;color:var(--ink)}
:root[data-theme="dark"] .quiz-option{background:#1a2230;border-color:#374459;color:#dce5f2}
:root[data-theme="dark"] .quiz-option:hover{background:#263248}
:root[data-theme="dark"] .lesson-divider,:root[data-theme="dark"] .learning-row,:root[data-theme="dark"] .progress-course-row,:root[data-theme="dark"] .profile-row{border-color:#30394a}
:root[data-theme="dark"] .lesson-item{color:#b1bdd0}
:root[data-theme="dark"] .lesson-item.active{background:#2b3653;color:#f3f6ff}
:root[data-theme="dark"] .lesson-item.done{color:#a9dfc7}
:root[data-theme="dark"] .settings-nav button{color:#b6c2d5}
:root[data-theme="dark"] .settings-nav button.active{background:#2d3954;color:#f4f6ff}
:root[data-theme="dark"] .setting-row{border-color:#30394a}
:root[data-theme="dark"] .toggle{background:#3a4659}
:root[data-theme="dark"] .toggle.on{background:#6e86f3}
:root[data-theme="dark"] .modal{background:#1a212d;border:1px solid #354055;color:#edf2fa;box-shadow:0 25px 70px #0008}
:root[data-theme="dark"] .modal-top p,:root[data-theme="dark"] .modal-section p,:root[data-theme="dark"] .modal-section li{color:#b0bdcf}
:root[data-theme="dark"] .modal-close{background:#252f40;border-color:#404c62;color:#e2e9f4}
:root[data-theme="dark"] .modal-actions{border-color:#354055}
:root[data-theme="dark"] .search-results{background:#1a212d;border-color:#384458;box-shadow:0 13px 28px #0006}
:root[data-theme="dark"] .search-results button{background:transparent;color:#e1e8f3}
:root[data-theme="dark"] .search-results button:hover{background:#293449}
:root[data-theme="dark"] .search-results small,:root[data-theme="dark"] .search-empty{color:#a1aec2}
:root[data-theme="dark"] .language-note{background:#222e48;border-color:#3b4a70;color:#b9c8ff}
:root[data-theme="dark"] .app-footer{border-color:#30394a;color:#909db2}
:root[data-theme="dark"] .empty-state{background:#191f2b;border-color:#30394a;color:#d9e2f0}
:root[data-theme="dark"] .empty-state p,:root[data-theme="dark"] .empty-state h3{color:#b2bed0}
:root[data-theme="dark"] .profile-menu{color:#b4bfd1}
:root[data-theme="dark"] .global-search.search-expanded{background:#171e29;border-color:#46536b}
:root[data-theme="dark"] .toast{background:#202a3a;border-color:#40506a;color:#f2f5fa}
.brand-copy small{letter-spacing:1.8px;color:#aab8ff;font-weight:800}
.brand-mark{color:#aab8ff}
.nav-icon{color:#b1bfd7}
.nav-icon svg{stroke-width:2.1}
.nav-item.active .nav-icon{color:#d3dcff}
.icon-button svg,.button svg,.filter-button svg,.settings-nav svg{stroke-width:2.1}
.icon-button:focus-visible,.discord-cta:focus-visible,.theme-setting-button:focus-visible{outline:3px solid #8fa3ff;outline-offset:2px}
.theme-toggle{color:#5b6fd0}
.theme-setting-button{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #d9e0ed;border-radius:9px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:700;white-space:nowrap}
.theme-setting-button svg{width:16px;height:16px;color:#6678d8}
:root[data-theme="dark"] .theme-setting-button{border-color:#39465b;background:#222b3a;color:#e7edf8}
:root[data-theme="dark"] .theme-setting-button svg{color:#bbc6ff}
.discord-cta{display:flex;align-items:center;gap:10px;width:calc(100% - 6px);margin:0 3px 15px;padding:12px 11px;border:1px solid #45496d;border-radius:12px;text-align:left;color:#fff;background:linear-gradient(130deg,#31365a,#2a3c60);box-shadow:0 6px 16px rgba(7,12,28,.18);transition:transform .18s,border-color .18s,filter .18s}
.discord-cta:hover{transform:translateY(-1px);border-color:#8f9cff;filter:brightness(1.12)}
.discord-icon{width:31px;height:31px;display:grid;place-items:center;flex:0 0 31px;border:1px solid #6677b3;background:#47558a;border-radius:9px;color:#fff}
.discord-icon svg{width:20px;height:20px;stroke-width:2.2}
.discord-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.discord-copy strong{font-size:11px;font-weight:800;letter-spacing:.05px}
.discord-copy small{font-size:8px;letter-spacing:1px;font-weight:800;color:#c3cdfd}
.discord-arrow{color:#d5dcff;display:grid;place-items:center}
.discord-arrow svg{width:16px;height:16px}
:root[data-theme="dark"] .theme-toggle{background:#252d42;color:#d8dfff;border-color:#465476}
@media(max-width:600px){.discord-cta{padding:10px 9px}.theme-toggle{width:32px;height:32px}.theme-setting-button{max-width:150px}}

/* v1.0.3 — 150-minute lesson plan, study timer and preset controls */
.lesson-time-plan{margin:0 0 22px;padding:15px 16px;border:1px solid var(--border);background:var(--surface-alt);border-radius:14px}
.lesson-time-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.lesson-time-heading>span:first-child{display:flex;align-items:center;gap:8px}.lesson-time-heading svg{width:17px;height:17px;color:var(--accent)}.lesson-time-heading strong{font-size:12px}.lesson-time-total{font-size:11px;font-weight:750;color:var(--accent)}
.lesson-time-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.lesson-time-phases>div{padding:10px 8px;border-radius:9px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:3px}.lesson-time-phases b{font-size:14px;color:var(--text)}.lesson-time-phases span{font-size:10px;color:var(--muted)}.lesson-time-plan>p{font-size:11px;line-height:1.65;color:var(--muted);margin:11px 0 0}
.exercise-nudge{font-size:11px;color:var(--muted);margin:7px 0 10px!important}.quiz-tier-note{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 8px!important}.quiz-box .exercise-title .badge{margin-left:auto}
.lesson-item{height:auto;min-height:43px;padding-block:9px}.lesson-item>span:nth-child(2){display:flex;flex-direction:column;gap:4px;line-height:1.35}.lesson-item-meta{font-size:9px;color:var(--muted);font-weight:500}
.study-tracker{padding:18px;margin-top:22px;border:1px solid var(--border);background:var(--surface-alt)}.study-tracker-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.study-tracker-top h3{margin:5px 0 5px;font-size:15px;color:var(--text)}.study-tracker-top p{margin:0;max-width:540px;color:var(--muted);font-size:11px;line-height:1.55}.study-status{white-space:nowrap;display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700;background:var(--surface);border:1px solid var(--border);color:var(--muted)}.study-time-readout{display:flex;align-items:baseline;gap:7px;margin:17px 0 8px}.study-time-readout strong{font-size:26px;letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums}.study-time-readout span{font-size:12px;color:var(--muted)}.study-time-readout b{margin-left:auto;font-size:12px;color:var(--accent)}.study-time-bar{height:7px;border-radius:999px;overflow:hidden;background:var(--border);margin-bottom:14px}.study-time-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s}.study-time-foot{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.preset-panel{padding:20px;margin-bottom:18px}.preset-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.preset-heading h2{font-size:16px;margin:5px 0 5px}.preset-heading p{font-size:11px;color:var(--muted);margin:0;line-height:1.55}.preset-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.preset-chip{display:flex;align-items:center;gap:10px;text-align:left;min-width:0;padding:11px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:var(--surface);cursor:pointer;transition:transform .16s,border-color .16s,background .16s}.preset-chip:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--surface-alt)}.preset-chip>svg:last-child{width:14px;height:14px;color:var(--muted);margin-left:auto;flex-shrink:0}.preset-chip-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;color:var(--accent);background:var(--surface-alt);flex-shrink:0}.preset-chip-icon svg{width:17px;height:17px}.preset-chip>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.preset-chip b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-chip small{font-size:9px;color:var(--muted)}
@media(max-width:850px){.preset-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.study-tracker-top{flex-direction:column}.study-status{align-self:flex-start}}
@media(max-width:560px){.lesson-time-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-buttons{grid-template-columns:1fr}.preset-heading{flex-direction:column}.study-time-readout strong{font-size:23px}}

/* Semantic aliases used by lesson and preset surfaces. */
:root{--text:var(--ink);--surface-alt:var(--surface-2);--border:var(--line);--accent:var(--brand)}

.quiz-prerequisite{font-size:10px;color:var(--muted);line-height:1.55;margin:10px 0 0}.quiz-box button:disabled{opacity:.45;cursor:not-allowed;transform:none}


/* Foglabs logo integration — shared mark in navigation and dashboard. */
.brand-mark{width:47px;height:39px;flex:0 0 47px;display:flex;align-items:center;justify-content:center;overflow:visible}
.brand-mark-image{display:block;width:49px;height:35px;object-fit:contain;filter:drop-shadow(0 1px 4px rgba(67,123,255,.18))}
.hero-orbit{right:7%;width:184px;height:136px;border:0;border-radius:0;background:transparent;overflow:visible}
.hero-orbit:before,.hero-orbit:after{display:none}
.hero-orbit .hero-brand-image{display:block;width:184px;height:126px;object-fit:contain;filter:drop-shadow(0 9px 18px rgba(12,18,48,.34))}
.hero-orbit>svg{display:none}
.orbit-chip{right:-2px;bottom:0}
@media(max-width:1180px){.hero-orbit{right:6%;width:158px;height:120px}.hero-orbit .hero-brand-image{width:158px;height:108px}}
@media(max-width:850px){.brand-mark{width:43px;flex-basis:43px}.brand-mark-image{width:45px;height:33px}.hero-orbit{right:3%;width:125px;height:100px}.hero-orbit .hero-brand-image{width:125px;height:88px}.orbit-chip{right:-5px;bottom:-1px;padding:6px 7px;font-size:8px}}
@media(max-width:600px){.hero-orbit{display:none}}
