@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap");:root{--cnc-brand-50:hsl(195,100%,95%);--cnc-brand-100:hsl(195,97%,87%);--cnc-brand-200:hsl(195,94%,73%);--cnc-brand-300:hsl(195,90%,58%);--cnc-brand-400:hsl(195,90%,47%);--cnc-brand-500:hsl(195,95%,38%);--cnc-brand-600:hsl(195,100%,29%);--cnc-brand-700:hsl(205,100%,22%);--cnc-brand-800:hsl(215,100%,16%);--cnc-brand-900:hsl(220,100%,10%);--cnc-accent-300:hsl(38,100%,72%);--cnc-accent-400:hsl(38,100%,60%);--cnc-accent-500:hsl(38,100%,48%);--cnc-success:hsl(145,65%,45%);--cnc-warning:hsl(38,100%,52%);--cnc-error:hsl(4,85%,57%);--cnc-bg-base:hsl(220,22%,7%);--cnc-bg-elevated:hsl(220,20%,10%);--cnc-bg-overlay:hsl(220,18%,13%);--cnc-bg-card:hsl(220,16%,15%);--cnc-bg-input:hsl(220,14%,18%);--cnc-border-subtle:hsla(220,30%,60%,0.08);--cnc-border-default:hsla(220,30%,60%,0.15);--cnc-border-strong:hsla(220,30%,60%,0.30);--cnc-text-primary:hsl(210,40%,96%);--cnc-text-secondary:hsl(210,20%,70%);--cnc-text-muted:hsl(210,15%,50%);--cnc-text-disabled:hsl(210,10%,35%);.light,html.light{--cnc-bg-base:hsl(220,20%,98%);--cnc-bg-elevated:hsl(0,0%,100%);--cnc-bg-overlay:hsl(220,15%,96%);--cnc-bg-card:hsl(0,0%,100%);--cnc-bg-input:hsl(220,15%,94%);--cnc-border-subtle:hsla(220,30%,10%,0.05);--cnc-border-default:hsla(220,30%,10%,0.10);--cnc-border-strong:hsla(220,30%,10%,0.20);--cnc-text-primary:hsl(220,40%,10%);--cnc-text-secondary:hsl(220,20%,30%);--cnc-text-muted:hsl(220,15%,45%);--cnc-text-disabled:hsl(220,10%,60%);color-scheme:light}--cnc-font-sans:"Inter",system-ui,-apple-system,sans-serif;--cnc-font-mono:"JetBrains Mono","Fira Code",monospace;--cnc-text-xs:0.75rem;--cnc-text-sm:0.875rem;--cnc-text-base:1rem;--cnc-text-lg:1.125rem;--cnc-text-xl:1.25rem;--cnc-text-2xl:1.5rem;--cnc-text-3xl:1.875rem;--cnc-text-4xl:2.25rem;--cnc-text-5xl:3rem;--cnc-text-6xl:3.75rem;--cnc-leading-tight:1.25;--cnc-leading-snug:1.375;--cnc-leading-normal:1.5;--cnc-leading-relaxed:1.625;--cnc-space-1:0.25rem;--cnc-space-2:0.5rem;--cnc-space-3:0.75rem;--cnc-space-4:1rem;--cnc-space-5:1.25rem;--cnc-space-6:1.5rem;--cnc-space-8:2rem;--cnc-space-10:2.5rem;--cnc-space-12:3rem;--cnc-space-16:4rem;--cnc-space-20:5rem;--cnc-space-24:6rem;--cnc-radius-sm:0.25rem;--cnc-radius-md:0.5rem;--cnc-radius-lg:0.75rem;--cnc-radius-xl:1rem;--cnc-radius-2xl:1.5rem;--cnc-radius-full:9999px;--cnc-shadow-sm:0 1px 2px 0 hsla(220,50%,3%,0.5);--cnc-shadow-md:0 4px 12px 0 hsla(220,50%,3%,0.4);--cnc-shadow-lg:0 10px 30px 0 hsla(220,50%,3%,0.45);--cnc-shadow-xl:0 20px 60px 0 hsla(220,50%,3%,0.5);--cnc-shadow-glow:0 0 30px hsla(195,90%,47%,0.25);--cnc-ease-default:cubic-bezier(0.4,0,0.2,1);--cnc-ease-in:cubic-bezier(0.4,0,1,1);--cnc-ease-out:cubic-bezier(0,0,0.2,1);--cnc-ease-spring:cubic-bezier(0.34,1.56,0.64,1);--cnc-duration-fast:120ms;--cnc-duration-normal:200ms;--cnc-duration-slow:350ms;--cnc-z-base:0;--cnc-z-raised:10;--cnc-z-overlay:100;--cnc-z-modal:200;--cnc-z-toast:300;--cnc-z-tooltip:400}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:var(--cnc-text-base);line-height:var(--cnc-leading-normal)}.cnc-glass{background:hsla(220,18%,13%,.7);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--cnc-border-default)}:focus-visible{outline:2px solid var(--cnc-brand-400);outline-offset:2px;border-radius:var(--cnc-radius-sm)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--cnc-border-strong);border-radius:var(--cnc-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--cnc-text-muted)}::selection{background:hsla(195,90%,47%,.3);color:var(--cnc-text-primary)}body{background-color:var(--cnc-bg-base);color:var(--cnc-text-primary);font-family:var(--cnc-font-sans);min-height:100vh;margin:0;padding:0;overflow:hidden}.academy-layout{display:flex;height:100vh;width:100%;overflow:hidden;background:var(--cnc-bg-base)}@media (max-width:992px){.academy-layout{flex-direction:column;overflow-y:auto}}.academy-sidebar{width:300px;background:var(--cnc-bg-card);border-right:1px solid var(--cnc-border-default);display:flex;flex-direction:column;flex-shrink:0}@media (max-width:992px){.academy-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--cnc-border-default)}}.sidebar-header{padding:var(--cnc-space-5) var(--cnc-space-6);border-bottom:1px solid var(--cnc-border-subtle);display:flex;align-items:center;gap:var(--cnc-space-3)}.sidebar-title{font-size:var(--cnc-text-xs);font-family:var(--cnc-font-mono);color:var(--cnc-text-muted);letter-spacing:.05em;font-weight:700;text-transform:uppercase}.modules-list{flex:1 1;gap:var(--cnc-space-2);overflow-y:auto}.module-item,.modules-list{padding:var(--cnc-space-4);display:flex;flex-direction:column}.module-item{width:100%;background:var(--cnc-bg-elevated);border:1px solid var(--cnc-border-default);border-radius:var(--cnc-radius-lg);text-align:left;cursor:pointer;transition:all var(--cnc-duration-fast) ease;gap:var(--cnc-space-1.5);position:relative;overflow:hidden}.module-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background var(--cnc-duration-fast) ease}.module-item:hover{border-color:var(--cnc-border-strong);background:var(--cnc-bg-overlay)}.module-item.active{border-color:var(--cnc-brand-400);background:hsla(195,90%,47%,.06);box-shadow:0 0 10px hsla(195,90%,47%,.08)}.module-item.active:before{background:var(--cnc-brand-400)}.module-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--cnc-space-2)}.module-index{font-size:10px;font-family:var(--cnc-font-mono);color:var(--cnc-brand-300);font-weight:600}.module-title{font-size:var(--cnc-text-sm);font-weight:700;color:var(--cnc-text-primary);flex:1 1;line-height:var(--cnc-leading-snug)}.module-meta-row{display:flex;align-items:center;gap:var(--cnc-space-3);font-size:10px;color:var(--cnc-text-muted)}.module-status-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:var(--cnc-radius-sm);font-family:var(--cnc-font-mono);font-size:9px;background:rgba(255,255,255,.04)}.module-status-badge.active{color:var(--cnc-brand-300);background:rgba(0,240,255,.08);border:1px solid rgba(0,240,255,.15)}.academy-center-pane{flex:1.2 1;display:flex;flex-direction:column;overflow-y:auto;background:var(--cnc-bg-base);border-right:1px solid var(--cnc-border-default)}@media (max-width:992px){.academy-center-pane{border-right:none;border-bottom:1px solid var(--cnc-border-default);height:auto}}.navbar-brand{font-size:var(--cnc-text-lg);font-weight:800;text-decoration:none;letter-spacing:-.03em}.navbar-brand-accent{background:linear-gradient(135deg,var(--cnc-brand-300),var(--cnc-brand-400));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.lesson-content{padding:var(--cnc-space-8) var(--cnc-space-10);max-width:720px;margin:0 auto;width:100%}@media (max-width:576px){.lesson-content{padding:var(--cnc-space-5) var(--cnc-space-6)}}.lesson-tag{display:inline-flex;align-items:center;gap:var(--cnc-space-2);padding:var(--cnc-space-1) var(--cnc-space-3);border-radius:var(--cnc-radius-full);border:1px solid var(--cnc-border-subtle);background:var(--cnc-bg-overlay);margin-bottom:var(--cnc-space-4);font-size:var(--cnc-text-xs);font-family:var(--cnc-font-mono);color:var(--cnc-brand-300)}.lesson-header-title{font-size:var(--cnc-text-3xl);font-weight:800;letter-spacing:-.03em;color:var(--cnc-text-primary);margin-bottom:var(--cnc-space-4)}.lesson-divider{border:0;border-top:1px solid var(--cnc-border-default);margin:var(--cnc-space-6) 0}.lesson-body{color:var(--cnc-text-secondary);line-height:var(--cnc-leading-relaxed)}.lesson-body h3{font-size:var(--cnc-text-lg);color:var(--cnc-text-primary);margin-top:var(--cnc-space-6);margin-bottom:var(--cnc-space-3);font-weight:700;letter-spacing:-.01em}.lesson-body p{margin-bottom:var(--cnc-space-4);font-size:var(--cnc-text-sm)}.lesson-body ol,.lesson-body ul{margin-bottom:var(--cnc-space-5);padding-left:var(--cnc-space-5)}.lesson-body li{margin-bottom:var(--cnc-space-2);font-size:var(--cnc-text-sm)}.lesson-body code{background:rgba(0,240,255,.08);border:1px solid rgba(0,240,255,.15);color:var(--cnc-brand-300);font-family:var(--cnc-font-mono);font-size:11px;padding:2px 4px;border-radius:4px}.lesson-callout{background:hsla(195,90%,47%,.04);border-left:3px solid var(--cnc-brand-400);padding:var(--cnc-space-4);border-radius:0 var(--cnc-radius-lg) var(--cnc-radius-lg) 0;margin:var(--cnc-space-5) 0}.lesson-callout-title{font-weight:700;font-size:var(--cnc-text-xs);color:var(--cnc-brand-300);font-family:var(--cnc-font-mono);margin-bottom:var(--cnc-space-1);text-transform:uppercase}.lesson-callout-text{font-size:var(--cnc-text-sm);color:var(--cnc-text-secondary);margin:0!important}.academy-right-pane{flex:1 1;display:flex;flex-direction:column;overflow:hidden;background:var(--cnc-bg-card);height:100%}@media (max-width:992px){.academy-right-pane{height:500px}}.pane-header{padding:var(--cnc-space-4) var(--cnc-space-6);border-bottom:1px solid var(--cnc-border-default);background:var(--cnc-bg-elevated);display:flex;align-items:center;justify-content:space-between}.pane-title{font-size:var(--cnc-text-xs);font-family:var(--cnc-font-mono);color:var(--cnc-text-secondary);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.blueprint-container{flex:1.3 1;position:relative;background:#06090e;border-bottom:1px solid var(--cnc-border-default);display:flex;align-items:center;justify-content:center;overflow:hidden}.blueprint-canvas{width:100%;height:100%;min-height:250px}.canvas-controls{position:absolute;bottom:var(--cnc-space-4);left:var(--cnc-space-4);right:var(--cnc-space-4);justify-content:space-between;pointer-events:none}.canvas-controls,.playback-btn{display:flex;align-items:center}.playback-btn{background:var(--cnc-brand-400);color:#fff;border:none;padding:var(--cnc-space-2) var(--cnc-space-4);border-radius:var(--cnc-radius-full);font-family:var(--cnc-font-mono);font-size:var(--cnc-text-xs);font-weight:700;cursor:pointer;pointer-events:auto;box-shadow:0 0 12px var(--cnc-brand-400);transition:all var(--cnc-duration-fast) ease;gap:6px}.playback-btn:hover{background:var(--cnc-brand-300);transform:scale(1.03)}.playback-status{background:rgba(0,0,0,.65);border:1px solid var(--cnc-border-default);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 10px;border-radius:var(--cnc-radius-md);font-family:var(--cnc-font-mono);font-size:10px;color:var(--cnc-brand-300);pointer-events:auto}.grid-lines{stroke:rgba(255,255,255,.025);stroke-width:1px}.axis-lines{stroke:rgba(255,255,255,.15);stroke-width:1.5px}.toolpath-rapid{stroke:rgba(239,68,68,.6);stroke-width:1.5px;stroke-dasharray:4,3}.toolpath-feed{stroke:var(--cnc-brand-400);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px var(--cnc-brand-400))}.toolpath-feed-ghost{stroke:rgba(0,240,255,.1);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.toolpath-boundary{stroke:rgba(255,255,255,.1);stroke-width:1.5px;fill:rgba(255,255,255,.005)}.toolpath-origin{stroke:var(--cnc-accent-400);stroke-width:1px;fill:transparent}.toolhead-pointer{fill:var(--cnc-brand-400);stroke:#fff;stroke-width:1.5px;filter:drop-shadow(0 0 6px var(--cnc-brand-400))}.gcode-container{flex:1 1;background:#020406;font-family:var(--cnc-font-mono);display:flex;flex-direction:column;overflow:hidden}.gcode-console-header{background:#080c12;border-bottom:1px solid var(--cnc-border-subtle);padding:var(--cnc-space-2) var(--cnc-space-4);font-size:10px;color:var(--cnc-text-muted);display:flex;justify-content:space-between}.gcode-lines-scroller{flex:1 1;overflow-y:auto;padding:var(--cnc-space-4)}.gcode-row{display:flex;line-height:var(--cnc-leading-relaxed);font-size:var(--cnc-text-xs);color:var(--cnc-text-secondary)}.gcode-row.active{background:rgba(0,240,255,.07);color:#fff}.gcode-line-num{width:32px;text-align:right;padding-right:var(--cnc-space-4);color:var(--cnc-text-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid rgba(255,255,255,.05)}.gcode-line-content{padding-left:var(--cnc-space-4);white-space:pre}.gcode-row.active .gcode-line-content{text-shadow:0 0 8px var(--cnc-brand-400);color:var(--cnc-brand-300)}.academy-center-pane::-webkit-scrollbar,.academy-right-pane::-webkit-scrollbar,.gcode-lines-scroller::-webkit-scrollbar,.modules-list::-webkit-scrollbar{width:5px;height:5px}.academy-center-pane::-webkit-scrollbar-track,.academy-right-pane::-webkit-scrollbar-track,.gcode-lines-scroller::-webkit-scrollbar-track,.modules-list::-webkit-scrollbar-track{background:transparent}.academy-center-pane::-webkit-scrollbar-thumb,.academy-right-pane::-webkit-scrollbar-thumb,.gcode-lines-scroller::-webkit-scrollbar-thumb,.modules-list::-webkit-scrollbar-thumb{background:var(--cnc-border-default);border-radius:var(--cnc-radius-full)}.academy-center-pane::-webkit-scrollbar-thumb:hover,.academy-right-pane::-webkit-scrollbar-thumb:hover,.gcode-lines-scroller::-webkit-scrollbar-thumb:hover,.modules-list::-webkit-scrollbar-thumb:hover{background:var(--cnc-border-strong)}