@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;--page-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%);--surface-glow: rgba(0, 0, 0, .18)}:root[data-theme=light]{--bg-primary: #f7faf8;--bg-secondary: #ffffff;--bg-tertiary: #eef4f1;--bg-elevated: #ffffff;--accent: #147a4b;--accent-dim: #0f6a41;--accent-muted: rgba(20, 122, 75, .1);--accent-cyan: #087ea4;--accent-warm: #c27803;--accent-pink: #c73d73;--text-primary: #18211d;--text-secondary: #52615a;--text-muted: #7b8983;--border: #d6e0dc;--border-muted: #e7eeeb;--error: #cf222e;--error-muted: rgba(207, 34, 46, .1);--warning: #996d00;--success: #147a4b;--shadow: rgba(30, 48, 40, .11);--page-background: radial-gradient(circle at 12% 8%, rgba(8, 126, 164, .12), transparent 27rem), radial-gradient(circle at 86% 18%, rgba(194, 120, 3, .12), transparent 25rem), linear-gradient(180deg, #fbfefd 0%, var(--bg-primary) 48%, #f0f7f3 100%);--surface-glow: rgba(30, 48, 40, .08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:var(--font-sans);background:var(--page-background);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}input:not([type]),input[type=text],input[type=password],input[type=search],input[type=number],textarea,select{border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-tertiary) 72%,var(--bg-secondary)),var(--bg-tertiary)),var(--bg-tertiary);color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s,background .2s,transform .2s}input:not([type]):focus,input[type=text]:focus,input[type=password]:focus,input[type=search]:focus,input[type=number]:focus,textarea:focus,select:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-cyan) 18%,transparent)}select{min-height:42px;padding:10px 42px 10px 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%),linear-gradient(180deg,color-mix(in srgb,var(--bg-tertiary) 72%,var(--bg-secondary)),var(--bg-tertiary));background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%,0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat}input[type=checkbox],input[type=radio]{width:18px;height:18px;flex:0 0 auto;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--border) 76%,var(--text-muted));background:var(--bg-secondary);box-shadow:inset 0 0 0 2px var(--bg-secondary);transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}input[type=checkbox]{border-radius:5px}input[type=radio]{border-radius:50%}input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px var(--bg-secondary),0 0 0 3px var(--accent-muted)}input[type=radio]:checked{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 42%,transparent 45% 100%),var(--bg-secondary);box-shadow:inset 0 0 0 3px var(--bg-secondary),0 0 0 3px var(--accent-muted)}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--accent-cyan);transform:translateY(-1px)}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}:root[data-theme=light] .themeButton:hover,:root[data-theme=light] .pill:hover{box-shadow:0 10px 24px var(--shadow)}.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:#0d1512;border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 20px 50px var(--shadow)}.terminalHeader{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#15211d;border-bottom:1px solid #26352f}.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:#8fa59a}.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:#e6edf3}.terminalLine.output{color:#a3afa9}.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{position:relative;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}.workspace:before{content:"";position:fixed;top:64px;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--border-muted) 48%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border-muted) 48%,transparent) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(90deg,transparent 0,black 22%,black 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,black 22%,black 78%,transparent 100%);opacity:.12;animation:studioGridDrift 24s linear infinite}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{position:relative;overflow:hidden;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}.brief:after{content:"";position:absolute;top:0;left:18px;right:18px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-cyan),transparent);opacity:.55}.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:focus-visible,.courseCardActionButton:focus-visible,.activityTask button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-cyan) 72%,white);outline-offset:3px}.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;animation:successPop .42s cubic-bezier(.2,.9,.2,1) both}.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:grid;gap:7px;margin-bottom:16px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.admin input,.admin textarea,.admin select{width:100%;padding:10px 12px;font-family:var(--font-mono);font-size:.875rem}.admin select{padding-right:42px}.admin input:focus,.admin textarea:focus,.admin select:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-cyan) 18%,transparent)}.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;width:fit-content;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);transition:border-color .18s,background .18s,transform .18s}.checkboxRow:hover{border-color:var(--accent-cyan);background:color-mix(in srgb,var(--bg-tertiary) 84%,var(--accent-cyan));transform:translateY(-1px)}.checkboxRow input{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:grid;gap:7px;margin-bottom:12px;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.replay select{width:100%;font-family:var(--font-mono)}.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,.courseDetailPage,.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) 88%,var(--accent-cyan)),var(--bg-secondary)),var(--bg-secondary);box-shadow:0 24px 70px var(--surface-glow)}.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)}.catalogBadge{min-width:160px;display:grid;place-items:center;gap:4px;padding:18px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent-cyan) 38%,var(--border));background:color-mix(in srgb,var(--accent-cyan) 8%,var(--bg-secondary));color:var(--accent-cyan)}.catalogBadge strong{font-family:var(--font-mono);font-size:2rem;color:var(--text-primary)}.catalogBadge small{color:var(--text-secondary)}.courseCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:1fr;gap:16px;align-items:stretch}.courseCatalogToolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,220px) minmax(160px,200px);gap:12px;margin-bottom:20px}.courseSearch,.courseFilter{min-height:46px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-muted);box-shadow:0 14px 34px var(--surface-glow)}.courseSearch input,.courseFilter select{width:100%;border:0;outline:0;background:transparent;color:var(--text-primary);box-shadow:none}.courseFilter select{min-height:44px;padding:0 34px 0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.courseCatalogStack{display:grid;gap:28px}.courseCatalogSection{display:grid;gap:14px}.courseSectionHeader{display:flex;align-items:end;justify-content:space-between;gap:16px}.courseSectionHeader h2{margin:4px 0 0;font-size:1.35rem}.courseSectionHeader>span{color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem}.courseCard{position:relative;overflow:hidden;min-height:310px;height:100%;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) 92%,var(--accent-cyan)),var(--bg-secondary) 54%),var(--bg-secondary);box-shadow:0 18px 54px var(--surface-glow);animation:courseCardIn .45s ease both;transition:transform .22s,border-color .22s,box-shadow .22s;color:var(--text-primary)}.courseCard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0 28%,rgba(255,255,255,.12) 46%,transparent 62% 100%);transform:translate(-120%);transition:transform .55s ease;pointer-events:none}.courseCard:after{content:"";position:absolute;inset:auto 18px 0 18px;height:3px;border-radius:8px 8px 0 0;background:linear-gradient(90deg,var(--accent),var(--accent-cyan),var(--accent-warm));transform:scaleX(0);transform-origin:left;transition:transform .28s ease}.courseCard:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent-cyan) 55%,var(--border));box-shadow:0 26px 80px var(--surface-glow)}.courseCard:hover:before{transform:translate(120%)}.courseCard:hover:after{transform:scaleX(1)}.courseCardLocked{background:linear-gradient(150deg,color-mix(in srgb,var(--bg-secondary) 94%,var(--accent-warm)),var(--bg-secondary) 58%),var(--bg-secondary)}.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}.courseProgressMini{position:relative;height:30px;display:flex;align-items:center;overflow:hidden;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-tertiary)}.courseProgressMini>span{position:absolute;inset:0 auto 0 0;min-width:8px;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-cyan));background-size:180% 100%;animation:meterFlow 4s ease-in-out infinite}.courseProgressMini small{position:relative;z-index:1;padding:0 10px;color:var(--text-primary);font-weight:800}.courseCardAction{justify-content:flex-start;color:var(--accent);font-weight:700}.courseTags{min-height:28px;display:flex;flex-wrap:wrap;gap:7px}.courseTags span,.courseDetailTags span,.activityChips span{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.78rem}.courseCardActions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.courseCardActions a{color:var(--text-muted);font-weight:700;font-size:.9rem}.courseCardActionButton{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--accent);font-weight:800}.coursesEmpty{min-height:220px;display:grid;place-items:center;gap:10px;border:1px dashed var(--border);border-radius:8px;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-secondary) 74%,transparent)}.courseBackLink{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--text-secondary);font-weight:700}.courseBackLink:hover{color:var(--text-primary)}.courseDetailHero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px;margin-bottom:18px}.courseDetailIntro,.courseAccessPanel,.courseDetailSection,.courseDetailAside section{border:1px solid var(--border);border-radius:8px;background:linear-gradient(150deg,color-mix(in srgb,var(--bg-secondary) 93%,var(--accent-cyan)),var(--bg-secondary)),var(--bg-secondary);box-shadow:0 20px 54px var(--surface-glow)}.courseDetailIntro{padding:28px}.courseDetailIntro h1{max-width:760px;margin:0 0 12px;font-size:clamp(2rem,5vw,4rem);line-height:1.02}.courseDetailIntro p{max-width:720px;margin:0;color:var(--text-secondary);line-height:1.65}.courseDetailTags,.activityChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.courseAccessPanel{display:flex;flex-direction:column;gap:12px;padding:22px}.courseAccessIcon{width:54px;height:54px;display:grid;place-items:center;border-radius:8px;color:#07100d}.courseAccessPanel strong{font-size:1.3rem}.courseAccessPanel p,.courseDetailAside p,.courseProgramModule p{margin:0;color:var(--text-secondary);line-height:1.55}.courseAccessPanel .primaryButton{justify-content:center;margin-top:auto}.courseDetailStats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.courseDetailStats div{min-height:98px;display:grid;align-content:center;gap:5px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.courseDetailStats svg{color:var(--accent)}.courseDetailStats strong{font-family:var(--font-mono);font-size:1.7rem}.courseDetailStats span{color:var(--text-secondary)}.courseDetailGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px}.courseDetailMain{display:grid;gap:18px}.courseDetailSection,.courseDetailAside section{padding:22px}.courseDetailSection h2,.courseDetailAside h2{margin:4px 0 0;font-size:1.35rem;line-height:1.25}.courseProgram{display:grid;gap:12px;margin-top:16px}.courseProgramModule{display:grid;gap:12px;padding:16px;border:1px solid var(--border-muted);border-radius:8px;background:color-mix(in srgb,var(--bg-tertiary) 58%,var(--bg-secondary))}.courseProgramModule h3{margin:0 0 5px}.courseProgramModule ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.courseProgramModule li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-secondary)}.courseProgramModule li svg{color:var(--accent)}.courseProgramModule li small{color:var(--text-muted)}.activityTask{position:relative;overflow:hidden;display:grid;gap:16px;padding:20px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(150deg,color-mix(in srgb,var(--bg-secondary) 94%,var(--accent-warm)),var(--bg-secondary)),var(--bg-secondary);box-shadow:0 20px 54px var(--surface-glow);animation:panelIn .35s ease both}.activityTask:before{content:"";position:absolute;width:180px;height:180px;right:-90px;top:-90px;border-radius:50%;background:color-mix(in srgb,var(--accent-cyan) 18%,transparent);filter:blur(4px);opacity:.8;pointer-events:none}.activityHeader,.activityFooter{display:flex;align-items:center;justify-content:space-between;gap:14px}.activityHeader h2{margin:4px 0 0;font-size:1.35rem}.activityDone{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;background:var(--accent-muted);color:var(--accent);font-weight:800}.activityDescription{padding:14px;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-secondary)}.activityOptions,.activityStack,.activityBlanks,.activityOrder{display:grid;gap:10px}.activityOptions label{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:13px;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);transition:transform .18s ease,border-color .18s ease,background .18s ease;cursor:pointer}.activityOptions label:hover{border-color:color-mix(in srgb,var(--accent-cyan) 58%,var(--border));background:color-mix(in srgb,var(--bg-secondary) 84%,var(--accent-cyan));transform:translate(3px)}.activityOptions label:has(input:checked){border-color:var(--accent);background:var(--accent-muted)}.activityOptions input{margin:0}.activityStack textarea,.activityBlanks input{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);outline:none}.activityStack textarea{min-height:120px;padding:12px;resize:vertical}.activityBlanks{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.activityBlanks label{display:grid;gap:6px;color:var(--text-secondary)}.activityBlanks input{min-height:42px;padding:0 11px}.activityCode{margin:0;padding:14px;overflow-x:auto;border:1px solid #26352f;border-radius:8px;background:#0d1512;color:#e6edf3;font-family:var(--font-mono);line-height:1.6}.activityOrder article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-muted);border-radius:8px;background:var(--bg-secondary);animation:activityLineIn .24s ease both}.activityOrder code{font-family:var(--font-mono);color:var(--text-primary)}.activityOrder article div{display:flex;gap:6px}.activityOrder button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary)}.activityFlashcard{display:grid;gap:12px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:8px;background:var(--accent-muted)}.activityFlashcard svg{color:var(--accent)}.activityFlashcard p{margin:0;color:var(--text-primary);line-height:1.6}.activityFlashcard small{color:var(--text-secondary);line-height:1.5}.activityFooter{justify-content:flex-start}.activityFooter span{color:var(--text-secondary);font-weight:700}.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;overflow:visible}.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)}.scoreBurst{position:absolute;inset:50% auto auto 50%;width:1px;height:1px;pointer-events:none}.scoreBurst i{position:absolute;width:7px;height:7px;border-radius:2px;background:var(--accent);transform:rotate(var(--r, 0deg));animation:scoreParticle .78s ease-out both}.scoreBurst i:nth-child(1){--x: -56px;--y: -34px;--r: 12deg}.scoreBurst i:nth-child(2){--x: -34px;--y: -58px;--r: 42deg;background:var(--accent-cyan)}.scoreBurst i:nth-child(3){--x: 8px;--y: -62px;--r: 75deg}.scoreBurst i:nth-child(4){--x: 44px;--y: -42px;--r: 108deg;background:var(--accent-warm)}.scoreBurst i:nth-child(5){--x: 58px;--y: -5px;--r: 132deg}.scoreBurst i:nth-child(6){--x: 40px;--y: 36px;--r: 164deg;background:var(--accent-cyan)}.scoreBurst i:nth-child(7){--x: -2px;--y: 48px;--r: 192deg}.scoreBurst i:nth-child(8){--x: -42px;--y: 30px;--r: 228deg;background:var(--accent-warm)}.scoreBurst i:nth-child(9){--x: -62px;--y: 0;--r: 260deg}.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 scoreParticle{0%{opacity:0;transform:translate(0) scale(.4) rotate(var(--r))}18%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1) rotate(calc(var(--r) + 120deg))}}@keyframes successPop{0%{transform:scale(.985)}58%{transform:scale(1.01)}to{transform:scale(1)}}@keyframes studioGridDrift{0%{background-position:0 0,0 0}to{background-position:42px 42px,42px 42px}}@keyframes activityLineIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@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}.courseCatalogToolbar,.courseDetailHero,.courseDetailStats,.courseDetailGrid{grid-template-columns:1fr}.courseSectionHeader,.courseCardActions{align-items:flex-start;flex-direction:column}.courseProgramModule li{grid-template-columns:18px minmax(0,1fr)}.courseProgramModule li small{grid-column:2}.activityHeader,.activityFooter,.activityOrder article{align-items:flex-start;grid-template-columns:1fr;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}}
