:root{--bg:#f7f8f5;--paper:#fff;--text:#202f2b;--muted:#7c8882;--line:#e5e9e2;--green:#0a6155;--light:#edf4e8;--lime:#d3efa5;--code:#152d29;--shadow:0 8px 32px #163b2610;--sidebar:238px;font-family:'DM Sans','Noto Sans SC',system-ui,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}body.dark{--bg:#13221e;--paper:#1b2c26;--text:#e6ede7;--muted:#a2b0a7;--line:#314238;--green:#99d6bc;--light:#263c2d;--lime:#cced9d;--code:#0d1b17;--shadow:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #7eac76;outline-offset:3px}input:focus,textarea:focus{outline:2px solid #78a995;outline-offset:1px}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border:0;background:none}#sidebar{position:fixed;width:var(--sidebar);height:100dvh;inset:0 auto 0 0;background:var(--paper);border-right:1px solid var(--line);z-index:25;padding:29px 20px 18px;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brandmark{width:39px;height:39px;background:#0a6155;border-radius:11px;display:grid;place-items:center;color:#d3efa5}.brandmark .icon{width:26px;height:26px}.brand strong{font-size:23px;letter-spacing:-1px}.brand span{display:block;font-size:10px;letter-spacing:1.6px;color:var(--muted);margin-top:1px}.workspace-label{font-size:10px;letter-spacing:1.8px;color:var(--muted);margin:43px 12px 13px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:4px 0;border-radius:8px;font-size:13px;font-weight:500;color:#748078}.dark .nav-link{color:var(--muted)}.nav-link.active{background:var(--light);color:var(--green)}.nav-link:hover{background:var(--bg)}.nav-link.active:hover{background:var(--light)}.nav-link small{margin-left:auto;font-size:10px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--muted)}.side-progress{margin-top:auto;padding:30px 12px 18px}.side-progress p{font-size:12px;display:flex;justify-content:space-between;margin:0 0 12px}.side-progress p b{color:var(--green)}.meter{background:var(--line);height:5px;border-radius:9px;overflow:hidden}.meter>span{display:block;background:var(--green);height:100%;transition:width .4s}.side-progress>small{font-size:10px;color:var(--muted);display:block;margin-top:10px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:19px 9px 0}.avatar{width:33px;height:33px;border-radius:50%;background:#e9eddf;display:grid;place-items:center;color:#637d56;font-size:12px}.profile b{display:block;font-size:12px}.profile small{font-size:10px;color:var(--muted)}.profile>.icon{margin-left:auto;width:16px;color:var(--muted)}.workspace{margin-left:var(--sidebar)}#topbar{height:80px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;gap:18px;background:var(--paper)}.breadcrumb{font-size:12px;display:flex;align-items:center;gap:12px}.breadcrumb .icon{width:16px;color:var(--muted)}.breadcrumb span{color:var(--muted)}.top-tools{display:flex;align-items:center;gap:16px;margin-left:auto}.search-trigger{width:245px;display:flex;align-items:center;gap:9px;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:8px 12px;color:var(--muted);font-size:11px}.search-trigger .icon{width:15px}.search-trigger kbd{margin-left:auto;font-size:9px;border:1px solid var(--line);padding:2px 4px;border-radius:3px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.icon-btn .icon{width:16px}.mobile-toggle{display:none}main{max-width:1480px;margin:auto;padding:34px 42px 48px;min-height:calc(100vh - 145px)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green);display:flex;align-items:center;gap:8px}.eyebrow:before{content:'';height:6px;width:6px;background:var(--green);border-radius:50%}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.welcome-row h1{font-size:23px;font-weight:600;letter-spacing:-.7px;margin:0 0 7px}.welcome-row p{font-size:12px;color:var(--muted);margin:0}.date-pill{font-size:11px;display:flex;gap:7px;color:var(--muted);align-items:center}.date-pill .icon{width:15px}.hero{position:relative;display:grid;grid-template-columns:1fr 43%;background:#eaf0e3;border:1px solid #e1e9d7;border-radius:14px;min-height:286px;overflow:hidden;padding:31px 34px;gap:15px}.dark .hero{background:#263b2c;border-color:var(--line)}.hero h2{font-size:34px;line-height:1.5;font-weight:700;letter-spacing:-1.3px;margin:14px 0 9px}.hero h2 em{color:#0a6155;font-style:normal}.dark .hero h2 em{color:var(--green)}.hero p{font-size:12px;line-height:1.9;color:#73816d;margin:0 0 22px}.dark .hero p{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;padding:11px 17px;background:#0a6155;color:white;font-size:12px;font-weight:500;border:1px solid #0a6155;min-height:39px;transition:transform .15s,background .15s}.button:hover{background:#094e46;transform:translateY(-1px)}.button .icon{width:16px;height:16px}.button.secondary{background:var(--paper);border-color:var(--line);color:var(--text)}.button.soft{background:var(--light);color:var(--green);border-color:transparent}.button.small{padding:7px 11px;min-height:30px;font-size:11px}.hero-actions{display:flex;align-items:center;gap:18px}.text-link{font-size:11px;color:var(--green);display:inline-flex;align-items:center;gap:6px}.text-link .icon{width:14px}.circuit{align-self:center;transform:rotate(-3deg);background:#fcfdf8;border:1px solid #cbd9c0;border-radius:10px;padding:15px 18px;box-shadow:8px 10px 0 #b8caa224;color:#506c54;position:relative}.circuit:before{content:'';position:absolute;inset:-40px;background-image:radial-gradient(#73926550 .7px,transparent .7px);background-size:13px 13px;z-index:-1}.circuit-top{display:flex;gap:5px;align-items:center;font-size:9px;font-family:monospace;letter-spacing:1px;padding-bottom:13px;border-bottom:1px solid #e6eadd}.circuit-top i{width:5px;height:5px;background:#bfd4a8;border-radius:50%}.circuit-top span{margin-left:auto}.circuit svg{display:block;width:100%;height:auto;margin:10px 0}.circuit-code{font-family:monospace;font-size:11px;line-height:1.8;color:#4e6553;white-space:pre}.circuit-code b{color:#0a6155}.circuit-bottom{display:flex;justify-content:space-between;font-size:9px;font-family:monospace;margin-top:12px;color:#789267}.circuit-bottom span:last-child{background:#e8f3df;border-radius:4px;padding:2px 5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 31px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;align-items:center;gap:13px}.stat-icon{width:36px;height:36px;border-radius:9px;background:var(--light);color:var(--green);display:grid;place-items:center}.stat:nth-child(2) .stat-icon{background:#eaf0fa;color:#7089af}.stat:nth-child(3) .stat-icon{background:#f3edfa;color:#9a84b3}.stat:nth-child(4) .stat-icon{background:#faf0e2;color:#b1935f}.stat b{font-size:23px;line-height:1.1;font-weight:600}.stat b small{font-size:10px;color:var(--muted);font-weight:400;margin-left:4px}.stat p{font-size:10px;color:var(--muted);margin:5px 0 0}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px}.section-head h2{font-size:17px;font-weight:600;margin:0;display:flex;align-items:center;gap:10px}.section-head h2 span{font-size:9px;color:var(--muted);font-weight:400;letter-spacing:1.5px}.section-head p{font-size:12px;color:var(--muted);margin:8px 0 0}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.module-card{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:20px;display:block;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative}.module-card:hover{transform:translateY(-3px);border-color:#a6bda4;box-shadow:var(--shadow)}.module-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.module-icon{height:37px;width:37px;border-radius:9px;display:grid;place-items:center;background:var(--light);color:var(--green)}.blue .module-icon{background:#edf1f9;color:#7893b7}.purple .module-icon{background:#f2edf7;color:#9b88b3}.orange .module-icon{background:#f9f0e4;color:#bc986a}.module-num{font-size:10px;color:var(--muted);font-family:monospace}.module-card h3{font-size:15px;margin:0 0 7px;font-weight:600}.module-card>p{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 19px;min-height:38px}.module-meta{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted)}.module-meta .icon{width:12px;height:12px}.module-meta .go{margin-left:auto;color:var(--green)}.card-progress{margin-top:14px;display:flex;align-items:center;gap:9px}.card-progress .meter{flex:1;height:3px}.card-progress small{font-size:9px;color:var(--muted)}.side-card{border:1px solid var(--line);border-radius:11px;padding:21px;background:var(--paper);margin-bottom:18px}.side-card h3{font-size:13px;margin:0 0 15px;font-weight:600}.now-reading{display:flex;gap:12px;align-items:flex-start}.now-reading .module-icon{width:32px;height:32px;flex-shrink:0}.now-reading b{font-size:12px;font-weight:500;line-height:1.8;display:block}.now-reading p{font-size:10px;color:var(--muted);margin:5px 0 15px}.wide{width:100%}.daily-tag{font-family:monospace;color:var(--green);font-size:9px;letter-spacing:1px}.side-card h4{font-size:16px;font-weight:500;margin:12px 0;line-height:1.7}.side-card>p{font-size:11px;line-height:1.9;color:var(--muted);margin:9px 0}.mini-code{background:var(--bg);border:1px solid var(--line);font-family:monospace;border-radius:6px;padding:13px 10px;font-size:10px;line-height:1.9;white-space:pre-wrap;margin:13px 0;color:var(--green)}.side-card.resource{background:#eef2e8}.dark .side-card.resource{background:var(--light)}.resource .icon{color:var(--green);width:25px;height:25px;margin-bottom:3px}.resource .text-link{margin-top:10px}.bottom-strip{margin-top:28px;border:1px solid var(--line);border-radius:10px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.bottom-strip b{font-size:12px}.bottom-strip p{color:var(--muted);font-size:11px;margin:6px 0 0}footer{border-top:1px solid var(--line);padding:20px 42px;color:var(--muted);font-size:9px;display:flex;justify-content:space-between;gap:15px}footer span{font-size:9px}.page-title{margin-bottom:28px}.page-title h1{font-size:29px;letter-spacing:-1px;margin:12px 0}.page-title p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.filter{border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:8px 13px;font-size:11px}.filter.active{background:#0a6155;color:white;border-color:#0a6155}.course-section{margin:28px 0}.course-heading{display:flex;align-items:center;gap:13px;margin-bottom:14px}.course-heading h2{font-size:19px;margin:0}.course-heading small{font-size:11px;color:var(--muted);margin-left:auto}.lesson-list{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}.lesson-row{display:flex;align-items:center;padding:17px 21px;border-bottom:1px solid var(--line);gap:14px}.lesson-row:last-child{border:0}.lesson-row:hover{background:var(--light)}.lesson-row .index{width:28px;height:28px;display:grid;place-items:center;background:var(--bg);border-radius:50%;color:var(--muted);font-size:10px;flex-shrink:0}.lesson-row .index.done{color:var(--green);background:var(--light)}.lesson-row strong{font-size:13px;font-weight:500;display:block}.lesson-row p{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.8}.lesson-row>small{margin-left:auto;white-space:nowrap;font-size:10px;color:var(--muted)}.lesson-row>.icon{width:15px;color:var(--muted)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:28px}.back-link{color:var(--muted);font-size:11px;display:inline-flex;align-items:center;gap:5px;margin-bottom:23px}.back-link .icon{width:14px}.lesson-header h1{font-size:30px;letter-spacing:-.8px;line-height:1.5;margin:12px 0}.lesson-meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px;margin:16px 0 25px}.lesson-meta span{display:flex;align-items:center;gap:5px}.lesson-meta .icon{width:14px}.bookmark-btn{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:11px;color:var(--green)}.lesson-intro{font-size:14px;line-height:2;color:var(--muted);padding-bottom:24px;border-bottom:1px solid var(--line)}.article h2{font-size:18px;font-weight:600;margin:30px 0 15px}.concept{display:flex;gap:14px;margin:18px 0}.concept>span{font-size:10px;font-family:monospace;color:var(--green);border:1px solid var(--line);border-radius:5px;width:23px;height:23px;display:grid;place-items:center;flex-shrink:0;margin-top:4px}.concept p{margin:0;font-size:13px;line-height:2}.code-block{background:var(--code);color:#dfebe3;border-radius:10px;overflow:hidden;margin:18px 0}.code-toolbar{display:flex;align-items:center;gap:8px;border-bottom:1px solid #ffffff16;padding:11px 16px;font-family:monospace;font-size:10px;color:#9cb6aa}.code-toolbar button{margin-left:auto;color:#c2d6ca;font-size:10px;display:flex;align-items:center;gap:5px}.code-toolbar button .icon{width:13px}.code-block pre{padding:20px;margin:0;overflow:auto;font:12px/1.95 Consolas,'Courier New',monospace;tab-size:2}.tok-comment{color:#88a396}.tok-string{color:#d3dba7}.tok-key{color:#92cbb8}.tok-number{color:#d7bd8b}.callout{background:var(--light);border-left:3px solid #88a96c;border-radius:0 7px 7px 0;padding:16px 18px;margin:20px 0}.callout b{font-size:12px;color:var(--green)}.callout p{font-size:12px;line-height:1.9;margin:7px 0 0}.exercise{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:20px}.exercise p{font-size:13px;line-height:1.9;margin:0}.quiz{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:21px;margin:20px 0}.quiz h3{font-size:14px;margin:0 0 15px}.quiz>p{font-size:12px;color:var(--muted);line-height:1.8}.quiz-option{display:flex;width:100%;text-align:left;border:1px solid var(--line);border-radius:6px;padding:12px;margin:8px 0;align-items:center;gap:10px;font-size:12px;line-height:1.7}.quiz-option:hover{background:var(--bg)}.quiz-option .letter{border:1px solid var(--line);border-radius:4px;width:23px;height:23px;display:grid;place-items:center;font-family:monospace;font-size:10px;flex-shrink:0}.quiz-option.correct{background:var(--light);border-color:#7fa47c}.quiz-option.wrong{background:#fff0eb;color:#914b38;border-color:#d4a89c}.feedback{padding:12px 14px;background:var(--bg);border-radius:7px;font-size:12px;line-height:1.9;margin-top:15px}.feedback b{color:var(--green)}.notes{width:100%;min-height:130px;resize:vertical;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:15px;color:var(--text);font-size:12px;line-height:1.9}.notes-status{font-size:10px;color:var(--muted);margin-top:7px}.lesson-bottom{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:27px}.lesson-toc{position:sticky;top:25px;align-self:start}.lesson-toc h3{font-size:11px;letter-spacing:1px;margin:4px 0 15px}.toc-item{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.7;padding:9px 11px;color:var(--muted);border-radius:5px}.toc-item.active{color:var(--green);background:var(--light)}.toc-item .icon{width:13px;height:13px;margin-top:3px;flex-shrink:0}.toc-item small{font-size:9px}.lesson-toc .side-card{padding:15px;margin-top:20px}.lesson-toc .side-card p{font-size:10px}.empty{padding:55px 22px;border:1px dashed var(--line);border-radius:12px;text-align:center;background:var(--paper)}.empty .icon{height:32px;width:32px;color:var(--green)}.empty h2{font-size:19px;margin:16px 0 8px}.empty p{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:20px}.lab-tabs{display:flex;gap:9px;margin:22px 0;flex-wrap:wrap}.lab-panel{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:24px;min-width:0}.panel h2{font-size:17px;margin:0 0 12px}.panel p{font-size:12px;line-height:1.9;color:var(--muted)}.model-label{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:5px;padding:5px 8px;font-size:10px;color:var(--green);background:var(--light);margin-bottom:18px}.lab-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 0}.lab-controls label{font-size:12px;display:flex;align-items:center;gap:6px}.lab-controls input[type=number]{width:65px}.field{border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--bg);color:var(--text);font-size:12px}.digital{font:54px/1.4 Consolas,monospace;color:var(--green);letter-spacing:8px;text-align:center;margin:20px 0}.signal-row{display:flex;gap:15px;margin:14px 0;align-items:center;font-size:12px}.signal-led{height:8px;width:8px;border-radius:50%;background:#c2c9bf}.signal-led.on{background:#63a975;box-shadow:0 0 0 4px #71ab7819}.wave-panel{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:13px;overflow:auto}.wave-panel svg{display:block;width:100%;min-width:400px}.log{font-family:Consolas,monospace;font-size:11px;line-height:1.9;min-height:90px;max-height:220px;overflow:auto;background:var(--bg);padding:13px;border-radius:7px;white-space:pre-wrap;word-break:break-word;color:var(--green)}.editor{display:block;background:var(--code);border:0;border-radius:8px;color:#d9e7dc;width:100%;height:330px;resize:vertical;padding:18px;font:12px/1.85 Consolas,monospace;tab-size:2}.fifo-slots{display:flex;gap:8px;margin:30px 0}.fifo-slot{height:65px;flex:1;display:grid;place-items:center;border:1px dashed var(--line);border-radius:8px;font-family:monospace;font-size:20px;color:var(--muted)}.fifo-slot.filled{background:var(--light);border:1px solid #a0bc8d;color:var(--green)}.lab-note{font-size:11px!important;line-height:1.9}.project-download{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.handshake{display:flex;align-items:center;justify-content:center;gap:18px;padding:30px 0}.node{padding:23px;background:var(--light);border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--green)}.transfer{width:70px;height:2px;background:var(--line);position:relative}.transfer.active{background:#679d65}.transfer.active:after{content:'';position:absolute;top:-4px;right:0;width:9px;height:9px;background:#679d65;border-radius:50%;animation:pulse .6s ease-in-out}.practice-head{display:flex;align-items:center;gap:12px;justify-content:space-between}.practice-head select{max-width:50%}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.reference-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:22px;min-width:0}.reference-card h2{font-size:16px;margin:0 0 15px}.reference-card p{font-size:12px;color:var(--muted);line-height:1.9}.reference-card .code-block pre{font-size:11px;padding:15px}.ref-table{border-collapse:collapse;width:100%;font-size:12px}.ref-table td,.ref-table th{text-align:left;border-bottom:1px solid var(--line);padding:12px 6px;line-height:1.7}.ref-table th{font-size:10px;color:var(--muted);font-weight:400}.ref-table td:first-child{font-family:monospace;color:var(--green);white-space:nowrap}.resource-links{display:grid;gap:10px;margin:20px 0}.resource-link{display:flex;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:12px;line-height:1.8}.resource-link span{color:var(--muted);font-size:10px;display:block}.resource-link>.icon{width:17px;color:var(--green);flex-shrink:0}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.progress-line{margin:20px 0}.progress-line>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px}.progress-line small{color:var(--muted);font-size:10px}.achievement{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);opacity:.45}.achievement.earned{opacity:1}.achievement .module-icon{flex-shrink:0}.achievement b{font-size:12px}.achievement p{font-size:10px;margin:5px 0 0}.data-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.danger{color:#9b5849!important}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%,15px);padding:12px 20px;background:#183f34;color:white;border:1px solid #537c63;border-radius:8px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;background:#11291f70;z-index:70;display:flex;justify-content:center;align-items:flex-start;padding:12vh 20px;backdrop-filter:blur(4px)}.search-modal{width:610px;max-width:100%;background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 80px #0003;overflow:hidden}.search-input-row{display:flex;align-items:center;gap:13px;padding:17px 20px;border-bottom:1px solid var(--line)}.search-input-row>.icon{color:var(--green)}.search-input-row input{border:0;background:transparent;width:100%;font-size:14px;color:var(--text);outline:none}.search-input-row button{font-size:10px;color:var(--muted);padding:4px;border:1px solid var(--line);border-radius:4px}.search-results{max-height:52vh;overflow:auto;padding:8px}.search-result{display:block;padding:13px 15px;border-radius:7px}.search-result:hover{background:var(--light)}.search-result b{font-size:12px;font-weight:500}.search-result p{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.8}.search-hint{padding:15px;color:var(--muted);font-size:11px}.confirm-panel{padding:27px}.confirm-panel h2{font-size:19px}.confirm-panel p{font-size:12px;color:var(--muted);line-height:1.9}.confirm-panel .data-actions{justify-content:flex-end}.mobile-scrim{display:none}@keyframes pulse{from{transform:translateX(-65px)}to{transform:translateX(0)}}
@media(min-width:1550px){main{padding-top:43px}.hero{min-height:320px}.hero h2{font-size:40px}.circuit{max-width:390px;margin-left:auto;width:100%}.module-card{padding:24px}.module-card>p{min-height:22px}}
@media(max-width:1180px){:root{--sidebar:210px}#sidebar{padding:25px 13px 18px}#topbar{padding:0 27px}main{padding:28px 27px 40px}.dashboard-columns{grid-template-columns:1fr 235px;gap:18px}.hero{padding:27px}.hero h2{font-size:29px}.hero p{font-size:11px}.stat{padding:14px 10px;gap:8px}.stat-icon{width:30px;height:30px}.stat b{font-size:21px}.module-card{padding:17px}.lesson-layout{grid-template-columns:minmax(0,1fr) 205px;gap:22px}.top-tools{gap:10px}.search-trigger{width:210px}.lab-panel{grid-template-columns:1fr}.hero-actions{gap:12px}}
@media(max-width:980px){.dashboard-columns{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:17px}.dashboard-aside .side-card{margin:0}.dashboard-aside .side-card:last-child{display:none}.circuit{padding:12px}.hero{grid-template-columns:1fr 40%}.hero h2{font-size:27px}.hero-actions{gap:10px}.hero-actions .text-link{font-size:10px}.search-trigger{width:180px}.lesson-layout{grid-template-columns:1fr}.lesson-toc{display:none}.stats{gap:9px}.stat{display:block;padding:13px}.stat-icon{display:none}.date-pill{display:none}.reference-grid{grid-template-columns:1fr}}
@media(max-width:720px){:root{--sidebar:238px}#sidebar{transform:translateX(-100%);transition:transform .2s}body.menu-open #sidebar{transform:translateX(0)}body.menu-open .mobile-scrim{display:block;position:fixed;inset:0;background:#10271c70;z-index:24}.workspace{margin:0}#topbar{height:65px;padding:0 19px;gap:13px}.mobile-toggle{display:inline-flex;border:0}.breadcrumb{font-size:11px}.top-tools{gap:8px}.search-trigger{width:32px;padding:6px;border:0;background:transparent}.search-trigger span,.search-trigger kbd{display:none}main{padding:24px 19px 35px}.welcome-row h1{font-size:21px}.welcome-row p{font-size:11px}.hero{padding:25px;grid-template-columns:1fr;gap:25px}.hero h2{font-size:31px}.hero p{font-size:12px}.circuit{transform:rotate(-2deg);max-width:350px;width:100%;justify-self:center;margin:2px 0 10px}.circuit svg{max-height:75px}.hero-actions{gap:20px}.stats{grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0 27px}.stat{padding:12px 8px}.stat b{font-size:21px}.stat b small{display:none}.stat p{font-size:9px;white-space:nowrap}.section-head h2{font-size:16px}.section-head h2 span{display:none}.module-grid{gap:12px}.module-card{padding:16px 13px}.module-card>p{min-height:58px}.module-card h3{font-size:14px}.module-top{margin-bottom:15px}.module-meta{gap:6px;font-size:9px}.module-meta .icon{display:none}.module-meta .go{display:block}.dashboard-aside{grid-template-columns:1fr}.dashboard-aside .side-card:nth-child(2){display:none}.bottom-strip{padding:16px;gap:15px}.bottom-strip .text-link{white-space:nowrap}.bottom-strip p{font-size:10px}.page-title h1{font-size:26px}.page-title p{font-size:12px}.lesson-header h1{font-size:26px}.lesson-meta{gap:8px;flex-wrap:wrap}.lesson-row{padding:15px 13px;gap:10px}.lesson-row p{display:none}.lesson-row strong{font-size:12px}.lesson-row>small{font-size:9px}.lesson-row>.icon{display:none}.course-heading h2{font-size:17px}.course-heading small{font-size:10px}.course-heading{gap:10px}.lesson-bottom{flex-wrap:wrap}.lesson-bottom .button{flex:1;white-space:nowrap;padding:10px 12px;font-size:11px}.progress-grid{grid-template-columns:1fr}.panel{padding:19px}.practice-head{align-items:flex-start}.practice-head select{max-width:46%;font-size:11px}.reference-card{padding:17px}.ref-table{font-size:10px}.ref-table td:first-child{white-space:normal}footer{padding:20px;font-size:8px}footer span{display:none}#toast{left:50%}.filter{padding:8px 10px}.lab-controls{gap:9px}.handshake{gap:12px}.node{padding:20px 15px}.quiz{padding:17px}.quiz-option{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:720px){.field,.notes,.search-input-row input{font-size:16px}.lab-controls .field{max-width:110px}.practice-head select{font-size:12px}.quiz-option{min-height:44px}.filter{min-height:36px}}
