@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-primary: #0b0f0e;--bg-secondary: #121816;--bg-tertiary: #1a221f;--bg-elevated: #17201d;--accent: #39d353;--accent-dim: #238636;--accent-muted: rgba(57, 211, 83, .15);--accent-cyan: #35d4c8;--accent-warm: #ffb86b;--accent-pink: #ff6b9a;--text-primary: #e6edf3;--text-secondary: #a3afa9;--text-muted: #748179;--border: #2b3732;--border-muted: #202b27;--error: #f85149;--error-muted: rgba(248, 81, 73, .15);--warning: #d29922;--success: #39d353;--shadow: rgba(0, 0, 0, .4);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", monospace}:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-tertiary: #eaeef2;--bg-elevated: #ffffff;--accent: #1a7f37;--accent-dim: #238636;--accent-muted: rgba(26, 127, 55, .1);--accent-cyan: #0969da;--text-primary: #1f2328;--text-secondary: #57606a;--text-muted: #8b949e;--border: #d0d7de;--border-muted: #eaeef2;--error: #cf222e;--error-muted: rgba(207, 34, 46, .1);--shadow: rgba(31, 35, 40, .1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:var(--font-sans);background:radial-gradient(circle at 15% 8%,rgba(53,212,200,.14),transparent 28rem),radial-gradient(circle at 86% 18%,rgba(255,184,107,.11),transparent 25rem),linear-gradient(180deg,#0b0f0e 0%,var(--bg-primary) 42%,#080b0a 100%);color:var(--text-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:active{transform:translateY(1px) scale(.99)}button:disabled:active{transform:none}a{color:inherit;text-decoration:none}main{min-height:100vh;display:flex;flex-direction:column}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;background:color-mix(in srgb,var(--bg-secondary) 88%,transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:100}.brand{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-weight:700;font-size:1rem;color:var(--accent);transition:opacity .2s}.brand:hover{opacity:.8}.topnav{display:flex;align-items:center;gap:4px}.topnav a,.topnav .docsLink{display:flex;align-items:center;gap:4px;padding:8px 14px;border-radius:6px;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:color .2s,background .2s,transform .2s}.topnav a:hover,.topnav .docsLink:hover{color:var(--text-primary);background:var(--bg-tertiary);transform:translateY(-1px)}.topnav .navActive{color:var(--text-primary);background:var(--bg-tertiary)}.topActions{display:flex;align-items:center;gap:8px}.themeButton,.pill{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:border-color .2s,color .2s,transform .2s,box-shadow .2s}.themeButton:hover,.pill:hover{border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 10px 24px #0000002e}.landing{flex:1;display:flex;flex-direction:column}.heroSection{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1200px;margin:0 auto;padding:80px 32px}.heroTag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;margin-bottom:16px;background:var(--accent-muted);color:var(--accent);border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.heroContent h1{margin:0 0 24px;font-family:var(--font-mono);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.1;color:var(--text-primary)}.heroContent h1 .accent{color:var(--accent)}.heroDescription{margin:0 0 32px;font-size:1.125rem;line-height:1.6;color:var(--text-secondary);max-width:480px}.heroCta{display:flex;gap:12px}.primaryButton{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--accent);color:#0d1117;border:none;border-radius:8px;font-size:1rem;font-weight:600;transition:background .2s,transform .2s}.primaryButton:hover{background:var(--accent-dim);transform:translateY(-1px)}.primaryButton:disabled{opacity:.6;cursor:not-allowed;transform:none}.heroTerminal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 20px 50px var(--shadow)}.terminalHeader{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.terminalDot{width:12px;height:12px;border-radius:50%}.terminalDot.red{background:#ff5f57}.terminalDot.yellow{background:#febc2e}.terminalDot.green{background:#28c840}.terminalTitle{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.terminalBody{padding:20px;font-family:var(--font-mono);font-size:.9rem;line-height:1.8}.terminalLine{display:flex;gap:8px}.terminalLine .prompt{color:var(--accent-cyan)}.terminalLine .command{color:var(--text-primary)}.terminalLine.output{color:var(--text-secondary)}.terminalLine .success{color:var(--accent)}.terminalLine .cursor{animation:blink 1s step-end infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.features{max-width:1200px;margin:0 auto;padding:80px 32px;text-align:center}.features h2{margin:0 0 48px;font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--text-primary)}.featureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.featureCard{padding:32px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;text-align:left;transition:border-color .2s}.featureCard:hover{border-color:var(--accent)}.featureIcon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;background:var(--accent-muted);color:var(--accent);border-radius:10px}.featureCard h3{margin:0 0 12px;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.featureCard p{margin:0;font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.landingFooter{padding:24px 32px;text-align:center;border-top:1px solid var(--border);color:var(--text-muted);font-size:.875rem}.loginPage{flex:1;display:flex;align-items:center;justify-content:center;padding:32px}.loginForm{width:100%;max-width:400px;padding:40px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.loginHeader{text-align:center;margin-bottom:32px}.loginIcon{color:var(--accent);margin-bottom:16px}.loginHeader h1{margin:0 0 8px;font-family:var(--font-mono);font-size:1.5rem;font-weight:700}.loginHeader p{margin:0;color:var(--text-secondary);font-size:.9rem}.inputGroup{display:block;margin-bottom:20px}.inputLabel{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.inputWrapper{display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .2s}.inputWrapper:focus-within{border-color:var(--accent)}.inputPrefix{padding:0 0 0 14px;color:var(--accent);font-family:var(--font-mono);font-weight:600}.inputWrapper input{flex:1;padding:12px 14px;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:.9rem;outline:none}.inputWrapper input::placeholder{color:var(--text-muted)}.formError{margin:0 0 16px;padding:12px;background:var(--error-muted);border-radius:8px;color:var(--error);font-size:.875rem}.loginForm .primaryButton{width:100%;justify-content:center}.loginHint{margin:20px 0 0;text-align:center;font-size:.8rem;color:var(--text-muted)}.studio{flex:1;display:grid;grid-template-columns:300px 1fr;gap:0;align-items:start;min-height:calc(100vh - 64px);animation:pageEnter .5s ease both}.studioEmpty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.studioEmpty h1{margin:0 0 8px;font-family:var(--font-mono);font-size:1.5rem}.studioEmpty p{margin:0;color:var(--text-secondary)}.rail{padding:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 94%,var(--accent-cyan)),var(--bg-secondary)),var(--bg-secondary);border-right:1px solid var(--border);position:sticky;top:64px;height:calc(100vh - 64px);max-height:calc(100vh - 64px);overflow-y:auto;overflow-x:visible;overscroll-behavior:contain;scrollbar-gutter:stable;box-shadow:inset -1px 0 #ffffff05;z-index:120}.rail::-webkit-scrollbar{width:10px}.rail::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;border:2px solid var(--bg-secondary)}.rail::-webkit-scrollbar-thumb:hover{background:var(--border-muted)}.progressSection{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progressLabel{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.progressValue{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--accent)}.meter{height:4px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:24px}.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-cyan),var(--accent-warm));background-size:180% 100%;border-radius:4px;transition:width .55s cubic-bezier(.2,.8,.2,1);animation:meterFlow 4s ease-in-out infinite}.course{padding:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-tertiary) 88%,var(--accent-cyan)),var(--bg-tertiary) 48%),var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;animation:itemRise .45s ease both;position:relative;z-index:1}.course:has(.task:hover){z-index:900}.course h2{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.course>p{margin:0 0 16px;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.dynamicCourseNote{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;margin:-4px 0 14px;padding:10px;border:1px solid color-mix(in srgb,var(--accent-cyan) 38%,var(--border));border-radius:8px;background:#35d4c814;color:var(--text-secondary);font-size:.76rem;line-height:1.45}.dynamicCourseNote svg{color:var(--accent-cyan)}.lesson{margin-top:12px;position:relative;z-index:1}.lesson:has(.task:hover){z-index:950}.lesson:before{content:"";position:absolute;left:19px;top:30px;bottom:4px;width:1px;background:linear-gradient(180deg,var(--accent-muted),transparent)}.lesson>strong{display:block;position:relative;z-index:1;margin-bottom:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.task{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:4px;background:var(--bg-secondary);border:1px solid var(--border-muted);border-radius:8px;color:var(--text-secondary);font-size:.85rem;text-align:left;position:relative;overflow:visible;z-index:1;transition:border-color .2s,color .2s,background .2s,transform .2s,box-shadow .2s}.task svg,.editorTop button svg,.softButton svg,.consoleTab svg{flex:0 0 auto}.task:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent-cyan));opacity:0;transform:scaleY(.35);transition:opacity .2s,transform .2s}.task:hover{border-color:var(--border);color:var(--text-primary);transform:translate(3px);box-shadow:0 10px 22px #00000029;z-index:1000}.task.active{border-color:var(--accent);background:linear-gradient(90deg,var(--accent-muted),rgba(53,212,200,.08));color:var(--text-primary)}.task.active:before,.task:hover:before{opacity:1;transform:scaleY(1)}.task.completed .taskIconCompleted{color:var(--accent)}.task .taskIconPending{color:var(--text-muted)}.taskTitle{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taskPoints{padding:2px 6px;border-radius:999px;background:var(--bg-tertiary);color:var(--accent);font-family:var(--font-mono);font-size:.66rem;font-weight:800}.taskPreview{position:absolute;left:22px;top:calc(100% + 6px);z-index:1100;width:calc(100% - 22px);display:grid;gap:5px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--border) 60%,var(--accent-cyan));border-radius:8px;background:color-mix(in srgb,var(--bg-secondary) 94%,black);box-shadow:0 18px 50px #00000061;color:var(--text-secondary);opacity:0;pointer-events:none;transform:translateY(-6px) scale(.98);transition:opacity .16s,transform .16s}.taskPreview strong{color:var(--text-primary);font-size:.76rem}.taskPreview small{font-size:.72rem;line-height:1.35}.task:hover .taskPreview{opacity:1;transform:translateY(0) scale(1)}.eyebrow{margin:0 0 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.workspace{display:flex;flex-direction:column;gap:16px;padding:24px 24px 60px;background:linear-gradient(135deg,rgba(57,211,83,.05),transparent 22rem),linear-gradient(315deg,rgba(255,107,154,.05),transparent 26rem),var(--bg-primary);min-width:0}html,body{scroll-behavior:smooth}body{overscroll-behavior-y:none}body.focusModeOpen{overflow:hidden}body.focusModeOpen .topbar{opacity:0;pointer-events:none;transform:translateY(-100%)}.brief{padding:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-secondary) 92%,var(--accent) 8%),var(--bg-secondary) 52%),var(--bg-secondary);border:1px solid var(--border);border-radius:10px;animation:panelIn .5s ease both;box-shadow:0 18px 60px #00000029}.briefHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.brief h1{margin:0;font-family:var(--font-mono);font-size:1.25rem;font-weight:700;color:var(--text-primary)}.briefActions{display:flex;gap:8px;flex-shrink:0}.softButton{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.8rem;font-weight:500;transition:border-color .2s,color .2s,transform .2s,box-shadow .2s,background .2s}.softButton:hover{border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 10px 22px #0000002e}.softButton:disabled{opacity:.5;cursor:not-allowed}.previewAccess{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent-cyan) 42%,var(--border));border-radius:8px;background:#35d4c814;color:var(--text-secondary);animation:panelIn .28s ease both}.previewAccess p{margin-bottom:4px}.previewAccess span{font-size:.84rem}.previewAccess .softButton{flex:0 0 auto;color:var(--text-primary)}.brief>p{margin:0 0 16px;font-size:.95rem;line-height:1.7;color:var(--text-secondary)}.briefMeta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.target{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.target strong{color:var(--accent)}.savedDraft{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--warning);color:#0d1117;border-radius:6px;font-size:.75rem;font-weight:600}.difficultyBadge{padding:4px 10px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.difficulty-beginner{background:var(--accent-muted);color:var(--accent)}.difficulty-intermediate{background:#d2992226;color:var(--warning)}.difficulty-advanced{background:var(--error-muted);color:var(--error)}.briefContent{margin-bottom:16px;font-size:.95rem;line-height:1.7;color:var(--text-secondary)}.briefContent p{margin:0 0 12px}.briefContent p:last-child{margin-bottom:0}.briefContent code{padding:2px 6px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:.85em;color:var(--accent)}.briefContent pre{margin:12px 0;padding:16px;background:#0c0c0c;border:1px solid var(--border);border-radius:8px;overflow-x:auto}.briefContent pre code{padding:0;background:transparent;border:none;color:#ccc}.briefContent ul,.briefContent ol{margin:12px 0;padding-left:24px}.briefContent li{margin-bottom:6px}.briefContent strong{color:var(--text-primary);font-weight:600}.briefContent a{color:var(--accent-cyan);text-decoration:underline}.briefContent a:hover{color:var(--accent)}.briefContent blockquote{margin:12px 0;padding:12px 16px;background:var(--bg-tertiary);border-left:3px solid var(--accent);border-radius:0 6px 6px 0}.briefContent table{width:100%;margin:12px 0;border-collapse:collapse}.briefContent th,.briefContent td{padding:10px 12px;border:1px solid var(--border);text-align:left}.briefContent th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}.briefContent hr{margin:20px 0;border:none;border-top:1px solid var(--border)}.taskExplanation{margin-top:20px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px}.taskExplanation .eyebrow{margin-bottom:12px}.explanationContent{font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.explanationContent p{margin:0 0 8px}.explanationContent code{padding:2px 6px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:.85em;color:var(--accent)}.taskExplanation .docsLink{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:.8rem;color:var(--accent-cyan);transition:border-color .2s,color .2s}.taskExplanation .docsLink:hover{border-color:var(--accent-cyan);color:var(--text-primary)}.aiMentor{margin-top:16px;padding:16px;background:linear-gradient(135deg,var(--accent-muted),rgba(53,212,200,.1)),var(--bg-tertiary);border:1px solid var(--accent-dim);border-radius:8px;position:relative;overflow:hidden}.aiMentor:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0 35%,rgba(255,255,255,.08) 48%,transparent 62% 100%);transform:translate(-120%);animation:shine 5s ease-in-out infinite;pointer-events:none}.aiMentor .eyebrow{color:var(--accent)}.aiMentor strong{display:block;margin-bottom:8px;font-size:.95rem;line-height:1.5;color:var(--text-primary)}.aiMentor span{display:block;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.aiMentor small{display:block;margin-top:8px;font-size:.75rem;color:var(--text-muted)}.aiMentor.status-queued,.aiMentor.status-running{animation:pulse 1.5s ease-in-out infinite}.aiMentor.status-failed{background:var(--error-muted);border-color:var(--error)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.editorShell{position:relative;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-secondary) 88%,var(--accent-cyan)),var(--bg-secondary) 46%),var(--bg-secondary);border:1px solid var(--border);border-radius:10px;overflow:visible;z-index:2;isolation:isolate;animation:panelIn .55s .04s ease backwards;box-shadow:0 24px 70px #0003;transition:border-color .2s,box-shadow .2s}.editorShell:hover{border-color:color-mix(in srgb,var(--border) 55%,var(--accent-cyan));box-shadow:0 28px 84px #0000003d}.editorShellRunning:before{content:none}.editorBody{position:relative;z-index:3;overflow:hidden}.editorBody,.editorBody .monaco-editor,.editorBody .monaco-editor-background,.editorBody .overflow-guard{border-radius:0}.editorBody{clip-path:inset(0 round 0)}.monaco-editor-overflow-widgets-root{position:fixed;top:0;left:0;width:0;height:0;z-index:20000}.monaco-editor-overflow-widgets-root .overflowingContentWidgets,.monaco-editor-overflow-widgets-root .suggest-widget,.monaco-editor-overflow-widgets-root .parameter-hints-widget,.monaco-editor-overflow-widgets-root .monaco-hover{z-index:20001!important}.editorResizeHandle{position:absolute;right:0;bottom:0;width:22px;height:22px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 0 50%,var(--text-muted) 50% 55%,transparent 55% 65%,var(--text-muted) 65% 70%,transparent 70% 80%,var(--text-muted) 80% 85%,transparent 85%);border-bottom-right-radius:10px;z-index:5;opacity:.6;transition:opacity .2s}.editorResizeHandle:hover{opacity:1}.editorHeightLabel{font-size:.7rem;color:var(--text-muted);margin-left:auto}.saveIndicator{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);animation:savePop .22s ease both}.saveIndicator:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.save-saving{color:var(--accent-cyan)}.save-saving:before{animation:pulseDot .8s ease-in-out infinite}.save-saved{color:var(--accent)}.save-error{color:var(--error)}.editorTop{display:flex;position:relative;align-items:center;justify-content:space-between;padding:10px 16px;background:linear-gradient(90deg,color-mix(in srgb,var(--bg-tertiary) 88%,var(--accent-cyan)),var(--bg-tertiary));border-bottom:1px solid var(--border);border-top-left-radius:9px;border-top-right-radius:9px;overflow:hidden}.editorShellRunning .editorTop:after{content:"";position:absolute;inset:0 auto 0 -35%;z-index:0;width:34%;background:linear-gradient(90deg,transparent,rgba(53,212,200,.3),transparent);animation:runScan 1.15s ease-in-out infinite;pointer-events:none}.editorFileMeta,.editorActions{position:relative;z-index:1}.editorFileMeta{display:flex;align-items:center;gap:8px;min-width:160px;flex:0 1 auto}.editorTrafficLights{flex:0 0 auto;width:12px;height:12px;background:var(--accent);border-radius:50%;box-shadow:18px 0 0 var(--warning),36px 0 0 var(--error)}.editorFileName{margin-left:48px;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editorFileTabs{position:relative;z-index:1;display:flex;align-items:stretch;gap:4px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none}.editorFileTabs::-webkit-scrollbar{display:none}.editorTop .editorFileTab{flex:0 0 auto;max-width:180px;padding:7px 10px;background:transparent;border:1px solid transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editorTop .editorFileTab:hover,.editorTop .editorFileTabActive{background:color-mix(in srgb,var(--bg-secondary) 72%,var(--accent-cyan));border-color:color-mix(in srgb,var(--border) 70%,var(--accent-cyan));color:var(--text-primary);box-shadow:none}.editorActions{display:flex;gap:8px;flex:0 0 auto}.editorTop button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent);border:none;border-radius:6px;color:#0d1117;font-size:.85rem;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s,border-color .2s,color .2s}.editorTop button:hover{background:var(--accent-dim);transform:translateY(-1px);box-shadow:0 10px 24px #39d3532e}.editorTop button:disabled{opacity:.5;cursor:not-allowed}.editorTop .ghostIcon{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary)}.editorTop .ghostIcon:hover{border-color:var(--accent);color:var(--text-primary)}.editorTop .ghostIcon:first-child:hover{border-color:var(--accent-cyan)}.editorTop button:not(.ghostIcon):hover{background:linear-gradient(90deg,var(--accent),var(--accent-cyan))}.editorTop .runButton{position:relative;overflow:hidden}.editorTop .runButton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0 34%,rgba(255,255,255,.32) 48%,transparent 62% 100%);transform:translate(-120%);transition:transform .42s ease}.editorTop .runButton:hover:after{transform:translate(120%)}.editorShellRunning .runButton{animation:runButtonPulse 1.1s ease-in-out infinite}.editorTop .resetButton{color:color-mix(in srgb,var(--text-secondary) 78%,var(--accent-warm))}.editorTop .resetButton:hover{border-color:var(--accent-warm);background:#ffb86b14;color:var(--accent-warm);box-shadow:0 10px 22px #ffb86b1f}.shortcutHint{display:flex;align-items:center;gap:16px;padding:8px 32px 8px 16px;background:var(--bg-tertiary);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);border-bottom-left-radius:10px;border-bottom-right-radius:10px;overflow:hidden}.ghostIcon{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:6px}.editorShellFocus{height:100%;min-height:0;display:flex;flex-direction:column;border-radius:8px;animation:focusContentIn .35s ease both}.editorShellFocus .editorBody{flex:1;min-height:0}.console{background:#0c0c0c;border:1px solid var(--border);border-radius:10px;overflow:hidden;font-family:var(--font-mono);animation:panelIn .55s .08s ease both;box-shadow:0 20px 55px #0000002e;transition:border-color .2s,box-shadow .2s,transform .2s}.console:hover{border-color:color-mix(in srgb,var(--border) 55%,var(--accent));box-shadow:0 24px 72px #00000038}.console>div:first-child{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#1a1a1a;border-bottom:1px solid #333}.consoleTabs{display:flex;align-items:center;gap:8px}.consoleTab{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:5px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#888;font-size:.8rem;font-family:var(--font-mono);cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .2s}.consoleTab:hover{color:#e6edf3;background:#242424;transform:translateY(-1px)}.consoleTabActive{color:#e6edf3;background:#111;border-color:#333}.problemCount{min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--error);color:#fff;font-size:.68rem}.consoleMetaTabs{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;max-width:50%;overflow-x:auto;scrollbar-width:none}.consoleMetaTabs::-webkit-scrollbar{display:none}.consoleFileTab{flex:0 0 auto;max-width:150px;padding:5px 8px;border:1px solid #2a2a2a;border-radius:6px;background:#111;color:#888;font-family:var(--font-mono);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consoleFileTabActive{color:#e6edf3;border-color:color-mix(in srgb,#333 55%,var(--accent-cyan));background:color-mix(in srgb,#111 82%,var(--accent-cyan))}.consoleMetaTabs>span:last-child{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.console.status-idle .consoleMetaTabs>span:last-child{color:#888}.console.status-queued .consoleMetaTabs>span:last-child,.console.status-running .consoleMetaTabs>span:last-child{color:var(--accent-cyan)}.console.status-passed .consoleMetaTabs>span:last-child,.console.status-failed .consoleMetaTabs>span:last-child{color:#888}.console.status-error .consoleMetaTabs>span:last-child{color:var(--error)}.console pre{min-height:140px;max-height:360px;margin:0;padding:16px;overflow:auto;font-size:.88rem;line-height:1.65;color:#e6edf3;white-space:pre-wrap;word-break:break-word}.consoleLine{margin-bottom:4px;animation:lineIn .18s ease both}.consoleLineEmpty{min-height:1.15em}.consolePrompt{color:#569cd6;margin-right:8px}.consoleCommand{color:#dcdcaa}.consoleError{color:#f14c4c}.consoleSuccess{color:#4ec9b0}.problemsPanel{min-height:140px;max-height:360px;padding:14px;overflow:auto;color:#e6edf3}.problemsEmpty{display:flex;align-items:center;gap:8px;color:#888;font-size:.88rem}.problemItem{padding:12px;border:1px solid #3a2a2a;border-radius:8px;background:#160f0f}.problemItem+.problemItem{margin-top:10px}.problemHeader{display:flex;align-items:center;gap:8px;color:#ff8a8a;font-size:.88rem}.problemItem p{margin:8px 0 0;color:#f1c0c0;font-size:.84rem}.problemCode{margin:10px 0 0;padding:10px;border-radius:8px;background:#0c0c0c;color:#e6edf3;font-size:.82rem;line-height:1.5}.problemCode span{display:block}.console.status-queued,.console.status-running{animation:consolePulse 1.5s ease-in-out infinite;border-color:color-mix(in srgb,var(--accent-cyan) 55%,var(--border))}.console.status-error{animation:consoleError .3s ease}@keyframes consolePulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 2px #58a6ff4d}}@keyframes consoleSuccess{0%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 3px #39d35366}to{box-shadow:0 0 0 0 transparent}}@keyframes consoleError{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.grading{padding:16px 18px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:12px;animation:panelIn .55s .12s ease both}.gradingHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.gradingTitle{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.gradingButton{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--accent);color:#0d1117;border:none;border-radius:8px;font-weight:700;font-size:.88rem;transition:background .2s,transform .1s}.gradingButton:hover:not(:disabled){background:var(--accent-dim);transform:translateY(-1px)}.gradingButton:disabled{opacity:.45;cursor:not-allowed}.gradingHint{margin:0;font-size:.85rem;line-height:1.55;color:var(--text-secondary)}.gradingError{margin:0;font-size:.85rem;color:var(--error);background:var(--error-muted);border:1px solid var(--error);border-radius:8px;padding:10px 12px}.gradingVerdict{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border)}.gradingVerdict.gradingVerdictPassed{background:var(--accent-muted);border-color:var(--accent);position:relative;overflow:hidden}.gradingVerdict.gradingVerdictPassed .gradingVerdictIcon{color:var(--accent)}.gradingVerdict.gradingVerdictPassed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 0 28%,rgba(57,211,83,.18) 45%,transparent 64% 100%);animation:verdictSweep 1.1s ease both}.gradingVerdict.gradingVerdictFailed{background:linear-gradient(135deg,var(--error-muted),rgba(255,184,107,.08));border-color:color-mix(in srgb,var(--error) 72%,var(--warning));animation:verdictNudge .45s ease both}.gradingVerdict.gradingVerdictFailed .gradingVerdictIcon{color:var(--error)}.gradingVerdictIcon{display:flex;align-items:center;padding-top:2px;color:var(--text-secondary)}.gradingVerdictBody{flex:1;display:flex;flex-direction:column;gap:6px}.gradingVerdictBody strong{font-size:1rem;color:var(--text-primary);font-weight:700}.gradingSimilarity{font-weight:500;font-size:.85rem;color:var(--text-secondary)}.gradingVerdictBody p{margin:0;font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.grading-loading .gradingButton{cursor:progress}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.expectedOutput{flex:1 1 100%;background:var(--bg-tertiary);border:1px solid var(--border-muted);border-radius:8px;padding:8px 12px}.expectedOutput summary{cursor:pointer;font-size:.8rem;color:var(--text-secondary);font-weight:600;-webkit-user-select:none;user-select:none}.expectedOutput summary::marker{color:var(--text-muted)}.expectedOutput pre{margin:8px 0 4px;padding:10px 12px;background:#0c0c0c;color:#ccc;border-radius:6px;font-family:var(--font-mono);font-size:.8rem;white-space:pre-wrap;word-break:break-word}.expectedOutput small{display:block;margin-top:6px;font-size:.72rem;color:var(--text-muted);line-height:1.5}.history{padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;animation:panelIn .55s .16s ease both}.history article.historyAttempt{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 0;border-bottom:1px solid var(--border-muted)}.history article.historyAttempt:last-child{border-bottom:none}.historyAttemptMeta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.historyAttemptMeta strong{font-size:.85rem;color:var(--text-primary)}.historyAttemptMeta span{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.historyOutput{margin:0;padding:10px 12px;max-height:220px;overflow:auto;font-size:.75rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-muted);color:var(--text-secondary)}.historyOutputEmpty{font-size:.75rem;color:var(--text-muted);opacity:.75}.focusWorkspace{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;width:100vw;height:100vh;padding:0;display:block;animation:focusFade .25s ease both}.focusBackdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 10%,rgba(53,212,200,.18),transparent 28rem),radial-gradient(circle at 90% 14%,rgba(255,184,107,.14),transparent 28rem),#040706e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.focusPanel{position:relative;width:100vw;height:100vh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:linear-gradient(145deg,#121816f5,#080c0bf5),var(--bg-primary);border:0;border-radius:0;box-shadow:none;overflow:visible;animation:focusPanelIn .32s cubic-bezier(.2,.8,.2,1) backwards}.focusHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;background:linear-gradient(90deg,#1a221ff5,#121816f5);border-bottom:1px solid var(--border)}.focusHeader h2,.focusModalHeader h3{margin:0;font-size:1rem;line-height:1.3}.focusActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.focusActionButton,.focusClose{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:.82rem;font-weight:700;transition:color .2s,border-color .2s,transform .2s,background .2s}.focusActionButton:hover,.focusClose:hover{color:var(--text-primary);border-color:var(--accent-cyan);transform:translateY(-1px)}.focusActionButton:disabled{opacity:.55;cursor:progress}.focusClose{width:36px;padding:0}.focusEditorStack{min-height:0;display:grid;grid-template-rows:minmax(280px,1fr) minmax(180px,30vh);gap:8px;padding:8px;overflow:visible}.focusEditorStack .console{min-height:0;display:flex;flex-direction:column;border-radius:8px;animation:focusContentIn .35s .04s ease both}.focusEditorStack .console pre,.focusEditorStack .problemsPanel{flex:1;min-height:0;max-height:none}.focusModalLayer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;padding:22px;background:#04070685;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:focusFade .2s ease both}.focusModalCard{width:min(760px,100%);max-height:min(760px,calc(100vh - 70px));display:flex;flex-direction:column;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-secondary) 88%,var(--accent-cyan)),var(--bg-secondary)),var(--bg-secondary);border:1px solid color-mix(in srgb,var(--border) 60%,var(--accent-cyan));border-radius:8px;box-shadow:0 28px 90px #00000075;overflow:hidden;animation:modalPop .25s cubic-bezier(.2,.8,.2,1) both}.focusModalHeader{display:flex;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--border)}.focusModalContent{padding:18px;overflow:auto}.focusAskAgain{margin-bottom:12px}.focusAi{margin-top:0}@keyframes pageEnter{0%{opacity:0}to{opacity:1}}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes itemRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes meterFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes shine{0%,55%{transform:translate(-120%)}75%,to{transform:translate(120%)}}@keyframes lineIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes focusFade{0%{opacity:0}to{opacity:1}}@keyframes focusPanelIn{0%{opacity:0;transform:translateY(18px) scale(.965);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes focusContentIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes modalPop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.adminPage{flex:1;padding:24px;max-width:1200px;margin:0 auto;width:100%}.admin{padding:24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.admin h2{margin:0 0 20px;font-family:var(--font-mono);font-size:1.125rem;font-weight:600;color:var(--text-primary)}.admin label{display:block;margin-bottom:16px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.admin input,.admin textarea,.admin select{width:100%;margin-top:6px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:var(--font-mono);font-size:.875rem}.admin input:focus,.admin textarea:focus,.admin select:focus{outline:none;border-color:var(--accent)}.admin textarea{min-height:80px;resize:vertical}.admin button{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--accent);border:none;border-radius:6px;color:#0d1117;font-size:.875rem;font-weight:600;transition:background .2s}.admin button:hover{background:var(--accent-dim)}.admin button.ghost{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.admin button.ghost:hover{border-color:var(--accent);color:var(--text-primary)}.adminTabs{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.adminTabs button{padding:8px 16px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.85rem}.adminTabs button:hover{border-color:var(--text-muted)}.adminTabActive{background:var(--accent-muted)!important;border-color:var(--accent)!important;color:var(--accent)!important}.adminSection{display:grid;gap:16px}.adminButtonRow{display:flex;gap:8px;flex-wrap:wrap}.adminCatalog{max-height:400px;overflow-y:auto;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px}.adminCourseHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.admin button.ghost.danger{color:#dc2626}.admin button.ghost.danger:hover{background:#dc26261f}.adminLesson{padding:12px;margin-bottom:8px;background:var(--bg-secondary);border-radius:6px}.adminTaskRow{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:8px;margin-top:6px;background:var(--bg-tertiary);border-radius:4px}.adminTaskRow small{color:var(--text-muted);font-size:.75rem}.adminUserList{max-height:400px;overflow-y:auto}.adminUserRow{padding:12px;margin-bottom:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px}.adminUserInfo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.adminRoleBadge{padding:4px 8px;background:var(--accent-muted);color:var(--accent);border-radius:4px;font-size:.7rem;font-weight:600}.adminUserEnrollments{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.adminLeaderboardToggle{margin-top:10px;color:var(--text-secondary);font-size:.82rem}.adminEnrollmentTag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;font-size:.75rem}.enrollRemove{padding:0!important;background:transparent!important;border:none!important;color:var(--text-muted)!important;cursor:pointer}.enrollRemove:hover{color:var(--error)!important}.adminError{color:var(--error);font-size:.8rem}.checkboxRow{display:flex;align-items:center;gap:8px}.checkboxRow input{width:auto;margin:0}.bundleTextarea{min-height:200px;font-family:var(--font-mono);font-size:.8rem}.importExportPanel{display:grid;gap:12px}.attempts{max-height:300px;overflow-y:auto}.attempts article{padding:12px;margin-bottom:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px}.accessDenied{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.accessDenied h1{margin:0 0 8px;font-family:var(--font-mono);color:var(--error)}.accessDenied p{margin:0;color:var(--text-secondary)}.replay{padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px}.replay label{display:block;margin-bottom:12px;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.replay select{width:100%;margin-top:6px;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary)}.replay pre{min-height:100px;max-height:200px;margin:0;padding:12px;background:#0c0c0c;border-radius:6px;overflow:auto;font-family:var(--font-mono);font-size:.8rem;color:#ccc;white-space:pre-wrap}.solutionSection{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.solutionToggle{opacity:.6;font-size:.85rem}.solutionToggle:hover{opacity:1}.solutionForm{padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.solutionFormRow{display:flex;gap:8px;margin-top:12px}.solutionInput{flex:1;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:var(--font-mono);font-size:.9rem;outline:none}.solutionInput:focus{border-color:var(--accent);box-shadow:0 0 0 2px #00ff8826}.solutionError{margin-top:8px;color:var(--error);font-size:.85rem}.solutionDisplay{padding:16px;background:var(--bg-secondary);border:1px solid var(--accent);border-radius:8px}.solutionHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.solutionHeader .eyebrow{margin:0;color:var(--accent)}.solutionCode{margin:0;padding:16px;background:#0a0a0a;border-radius:6px;overflow-x:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.5;color:var(--accent);white-space:pre-wrap;word-break:break-word}.coursesPage,.profilePage,.leaderboardPage{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 70px;animation:pageEnter .45s ease both}.coursesHero,.profileHero,.leaderboardHero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px;padding:24px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-secondary) 86%,var(--accent-cyan)),var(--bg-secondary)),var(--bg-secondary);box-shadow:0 24px 70px #0000002e}.coursesHero h1,.profileHero h1,.leaderboardHero h1{margin:0 0 8px;font-size:clamp(1.7rem,4vw,3rem);line-height:1.08}.coursesHero p,.profileHero p,.leaderboardHero p{margin:0;max-width:620px;color:var(--text-secondary);line-height:1.6}.scoreBadge{min-width:142px;display:grid;place-items:center;gap:4px;padding:18px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:linear-gradient(145deg,var(--accent-muted),rgba(255,184,107,.08));color:var(--accent);animation:scoreFloat 3.5s ease-in-out infinite}.scoreBadge span{font-family:var(--font-mono);font-size:2rem;font-weight:800;color:var(--text-primary)}.scoreBadge small{color:var(--text-secondary)}.courseCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.courseCard{min-height:280px;display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(150deg,color-mix(in srgb,var(--bg-secondary) 88%,var(--accent-cyan)),var(--bg-secondary) 54%),var(--bg-secondary);box-shadow:0 18px 54px #00000029;animation:courseCardIn .45s ease both;transition:transform .22s,border-color .22s,box-shadow .22s;color:var(--text-primary)}.courseCard:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent-cyan) 55%,var(--border));box-shadow:0 26px 80px #00000042}.courseCardTop,.courseMetaRow,.courseCardAction{display:flex;align-items:center;justify-content:space-between;gap:10px}.courseSigil{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#07100d;box-shadow:0 10px 28px #00000040}.courseLevel{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.courseCard h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.courseCard p{flex:1;margin:0;color:var(--text-secondary);line-height:1.55}.courseMetaRow{justify-content:flex-start;flex-wrap:wrap;color:var(--text-muted);font-size:.84rem}.courseMetaRow span,.courseCardAction{display:inline-flex;align-items:center;gap:7px}.courseCardAction{justify-content:flex-start;color:var(--accent);font-weight:700}.coursesEmpty{min-height:220px;display:grid;place-items:center;gap:10px;border:1px dashed var(--border);border-radius:8px;color:var(--text-secondary)}.profileGrid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);gap:16px}.profilePanel{padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);animation:panelIn .45s ease both}.profilePanel label{display:grid;gap:7px;margin-bottom:14px;color:var(--text-secondary);font-size:.86rem}.profilePanel input,.profilePanel textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);outline:none}.profilePanel textarea{min-height:120px;resize:vertical}.profileSave{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:0;border-radius:8px;background:var(--accent);color:#07100d;font-weight:800}.profileStatus{margin-left:12px;color:var(--accent)}.profileAvatar{width:72px;height:72px;display:grid;place-items:center;border-radius:8px;background:var(--accent-muted);color:var(--accent)}.statsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.statsGrid div{padding:14px;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border)}.statsGrid strong{display:block;font-family:var(--font-mono);font-size:1.7rem;color:var(--accent)}.statsGrid span{color:var(--text-secondary);font-size:.8rem}.profileHistory{grid-column:1 / -1}.pointEvent,.leaderRow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border)}.pointEvent+.pointEvent,.leaderRow+.leaderRow{margin-top:10px}.pointEvent.positive{color:var(--accent)}.pointEvent.negative{color:var(--accent-warm)}.pointEvent strong,.leaderRow strong{display:block;color:var(--text-primary)}.pointEvent span,.leaderRow small{color:var(--text-muted)}.leaderboardList{display:grid;gap:10px}.leaderRow{animation:itemRise .35s ease both}.leaderRow.currentUser{border-color:var(--accent);background:linear-gradient(90deg,var(--accent-muted),var(--bg-tertiary))}.leaderRank{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:var(--bg-secondary);color:var(--accent);font-weight:800}.scorePill strong{padding-left:8px;color:var(--accent);font-family:var(--font-mono)}.scoreToast{position:fixed;right:22px;bottom:22px;z-index:700;display:grid;gap:2px;min-width:170px;padding:14px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg-secondary);box-shadow:0 20px 60px #0000005c;animation:toastIn .24s ease both}.scoreToast strong{font-family:var(--font-mono);font-size:1.3rem}.scoreToastPositive{border-color:var(--accent);color:var(--accent)}.scoreToastNegative{border-color:var(--accent-warm);color:var(--accent-warm)}.suggestAiButton{border-color:color-mix(in srgb,var(--accent-warm) 72%,var(--border));animation:suggestPulse 1.7s ease-in-out infinite}.mentorThinking{display:inline-flex;align-items:center;gap:8px}.mentorThinking:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-cyan);animation:pulseDot .8s ease-in-out infinite}.task.completed .taskIconCompleted{animation:checkPop .35s ease both}.task.active{animation:activeTaskBreath 2.8s ease-in-out infinite}.task.taskJustCompleted{border-color:var(--accent);animation:taskCompleteFlash 1.2s ease both}.task.taskJustCompleted:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 0 24%,rgba(57,211,83,.22) 45%,transparent 64% 100%);transform:translate(-120%);animation:taskSweep 1s ease both;pointer-events:none}.adminResetRow{display:grid;grid-template-columns:minmax(160px,260px) auto 1fr;gap:8px;align-items:center;margin-top:10px}.adminResetRow input{margin:0}.adminResetRow small{color:var(--text-muted)}.commandPaletteLayer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:grid;place-items:start center;padding-top:10vh;background:#0407068f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:focusFade .16s ease both}.commandPalette{width:min(680px,calc(100vw - 28px));border:1px solid color-mix(in srgb,var(--border) 62%,var(--accent-cyan));border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-secondary) 88%,var(--accent-cyan)),var(--bg-secondary)),var(--bg-secondary);box-shadow:0 28px 90px #0000007a;overflow:hidden;animation:commandIn .2s cubic-bezier(.2,.8,.2,1) both}.commandPaletteSearch{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.commandPaletteSearch input{width:100%;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:1rem}.commandPaletteSearch button,.commandPaletteList button{border:0;background:transparent;color:var(--text-secondary)}.commandPaletteList{display:grid;gap:4px;padding:8px}.commandPaletteList button{display:grid;gap:3px;padding:11px 12px;border-radius:8px;text-align:left;animation:commandItemIn .2s ease both}.commandPaletteList button:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.commandPaletteList button:disabled{opacity:.35;cursor:not-allowed}.commandPaletteList strong{color:var(--text-primary)}.commandPaletteList span{font-size:.78rem}.aiTimeline{display:grid;gap:8px;margin-top:12px}.aiTimelineStep{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:8px;color:var(--text-muted);font-size:.78rem}.aiTimelineStep span{width:10px;height:10px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary)}.aiTimelineStep.active{color:var(--text-primary)}.aiTimelineStep.active span{border-color:var(--accent-cyan);background:var(--accent-cyan);box-shadow:0 0 0 4px #35d4c81a}.focusSideSheet{position:absolute;top:64px;right:14px;z-index:4;width:min(430px,calc(100vw - 28px));max-height:calc(100vh - 82px);display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--border) 60%,var(--accent-cyan));border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-secondary) 90%,var(--accent-cyan)),var(--bg-secondary)),var(--bg-secondary);box-shadow:0 24px 80px #0000007a;overflow:hidden;animation:sideSheetIn .22s ease both}.focusSideSheet .focusModalContent{overflow:auto}.focusSplitHandle{height:10px;border-radius:999px;cursor:ns-resize;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-cyan) 42%,var(--border)),transparent);opacity:.72;transition:opacity .16s,transform .16s}.focusSplitHandle:hover{opacity:1;transform:scaleY(1.25)}.gradingFixList{display:grid;gap:8px;margin-top:10px}.gradingFixList article{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:9px 10px;border:1px solid color-mix(in srgb,var(--warning) 36%,var(--border));border-radius:8px;background:#ffb86b12;animation:fixCardIn .24s ease both}.gradingFixList span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#ffb86b29;color:var(--accent-warm);font-family:var(--font-mono);font-size:.72rem;font-weight:800}.gradingNextButton{width:fit-content;display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:8px;background:var(--accent);color:#07100d;font-weight:800}.gradingNextButton:hover{transform:translateY(-1px);box-shadow:0 12px 28px #00000038}.consoleLineRuntimeError{margin-left:-6px;padding:2px 6px;border-left:2px solid var(--error);border-radius:4px;background:#f8514914;color:#ffb4b0}.courseCard{text-align:left;cursor:pointer}.courseCardOpening{pointer-events:none;animation:courseOpen .38s cubic-bezier(.2,.8,.2,1) both}.rankUp{animation:rankUpFlash 1s ease both}.rankDown{animation:rankDownFlash 1s ease both}.profileHeatmap{grid-column:1 / -1}.heatmapGrid{display:grid;grid-template-columns:repeat(35,minmax(8px,1fr));gap:5px}.heatmapCell{aspect-ratio:1;border-radius:4px;background:var(--bg-tertiary);border:1px solid var(--border-muted);animation:heatCellIn .24s ease both}.heat-1{background:#39d35329}.heat-2{background:#39d35347}.heat-3{background:#35d4c861}.heat-4{background:#ffb86b7a}@keyframes runScan{0%{transform:translate(0)}to{transform:translate(420%)}}@keyframes savePop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}@keyframes verdictSweep{0%{transform:translate(-110%)}to{transform:translate(110%)}}@keyframes verdictNudge{0%{transform:translateY(0)}45%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes courseCardIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scoreFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes suggestPulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 3px #ffb86b29}}@keyframes checkPop{0%{transform:scale(.7)}70%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes activeTaskBreath{0%,to{box-shadow:0 0 #39d35314}50%{box-shadow:0 0 0 3px #39d3531f}}@keyframes runButtonPulse{0%,to{box-shadow:0 0 #35d4c829}50%{box-shadow:0 0 0 4px #35d4c838}}@keyframes taskCompleteFlash{0%{transform:translate(0) scale(1)}35%{transform:translate(4px) scale(1.015)}to{transform:translate(0) scale(1)}}@keyframes taskSweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes commandIn{0%{opacity:0;transform:translateY(-12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes commandItemIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes sideSheetIn{0%{opacity:0;transform:translate(18px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes fixCardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes courseOpen{0%{transform:translateY(-4px) scale(1)}55%{transform:translateY(-8px) scale(1.035)}to{transform:translateY(0) scale(1.08);opacity:0;filter:blur(6px)}}@keyframes rankUpFlash{0%{transform:translateY(8px);border-color:var(--accent)}45%{background:var(--accent-muted)}to{transform:translateY(0)}}@keyframes rankDownFlash{0%{transform:translateY(-8px);border-color:var(--accent-warm)}45%{background:#ffb86b14}to{transform:translateY(0)}}@keyframes heatCellIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media(max-width:1024px){.heroSection{grid-template-columns:1fr;gap:40px;padding:40px 24px}.heroTerminal{order:-1}.featureGrid,.studio{grid-template-columns:1fr}.rail{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border);max-height:300px}}@media(max-width:768px){.topbar{height:auto;flex-wrap:wrap;padding:12px 16px;gap:12px}.topnav{order:3;width:100%;justify-content:center}.topActions{flex-wrap:wrap}.briefHeader{flex-direction:column;align-items:flex-start}.briefActions{width:100%}.briefActions .softButton{flex:1}.adminTaskRow{grid-template-columns:1fr}.coursesHero,.profileHero,.leaderboardHero{align-items:flex-start;flex-direction:column}.profileGrid,.statsGrid,.adminResetRow{grid-template-columns:1fr}.scoreBadge{width:100%}.focusWorkspace{padding:0}.focusPanel{width:100vw;height:100vh;min-height:0}.focusHeader{align-items:flex-start;flex-direction:column}.focusActions{width:100%}.focusActionButton{flex:1}.focusEditorStack{grid-template-rows:minmax(230px,1fr) minmax(170px,34vh);padding:6px}.focusModalLayer{padding:12px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
