.kg-panel{margin-top:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.kg-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.kg-title{display:flex;align-items:center;gap:12px;min-width:0}.kg-spark{width:30px;height:30px;border-radius:9px;flex:none;background:radial-gradient(circle at 32% 28%,var(--brand-secondary),var(--primary));box-shadow:0 0 16px color-mix(in srgb,var(--primary) 50%,transparent)}.kg-title h3{margin:0;font-size:16px}.kg-sub{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.kg-actions{display:flex;align-items:center;gap:12px}.kg-loading{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--primary)}.kg-dot-spin{width:12px;height:12px;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 30%,transparent);border-top-color:var(--primary);animation:kg-spin .8s linear infinite}@keyframes kg-spin{to{transform:rotate(360deg)}}.kg-fit{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:9px;padding:8px 12px;font-size:13px;cursor:pointer;transition:filter .15s ease,border-color .15s ease}.kg-fit:hover:not(:disabled){border-color:var(--primary);filter:brightness(1.1)}.kg-fit:disabled{opacity:.5;cursor:not-allowed}.kg-fit svg{width:15px;height:15px}.kg-stage{position:relative;height:440px;background:radial-gradient(900px 500px at 70% -10%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 60%),radial-gradient(700px 420px at 0% 110%,color-mix(in srgb,var(--primary) 6%,transparent),transparent 55%),var(--bg);overflow:hidden}@media(max-width:640px){.kg-stage{height:360px}}.kg-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;cursor:grab}.kg-canvas.kg-pointer{cursor:pointer}.kg-canvas.kg-grab{cursor:grabbing}.kg-tip{position:absolute;z-index:6;pointer-events:none;display:none;max-width:260px;background:var(--surface-translucent);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:10px;padding:9px 11px;box-shadow:0 16px 50px var(--shadow-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.kg-tip.show{display:block}.kg-tip-t{font-size:13px;font-weight:650;color:var(--text)}.kg-tip-m{display:flex;gap:8px;margin-top:5px}.kg-tip-pill{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--muted);border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:3px 7px}.kg-d{width:7px;height:7px;border-radius:50%;flex:none}.kg-tip-s{margin-top:7px;font-size:12px;line-height:1.45;color:var(--text-secondary)}.kg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:24px;z-index:4;pointer-events:none}.kg-muted{color:var(--muted);font-size:14px;max-width:42ch;line-height:1.55}.kg-err{color:var(--danger);font-size:14px;max-width:42ch}.kg-legend{position:absolute;left:16px;bottom:14px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;max-width:calc(100% - 32px);padding:9px 14px;background:var(--surface-translucent);border:1px solid color-mix(in srgb,var(--primary) 14%,transparent);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.kg-leg{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text);cursor:pointer;padding:3px 9px;border-radius:999px;transition:.15s;-webkit-user-select:none;user-select:none}.kg-leg:hover{background:var(--surface-hover)}.kg-leg.on{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.kg-legend.filtered .kg-leg:not(.on){opacity:.45}.kg-leg i{width:11px;height:11px;border-radius:50%;flex:none}.ai-conversation{position:relative;flex:1;min-height:0;overflow-y:hidden}.ai-conversation-content{display:flex;flex-direction:column;gap:1.25rem;padding:1rem}.ai-conversation-empty{display:grid;min-height:100%;place-items:center;padding:2rem;text-align:center}.ai-conversation-empty-copy{display:grid;gap:.25rem;color:var(--muted, #8c8c8c)}.ai-conversation-empty-copy strong{color:var(--text, inherit)}.ai-conversation-scroll{position:absolute;bottom:1rem;left:50%;z-index:2;transform:translate(-50%);box-shadow:var(--shadow-control, 0 4px 14px rgb(0 0 0 / 16%))}.ai-loader{display:inline-grid;place-items:center}.ai-message{display:flex;width:100%;max-width:95%;flex-direction:column;gap:.5rem}.ai-message.is-user{align-self:flex-end;margin-left:auto}.ai-message-content{display:flex;width:fit-content;max-width:100%;min-width:0;flex-direction:column;gap:.5rem;overflow:hidden;color:var(--text, inherit);font-size:.875rem}.ai-message.is-user .ai-message-content{margin-left:auto;border-radius:var(--radius-md, 8px);background:var(--surface-2, rgb(127 127 127 / 12%));padding:.75rem 1rem}.ai-message-actions,.ai-message-attachments,.ai-message-toolbar{display:flex;align-items:center;gap:.5rem}.ai-message-attachments{width:fit-content;flex-wrap:wrap;align-items:flex-start;margin-left:auto}.ai-message-toolbar{width:100%;justify-content:space-between;margin-top:1rem}.ai-message-branch,.ai-message-branch-content{display:grid;width:100%;gap:.5rem}.ai-message-branch-page{align-content:center;color:var(--muted, #8c8c8c);font-size:.75rem;padding-inline:.5rem}.ai-message-response{width:100%}.ai-message-response>:first-child{margin-top:0}.ai-message-response>:last-child{margin-bottom:0}.ai-message-attachment{position:relative;display:grid;width:6rem;height:6rem;place-items:center;overflow:hidden;border-radius:.625rem;background:var(--surface-2, rgb(127 127 127 / 12%));color:var(--muted, #8c8c8c)}.ai-message-attachment img{width:100%;height:100%;object-fit:cover}.ai-message-attachment-remove{position:absolute;top:.375rem;right:.375rem}.ai-tool{width:100%;margin-bottom:1rem;border:1px solid var(--border, rgb(127 127 127 / 24%));border-radius:var(--radius-md, 8px);background:var(--surface, transparent)}.ai-tool .ant-collapse-header{align-items:center!important;min-height:44px}.ai-tool-header{display:flex;min-width:0;align-items:center;gap:.5rem}.ai-tool-header>svg{width:1rem;height:1rem;flex:0 0 auto;color:var(--muted, #8c8c8c)}.ai-tool-title{min-width:0;overflow:hidden;font-size:.8125rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ai-tool-status{display:inline-flex;align-items:center;gap:.25rem;margin-inline-end:0}.ai-tool-status svg{width:.875rem;height:.875rem}.ai-tool-content{border-top:1px solid var(--border, rgb(127 127 127 / 18%))}.ai-tool-section{display:grid;gap:.5rem;padding:.75rem;overflow:hidden}.ai-tool-section h4{margin:0;color:var(--muted, #8c8c8c);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.ai-tool-output{overflow-x:auto;border-radius:.5rem;background:var(--surface-2, rgb(127 127 127 / 10%));font-size:.75rem}.ai-tool-output.is-error{background:var(--danger-soft, rgb(255 77 79 / 12%));color:var(--danger, #ff4d4f)}.ai-code-block{position:relative;width:100%;overflow:hidden;border:1px solid var(--border, rgb(127 127 127 / 22%));border-radius:.5rem;background:var(--surface, transparent);color:var(--text, inherit)}.ai-code-frame{position:relative}.ai-code-light,.ai-code-dark{overflow:auto}.ai-code-dark{display:none}:root[data-theme=dark] .ai-code-light,:root.dark .ai-code-light,.ide-root .ai-code-light{display:none}:root[data-theme=dark] .ai-code-dark,:root.dark .ai-code-dark,.ide-root .ai-code-dark{display:block}.ai-code-light pre,.ai-code-dark pre{margin:0!important;padding:1rem!important;background:transparent!important;color:inherit!important;font-size:.8125rem}.ai-code-light code,.ai-code-dark code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem}.ai-code-line-number{display:inline-block;min-width:2.5rem;margin-right:1rem;color:var(--muted, #8c8c8c);text-align:right;-webkit-user-select:none;user-select:none}.ai-code-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.5rem}.ai-prompt-input{width:100%}.ai-prompt-input-group{position:relative;display:flex;width:100%;min-height:48px;align-items:flex-end;gap:.375rem;overflow:visible;border:1px solid var(--input-border, var(--border, #d9d9d9));border-radius:var(--radius-lg, 12px);background:var(--input-bg, var(--surface, #fff));padding:.375rem;transition:border-color var(--motion-base, .18s),box-shadow var(--motion-base, .18s)}.ai-prompt-input-group:focus-within{border-color:var(--primary, #7048e8);box-shadow:0 0 0 3px var(--focus-ring, rgb(112 72 232 / 18%))}.ai-prompt-textarea.ant-input{flex:1 1 0;min-width:0;min-height:36px;resize:none;background:transparent;color:var(--text, inherit);box-shadow:none}.ai-prompt-submit{flex:0 0 auto;min-width:36px;min-height:36px}.ai-prompt-submit-spinner{animation:ai-prompt-spin .9s linear infinite}@keyframes ai-prompt-spin{to{transform:rotate(360deg)}}.ai-prompt-body{display:flex;align-items:center;gap:.375rem}@media(prefers-reduced-motion:reduce){.ai-conversation-scroll,.ai-prompt-input-group{transition:none}}@keyframes sd-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sd-blurIn{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}@keyframes sd-slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-sd-animate]{animation:var(--sd-animation, sd-fadeIn) var(--sd-duration, .15s) var(--sd-easing, ease) var(--sd-delay, 0ms) both}.ide-root{--ide-bg: #0d1117;--ide-panel: #11161d;--ide-panel-2: #161c25;--ide-border: #232b36;--ide-text: #c9d1d9;--ide-muted: #7d8694;--ide-accent: #4f9cf9;--ide-accent-2: #2dd4bf;--ide-danger: #f87171;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--ide-bg);color:var(--ide-text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.ide-root .material-symbols-outlined{font-size:18px;line-height:1;vertical-align:middle}.ide-root ::-webkit-scrollbar{width:8px;height:8px}.ide-root ::-webkit-scrollbar-track{background:transparent}.ide-root ::-webkit-scrollbar-thumb{background:var(--ide-border);border-radius:4px}.ide-root ::-webkit-scrollbar-thumb:hover{background:var(--ide-muted)}.ide-root ::-webkit-scrollbar-corner{background:transparent}.ide-root *{scrollbar-width:thin;scrollbar-color:var(--ide-border) transparent}.ide-topbar{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;background:var(--ide-panel);border-bottom:1px solid var(--ide-border);flex:0 0 auto}.ide-topbar>.language-switcher-compact{margin-left:auto}.ide-back,.ide-btn.ghost{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;color:var(--ide-muted);background:transparent;border:none;cursor:pointer;text-decoration:none}.ide-back:hover,.ide-btn.ghost:hover{background:var(--ide-panel-2);color:var(--ide-text)}.ide-logo{color:var(--ide-accent-2)}.ide-title{font-weight:600;letter-spacing:.2px}.ide-topbar .ide-btn.ghost{margin-left:auto}.ide-body{flex:1 1 auto;display:flex;min-height:0;min-width:0}.ide-sidebar,.ide-aside{flex:0 0 auto;background:var(--ide-panel);min-height:0;overflow:hidden;display:flex;flex-direction:column}.ide-main{flex:1 1 0;min-width:0;min-height:0;display:flex;background:var(--ide-bg)}.ide-gutter{flex:0 0 1px;position:relative;z-index:10;background:var(--ide-border);cursor:col-resize;transition:background .15s}.ide-gutter:before{content:"";position:absolute;top:0;right:-3px;bottom:0;left:-3px}.ide-gutter:hover,.ide-gutter.dragging{background:var(--ide-accent)}.ide-sidebar-head{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--ide-muted);border-bottom:1px solid var(--ide-border)}.ide-tree{overflow:auto;padding:6px 0;flex:1 1 auto}.ide-tree-empty{padding:14px;color:var(--ide-muted);font-size:13px}.ide-tree-empty.err{color:var(--ide-danger)}.ide-tree-row{display:flex;align-items:center;gap:4px;width:100%;padding:3px 10px 3px 8px;background:transparent;border:none;color:var(--ide-text);cursor:pointer;text-align:left;font-size:13px}.ide-tree-row:hover{background:var(--ide-panel-2)}.ide-tree-file.active{background:#4f9cf929;color:#fff}.ide-tree-ico{font-size:16px!important;color:var(--ide-muted);flex:0 0 auto}.ide-tree-dir .ide-tree-ico{color:#d7a85a}.ide-tree-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-editor{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}.ide-editor-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ide-muted)}.ide-editor-empty .material-symbols-outlined{font-size:40px;opacity:.5}.ide-editor-bar{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--ide-panel);border-bottom:1px solid var(--ide-border);flex:0 0 auto}.ide-editor-path{font-size:12px;color:var(--ide-muted);display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-dot{width:8px;height:8px;border-radius:50%;background:var(--ide-accent)}.ide-editor-badge{font-size:11px;color:var(--ide-muted);border:1px solid var(--ide-border);border-radius:6px;padding:1px 6px}.ide-editor-err{padding:6px 12px;color:var(--ide-danger);font-size:12px;background:#f8717114}.ide-editor-stale{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--ide-text);background:#d7a85a1f;border-bottom:1px solid var(--ide-border)}.ide-editor-stale>.material-symbols-outlined{font-size:16px;color:#d7a85a}.ide-editor-stale .ide-btn{margin-left:auto;padding:3px 10px}.ide-editor-monaco{flex:1 1 auto;min-height:0}.ide-md-wrap{flex:1 1 auto;min-height:0;overflow:auto;padding:24px 28px;display:flex;justify-content:center}.ide-md{width:100%;max-width:820px;min-width:0;color:var(--ide-text);line-height:1.65;font-size:14px;word-break:break-word}.ide-md>:first-child{margin-top:0}.ide-md>:last-child{margin-bottom:0}.ide-md h1,.ide-md h2,.ide-md h3,.ide-md h4{line-height:1.3;margin:1.4em 0 .6em;color:#fff}.ide-md h1{font-size:1.7em}.ide-md h2{font-size:1.35em;padding-bottom:.3em;border-bottom:1px solid var(--ide-border)}.ide-md h3{font-size:1.15em}.ide-md p{margin:.7em 0}.ide-md a{color:var(--ide-accent);text-decoration:none}.ide-md a:hover{text-decoration:underline}.ide-md ul,.ide-md ol{margin:.7em 0;padding-left:1.6em}.ide-md li{margin:.25em 0}.ide-md li::marker{color:var(--ide-muted)}.ide-md blockquote{margin:.9em 0;padding:2px 14px;border-left:3px solid var(--ide-border);color:var(--ide-muted)}.ide-md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--ide-panel-2);border:1px solid var(--ide-border);border-radius:5px;padding:.1em .4em}.ide-md pre{margin:.9em 0;padding:12px 14px;background:var(--ide-panel);border:1px solid var(--ide-border);border-radius:8px;overflow:auto}.ide-md pre code{background:none;border:none;padding:0;font-size:.85em}.ide-md table{border-collapse:collapse;margin:.9em 0;width:100%;font-size:.92em}.ide-md th,.ide-md td{border:1px solid var(--ide-border);padding:6px 10px;text-align:left}.ide-md th{background:var(--ide-panel-2)}.ide-md table{table-layout:fixed}.ide-md th{white-space:normal}.ide-md hr{border:none;border-top:1px solid var(--ide-border);margin:1.4em 0}.ide-md img{max-width:100%;border-radius:8px}.ide-md input[type=checkbox]{margin-right:6px}.ide-editor-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.ide-act{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ide-muted);cursor:pointer}.ide-act:hover{background:var(--ide-panel-2);color:var(--ide-text)}.ide-act.on{color:var(--ide-accent);background:#4f9cf91f;border-color:#4f9cf966}.ide-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;border-radius:8px;border:1px solid var(--ide-border);background:var(--ide-panel-2);color:var(--ide-text);cursor:pointer}.ide-btn:hover:not(:disabled){border-color:var(--ide-accent)}.ide-btn:disabled{opacity:.45;cursor:default}.ide-chat{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.ide-chat-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--ide-border);font-weight:600;color:var(--ide-accent-2);flex:0 0 auto}.ide-chat-toggle{margin-left:auto;width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:var(--ide-muted);cursor:pointer}.ide-chat-toggle.on{color:var(--ide-accent-2);background:#2dd4bf1f}.ide-chat-log{flex:1 1 auto;min-height:0}.ide-msg-md{white-space:normal}.ide-msg-md .ide-md{font-size:13px}.ide-chat-err{color:var(--ide-danger);font-size:12px}.ide-diff{border:1px solid var(--ide-border);border-radius:8px;overflow:hidden;background:var(--ide-panel-2)}.ide-diff-head{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:transparent;border:none;color:var(--ide-text);cursor:pointer;font-size:12px}.ide-diff-head .material-symbols-outlined{font-size:15px}.ide-diff.kind-create .ide-diff-head{color:var(--ide-accent-2)}.ide-diff.kind-delete .ide-diff-head{color:var(--ide-danger)}.ide-diff-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-diff-kind{color:var(--ide-muted);font-size:11px}.ide-diff-chev{margin-left:auto;color:var(--ide-muted)}.ide-diff-body{border-top:1px solid var(--ide-border)}.ide-typing{display:inline-flex;gap:4px;padding:10px 12px;background:var(--ide-panel-2);border-radius:12px;width:fit-content}.ide-typing span{width:6px;height:6px;border-radius:50%;background:var(--ide-muted);animation:ide-blink 1.2s infinite both}.ide-typing span:nth-child(2){animation-delay:.2s}.ide-typing span:nth-child(3){animation-delay:.4s}.ide-transcribing{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:var(--ide-panel-2);border-radius:12px;width:fit-content;color:var(--ide-warn, #f5b656);font-size:13px}.ide-transcribing .material-symbols-outlined{font-size:16px}@keyframes ide-spin{to{transform:rotate(360deg)}}@keyframes ide-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.ide-chat-input{display:flex;align-items:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--ide-border);flex:0 0 auto}.ide-chat-input [data-slot=input-group]{align-items:flex-end;gap:6px;padding:5px 5px 5px 14px;min-height:50px;border:1px solid var(--ide-border);border-radius:14px;background:var(--ide-bg)!important;box-shadow:none;transition:border-color .16s ease-out,box-shadow .16s ease-out}.ide-chat-input:hover:not(:focus-within) [data-slot=input-group]{border-color:color-mix(in srgb,var(--ide-accent) 32%,var(--ide-border))}.ide-chat-input:focus-within [data-slot=input-group]{border-color:var(--ide-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ide-accent) 22%,transparent)!important}.ide-chat-input textarea{flex:1 1 auto;resize:none;background:transparent;border:0;border-radius:0;color:var(--ide-text);padding:9px 0;font:inherit;font-size:14px;line-height:1.5;min-height:22px;max-height:160px;scrollbar-width:thin;scrollbar-color:var(--ide-border) transparent}.ide-chat-input textarea:focus,.ide-chat-input textarea:focus-visible{outline:none;border:0;box-shadow:none}.ide-chat-input textarea::placeholder{color:var(--ide-muted)}.ide-chat-input button[type=submit]{flex:0 0 auto;width:40px;height:40px;padding:0;border:0;border-radius:11px;background:var(--ide-accent);color:#0d1117;cursor:pointer;touch-action:manipulation;transition:filter .16s ease-out,transform .12s ease-out,opacity .16s ease-out}.ide-chat-input button[type=submit] svg{width:18px;height:18px}.ide-chat-input button[type=submit]:hover:not(:disabled){filter:brightness(1.08)}.ide-chat-input button[type=submit]:active:not(:disabled){transform:scale(.94)}.ide-chat-input button[type=submit]:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ide-accent) 38%,transparent)}.ide-chat-input button[type=submit]:disabled{opacity:.45;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.ide-chat-input [data-slot=input-group],.ide-chat-input button[type=submit]{transition:none}}.ide-voice{--ide-border: #232b36;--ide-muted: #7d8694;--ide-accent: #4f9cf9;--ide-accent-2: #2dd4bf;--ide-danger: #f87171;position:fixed;z-index:1000;width:92px;height:92px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0d11178c;border:1px solid var(--ide-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #0006;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ide-voice:active{cursor:grabbing}.ide-voice.rec{border-color:var(--ide-danger);animation:ide-pulse 1.2s infinite}.ide-orb{position:relative;width:60px;height:60px;display:grid;place-items:center;pointer-events:none;--orb: var(--ide-accent)}.ide-orb.is-listening{--orb: var(--ide-accent-2)}.ide-orb.is-transcribing{--orb: #f5b656}.ide-orb.is-thinking{--orb: #b794ff}.ide-voice.rec .ide-orb{--orb: var(--ide-danger)}.ide-orb.is-transcribing .ide-orb-glyph{animation:ide-spin .9s linear infinite}.ide-orb-core{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,#fff 0%,var(--orb) 60%);box-shadow:inset 0 0 0 1px #ffffff40,0 0 20px 3px var(--orb),0 0 42px 6px var(--orb);animation:orb-breathe 3s ease-in-out infinite}.ide-orb-glyph{font-size:20px!important;color:#fff;opacity:.95;pointer-events:none}.ide-orb-ring{position:absolute;width:42px;height:42px;border-radius:50%;border:2px solid var(--orb);opacity:0;pointer-events:none}.ide-orb.is-listening .ide-orb-ring,.ide-orb.is-speaking .ide-orb-ring,.ide-orb.is-transcribing .ide-orb-ring,.ide-orb.is-thinking .ide-orb-ring{animation:orb-sonar 1.8s ease-out infinite}.ide-orb-ring.ring2{animation-delay:.9s}@keyframes orb-sonar{0%{transform:scale(1);opacity:.5}to{transform:scale(2.3);opacity:0}}@keyframes ide-pulse{0%,to{box-shadow:0 0 #f8717180}50%{box-shadow:0 0 0 8px #f8717100}}.learn-theme-scope{--ide-bg: var(--bg);--ide-panel: var(--surface);--ide-panel-2: var(--surface-2);--ide-border: var(--hairline);--ide-text: var(--text);--ide-muted: var(--muted);--ide-accent: var(--primary);--ide-accent-2: var(--primary);--ide-danger: var(--danger);--ide-warn: var(--warn)}.learn-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--ide-bg);color:var(--ide-text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.learn-root .material-symbols-outlined{font-size:18px;line-height:1;vertical-align:middle}.learn-root ::-webkit-scrollbar{width:8px;height:8px}.learn-root ::-webkit-scrollbar-thumb{background:var(--ide-border);border-radius:4px}.learn-root ::-webkit-scrollbar-thumb:hover{background:var(--ide-muted)}.learn-root *{scrollbar-width:thin;scrollbar-color:var(--ide-border) transparent}.learn-topbar{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;background:var(--ide-panel);border-bottom:1px solid var(--ide-border);flex:0 0 auto}.learn-topbar>.language-switcher-compact{margin-left:auto}.learn-logo{color:var(--ide-accent-2)}.learn-brand{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:15px;color:var(--ide-text)}.learn-brand .eken-mark{color:var(--ide-accent);text-shadow:0 0 12px color-mix(in srgb,var(--primary) 80%,transparent)}.learn-pill{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:5px 13px;border-radius:999px;border:1px solid var(--ide-border);background:var(--surface-translucent);font-size:12px;color:var(--ide-muted)}.learn-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--ide-accent);box-shadow:0 0 8px var(--ide-accent);animation:eken-pulse 1.6s ease-in-out infinite}.learn-mentor-head{gap:10px}.learn-mentor-orb{width:40px;height:40px;border-radius:50%;flex:none;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--primary) 30%,transparent);transition:box-shadow .3s,border-color .3s}.learn-mentor-orb img{display:block;width:100%;height:100%;object-fit:cover}.learn-mentor-orb.speaking{box-shadow:0 0 20px color-mix(in srgb,var(--primary) 70%,transparent);animation:eken-pulse 1.4s ease-in-out infinite}.learn-mentor-orb.listening{border-color:color-mix(in srgb,var(--danger) 60%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--danger) 45%,transparent)}.learn-mentor-meta{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.learn-mentor-meta b{color:var(--ide-accent);font-weight:600}.learn-mentor-status{font-style:normal;font-size:12px;color:var(--ide-muted)}.learn-composer{align-items:center}.learn-mic-btn{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;border:1.5px solid color-mix(in srgb,var(--primary) 55%,transparent);background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--ide-accent);transition:.2s;margin:0 0 4px 6px}.learn-mic-btn:hover{background:color-mix(in srgb,var(--primary) 16%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--primary) 35%,transparent)}.learn-mic-btn.rec{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);animation:eken-pulse 1.2s ease-in-out infinite}.learn-mic-btn.busy .material-symbols-outlined{animation:orb-spin .9s linear infinite}.learn-composer [data-slot=input-group]{flex-wrap:wrap;overflow:visible}.learn-composer [data-slot=input-group]>textarea{flex:1 1 0%;width:auto;min-width:0}.learn-attach-row{width:100%;display:flex;flex-wrap:wrap;gap:6px;padding:8px 8px 2px}.learn-attach-chip{display:inline-flex;align-items:center;gap:6px;max-width:260px;padding:4px 6px 4px 10px;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--ide-text);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-attach-chip>.material-symbols-outlined{font-size:15px;color:var(--ide-accent);flex:none}.learn-attach-chip button{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ide-muted);cursor:pointer}.learn-attach-chip button:hover{color:var(--ide-text);background:var(--surface-hover)}.learn-attach-chip button .material-symbols-outlined{font-size:14px}.learn-mention-pop{position:absolute;bottom:calc(100% + 8px);left:-1px;right:-1px;z-index:30;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;padding:4px;border:1px solid var(--ide-border);border-radius:10px;background:var(--ide-panel);box-shadow:0 16px 40px var(--shadow-color)}.learn-mention-empty{padding:10px 12px;color:var(--ide-muted);font-size:13px;line-height:1.45}.learn-mention-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--ide-text);font-size:13px;text-align:left;cursor:pointer}.learn-mention-item.on{background:color-mix(in srgb,var(--primary) 12%,transparent)}.learn-mention-item .material-symbols-outlined{font-size:16px;color:var(--ide-accent);flex:none}.learn-mention-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-mention-kind{flex:none;font-style:normal;font-size:11px;color:var(--ide-muted)}.learn-msg-chip{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;margin:1px 2px;padding:2px 9px;border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:inherit;font-size:12.5px;line-height:1.4}.learn-msg-chip .material-symbols-outlined{font-size:14px;color:var(--ide-accent)}button.learn-msg-chip{cursor:pointer}button.learn-msg-chip:hover{background:color-mix(in srgb,var(--primary) 20%,transparent)}.learn-remind-btn{flex:none;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--ide-accent);font-size:12.5px;cursor:pointer;transition:.2s}.learn-remind-btn:hover{background:color-mix(in srgb,var(--primary) 18%,transparent)}.learn-remind-btn .material-symbols-outlined{font-size:16px}.lc-progress{display:flex;gap:4px;padding:4px 14px 10px}.lc-seg{height:3px;flex:1;border-radius:2px;background:color-mix(in srgb,var(--primary) 16%,transparent);transition:background .3s,box-shadow .3s}.lc-seg.completed{background:var(--ide-accent);opacity:.8}.lc-seg.viewed{background:color-mix(in srgb,var(--primary) 45%,transparent)}.lc-seg.active{background:var(--ide-accent);box-shadow:0 0 8px color-mix(in srgb,var(--primary) 80%,transparent)}.lc-toc-item.completed{opacity:.9}.lc-toc-item.completed .lc-toc-n{color:var(--ide-accent)}.lc-toc-item.completed .lc-toc-n .material-symbols-outlined{font-size:15px}.lc-toc-item.not_started{opacity:.55}.lc-toc-title small{display:block;margin-top:2px;color:var(--ide-muted);font-size:10px;font-weight:500}.lc-stage-col{display:flex;flex-direction:column;width:100%;max-width:780px;min-width:0}.learn-minikg{position:relative;height:158px;flex:none;border-bottom:1px solid var(--ide-border);background:var(--bg)}.learn-minikg .kg-panel--compact{height:100%;display:flex;flex-direction:column;margin-top:0;border:none;border-radius:0;background:transparent}.learn-minikg .kg-panel--compact .kg-stage{flex:1;height:auto;min-height:0;background:transparent}.learn-minikg-label{position:absolute;left:12px;bottom:8px;z-index:3;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--ide-muted);pointer-events:none}.learn-msg-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;align-self:flex-start;margin-top:2px;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);box-shadow:0 0 6px color-mix(in srgb,var(--primary) 30%,transparent)}.lc-complete{margin-top:8vh;text-align:center;padding:40px 32px;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:16px;background:radial-gradient(420px 220px at 50% 0%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 70%),var(--surface-translucent)}.lc-complete-badge{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1px solid color-mix(in srgb,var(--ok) 60%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent);box-shadow:0 0 28px color-mix(in srgb,var(--ok) 35%,transparent);margin-bottom:16px}.lc-complete-badge .material-symbols-outlined{font-size:32px;color:var(--ok)}.lc-complete h2{margin:0 0 10px;font-size:24px}.lc-complete-sub{color:var(--ide-muted);max-width:46ch;margin:0 auto 24px;line-height:1.55}.lc-complete-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.lc-takeaway-btn{display:inline-flex;align-items:center;gap:8px;margin:0 auto 18px;background:linear-gradient(90deg,color-mix(in srgb,var(--warn) 16%,transparent),color-mix(in srgb,var(--warn) 8%,transparent));border:1px solid color-mix(in srgb,var(--warn) 55%,transparent);color:var(--warn)}.lc-takeaway-btn:hover{box-shadow:0 0 18px color-mix(in srgb,var(--warn) 30%,transparent)}.lc-next{display:flex;justify-content:flex-end;padding:22px 0 8px}.lc-next-btn{background:var(--ide-accent);border:1px solid var(--ide-accent);color:var(--primary-ink)}.lc-next-btn:hover{box-shadow:0 0 18px color-mix(in srgb,var(--primary) 35%,transparent)}.learn-title{font-weight:600;letter-spacing:.2px}.learn-body{flex:1 1 auto;display:flex;min-height:0;min-width:0}.learn-chat{flex:0 0 auto;background:var(--ide-panel);min-height:0;overflow:hidden;display:flex;flex-direction:column}.learn-canvas-wrap{flex:1 1 0;min-width:0;min-height:0;display:flex;background:var(--ide-bg)}.learn-empty{margin:auto;color:var(--ide-muted);padding:24px;text-align:center}.learn-empty.err{color:var(--ide-danger)}.lesson-gen{margin:auto;width:min(460px,86%);padding:32px 24px;display:flex;flex-direction:column;gap:14px;text-align:center}.lesson-gen-title{font-size:16px;font-weight:600;color:var(--ide-text)}.lesson-gen-bar{height:8px;border-radius:999px;background:var(--ide-border);overflow:hidden}.lesson-gen-bar-fill{height:100%;border-radius:999px;background:var(--ide-accent);transition:width .4s ease}.lesson-gen-meta{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--ide-muted)}.lesson-gen-stage,.lesson-gen-time{font-variant-numeric:tabular-nums}.lesson-gen-time{opacity:.8}.lesson-gen-eta{font-size:12px;color:var(--ide-muted);opacity:.85;line-height:1.5}.lc{flex:1 1 auto;display:flex;min-width:0;min-height:0}.lc-main{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column}.lc-toc{flex:0 0 248px;overflow:auto;border-right:1px solid var(--ide-border);background:var(--ide-panel);padding:10px 8px;display:flex;flex-direction:column;gap:2px}.lc-toc-head{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--ide-muted);padding:4px 10px 8px;display:flex;align-items:center;justify-content:space-between}.lc-rail{flex:0 0 52px;border-right:1px solid var(--ide-border);background:var(--ide-panel);padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:6px;overflow:auto}.lc-rail-toggle{background:none;border:none;color:var(--ide-muted);cursor:pointer;padding:6px;border-radius:8px;display:grid;place-items:center;transition:.15s}.lc-rail-toggle:hover{color:var(--ide-accent);background:color-mix(in srgb,var(--primary) 8%,transparent)}.lc-rail .lc-rail-toggle{margin-bottom:6px}.lc-rail-item{width:36px;height:36px;border-radius:50%;border:1px solid var(--ide-border);background:transparent;color:var(--ide-muted);cursor:pointer;display:grid;place-items:center;transition:.15s;flex:none}.lc-rail-item:hover{border-color:color-mix(in srgb,var(--primary) 45%,transparent);color:var(--ide-text)}.lc-rail-item.completed{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.lc-rail-item.viewed{color:color-mix(in srgb,var(--primary) 75%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.lc-rail-item.active{color:var(--ide-accent);border-color:color-mix(in srgb,var(--primary) 70%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--primary) 45%,transparent);animation:eken-pulse 2s ease-in-out infinite}.lc-rail-item.not_started{opacity:.5}.lc-rail-item.active{opacity:1}.lc-toc-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:none;border-radius:8px;background:transparent;color:var(--ide-muted);cursor:pointer;text-align:left;font:inherit}.lc-toc-item:hover{background:var(--ide-panel-2);color:var(--ide-text)}.lc-toc-item.active{background:var(--ide-panel-2);color:var(--ide-text);box-shadow:inset 2px 0 0 var(--ide-accent);opacity:1}.lc-toc-n{font-variant-numeric:tabular-nums;color:var(--ide-muted);width:20px;font-size:12px}.lc-toc-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.lc-stage{flex:1 1 0;min-width:0;min-height:0;overflow:auto;padding:28px 32px;display:flex;justify-content:center}.lc-block{width:100%;max-width:780px}.lc-block-head{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--ide-border)}.lc-progress-head,.lc-progress-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lc-progress-actions{align-items:center;flex:none}.lc-status-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid var(--ide-border);border-radius:999px;color:var(--ide-muted);font-size:11px;white-space:nowrap}.lc-status-badge.viewed{border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--ide-accent-2)}.lc-status-badge.completed{border-color:color-mix(in srgb,var(--ok) 45%,transparent);color:var(--ok)}.lc-status-badge small{color:inherit;font-size:inherit}.lc-completion-hint{margin:18px 0 0;color:var(--ide-muted);font-size:12px}.learn-progress-error{margin:10px 14px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:8px;background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger);font-size:12px}.learn-progress-spin{font-size:13px}.lc-block-kind{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ide-accent-2)}.lc-block-title{margin:8px 0 0;font-size:22px;font-weight:700;letter-spacing:-.2px}.lc-block-sub{margin:6px 0 0;color:var(--ide-muted)}.lc-md{line-height:1.65;color:var(--ide-text);overflow-wrap:anywhere}.lc-md :first-child{margin-top:0}.lc-md pre{overflow:auto;max-width:100%}.lc-practice,.lc-checkpoint,.lc-applied{display:flex;flex-direction:column;gap:12px}.lc-question{margin:0;font-size:16px;font-weight:600;line-height:1.5}.lc-gate{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12.5px;color:var(--ide-warn);background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 25%,transparent);border-radius:8px;padding:6px 10px}.lc-ta{width:100%;background:var(--ide-panel);border:1px solid var(--ide-border);border-radius:10px;color:var(--ide-text);font:inherit;font-size:13px;padding:10px 12px;resize:vertical}.lc-ta:focus{outline:none;border-color:var(--ide-accent)}.lc-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lc-btn{display:inline-flex;align-items:center;gap:6px;background:var(--ide-accent);color:var(--primary-ink);border:none;border-radius:8px;padding:9px 14px;font:inherit;font-weight:600;font-size:13px;cursor:pointer}.lc-btn:disabled{opacity:.5;cursor:not-allowed}.lc-sent{display:inline-flex;align-items:center;gap:4px;color:var(--ide-accent-2);font-size:13px}.lc-editor{height:440px;display:flex;border:1px solid var(--ide-border);border-radius:10px;overflow:hidden}.lc-editor>.ide-editor{flex:1 1 auto;min-height:0;min-width:0}.lc-artifact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lc-artifact-close{display:inline-flex;align-items:center;gap:4px;flex:none;background:var(--ide-panel-2);color:var(--ide-muted);border:1px solid var(--ide-border);border-radius:8px;padding:6px 10px;font:inherit;font-size:12.5px;cursor:pointer}.lc-artifact-close:hover{color:var(--ide-text)}.lc-artifact-actions{display:flex;align-items:center;gap:8px;flex:none}.lc-artifact-expand{display:inline-flex;align-items:center;gap:4px;flex:none;background:var(--ide-panel-2);color:var(--ide-muted);border:1px solid var(--ide-border);border-radius:8px;padding:6px 10px;font:inherit;font-size:12.5px;cursor:pointer}.lc-artifact-expand:hover{color:var(--ide-accent);border-color:var(--ide-accent)}.lc-artifact-expand .material-symbols-outlined{font-size:16px}.lc-artifact-err{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.lc-artifact-retry{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--ide-border);border-radius:8px;background:var(--ide-panel-2);color:var(--ide-text);font:inherit;font-size:13px;cursor:pointer}.lc-artifact-retry:hover{border-color:var(--ide-accent);color:var(--ide-accent)}.lc-artifact-retry .material-symbols-outlined{font-size:16px}.lc-artifact-pending{display:flex;align-items:center;gap:8px;color:var(--ide-muted);padding:28px 4px}@keyframes lc-spin{to{transform:rotate(360deg)}}.lc-artifact-frame{width:100%;height:560px;border:1px solid var(--ide-border);border-radius:10px;background:var(--ide-bg);display:block}.lc-artifact-img{display:block;max-width:100%;height:auto;border:1px solid var(--ide-border);border-radius:10px}.lc-stage:has(.lc-block--artifact){padding:14px 16px}.lc-block.lc-block--artifact{max-width:none;height:100%;display:flex;flex-direction:column;min-height:0}.lc-block--artifact .lc-block-head{flex:0 0 auto}.lc-block--artifact .lc-artifact-frame{flex:1 1 auto;width:100%;height:auto;min-height:0}.lc-block--artifact .lc-artifact-img{flex:1 1 auto;width:100%;height:auto;min-height:0;object-fit:contain}.ide-canvas-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:3px 0;padding:6px 10px;background:var(--ide-panel-2);border:1px solid var(--ide-border);border-radius:8px;color:var(--ide-text);font:inherit;font-size:12.5px;cursor:pointer;text-align:left}.ide-canvas-chip:hover{border-color:var(--ide-accent);color:var(--ide-accent)}.ide-canvas-chip .material-symbols-outlined{font-size:16px;color:var(--ide-accent-2)}.ide-canvas-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-artifact-rate{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--ide-border)}.lc-rate-label{font-size:13px;color:var(--ide-muted)}.lc-rate-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--ide-border);border-radius:8px;background:transparent;color:var(--ide-muted);font-size:13px;cursor:pointer;transition:border-color .16s ease-out,color .16s ease-out}.lc-rate-btn:hover:not(:disabled){border-color:var(--ide-accent);color:var(--ide-text)}.lc-rate-btn.on{border-color:var(--ide-accent);color:var(--ide-accent)}.lc-rate-btn:disabled{opacity:.55;cursor:not-allowed}.lc-rate-err{font-size:12px;color:var(--ide-danger)}.lc-artifact-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:12px;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.learn-root:has(.lc-artifact-modal-overlay),.learn-root:has(.lc-artifact-ant-root){z-index:60}.lc-artifact-modal{display:flex;flex-direction:column;width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:none;min-width:0;min-height:280px;background:var(--ide-panel);border:1px solid var(--ide-border);border-radius:12px;overflow:hidden;resize:none;box-shadow:0 24px 60px var(--shadow-color)}.lc-artifact-modal-head{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ide-border)}.lc-artifact-modal-title{flex:1 1 auto;min-width:0;margin:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-artifact-modal-close{display:inline-flex;flex:none;padding:6px;background:var(--ide-panel-2);color:var(--ide-muted);border:1px solid var(--ide-border);border-radius:8px;cursor:pointer}.lc-artifact-modal-close:hover{color:var(--ide-text);border-color:var(--ide-accent)}.lc-artifact-modal-body{flex:1 1 auto;min-height:0;padding:14px}.lc-artifact-modal-body iframe{width:100%;height:100%;border:0;border-radius:8px;background:var(--ide-bg);display:block}.lc-artifact-modal-body img{width:100%;height:100%;object-fit:contain;display:block}.lc-artifact-ant-root .ant-modal-mask{background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lc-artifact-ant-modal .ant-modal-content{height:min(88vh,900px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ide-border);background:var(--ide-panel)}.lc-artifact-ant-modal.is-fullscreen .ant-modal-content{height:calc(100dvh - 24px);max-height:none;border-radius:12px}.lc-artifact-ant-modal.is-fullscreen{max-width:none;margin:0;padding-bottom:0}.lc-artifact-ant-modal .ant-modal-header{flex:0 0 auto;margin:0;padding-bottom:12px;border-bottom:1px solid var(--ide-border);background:transparent}.lc-artifact-ant-modal .ant-modal-body{min-height:0;flex:1;overflow:auto}.lc-artifact-ant-modal .ant-modal-footer{flex:0 0 auto}.lc-artifact-modal-heading{display:grid;min-width:0;gap:4px;padding-right:32px}.lc-tabs{flex:0 0 auto;display:flex;gap:4px;padding:8px 12px 0;border-bottom:1px solid var(--ide-border)}.lc-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:none;background:transparent;color:var(--ide-muted);border-bottom:2px solid transparent;cursor:pointer;font:inherit;font-size:13px}.lc-tab .material-symbols-outlined{font-size:18px}.lc-tab:hover{color:var(--ide-text)}.lc-tab.on{color:var(--ide-text);border-bottom-color:var(--ide-accent)}.lc-course-gate{margin:8px 12px 0;padding:9px 12px;border:1px solid rgba(245,158,11,.35);border-radius:8px;background:#f59e0b14;color:#fcd34d;font-size:13px}.lc-phases{flex:1 1 auto;display:flex;gap:16px;min-height:0;padding:16px}.lc-phases-list{flex:0 0 240px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.lc-phase{border:1px solid var(--ide-border);border-radius:10px;padding:10px 12px}.lc-phase-head{display:flex;align-items:baseline;gap:8px}.lc-artifact-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ide-muted)}.lc-artifact-badge .material-symbols-outlined{font-size:15px}.lc-phase-title{font-weight:600;font-size:13px}.lc-phases-group{margin-top:6px;padding-top:10px;border-top:1px solid var(--ide-border);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ide-muted)}.lc-artifact-from{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:11px;color:var(--ide-muted)}.lc-artifact-from .material-symbols-outlined{font-size:14px}.lc-phase-sum{margin:6px 0 8px;color:var(--ide-muted);font-size:12px}.lc-phase-files{display:flex;flex-wrap:wrap;gap:6px}.lc-file-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--ide-border);border-radius:999px;background:transparent;color:var(--ide-text);cursor:pointer;font:inherit;font-size:12px}.lc-file-chip .material-symbols-outlined{font-size:15px}.lc-file-chip:hover{border-color:var(--ide-accent)}.lc-file-chip.on{border-color:var(--ide-accent);color:var(--ide-text)}.lc-phase-view{flex:1 1 auto;min-width:0;overflow-y:auto}.lc-runner{display:flex;flex-direction:column;height:100%;min-height:0}.lc-runner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ide-border)}.lc-version-state{display:flex;align-items:center;gap:7px;min-height:28px;color:var(--ide-muted);font-size:12px}.lc-version-state:empty{display:none}.lc-version-state.saving .material-symbols-outlined{animation:lc-spin 1s linear infinite}.lc-version-state.saved{color:var(--ok)}.lc-version-state.error{color:var(--danger)}.lc-version-state .material-symbols-outlined{font-size:16px}.lc-version-state .lc-btn{margin-left:4px}.lc-run-btn{display:inline-flex;align-items:center;gap:6px}.lc-input-form{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--ide-border);background:color-mix(in srgb,var(--ide-accent) 4%,transparent)}.lc-input-label{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ide-text)}.lc-input-textarea{min-height:64px;resize:vertical;padding:8px 10px;border:1px solid var(--ide-border);border-radius:8px;background:var(--ide-bg);color:var(--ide-text);font:inherit;font-size:13px}.lc-run-src{display:inline-flex;align-items:center;gap:6px;margin:8px 12px 0;font-size:11.5px;font-weight:600;color:var(--ide-accent)}.lc-run-src.demo{color:var(--warn)}.lc-run-src .material-symbols-outlined{font-size:14px}.lc-runner-editor{flex:1 1 auto;min-height:180px;display:flex;min-width:0}.lc-code{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1 1 auto}.lc-code .lc-runner-editor{min-height:280px}.lc-code-actions{display:flex;gap:8px}.lc-check-btn{border-color:var(--ide-accent)}.lc-gate-hint{display:block;margin-top:6px;color:var(--ide-muted);font-size:12px}.lc-acceptance{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--ide-border);border-radius:12px;background:var(--ide-panel)}.lc-acceptance.passed{border-color:#34d39973}.lc-acceptance.failed{border-color:#f8717173}.lc-acceptance.infrastructure_failed{border-color:#f5b65673}.lc-acceptance-head,.lc-acceptance-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.lc-acceptance-head div{display:flex;flex-direction:column;gap:3px}.lc-acceptance small,.lc-acceptance p{margin:0;color:var(--ide-muted);font-size:12px}.lc-acceptance-verdict{padding:3px 9px;border:1px solid currentColor;border-radius:999px;font-size:12px;white-space:nowrap}.lc-acceptance.passed .lc-acceptance-verdict{color:#34d399}.lc-acceptance.failed .lc-acceptance-verdict,.lc-acceptance-error{color:var(--ide-danger)!important}.lc-acceptance.infrastructure_failed .lc-acceptance-verdict{color:var(--ide-warn)}.lc-run-output{flex:0 0 auto;max-height:40%;overflow-y:auto;border-top:1px solid var(--ide-border);padding:10px 12px}.lc-run-status{display:flex;align-items:center;gap:10px;margin-bottom:6px}.lc-run-badge{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--ide-border)}.lc-run-badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.lc-run-badge.err{color:var(--ide-danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.lc-run-time,.lc-run-note{font-size:12px;color:var(--ide-muted)}.lc-run-pre{margin:6px 0 0;padding:8px 10px;background:var(--ide-panel-2);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word;color:var(--ide-text)}.lc-run-pre.err{color:var(--danger)}.lc-run-empty{font-size:12px;color:var(--ide-muted)}.lc-sketch{flex:1;min-height:0;display:flex;flex-direction:column}.lc-sketch-canvas{flex:1;min-height:0;position:relative}.lc-sketch-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--ide-border)}.lc-sketch-err{color:var(--danger);font-size:13px}.learn-chatbody{flex:1;min-height:0;display:flex}.learn-chatmain{flex:1;min-width:0;min-height:0;display:flex;justify-content:center}.learn-chatmode .ide-chat{width:100%}.learn-chatmode .learn-feed,.learn-chatmode .ide-chat-input{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}.learn-inline-block .lc-block{max-width:none}.learn-gallery-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--ide-border);border-radius:8px;background:var(--ide-panel-2);color:var(--ide-text);font-size:13px;cursor:pointer}.learn-gallery-btn:hover{border-color:var(--ide-accent)}.learn-gallery-btn.on{color:var(--ide-accent)}.learn-gallery-btn+.learn-gallery-btn{margin-left:8px}.learn-sketch-win{position:fixed;z-index:900;display:flex;flex-direction:column;min-width:420px;min-height:320px;max-width:100vw;max-height:100vh;background:var(--ide-panel);border:1px solid var(--ide-border);border-radius:12px;overflow:hidden;resize:both;box-shadow:0 24px 60px var(--shadow-color);animation:learn-modal-in .24s cubic-bezier(.22,.9,.32,1)}.learn-sketch-win.is-full{top:0;right:0;bottom:0;left:0;min-width:0;min-height:0;border-radius:0;resize:none}.learn-sketch-win-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--ide-border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.learn-sketch-win-head:active{cursor:grabbing}.learn-sketch-win.is-full .learn-sketch-win-head{cursor:default}.learn-sketch-win-head h3{flex:1;min-width:0;margin:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-sketch-win-body{flex:1;min-height:0;display:flex}.learn-sketch-win-body .lc-sketch{flex:1;min-width:0}.lc-block-passthru{display:contents}.learn-inline-block .lc-block--modal,.lc-block--modal{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:none;min-width:0;min-height:280px;display:flex;flex-direction:column;padding:18px 24px 22px;background:var(--ide-panel);border:1px solid var(--ide-border);border-radius:12px;box-shadow:0 24px 60px var(--shadow-color);overflow:auto;overscroll-behavior:contain;resize:none}.lc-block--modal .lc-code{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.lc-block--modal .lc-code .lc-runner-editor{flex:1 1 auto;min-height:320px}.lc-block--modal .lc-runner,.lc-artifact-modal-body.files .lc-runner{flex:1 1 auto;height:auto;min-height:320px}.learn-inline-saved.lc-block--modal{margin:0;padding:18px 24px 22px;border-radius:12px;overflow:auto}.lc-artifact-img{cursor:zoom-in}.lc-artifact-open{cursor:pointer}.lc-artifact-open:hover .lc-block-title{color:var(--ide-accent)}.learn-inline-block,.learn-inline-artifact,.learn-inline-saved{margin:8px 0;border:1px solid var(--ide-border);border-radius:10px;background:var(--ide-panel);overflow:hidden}.learn-inline-artifact{padding:14px 16px 16px}.learn-inline-artifact .lc-block--artifact{height:auto}.learn-inline-artifact .lc-block--artifact .lc-artifact-frame{flex:none;height:460px}.learn-inline-artifact .lc-block--artifact .lc-artifact-img{flex:none;height:auto;max-height:70vh}.learn-inline-artifact .lc-artifact-rate{margin-top:16px}.learn-inline-pending{display:inline-flex;align-items:center;gap:8px;margin:8px 0;padding:10px 12px;border:1px dashed var(--ide-border);border-radius:10px;color:var(--ide-muted);font-size:13px}.learn-inline-saved{padding:10px 12px}.learn-inline-saved-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.learn-inline-saved-head b{flex:1;min-width:0}.learn-inline-open{display:inline-flex;padding:4px;border:1px solid var(--ide-border);border-radius:6px;background:transparent;color:var(--ide-muted);cursor:pointer}.learn-inline-open:hover{color:var(--ide-accent);border-color:var(--ide-accent)}.learn-inline-saved-sum{margin:0 0 8px;color:var(--ide-muted);font-size:13px}.learn-artifact-file{min-width:0;display:grid;gap:0;margin-top:12px}.learn-artifact-file-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid var(--ide-border);border-bottom:0;border-radius:9px 9px 0 0;background:var(--ide-panel-2);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.learn-artifact-file-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learn-artifact-file-head span{flex:0 0 auto;color:var(--ide-muted);text-transform:lowercase}.learn-artifact-code.ai-code-block{border-color:var(--ide-border);border-radius:0 0 9px 9px;background:var(--ide-panel)}.learn-artifact-code .ai-code-light,.learn-artifact-code .ai-code-dark{max-height:min(68dvh,760px)}.learn-artifact-code :is(.ai-code-light,.ai-code-dark) pre{min-width:max-content;line-height:1.6}.learn-rail{flex:none;width:300px;min-height:0;display:flex;flex-direction:column;margin:12px 12px 12px 0;border:1px solid var(--ide-border);border-radius:12px;background:var(--ide-panel);overflow:hidden}.learn-rail-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px 14px;font-size:13px}.learn-rail-body{flex:1;min-height:0;overflow-y:auto;padding:2px 8px 12px}.learn-rail-empty{padding:10px 8px;font-size:12.5px;line-height:1.5;color:var(--ide-muted)}.learn-rail-section{margin-bottom:14px}.learn-rail-h{margin:6px 6px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ide-muted)}.learn-rail-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--ide-text);font-size:13px;text-align:left;cursor:pointer}.learn-rail-item:hover{background:var(--ide-panel-2)}.learn-rail-item .material-symbols-outlined{flex:none;font-size:16px;color:var(--ide-muted)}.learn-rail-item:hover .material-symbols-outlined{color:var(--ide-accent)}.learn-rail-item-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-rail-sum{margin:0 0 10px;color:var(--ide-muted);font-size:13px}.lc-artifact-modal-body.files{display:flex;flex-direction:column;gap:10px;overflow-y:auto}@media(max-width:1000px){.learn-rail{display:none}}.learn-chatmode .learn-feed{gap:22px;padding:24px 32px 16px}.learn-chatmode .learn-feed .is-assistant{width:100%;max-width:100%}.learn-chatmode .learn-feed .is-assistant>div{width:100%}.learn-chatmode .learn-feed .ide-msg-md .ide-md{max-width:none;font-size:14px;line-height:1.65}.learn-chatmode .learn-feed .is-user{max-width:72%}.learn-chatmode .learn-feed .is-user>div{background:color-mix(in srgb,var(--ide-accent) 11%,var(--ide-panel));border:1px solid color-mix(in srgb,var(--ide-accent) 22%,transparent);border-radius:16px 16px 4px;line-height:1.55}.learn-chatmode .ide-chat-input{width:100%;border-top:0;padding:10px 32px 18px}.learn-chatmode .ide-chat-input [data-slot=input-group]{align-items:center;width:min(640px,100%);margin-inline:auto;min-height:58px;padding:7px 7px 7px 22px;border:1px solid var(--input-border);border-radius:999px;background:var(--surface)!important;box-shadow:0 2px 10px var(--shadow-color)}.learn-chatmode .ide-chat-input [data-slot=input-group]:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring),0 2px 10px var(--shadow-color)}.learn-chatmode .ide-chat-input [data-slot=input-group]>textarea{font-size:15px}.learn-chatmode .learn-mic-btn{width:44px;height:44px;margin:0;border-color:transparent;background:transparent;color:var(--muted)}.learn-chatmode .learn-mic-btn:hover{border-color:transparent;background:var(--surface-2);color:var(--text);box-shadow:none}.learn-chatmode .learn-mic-btn.rec{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.learn-root.learn-chatmode .learn-composer button[type=submit]{flex:none;border-radius:50%;border:1px solid var(--primary);background:var(--primary)!important;color:var(--primary-ink)!important}.learn-root.learn-chatmode .learn-composer button[type=submit]:hover:not(:disabled){background:var(--primary-hover)!important}.learn-root.learn-chatmode .learn-composer button[type=submit]:disabled{opacity:.45}.learn-chatmode .ide-chat-head{padding:10px max(32px,calc((100% - 1116px)/2))}.learn-inline-block,.learn-inline-artifact{--kind: var(--ide-accent);position:relative;transition:border-color .18s ease-out,box-shadow .18s ease-out}.learn-inline-block{padding:16px 18px 18px}.learn-inline-block[data-btype=code]{--kind: var(--ok)}.learn-inline-block[data-btype=practice]{--kind: var(--primary)}.learn-inline-block[data-btype=checkpoint],.learn-inline-artifact[data-kind=image]{--kind: var(--ide-warn)}.learn-inline-artifact[data-kind=exercise]{--kind: var(--primary)}.learn-inline-block:before,.learn-inline-artifact:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--kind);opacity:.75;pointer-events:none}.learn-inline-block .lc-block-kind,.learn-inline-artifact .lc-block-kind{color:var(--kind)}.learn-inline-block:hover,.learn-inline-artifact:hover{border-color:color-mix(in srgb,var(--kind) 40%,var(--ide-border));box-shadow:0 3px 12px var(--shadow-color)}.learn-rail-item{--kind: var(--ide-accent)}.learn-rail-item[data-kind=code]{--kind: var(--ok)}.learn-rail-item[data-kind=image]{--kind: var(--ide-warn)}.learn-rail-item[data-kind=exercise]{--kind: var(--primary)}.learn-rail-item[data-kind=takeaway]{--kind: var(--ide-warn)}.learn-rail-item.is-takeaway{border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.learn-rail-item.is-takeaway .material-symbols-outlined,.learn-rail-item:hover .material-symbols-outlined{color:var(--kind)}.learn-rail-open{margin-left:auto;font-size:14px!important;color:var(--ide-muted)!important;opacity:0;transition:opacity .13s ease-out}.learn-rail-item:hover .learn-rail-open{opacity:.85}.learn-rail-item:disabled{opacity:.6;cursor:default}.learn-rail-item:disabled:hover{background:transparent}.learn-rail-item:disabled:hover .material-symbols-outlined{color:var(--ide-muted)}.learn-rail-item:disabled:active{transform:none}.learn-root .lc-btn{color:var(--primary-ink);border:1px solid transparent}.learn-root .lc-check-btn{background:transparent;color:var(--ide-accent);border-color:color-mix(in srgb,var(--ide-accent) 45%,transparent)}.learn-root .lc-check-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ide-accent) 13%,transparent)}@keyframes learn-msg-in{0%{opacity:0;transform:translateY(14px)}}.learn-feed>*{animation:learn-msg-in .42s cubic-bezier(.22,.9,.32,1) backwards}.learn-feed>*:nth-child(1){animation-delay:60ms}.learn-feed>*:nth-child(2){animation-delay:.14s}.learn-feed>*:nth-child(3){animation-delay:.22s}.learn-feed>*:nth-child(4){animation-delay:.3s}.learn-feed>*:nth-child(5){animation-delay:.38s}@keyframes learn-overlay-in{0%{opacity:0}}@keyframes learn-modal-in{0%{opacity:0;transform:translateY(16px) scale(.965)}}.lc-artifact-modal-overlay{animation:learn-overlay-in .18s ease-out}.lc-artifact-modal,.lc-block--modal{animation:learn-modal-in .24s cubic-bezier(.22,.9,.32,1)}@keyframes learn-rail-in{0%{opacity:0;transform:translate(18px)}}.learn-rail{animation:learn-rail-in .26s ease-out}@keyframes learn-item-in{0%{opacity:0;transform:translate(10px)}}.learn-rail-body .learn-rail-item{animation:learn-item-in .3s ease-out both}.learn-rail-body .learn-rail-item:nth-of-type(1){animation-delay:.1s}.learn-rail-body .learn-rail-item:nth-of-type(2){animation-delay:.15s}.learn-rail-body .learn-rail-item:nth-of-type(3){animation-delay:.2s}@keyframes learn-pop-in{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.06)}}.lc-run-badge{animation:learn-pop-in .38s cubic-bezier(.34,1.56,.64,1) both}@keyframes learn-orb-breathe{0%,to{box-shadow:0 0 10px color-mix(in srgb,var(--primary) 18%,transparent)}50%{box-shadow:0 0 20px color-mix(in srgb,var(--primary) 40%,transparent)}}.learn-mentor-orb{animation:learn-orb-breathe 3.4s ease-in-out infinite}.learn-mentor-status{display:inline-flex;align-items:center}.learn-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:5px;animation:learn-dot-pulse 2.2s ease-in-out infinite}@keyframes learn-dot-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--ok) 28%,transparent)}50%{box-shadow:0 0 0 4px transparent}}.learn-typing{align-self:flex-start;display:inline-flex;gap:5px;align-items:center;padding:12px 16px;background:var(--ide-panel);border:1px solid var(--ide-border);border-radius:16px 16px 16px 4px}.learn-typing i{width:6px;height:6px;border-radius:50%;background:var(--ide-muted);animation:learn-blink 1.1s ease-in-out infinite}.learn-typing i:nth-child(2){animation-delay:.15s}.learn-typing i:nth-child(3){animation-delay:.3s}@keyframes learn-blink{0%,60%,to{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}.lc-btn:active:not(:disabled),.lc-artifact-expand:active,.lc-rate-btn:active:not(:disabled),.learn-rail-item:active,.learn-mic-btn:active,.learn-gallery-btn:active,.lc-artifact-modal-close:active{transform:scale(.96)}.learn-msg-auto{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:var(--ide-muted)}.learn-chatmode .learn-feed .is-user>div:has(>.learn-msg-auto){background:var(--ide-panel);border-style:dashed}@media(prefers-reduced-motion:reduce){.learn-feed>*,.lc-artifact-modal-overlay,.lc-artifact-modal,.learn-sketch-win,.lc-block--modal,.learn-rail,.learn-rail-body .learn-rail-item,.lc-run-badge,.learn-mentor-orb,.learn-live-dot,.learn-typing i{animation:none!important}.learn-inline-block,.learn-inline-artifact,.learn-rail-open{transition:none!important}.learn-inline-block:hover,.learn-inline-artifact:hover{transform:none}}.trace-modal{width:min(1060px,calc(100vw - 48px));height:min(680px,calc(100vh - 64px));display:flex;flex-direction:column}.trace-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--ide-border)}.trace-title{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ide-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-title .material-symbols-outlined{color:var(--ide-accent);font-size:20px}.trace-counter{margin-left:auto;font:12px/1 ui-monospace,monospace;color:var(--ide-muted);white-space:nowrap}.trace-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:none;border:none;color:var(--ide-muted);cursor:pointer}.trace-close:hover{color:var(--ide-text);background:color-mix(in srgb,var(--primary) 8%,transparent)}.trace-banner{display:flex;align-items:center;gap:8px;margin:10px 16px 0;padding:8px 12px;border-radius:10px;font-size:13px}.trace-banner .material-symbols-outlined{font-size:18px}.trace-banner.err{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.trace-banner.warn{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn)}.trace-layout{flex:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);min-height:0;padding:12px 16px 16px}.trace-code{overflow:auto;border:1px solid var(--ide-border);border-radius:10px 0 0 10px;background:var(--surface);font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px 0}.trace-line{display:flex;gap:12px;padding:0 12px;white-space:pre}.trace-line.on{background:color-mix(in srgb,var(--primary) 14%,transparent);box-shadow:inset 3px 0 0 var(--ide-accent)}.trace-ln{width:2.5em;flex:none;text-align:right;color:var(--ide-muted);-webkit-user-select:none;user-select:none}.trace-line.on .trace-ln{color:var(--ide-accent)}.trace-src{color:var(--ide-text)}.trace-side{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto;border:1px solid var(--ide-border);border-left:none;border-radius:0 10px 10px 0;padding:12px;background:var(--ide-panel)}.trace-controls{display:flex;gap:6px}.trace-controls .lc-btn{padding:6px 8px}.trace-slider{width:100%;accent-color:var(--ide-accent)}.trace-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ide-muted);margin-bottom:6px}.trace-stack{display:flex;flex-wrap:wrap;gap:6px}.trace-frame{font:12px/1 ui-monospace,monospace;padding:4px 8px;border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--ide-muted)}.trace-frame.on{color:var(--ide-accent);background:color-mix(in srgb,var(--primary) 12%,transparent)}.trace-vars{width:100%;border-collapse:collapse;font:12px/1.5 ui-monospace,monospace}.trace-vars td{padding:4px 8px;border-bottom:1px solid var(--ide-border);vertical-align:top}.trace-vars td:first-child{color:var(--ide-accent);white-space:nowrap}.trace-vars td:last-child{color:var(--ide-text);word-break:break-word}.trace-none{font-size:12px;color:var(--ide-muted)}.trace-stdout{margin:0;padding:8px 10px;background:var(--surface);border:1px solid var(--ide-border);border-radius:8px;font:12px/1.5 ui-monospace,monospace;color:var(--ide-text);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow:auto}@media(max-width:860px){.trace-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.trace-code{border-radius:10px 10px 0 0}.trace-side{border-left:1px solid var(--ide-border);border-top:none;border-radius:0 0 10px 10px}}.learn-root.learn-chatmode{top:var(--app-header-height, 72px);background:var(--bg);color:var(--text)}body:has(.learn-root.learn-chatmode) .voice-settings-toolbar{display:none}.lesson-workspace-background{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.app-header:has(.lesson-header-actions) .theme-switcher{grid-template-columns:repeat(3,44px)}.app-header:has(.lesson-header-actions) .theme-switcher-option,.learn-root.learn-chatmode .ide-chat-toggle,.learn-root.learn-chatmode .learn-mic-btn,.learn-root.learn-chatmode .learn-composer button[type=submit]{width:44px;min-width:44px;height:44px;min-height:44px}.learn-root.learn-chatmode :is(.lc-actions,.lc-code-actions,.lc-runner-toolbar,.lc-version-state,.lc-tutor-send-error) .lc-btn,.learn-root.learn-chatmode :is(.lc-artifact-retry,.lc-rate-btn,.lc-artifact-expand,.lc-artifact-close,.lc-artifact-modal-close),.learn-root.learn-chatmode .lesson-rail-error button,.learn-root.learn-chatmode .lc-sketch-load-error .lc-btn{min-height:44px}.learn-root.learn-chatmode .lc-artifact-modal-close{width:44px;min-width:44px;height:44px;min-height:44px;justify-content:center;padding:0}.learn-root.learn-chatmode :is(.lc-code-actions,.lc-runner-toolbar,.lc-artifact-rate){flex-wrap:wrap}.lc-send-error{flex-basis:100%;color:var(--danger);font-size:13px;line-height:1.4}.lc-tutor-send-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 36%,var(--border));border-radius:12px;background:var(--surface);color:var(--danger);font-size:13px}.lc-sketch-load-error{gap:14px}.lesson-header-actions,.lesson-header-actions-desktop{display:flex;align-items:center}.lesson-header-actions-desktop{gap:3px;padding:3px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.lesson-header-button,.lesson-header-icon{min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;box-shadow:none}.lesson-header-button{gap:8px;padding-inline:14px}.lesson-header-icon{width:44px;min-width:44px;padding:0}.lesson-header-actions-desktop .lesson-header-button:last-of-type{background:var(--surface);color:var(--text);box-shadow:var(--shadow-control)}.lesson-header-button:hover,.lesson-header-icon:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.lesson-header-button.active,.lesson-header-button.active:hover{background:var(--primary-soft);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 24%,transparent)}.lesson-header-button:disabled,.lesson-header-icon:disabled{opacity:.55;cursor:not-allowed}.lesson-header-button:focus-visible,.lesson-header-icon:focus-visible,.lesson-rail-trigger:focus-visible,.lesson-rail-tabs button:focus-visible,.lesson-rail-close:focus-visible,.lesson-rail-error button:focus-visible,.lesson-workspace-state button:focus-visible,.lesson-action-error button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.lesson-header-menu{display:none}.lesson-progress-strip{position:relative;flex:0 0 92px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 32px 8px;border-bottom:1px solid var(--hairline);background:var(--surface)}.lesson-progress-copy{min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.lesson-progress-title{min-width:0;display:grid;gap:3px}.lesson-progress-kicker{color:var(--primary);font-size:10px;font-weight:750;letter-spacing:.11em;line-height:14px;text-transform:uppercase}.lesson-progress-copy h1{min-width:0;margin:0;overflow:hidden;color:var(--text);font-size:20px;font-weight:700;line-height:26px;text-overflow:ellipsis;white-space:nowrap}.lesson-progress-status{flex:none;max-width:min(42%,380px);min-width:220px;display:grid;gap:1px;padding:7px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.lesson-progress-status strong,.lesson-progress-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-progress-status strong{color:var(--primary);font-size:11px;font-weight:750;line-height:15px}.lesson-progress-status span{color:var(--muted);font-size:13px;line-height:17px}.lesson-progress-track{position:absolute;right:0;bottom:0;left:0;height:4px;overflow:hidden;background:var(--surface-3)}.lesson-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--brand-secondary));transition:width .22s ease-out}.lesson-rail-trigger{width:44px;height:44px;flex:none;display:none;place-items:center;margin-top:0;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-secondary);cursor:pointer}.lesson-rail-trigger.is-closed{display:grid}.lesson-workspace-body{background:var(--bg)}.learn-chatmode .learn-chatmain{position:relative;min-width:0;background:var(--bg)}.learn-chatmode .learn-feed,.learn-chatmode .ide-chat-input{max-width:780px}.learn-chatmode .ide-chat-head{padding-inline:max(24px,calc((100% - 780px)/2))}.lesson-workspace-state{align-self:center;width:min(460px,calc(100% - 32px));display:grid;justify-items:center;gap:10px;padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text-secondary);text-align:center}.lesson-workspace-state .material-symbols-outlined{color:var(--danger);font-size:28px}.lesson-workspace-state button,.lesson-action-error button,.lesson-rail-error button{min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.lesson-action-error{position:absolute;z-index:5;top:12px;left:50%;width:min(640px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 14px;border:1px solid color-mix(in srgb,var(--danger) 36%,var(--border));border-radius:14px;background:var(--surface);color:var(--danger);box-shadow:0 8px 24px var(--shadow-color);transform:translate(-50%)}.lesson-action-error+.lesson-action-error{top:76px}.lesson-workspace-rail{width:clamp(368px,28vw,420px);min-width:clamp(368px,28vw,420px);min-height:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--hairline);background:var(--surface);box-shadow:-10px 0 28px color-mix(in srgb,var(--shadow-color) 35%,transparent)}.lesson-rail-head{flex:none;display:flex;align-items:center;gap:10px;padding:24px 24px 16px 32px}.lesson-rail-tabs{min-width:0;display:flex;gap:4px}.lesson-rail-tabs button{min-height:44px;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.lesson-rail-tabs button:hover{background:var(--surface-hover);color:var(--text)}.lesson-rail-tabs button[data-state=active]{background:var(--primary-soft);color:var(--primary)}.lesson-rail-close{width:44px;height:44px;flex:none;display:grid;place-items:center;margin-left:auto;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--muted);cursor:pointer}.lesson-stage-list{flex:1;min-height:0;margin:0;padding:2px 16px 28px;overflow-y:auto;list-style:none}.lesson-stage-list li{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;min-height:68px;padding:13px 14px;border:1px solid transparent;border-radius:15px;color:var(--muted)}.lesson-stage-list li+li{margin-top:3px}.lesson-stage-list li:not(:last-child):after{position:absolute;z-index:0;top:41px;bottom:-17px;left:25px;width:1px;background:var(--border);content:""}.lesson-stage-list li.active{border-color:color-mix(in srgb,var(--primary) 22%,var(--border));background:var(--primary-soft)}.lesson-stage-icon.material-symbols-outlined{position:relative;z-index:1;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--surface);color:var(--muted);font-size:24px!important}.lesson-stage-list li.complete .lesson-stage-icon{background:var(--ok);color:var(--primary-ink);font-size:17px!important}.lesson-stage-list li.active .lesson-stage-icon{background:var(--primary-soft);color:var(--primary)}.lesson-stage-copy{min-width:0;display:grid;gap:4px}.lesson-stage-meta{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.lesson-stage-copy small{color:var(--muted);font-size:12px;line-height:1.3}.lesson-stage-state{padding:2px 7px;border-radius:999px;background:var(--surface);color:var(--primary)!important;font-size:10px!important;font-weight:700;letter-spacing:.02em}.lesson-stage-list li.complete .lesson-stage-state{color:var(--ok)!important}.lesson-stage-copy strong{color:var(--text);font-size:14px;line-height:1.4}.lesson-stage-list li:not(.active):not(.complete) .lesson-stage-copy strong{color:var(--text-secondary)}.lesson-stage-copy>span{overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.4}.lesson-artifacts-mode{flex:1;min-height:0;display:flex;flex-direction:column}.lesson-rail-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 24px 10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 36%,var(--border));border-radius:12px;color:var(--danger);font-size:12px}.lesson-rail-error button{min-height:44px;padding-block:8px}.lesson-rail-error button:disabled{opacity:.55;cursor:not-allowed}.lesson-rail-loading{display:flex;align-items:center;gap:8px;margin:0 24px 10px;color:var(--muted);font-size:13px}.lesson-artifacts-mode .learn-rail--embedded{width:100%;height:100%;min-height:0;display:flex;margin:0;border:0;border-radius:0;background:transparent;animation:none}.lesson-artifacts-mode .learn-rail--embedded>.learn-rail-head{display:none}.lesson-artifacts-mode .learn-rail-body{padding:4px 24px 24px}.lesson-artifacts-mode .learn-rail-item{min-height:44px;padding:10px 12px}.lesson-rail-backdrop,.learn-sketch-backdrop{display:none}.learn-chatmode .learn-sketch-win{width:min(560px,100vw);border-radius:0;border-block:0;border-right:0;box-shadow:-12px 0 40px var(--shadow-color)}.learn-chatmode .learn-sketch-win.is-full{inset:var(--app-header-height, 72px) 0 0;width:auto}.learn-chatmode .learn-sketch-win-head{min-height:74px;padding-inline:24px;background:var(--surface)}.learn-chatmode .learn-sketch-win-head h3{font-size:20px;font-weight:700}.learn-chatmode .lc-sketch-bar{min-height:70px;padding:12px 24px;background:var(--surface)}@media(max-width:1400px){.lesson-workspace-rail{width:376px;min-width:376px}}@media(max-width:1100px){.lesson-header-actions-desktop{display:none}.lesson-header-menu{display:block}.lesson-rail-trigger{display:grid}.lesson-workspace-rail{width:328px;min-width:328px}}@media(max-width:899px){.learn-root.learn-chatmode:has(.lesson-workspace-rail[role=dialog]){z-index:60}.lesson-progress-strip{flex-basis:92px;padding:12px 16px 6px}.lesson-progress-copy{display:grid;gap:4px}.lesson-progress-title{display:block}.lesson-progress-kicker{display:none}.lesson-progress-copy h1{font-size:17px;line-height:23px}.lesson-progress-status{min-width:0;max-width:none;display:flex;gap:5px;padding:0;border:0;background:transparent}.lesson-progress-status strong,.lesson-progress-status span{font-size:12px;line-height:17px}.lesson-progress-status strong{flex:none}.lesson-progress-status strong:after{margin-left:5px;color:var(--muted);content:"·"}.lesson-progress-status span{min-width:0}.lesson-rail-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:block;padding:0;border:0;background:var(--overlay)}.lesson-workspace-rail{position:fixed;z-index:71;top:0;right:0;bottom:0;width:min(420px,calc(100vw - 24px));min-width:0;border-left:1px solid var(--hairline);box-shadow:-16px 0 44px var(--shadow-color);animation:learn-rail-in .18s ease-out}.lesson-stage-list{padding:2px 12px 24px}.learn-chatmode .learn-feed,.learn-chatmode .ide-chat-input,.learn-chatmode .ide-chat-head{padding-inline:16px}.learn-chatmode .learn-feed .is-user{max-width:88%}.learn-chatmode .learn-sketch-win,.learn-chatmode .learn-sketch-win.is-full{inset:var(--app-header-height, 72px) 0 0!important;width:auto!important;height:auto!important;min-width:0;min-height:0;resize:none}.learn-chatmode .learn-sketch-backdrop{position:fixed;z-index:899;inset:var(--app-header-height, 72px) 0 0;display:block;padding:0;border:0;background:var(--overlay)}.learn-chatmode .learn-sketch-win-head{min-height:58px;padding-inline:14px;cursor:default}}@media(max-width:520px){.lesson-progress-status{max-width:calc(100vw - 92px)}.lesson-rail-tabs button{padding-inline:10px;font-size:13px}.lesson-action-error,.lc-tutor-send-error{align-items:stretch;flex-direction:column}.learn-chatmode .learn-feed{gap:16px;padding:16px 12px 10px}.learn-chatmode .ide-chat-input{padding:8px 12px 12px}}@media(prefers-reduced-motion:reduce){.lesson-progress-track>span,.lesson-workspace-rail{animation:none!important;transition:none!important}}.lesson-rail-layout{display:flex;min-height:0;flex:1;flex-direction:column}.lesson-rail-layout>.ant-tabs-nav{flex:0 0 auto;gap:8px;margin:0;padding:16px 16px 12px;border:0}.lesson-rail-layout>.ant-tabs-nav:before{display:none}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-nav-wrap{min-width:0;padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-nav-list{width:100%}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-tab{flex:1;justify-content:center;min-height:44px;margin:0;padding:9px 12px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:650;transition:background var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast)}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-tab:hover{color:var(--text)}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-tab-active{background:var(--surface);box-shadow:var(--shadow-control)}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary);text-shadow:none}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-tab-btn:focus{outline:0}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-tab:has(.ant-tabs-tab-btn:focus-visible){outline:2px solid var(--primary);outline-offset:-2px}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-ink-bar{display:none}.lesson-rail-layout>.ant-tabs-nav .ant-tabs-extra-content{display:flex;align-items:center}.lesson-rail-layout>.ant-tabs-body-holder,.lesson-rail-layout .ant-tabs-body,.lesson-rail-layout .ant-tabs-content-active{min-height:0;display:flex;flex:1;flex-direction:column}@media(max-width:899px){.lesson-rail-layout>.ant-tabs-nav{padding:12px 12px 10px}}:root{--background: var(--bg);--foreground: var(--text);--card: var(--surface);--card-foreground: var(--text);--popover: var(--surface-2);--popover-foreground: var(--text);--primary-foreground: var(--primary-ink);--secondary: var(--surface-2);--secondary-foreground: var(--text);--muted-bg: var(--surface-2);--muted-foreground: var(--muted);--accent: var(--surface-2);--accent-foreground: var(--text);--destructive: var(--danger);--border-color: var(--hairline);--input: var(--input-border);--ring: var(--primary);--motion-fast: .12s;--motion-base: .18s;--motion-slow: .24s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--control-disabled-opacity: .48;--z-popover: 80;--z-dialog: 100;--z-tooltip: 120}:root,:root[data-theme=light]{color-scheme:light;--app-header-height: 72px;--bg: #f4f5f7;--surface: #ffffff;--surface-2: #fafbfc;--surface-3: #f0f1f4;--surface-hover: #eceef2;--surface-translucent: rgba(255, 255, 255, .88);--hairline: #e3e5ea;--border: var(--hairline);--border-strong: #c8cbd2;--text: #1d1d1f;--text-secondary: #4b4b52;--muted: #686872;--text-subtle: #86868b;--primary: #7048e8;--primary-hover: #5f38d5;--primary-pressed: #4e2bbe;--primary-soft: #f0eafc;--primary-ink: #ffffff;--brand-secondary: #06b6d4;--ok: #2f9e44;--ok-soft: #eaf6ec;--warn: #b26a00;--warn-soft: #fff2d8;--danger: #d93845;--danger-soft: #fdebec;--info: #0071e3;--info-soft: #eaf3ff;--input-bg: #ffffff;--input-border: #d6d9e0;--input-hover: #b8bdc8;--focus-ring: color-mix(in srgb, var(--primary) 20%, transparent);--user: var(--primary-soft);--ai: var(--surface);--overlay: rgba(22, 22, 29, .45);--shadow-color: rgba(29, 29, 31, .12);--shadow-control: 0 1px 2px rgba(29, 29, 31, .08);--shadow-control-hover: 0 4px 12px rgba(29, 29, 31, .12);--shadow-popover: 0 16px 40px -12px rgba(29, 29, 31, .22);--shadow-dialog: 0 28px 80px -24px rgba(29, 29, 31, .34);--radius: 12px}:root[data-theme=dark],:root.dark{color-scheme:dark;--bg: #101014;--surface: #17171d;--surface-2: #1e1e26;--surface-3: #25252f;--surface-hover: #2b2b36;--surface-translucent: rgba(23, 23, 29, .88);--hairline: #2d2d38;--border: var(--hairline);--border-strong: #454555;--text: #f4f4f7;--text-secondary: #c4c4cc;--muted: #9999a4;--text-subtle: #7f7f8b;--primary: #a78bfa;--primary-hover: #b9a5fc;--primary-pressed: #8b6fe8;--primary-soft: #2a2144;--primary-ink: #17121f;--brand-secondary: #67e8f9;--ok: #58d17a;--ok-soft: #14281b;--warn: #f3ba63;--warn-soft: #2d2112;--danger: #ff737d;--danger-soft: #32171b;--info: #62afff;--info-soft: #12253a;--input-bg: #1e1e26;--input-border: #353541;--input-hover: #4a4a58;--focus-ring: color-mix(in srgb, var(--primary) 28%, transparent);--user: var(--primary-soft);--ai: var(--surface-2);--overlay: rgba(0, 0, 0, .62);--shadow-color: rgba(0, 0, 0, .4);--shadow-control: 0 1px 2px rgba(0, 0, 0, .32);--shadow-control-hover: 0 5px 14px rgba(0, 0, 0, .4);--shadow-popover: 0 18px 48px -14px rgba(0, 0, 0, .7);--shadow-dialog: 0 32px 96px -24px rgba(0, 0, 0, .82)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;transition:background-color .18s ease,color .18s ease}.eken-ant-app{min-height:100%;background:var(--bg);color:var(--text)}.page{max-width:880px;margin:0 auto;padding:32px 20px 64px}.eken-button.ant-btn{min-width:44px;min-height:44px;font-weight:600;touch-action:manipulation}.eken-button--icon.ant-btn,.eken-button--icon-xs.ant-btn,.eken-button--icon-sm.ant-btn{width:44px;padding-inline:0}.eken-button--icon-lg.ant-btn{width:48px;min-height:48px;padding-inline:0}.eken-button--secondary.ant-btn{border-color:transparent;background:var(--surface-3);color:var(--text);box-shadow:none}.eken-button--outline.ant-btn{border-color:var(--input-border);background:var(--surface);color:var(--text-secondary)}.eken-input.ant-input,.eken-input.ant-input-affix-wrapper,.eken-textarea.ant-input,.eken-select .ant-select-selector{min-height:44px}.eken-textarea.ant-input{min-height:96px}.eken-select-field{display:grid;min-width:0;gap:6px}.eken-field-label{color:var(--text-secondary);font-size:14px;font-weight:600}.eken-select{width:100%}.eken-select-popup .ant-select-item{min-height:44px;align-content:center}.eken-field-description,.eken-field-error{margin:0;font-size:12px;line-height:20px}.eken-field-description{color:var(--muted)}.eken-field-error{color:var(--danger)}.eken-confirm-description{color:var(--text-secondary);line-height:1.6}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;vertical-align:middle}.icon-spin{animation:icon-spin .9s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.icon-spin{animation:none}}.btn{min-height:44px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 18px;border-radius:9px;font-size:15px;cursor:pointer;text-decoration:none;touch-action:manipulation;box-shadow:var(--shadow-control);transition:background-color var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-control-hover)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn:disabled{opacity:var(--control-disabled-opacity);cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:transparent;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:transparent}.btn.primary:active:not(:disabled){background:var(--primary-pressed)}.btn[aria-pressed=true],.btn[aria-current]:not([aria-current=false]){color:var(--primary);border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:var(--primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn.danger{border-color:var(--danger);color:var(--danger);background:transparent}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar a{color:var(--muted);text-decoration:none;font-size:14px}.widget{display:flex;flex-direction:column;align-items:center;gap:18px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px}.orb{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--brand-secondary),var(--primary));box-shadow:0 0 color-mix(in srgb,var(--primary) 50%,transparent)}.orb.speaking{animation:pulse 1.2s ease-out infinite}.orb.idle{filter:grayscale(.5) brightness(.7)}.orb.recording{background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--danger) 68%,white),var(--danger));animation:pulse 1.2s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--primary) 45%,transparent)}to{box-shadow:0 0 0 28px transparent}}.status{color:var(--muted);font-size:14px;min-height:20px}.controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.transcript{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.transcript .empty{color:var(--muted);text-align:center;padding:24px 0}.bubble{max-width:80%;padding:9px 13px;border-radius:14px;font-size:15px;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--user);color:var(--text);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);border-bottom-right-radius:4px}.bubble.ai{align-self:flex-start;background:var(--ai);border-bottom-left-radius:4px}.textbar{display:flex;gap:10px}.textbar input{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:11px 16px;color:var(--text);font-size:15px}.textbar input:focus{outline:none;border-color:var(--primary)}.brief-form{display:grid;gap:18px;background:transparent;border:none;border-radius:0;padding:0;margin-bottom:22px}.target-ai-role-fieldset{min-width:0;margin:0;padding:0;border:0}.target-ai-role-fieldset legend{margin-bottom:7px;color:var(--text);font-size:16px;font-weight:650}.target-ai-role-fieldset>p{margin:0 0 12px;color:var(--muted);font-size:13px}.target-ai-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.target-ai-role-card{position:relative;display:grid;gap:7px;min-width:0;padding:14px;text-align:left;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:12px}button.target-ai-role-card{cursor:pointer;font:inherit}button.target-ai-role-card:hover:not(:disabled){border-color:var(--input-hover)}.target-ai-role-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--focus-ring)}.target-ai-role-card strong{padding-right:64px;font-size:14px}.target-ai-role-card span,.target-ai-role-card small{color:var(--muted);font-size:12px;line-height:1.45}.target-ai-role-card em{position:absolute;top:12px;right:12px;color:var(--primary);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.target-ai-role-card:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}@media(max-width:680px){.target-ai-role-grid{grid-template-columns:1fr}}.field{display:grid;gap:7px}.field label{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.field input,.field [data-slot=select-trigger],.field textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;padding:11px 14px;color:var(--text);font-size:14px;font-family:inherit;transition:background-color var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),color var(--motion-base) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.field .ant-input-affix-wrapper{min-height:46px;padding:0 14px;border:1px solid var(--input-border);border-radius:10px;background:var(--input-bg);box-shadow:none;transition:background-color var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.field .ant-input-affix-wrapper>input.ant-input{min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.field .ant-input-affix-wrapper:hover{border-color:var(--input-hover)}.field .ant-input-affix-wrapper-focused,.field .ant-input-affix-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;caret-color:var(--text)}.field input:hover,.field [data-slot=select-trigger]:hover,.field textarea:hover{border-color:var(--input-hover)}.field input:focus,.field [data-slot=select-trigger]:focus-visible,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.field ::placeholder{color:var(--muted);opacity:.7}.field textarea{min-height:72px;resize:vertical}.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;align-items:center;gap:14px}.saved-note{color:var(--ok);font-size:14px}.page.intake{max-width:1180px}.page.intake{color:var(--text);background:var(--bg);border-radius:0}.page.intake.eken-session{height:calc(100dvh - 52px);overflow:hidden;display:flex;flex-direction:column;padding:12px 16px 16px}.eken-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:var(--surface-translucent);border:1px solid var(--hairline);color:var(--muted);font-size:13px}.eken-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 8px var(--primary);animation:eken-pulse 1.6s ease-in-out infinite}@keyframes eken-pulse{50%{opacity:.35}}.eken-grid{display:grid;grid-template-columns:clamp(360px,30%,460px) 1fr;grid-template-rows:minmax(0,1fr);gap:0;align-items:stretch;flex:1;min-height:0;border:1px solid var(--hairline);border-radius:14px;overflow:hidden;background:var(--surface-translucent)}.eken-left{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--hairline);background:var(--surface);padding:0 0 14px}.eken-left .section-title{font-size:10px;letter-spacing:3px;padding:8px 22px 2px;margin:0}.eken-left .transcript{flex:1;max-height:none;min-height:0;overscroll-behavior:contain;background:transparent;border:none;border-radius:0;padding:10px 18px 12px;margin:0;gap:12px}.eken-right{min-width:0;min-height:0;display:flex;flex-direction:column}.eken-dot--ok{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 90%,transparent);animation:none}.eken-micro{font-size:10px;letter-spacing:2.6px;text-transform:uppercase;color:var(--muted)}.eken-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hairline);border-radius:999px;background:var(--surface-2);padding:3px 12px;font-size:12.5px;color:var(--text)}.eken-chip.deep{background:color-mix(in srgb,var(--primary) 12%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.courses-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--hairline);background:var(--surface-translucent);padding:12px 18px}.courses-title{font-size:11px;letter-spacing:2.4px;color:var(--muted);text-transform:uppercase}.courses-empty{font-size:12px;color:var(--muted)}@media(max-width:900px){.page.intake.eken-session{height:auto;overflow:visible}.eken-grid{grid-template-columns:1fr}.eken-left{border-right:none;border-bottom:1px solid var(--hairline)}.eken-left .transcript{flex:none;height:46vh;max-height:none}.eken-right .kg-stage{height:380px;flex:none}}.mentor{display:flex;align-items:center;gap:14px;padding:18px 20px 8px}.orb{width:108px;height:108px;border-radius:50%;flex:none;position:relative;overflow:hidden;box-shadow:0 0 28px color-mix(in srgb,var(--primary) 35%,transparent),inset 0 0 18px #00000059;transition:box-shadow .4s;background:var(--primary-soft)}.orb.speaking{box-shadow:0 0 38px color-mix(in srgb,var(--primary) 60%,transparent),inset 0 0 18px #00000059}.orb-spark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--primary);animation:orb-breathe 5.6s ease-in-out infinite}.orb-spark svg{width:44%;height:44%}@keyframes orb-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.orb-ring{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;pointer-events:none;border:1px solid color-mix(in srgb,var(--primary) 50%,transparent);border-top-color:transparent;border-bottom-color:color-mix(in srgb,var(--primary) 15%,transparent);animation:orb-spin 7s linear infinite}@keyframes orb-spin{to{transform:rotate(360deg)}}.mentor-meta{min-width:0;flex:1}.mentor-name{font-size:15px}.mentor-name b{color:var(--primary);font-weight:600}.mentor-status{color:var(--muted);transition:color .3s}.mentor-wave{display:flex;align-items:center;gap:2.5px;height:26px;margin-top:8px}.mentor-wave i{width:2.5px;height:20px;border-radius:2px;background:var(--primary);opacity:.35;transform:scaleY(.18);transition:transform .4s,opacity .4s}.mentor-wave.on i{opacity:.85;animation:wave-bounce 1s ease-in-out infinite}@keyframes wave-bounce{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.mic-cta{margin-left:auto;display:flex;flex-direction:column;align-items:center;gap:5px;flex:none}.mic-big{width:54px;height:54px;border-radius:50%;cursor:pointer;position:relative;border:1px solid color-mix(in srgb,var(--primary) 65%,transparent);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--primary) 40%,transparent),var(--surface-2));display:grid;place-items:center;color:var(--text);box-shadow:0 0 26px color-mix(in srgb,var(--primary) 50%,transparent),inset 0 0 12px color-mix(in srgb,var(--primary) 18%,transparent);transition:.2s}.mic-big:hover:not(:disabled){box-shadow:0 0 40px color-mix(in srgb,var(--primary) 80%,transparent);transform:scale(1.05)}.mic-big:disabled{opacity:.45;cursor:not-allowed}.mic-big:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);animation:micPulse 2.2s ease-out infinite}.mic-big:disabled:after{animation:none;opacity:0}@keyframes micPulse{0%{transform:scale(.88);opacity:.9}70%{transform:scale(1.3);opacity:0}to{opacity:0}}.mic-big.rec{border-color:var(--danger);color:var(--danger);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--danger) 35%,transparent),var(--danger-soft));box-shadow:0 0 26px color-mix(in srgb,var(--danger) 50%,transparent)}.mic-big.rec:after{border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.mic-hint{font-size:9px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase}.msg-row{display:flex;align-items:flex-start;gap:9px;max-width:92%}.msg-row.user{align-self:flex-end;justify-content:flex-end}.msg-spark{flex:none;width:28px;height:28px;margin-top:4px;display:grid;place-items:center;color:var(--primary)}.page.intake .bubble{font-size:13.5px;line-height:1.45;padding:10px 14px;border-radius:14px;width:max-content;max-width:100%}.page.intake .bubble.ai{background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-top-left-radius:4px;color:var(--text)}.page.intake .bubble.user{background:var(--user);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);border-top-right-radius:4px;color:var(--text)}.msg-meta{display:block;margin-top:5px;font-size:10px;color:var(--muted);text-align:right}.msg-check{color:var(--primary)}.page.intake .bubble.typing i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--primary);margin:0 1.5px;animation:tp 1.2s infinite}.page.intake .bubble.typing i:nth-child(2){animation-delay:.15s}.page.intake .bubble.typing i:nth-child(3){animation-delay:.3s}@keyframes tp{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.composer{margin:6px 16px 0;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);border-radius:18px;background:var(--surface-translucent);box-shadow:0 0 24px color-mix(in srgb,var(--primary) 8%,transparent),inset 0 0 18px color-mix(in srgb,var(--primary) 4%,transparent);padding:10px 12px;display:flex;align-items:center;gap:12px;transition:border-color .15s ease}.composer:focus-within{border-color:color-mix(in srgb,var(--primary) 70%,transparent)}.composer input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:13px;font-family:inherit}.composer input::placeholder{color:var(--muted)}.send-btn{width:38px;height:38px;border-radius:50%;flex:none;cursor:pointer;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 50%,transparent);background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);transition:.2s}.send-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 20%,transparent)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.eken-right .kg-panel{flex:1;display:flex;flex-direction:column;margin-top:0;min-width:0;min-height:0;border:none;border-radius:0;background:transparent}.eken-right .kg-stage{flex:1;height:auto;min-height:0}.page.intake .kg-stage{background:radial-gradient(60% 50% at 60% 40%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 70%),radial-gradient(40% 35% at 75% 75%,color-mix(in srgb,var(--brand-secondary) 8%,transparent),transparent 70%),var(--bg)}.page.intake .kg-head{border-bottom:1px solid var(--hairline)}.page.intake .kg-spark{background:radial-gradient(circle at 32% 28%,var(--brand-secondary),var(--primary));box-shadow:0 0 16px color-mix(in srgb,var(--primary) 50%,transparent)}.page.review{max-width:1180px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.review-col{min-width:0}.review-grid .transcript{max-height:calc(100vh - 150px);position:sticky;top:16px}.review-grid .brief-form{margin-bottom:0}@media(max-width:900px){.review-grid{grid-template-columns:1fr}.review-grid .transcript{position:static;max-height:360px}}.roadmap-target{font-size:16px;margin:0 0 4px}.roadmap-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:16px}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:grid;gap:8px}.course-head{display:flex;align-items:center;gap:12px}.course-num{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:var(--primary-ink);font-weight:700}.course-head h3{margin:0;font-size:17px}.course-topic{color:var(--muted);font-size:13px}.course-card p{margin:0;font-size:14px}.builds-on{color:var(--muted);font-style:italic}.course-skills{display:grid;gap:4px;font-size:14px}.tag{display:inline-block;font-size:11px;font-weight:700;padding:1px 6px;border-radius:6px;margin-right:4px}.tag.deep{background:var(--primary);color:var(--primary-ink)}.tag.aware{background:var(--surface-2);border:1px solid var(--hairline);color:var(--text)}.course-outcome{color:var(--ok)}.app-header{height:var(--app-header-height);padding:0 32px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:32px;border-bottom:1px solid var(--hairline);background:var(--surface-translucent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:50}.app-header-center{display:flex;justify-content:center;min-width:0}.app-header .app-nav{justify-content:flex-end}.app-brand{min-width:44px;min-height:44px;font-weight:700;font-size:18px;color:var(--text);text-decoration:none;letter-spacing:.02em;display:inline-flex;align-items:center;gap:8px}.app-brand .eken-mark{color:transparent;background:linear-gradient(135deg,var(--primary),var(--brand-secondary));background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--primary) 45%,transparent))}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--muted);padding:7px 14px;font-size:13px}.btn.ghost:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-hover)}.app-nav{display:flex;align-items:center;gap:12px}.app-settings-trigger.ant-btn{position:relative;min-width:44px;min-height:44px;padding:6px;border-radius:999px}.app-user-avatar{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--primary);background:var(--primary-soft);font-size:13px;font-weight:700}.app-settings-trigger-icon{position:absolute;right:2px;bottom:2px;width:17px;height:17px;display:grid;place-items:center;border:2px solid var(--surface);border-radius:50%;color:var(--text-secondary);background:var(--surface-2);font-size:9px}.app-settings-panel{width:min(320px,calc(100vw - 32px));display:grid;gap:4px}.app-settings-account{min-width:0;display:flex;align-items:center;gap:12px;padding:4px 4px 14px;border-bottom:1px solid var(--hairline)}.app-settings-account-copy{min-width:0;display:grid;gap:2px}.app-settings-account-copy strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.app-settings-account-copy a{color:var(--primary);font-size:13px}.app-settings-row{display:grid;gap:8px;padding:12px 4px;border-bottom:1px solid var(--hairline);color:var(--text-secondary);font-size:12px;font-weight:650}.app-settings-row .language-switcher,.app-settings-row .theme-switcher{justify-self:start}.app-settings-logout.ant-btn{min-height:44px;justify-content:flex-start;margin-top:4px;padding-inline:4px;color:var(--text-secondary)}.app-tabs{display:flex;align-items:center;gap:22px;height:100%}.app-tab{position:relative;display:inline-flex;align-items:center;height:100%;min-width:44px;min-height:44px;padding:0;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600}.app-tab:hover,.app-tab.active{color:var(--text)}.app-tab.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:var(--primary)}.theme-switcher.ant-segmented{padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.theme-switcher-option{width:44px;height:44px;display:grid;place-items:center;padding:0;color:var(--muted)}.language-switcher-compact{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.language-switcher .ant-segmented-item-label{min-height:28px;line-height:28px;padding-inline:8px}.auth-theme{gap:8px}.theme-switcher .ant-segmented-item{min-width:44px;min-height:44px}.theme-switcher .ant-segmented-item-label{min-height:44px;padding:0}.theme-switcher .ant-segmented-item:hover .theme-switcher-option{color:var(--text)}.theme-switcher .ant-segmented-item-selected .theme-switcher-option{color:var(--primary)}.theme-switcher-option .anticon{font-size:17px}@media(max-width:1100px){:root,:root[data-theme=light],:root[data-theme=dark],:root.dark{--app-header-height: 100px}.app-header{padding-inline:12px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:56px 44px;grid-template-areas:"brand actions" "tabs tabs";gap:0 8px}.app-brand{grid-area:brand;justify-self:start;min-height:44px}.app-tabs{grid-area:tabs;width:calc(100% + 24px);margin-inline:-12px;padding-inline:12px;gap:20px;overflow-x:auto;border-top:1px solid var(--hairline);scrollbar-width:none}.app-tabs::-webkit-scrollbar{display:none}.app-header-center{display:none}.app-tab{flex:none;min-height:44px;font-size:13px}.app-header .app-nav{grid-area:actions;gap:6px}.theme-switcher-option{width:44px;height:44px}.app-settings-trigger.ant-btn{min-width:44px;min-height:44px}}@media(max-width:680px){.app-tab{min-width:44px;justify-content:center}.theme-switcher.ant-segmented{padding:3px}.theme-switcher-option{width:44px;height:44px}.app-settings-trigger.ant-btn{min-width:44px;min-height:44px}}@media(max-width:430px){.app-brand-label{display:none}}@media(prefers-reduced-motion:reduce){body,.btn,.admin-shell a,.admin-shell button{transition:none}.btn:active:not(:disabled){transform:none}}.nx-env-gen{width:100%}.env-gen{display:flex;flex-direction:column;gap:8px;min-width:0}.env-gen-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0;font-size:12px;color:var(--muted)}.env-gen-current{min-width:0;overflow:hidden;color:var(--text);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.env-gen-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.env-gen-bar-fill{height:100%;border-radius:999px;background:var(--primary);transition:width .5s ease}.env-gen-steps{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 12px;min-width:0;font-size:12px;color:var(--muted)}.env-gen-step{position:relative;flex:1 1 92px;min-width:0;padding-left:14px;line-height:1.35;overflow-wrap:break-word}.env-gen-step:before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:999px;background:var(--border)}.env-gen-step.done{opacity:.7}.env-gen-step.done:before{background:var(--primary)}.env-gen-step.active{color:var(--text);font-weight:600}.env-gen-step.active:before{background:var(--primary);animation:env-gen-pulse 1.4s ease-in-out infinite}.env-gen-time{flex:0 0 auto;margin-left:auto;font-variant-numeric:tabular-nums;opacity:.8}.env-gen-eta{font-size:11.5px;color:var(--muted);opacity:.85;line-height:1.45}@keyframes env-gen-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.auth-page{position:relative;min-height:100dvh;display:grid;place-items:center;overflow-y:auto;padding:88px 24px 40px;background:var(--bg)}.auth-theme{position:fixed;z-index:2;top:20px;right:20px}.auth-shell{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1fr) 440px;align-items:stretch;gap:24px}.auth-hero{position:relative;min-width:0;min-height:620px;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--hairline);border-radius:18px;background:var(--bg);box-shadow:0 16px 40px -16px var(--shadow-color)}.auth-hero-visual{position:relative;min-height:0}.auth-loop-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.auth-hero-brand{position:relative;z-index:1;width:min(390px,calc(100% - 56px));max-width:390px;margin:0 28px 24px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--hairline));border-radius:14px;background:var(--surface-translucent);box-shadow:0 10px 28px -16px var(--shadow-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-hero-title{display:flex;align-items:center;gap:7px;color:var(--text);font-size:16px;font-weight:700;line-height:1.3}.auth-hero-title .eken-mark{color:var(--primary)}.auth-hero-tag{margin:5px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.45}.auth-surface{width:100%;align-self:center;display:grid;gap:16px;padding:32px;border:1px solid var(--hairline);border-radius:18px;background:var(--surface);box-shadow:0 16px 40px -10px var(--shadow-color)}.auth-brand{display:inline-flex;align-items:center;justify-self:start;gap:4px;color:var(--text);font-size:16px;font-weight:600;line-height:1.35;letter-spacing:-.002em}.auth-brand .eken-mark{color:var(--brand-secondary);font-size:14px;line-height:1}.auth-card{width:100%;display:grid;gap:24px}.auth-heading{display:grid;gap:8px}.auth-card h1{margin:0;font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.005em;color:var(--text)}.auth-heading .hint,.auth-card>.hint{margin:0;color:var(--text-secondary);font-size:16px;line-height:1.45}.auth-kicker{font-size:10.5px;letter-spacing:2.6px;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 -8px}.auth-form{display:grid;gap:12px}.auth-form .field{gap:8px}.auth-form .field label{color:var(--text);font-size:14px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none}.auth-form .field input{height:48px;min-height:48px;padding:12px 16px;border-radius:14px;background:var(--surface-2);font-size:16px;line-height:1.45}.auth-form .field .ant-input-affix-wrapper{min-height:48px;padding:0 16px;border-radius:14px;background:var(--surface-2)}.auth-form .field .ant-input-affix-wrapper>input.ant-input{height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.auth-form .btn{justify-content:center;width:100%;min-height:52px;padding:16px 24px;border-radius:14px;font-size:14px;line-height:1}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-subtle);font-size:14px;line-height:1.4}.auth-divider:before,.auth-divider:after{height:1px;flex:1;content:"";background:var(--hairline)}.auth-google{display:grid;gap:12px}.google-btn{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;overflow:hidden;border-radius:14px}.auth-links{display:grid;justify-items:center;gap:10px;color:var(--text-subtle);font-size:16px;line-height:1.45;text-align:center}.auth-links a{color:var(--primary);font-size:14px;font-weight:600;line-height:1;text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-links .auth-forgot{font-weight:500}.auth-page--login{place-items:center;overflow-x:clip;padding:24px;background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--primary) 7%,transparent) 0,transparent 42%),linear-gradient(90deg,color-mix(in srgb,var(--hairline) 38%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--hairline) 38%,transparent) 1px,transparent 1px),var(--bg);background-size:auto,72px 72px,72px 72px,auto}.auth-page--login .auth-shell{position:relative;isolation:isolate;width:min(1180px,100%);min-height:max(760px,calc(100dvh - 48px));grid-template:1fr / 1fr;place-items:center;gap:0}.auth-page--login .auth-hero{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;display:block;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.auth-page--login .auth-hero-visual{position:absolute;top:0;right:0;bottom:0;left:0}.auth-page--login .auth-hero-brand{display:none}.auth-page--login .auth-surface{position:relative;z-index:1;width:min(420px,calc(100vw - 48px));align-self:center;justify-self:center;gap:20px;margin:0;padding:32px 34px 28px;border-color:color-mix(in srgb,var(--primary) 16%,var(--hairline));border-radius:30px;background:var(--surface);box-shadow:0 0 0 8px color-mix(in srgb,var(--surface) 76%,transparent),0 32px 90px -56px var(--shadow-color);animation:auth-portal-enter .56s cubic-bezier(.22,1,.36,1) both}.auth-page--login .auth-surface:before,.auth-page--login .auth-surface:after{position:absolute;top:50%;width:24px;height:1px;content:"";background:color-mix(in srgb,var(--primary) 54%,var(--hairline))}.auth-page--login .auth-surface:before{left:-32px}.auth-page--login .auth-surface:after{right:-32px}.auth-page--login .auth-brand{justify-self:center;gap:7px;font-family:Geist,Inter,sans-serif;font-size:15px;font-weight:650;letter-spacing:-.02em}.auth-page--login .auth-brand .eken-mark{font-size:13px}.auth-card--login{gap:20px}.auth-card--login .auth-heading{justify-items:center;gap:8px;text-align:center}.auth-card--login h1{font-family:Geist,Inter,sans-serif;font-size:clamp(32px,4vw,38px);font-weight:620;line-height:1.06;letter-spacing:-.045em}.auth-card--login .auth-heading .hint{max-width:32ch;font-size:14px;line-height:1.5}.auth-card--login .auth-form{gap:13px}.auth-card--login .auth-form .field{gap:7px}.auth-field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.auth-field-heading .auth-forgot{display:inline-flex;min-height:44px;align-items:center;color:var(--primary);font-size:13px;font-weight:600;line-height:1.4;margin-block:-13px;text-decoration:none}.auth-field-heading .auth-forgot:hover{text-decoration:underline;text-underline-offset:3px}.auth-field-heading .auth-forgot:focus-visible,.auth-login-footer a:focus-visible{border-radius:5px;outline:3px solid var(--focus-ring);outline-offset:3px}.auth-card--login .auth-form .field input{height:auto;min-height:0;padding:0;background:transparent}.auth-card--login .auth-form .field>.ant-input-affix-wrapper{min-height:52px;gap:10px;padding:0 16px;border-radius:14px;background:var(--input-bg);box-shadow:var(--shadow-control)}.auth-card--login .auth-form .field>.ant-input-affix-wrapper-focused{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring),var(--shadow-control)}.auth-card--login .auth-form .ant-input-prefix{color:var(--text-subtle);font-size:16px}.auth-card--login .auth-form .ant-input-affix-wrapper-focused .ant-input-prefix{color:var(--primary)}.auth-card--login .auth-form .btn{display:inline-flex;align-items:center;gap:10px;margin-top:3px;box-shadow:0 10px 24px -14px var(--primary)}.auth-card--login .auth-form .btn:not(:disabled):hover{transform:translateY(-1px)}.auth-card--login .auth-form .btn:not(:disabled):active{transform:translateY(0)}.auth-card--login .auth-google{gap:12px}.auth-card--login .auth-divider{font-size:12px}.auth-card--login .google-btn{min-height:48px}.auth-login-footer{padding-top:0;font-size:14px}.auth-login-footer a{display:inline-flex;min-height:44px;align-items:center;margin:-13px 0 -13px 4px}@keyframes auth-portal-enter{0%{opacity:0;transform:scale(.965)}to{opacity:1;transform:scale(1)}}@media(max-width:900px){.auth-page{place-items:start center}.auth-shell{max-width:560px;grid-template-columns:1fr;gap:16px}.auth-hero{min-height:320px}.auth-surface{width:min(440px,100%);justify-self:center}.auth-page--login{place-items:center;padding:20px}.auth-page--login .auth-shell{max-width:none;min-height:max(760px,calc(100dvh - 40px));grid-template-columns:1fr;gap:0}.auth-page--login .auth-hero{min-height:0}.auth-page--login .auth-surface{width:min(420px,calc(100vw - 40px));margin:0}}@media(max-width:560px){.auth-page{place-items:start center;padding:72px 16px 24px}.auth-theme{top:12px;right:12px}.auth-surface{padding:24px;border-radius:16px}.auth-hero{min-height:270px;border-radius:16px}.auth-hero-brand{width:calc(100% - 24px);max-width:none;margin:0 12px 12px;padding:9px 11px;border-radius:11px}.auth-hero-title{font-size:14px}.auth-hero-tag{margin-top:2px;font-size:11.5px;line-height:1.35}.auth-page--login{padding:64px 12px 12px;background-size:auto,56px 56px,56px 56px,auto}.auth-page--login .auth-shell{min-height:max(760px,calc(100dvh - 76px));gap:0}.auth-page--login .auth-hero{min-height:0;border-radius:0}.auth-page--login .auth-hero-brand{display:none}.auth-page--login .auth-surface{width:min(100%,calc(100vw - 24px));gap:18px;margin:0;padding:26px 22px 22px;border-radius:24px}.auth-page--login .auth-surface:before,.auth-page--login .auth-surface:after{width:12px}.auth-page--login .auth-surface:before{left:-20px}.auth-page--login .auth-surface:after{right:-20px}.auth-card--login{gap:18px}.auth-card--login h1{font-size:32px}.auth-card--login .auth-form{gap:12px}}@media(prefers-reduced-motion:reduce){.auth-page--login .auth-surface{animation:none}.auth-card--login .auth-form .btn{transition:none}.auth-card--login .auth-form .btn:not(:disabled):hover,.auth-card--login .auth-form .btn:not(:disabled):active{transform:none}}.section-title{font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.error{color:var(--danger);font-size:14px;margin-top:8px}.hint{color:var(--muted);font-size:13px}h2{margin:0 0 6px}@media(max-width:560px){.row2{grid-template-columns:1fr}}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:40px 0;color:var(--muted)}.brief-directions{margin-bottom:16px;padding:18px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface)}.brief-directions-head,.learning-context-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.brief-directions-head h2,.learning-context-head h3{margin:4px 0 0}.brief-direction-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:16px}.brief-direction{min-width:0;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--hairline);border-radius:11px;background:var(--surface-2)}.brief-direction.selected{border-color:color-mix(in srgb,var(--primary) 42%,transparent);box-shadow:inset 3px 0 0 var(--primary)}.brief-direction-main{min-width:0;display:flex;align-items:flex-start;gap:10px;padding:0;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.brief-direction-main>span:last-child{min-width:0;display:flex;flex-direction:column;gap:4px}.brief-direction-main strong,.brief-direction-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief-direction-main small,.brief-direction-pending{color:var(--muted);font-size:11.5px}.brief-direction-dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 10px color-mix(in srgb,var(--primary) 55%,transparent)}.brief-direction>a{color:var(--primary);font-size:12px;text-decoration:none}.learning-context{padding:20px;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);border-radius:14px;background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 38%),var(--surface)}.learning-context-count{padding:4px 10px;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:999px;color:var(--primary);font-size:11px}.learning-context-copy{max-width:760px;margin:12px 0 0;color:var(--muted);line-height:1.55}.learning-context-chips,.learning-context-directions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.learning-context-directions span{padding:4px 9px;border-left:2px solid var(--primary);background:color-mix(in srgb,var(--primary) 6%,transparent);color:var(--text);font-size:12px}.learning-context-note{display:flex;align-items:center;gap:7px;margin:14px 0 0;color:var(--muted);font-size:12px}.learning-context-note .material-symbols-outlined{color:var(--primary);font-size:16px}@media(max-width:900px){.brief-directions-head{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.brief-directions,.learning-context{padding:14px}}.voice-settings-toolbar{position:fixed;top:50%;right:0;z-index:var(--z-popover);transform:translateY(-50%);pointer-events:none}.voice-settings-tab{width:44px;min-height:184px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);border-right:0;border-radius:14px 0 0 14px;background:var(--surface-translucent);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--muted);font:inherit;cursor:pointer;pointer-events:auto;transition:color var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard)}.voice-settings-tab:hover,.voice-settings-toolbar[data-open=true] .voice-settings-tab{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:var(--surface);color:var(--text)}.voice-settings-tab:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-1px}.voice-settings-tab-word{display:flex;flex-direction:column;align-items:center;gap:2px;color:currentColor;font-size:12px;font-weight:650;line-height:1;letter-spacing:.02em}.voice-settings-panel{position:absolute;top:50%;right:54px;width:min(360px,calc(100vw - 70px));max-height:min(420px,calc(100dvh - 32px));padding:14px;overflow:auto;border:1px solid var(--border);border-radius:16px;background:var(--surface-translucent);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transform:translate(18px,-50%) scale(.98);transform-origin:right center;transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard),visibility 0s linear var(--motion-base)}.voice-settings-toolbar[data-open=true] .voice-settings-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) scale(1);transition-delay:0s}.voice-settings-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 2px 12px;color:var(--text)}.voice-settings-panel-head>span:first-child{min-width:0;display:flex;flex-direction:column;gap:2px}.voice-settings-panel-head strong{font-size:15px;line-height:1.2}.voice-settings-kicker{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.voice-settings-list{display:grid;gap:8px}.voice-settings-item{min-height:64px;padding:10px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface-2)}.voice-settings-item:hover{border-color:var(--border-strong);background:var(--surface-hover)}.voice-settings-item-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary)}.voice-settings-item-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.voice-settings-item-copy strong{color:var(--text);font-size:13px;line-height:1.2}.voice-settings-item-copy small{color:var(--muted);font-size:10.5px;line-height:1.3}.voice-settings-item--choice>.theme-switcher,.voice-settings-item--choice>.language-switcher{justify-self:end}@media(max-width:700px){.voice-settings-toolbar{top:50%}.voice-settings-panel{right:50px;width:min(320px,calc(100vw - 62px))}}@media(max-width:420px){.voice-settings-item--choice{grid-template-columns:36px minmax(0,1fr)}.voice-settings-item--choice>.theme-switcher,.voice-settings-item--choice>.language-switcher{width:100%;grid-column:1 / -1}.voice-settings-item--choice>.ant-segmented .ant-segmented-group{width:100%}.voice-settings-item--choice>.ant-segmented .ant-segmented-item{flex:1}}@media(prefers-reduced-motion:reduce){.voice-settings-tab,.voice-settings-panel{transition:none}}body:has(.quick-start-page) .app-header{display:none}.quick-start-page{min-height:100dvh;padding:24px;display:flex;align-items:center;justify-content:center;overflow:auto;background:var(--bg)}@supports (align-items: safe center){.quick-start-page{align-items:safe center}}.quick-start-card{width:min(680px,100%);min-height:566px;padding:40px;display:flex;flex-direction:column;gap:24px;border:0;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border),0 16px 40px -10px var(--shadow-color)}.quick-start-header,.quick-start-copy,.quick-start-questions,.quick-start-footer{display:flex;flex-direction:column}.quick-start-header{gap:12px}.quick-start-kicker-row,.quick-start-actions{display:flex;align-items:center;justify-content:space-between}.quick-start-kicker,.quick-start-duration{font-size:14px;line-height:19.6px;font-weight:600}.quick-start-kicker{color:var(--text-secondary)}.quick-start-duration{color:var(--muted);font-variant-numeric:tabular-nums}.quick-start-progress{width:100%;line-height:0}.quick-start-progress .ant-progress-inner{background:var(--border)}.quick-start-copy{gap:16px}.quick-start-copy h1,.quick-start-state-copy h1{margin:0;color:var(--text);font-size:24px;line-height:30px;font-weight:700;letter-spacing:-.005em}.quick-start-copy p,.quick-start-state-copy p{margin:0;max-width:570px;color:var(--muted);font-size:16px;line-height:23.2px}.quick-start-questions{gap:24px}.quick-start-question{min-width:0;margin:0;padding:0;border:0}.quick-start-question legend{margin:0 0 12px;padding:0;color:var(--text);font-size:16px;line-height:21.6px;font-weight:600;letter-spacing:-.002em}.quick-start-choices{display:flex;flex-wrap:wrap;gap:8px}.quick-start-choice{position:relative;display:inline-flex;min-height:44px;cursor:pointer}.quick-start-choice.ant-checkbox-wrapper .ant-checkbox{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.quick-start-choice.ant-checkbox-wrapper>span:last-child,.quick-start-choice.ant-radio-button-wrapper{height:44px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--input-border);border-radius:999px;background:var(--input-bg);color:var(--text-secondary);font-size:14px;line-height:19.6px;font-weight:500;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.quick-start-choice.ant-checkbox-wrapper:hover>span:last-child,.quick-start-choice.ant-radio-button-wrapper:hover{border-color:var(--input-hover);background:var(--surface-hover)}.quick-start-choice.ant-checkbox-wrapper:has(.ant-checkbox-checked)>span:last-child,.quick-start-choice.ant-radio-button-wrapper-checked{border:1.5px solid var(--primary);background:var(--primary-soft);color:var(--primary)}.quick-start-choice.ant-checkbox-wrapper:has(input:focus-visible)>span:last-child,.quick-start-choice.ant-radio-button-wrapper:has(input:focus-visible),.quick-start-skip:focus-visible,.quick-start-continue:focus-visible{outline:0;box-shadow:0 0 0 4px var(--focus-ring)}.quick-start-question:disabled .quick-start-choice,.quick-start-choice.ant-checkbox-wrapper-disabled,.quick-start-choice.ant-radio-button-wrapper-disabled{cursor:wait}.quick-start-question:disabled .quick-start-choice,.quick-start-choice.ant-checkbox-wrapper-disabled,.quick-start-choice.ant-radio-button-wrapper-disabled{opacity:.64}.quick-start-footer{gap:12px;margin-top:auto}.quick-start-error{margin:0;color:var(--danger);font-size:13px;line-height:19px}.quick-start-actions{gap:12px}.quick-start-skip,.quick-start-continue{height:52px;border-radius:14px;font:inherit;font-size:14px;line-height:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform 80ms ease,opacity .15s ease}.quick-start-skip{width:84px;padding:0;border:0;background:transparent;color:var(--muted)}.quick-start-skip:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.quick-start-continue{width:162px;padding:0 20px;border:1px solid var(--primary);background:var(--primary);color:var(--primary-ink)}.quick-start-continue:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.quick-start-continue:active:not(:disabled){border-color:var(--primary-pressed);background:var(--primary-pressed)}.quick-start-skip:active:not(:disabled),.quick-start-continue:active:not(:disabled){transform:translateY(1px)}.quick-start-skip:disabled,.quick-start-continue:disabled{cursor:not-allowed;opacity:.5}.quick-start-state-card{justify-content:flex-start}.quick-start-state-copy{margin:auto 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.quick-start-retry{margin-top:8px}.quick-start-skeleton{display:block;height:18px;border-radius:999px;background:var(--surface-3);animation:quick-start-pulse 1.4s ease-in-out infinite}.quick-start-skeleton--short{width:104px}.quick-start-skeleton--progress{width:100%;height:6px}.quick-start-skeleton--title{width:min(420px,82%);height:34px;border-radius:10px}.quick-start-skeleton--copy{width:min(540px,94%);height:46px;border-radius:10px}.quick-start-skeleton-chips{display:flex;flex-wrap:wrap;gap:8px}.quick-start-skeleton-chips span{width:118px;height:44px;border-radius:999px;background:var(--surface-3);animation:quick-start-pulse 1.4s ease-in-out infinite}@keyframes quick-start-pulse{50%{opacity:.48}}@media(max-width:719px){.quick-start-page{align-items:flex-start;padding:24px 16px}.quick-start-card{min-height:calc(100dvh - 48px);padding:24px}.quick-start-copy h1,.quick-start-state-copy h1{font-size:24px;line-height:30px}.quick-start-actions{align-items:stretch}.quick-start-continue{flex:1;width:auto;min-width:162px}}@media(max-height:649px){.quick-start-page{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.quick-start-skeleton{animation:none}.quick-start-choice span,.quick-start-skip,.quick-start-continue{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.course-hub{width:min(1280px,calc(100% - 64px));margin:0 auto;padding:40px 0 96px}.course-hub-hero{max-width:760px;margin-bottom:40px}.course-hub-hero h1,.course-section-heading h2,.catalog-card h3{margin:0;color:var(--text);letter-spacing:-.03em}.course-hub-hero .eken-micro{display:block;margin-bottom:9px;color:var(--primary)}.course-hub-hero h1{max-width:620px;font-size:clamp(38px,4.2vw,56px);font-weight:760;line-height:.98;letter-spacing:-.055em}.course-hub-hero p{max-width:620px;margin:16px 0 0;color:var(--muted);font-size:17px;line-height:1.5}.course-hub-inline-state,.course-hub-inline-error,.catalog-state,.course-access-error{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:12px 16px;border:1px solid var(--hairline);border-radius:14px;color:var(--muted);background:var(--surface)}.course-hub-query-feedback{margin-bottom:28px}.course-hub-query-feedback .course-hub-inline-state,.course-hub-query-feedback .course-hub-inline-error{margin:0 0 10px}.course-hub-inline-error,.course-access-error{border-color:color-mix(in srgb,var(--danger) 34%,var(--hairline));color:var(--danger);background:color-mix(in srgb,var(--danger-soft) 62%,var(--surface))}.course-library-layout{display:grid;grid-template-columns:218px minmax(0,1fr);gap:42px;align-items:start}.course-library-content{min-width:0}.course-section-index{position:sticky;top:24px;min-width:0;padding:18px 0 18px 18px;border-left:1px solid var(--hairline)}.course-section-index-title{display:block;margin:0 14px 12px 0;color:var(--text-subtle);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.course-section-index ol{display:grid;gap:3px;margin:0;padding:0;list-style:none}.course-section-index a{position:relative;min-width:0;min-height:44px;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;margin-left:-23px;padding:8px 10px 8px 0;border-radius:0 10px 10px 0;color:var(--muted);text-decoration:none;transition:color var(--motion-fast) ease,background var(--motion-fast) ease}.course-section-index a:hover{color:var(--text);background:var(--surface-hover)}.course-section-index a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.course-section-index a.active{color:var(--text);background:var(--primary-soft)}.course-section-index-marker{width:8px;height:8px;border:2px solid var(--border-strong);border-radius:50%;background:var(--bg);transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease,transform var(--motion-fast) ease}.course-section-index a.active .course-section-index-marker{border-color:var(--primary);background:var(--brand-secondary);box-shadow:0 0 0 3px var(--primary-soft);transform:scale(1.08)}.course-section-index-label{min-width:0;overflow:hidden;font-size:13px;font-weight:620;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.course-section-index-count{min-width:22px;color:var(--text-subtle);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;text-align:right}.catalog-toolbar{margin:24px 0}.catalog-toolbar-row{display:grid;grid-template-columns:minmax(260px,1fr) 160px 126px;gap:12px}.catalog-search,.catalog-filter-button,.catalog-sort .ant-select-selector,.gen-lesson-select .ant-select-selector{min-height:48px;border:1px solid var(--input-border);border-radius:10px;color:var(--text);background:var(--input-bg);font:inherit}.catalog-search{display:flex;align-items:center;gap:9px;padding:0 13px}.catalog-search:focus-within,.catalog-sort.ant-select-focused .ant-select-selector,.gen-lesson-select.ant-select-focused .ant-select-selector{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px var(--focus-ring)}.catalog-search .material-symbols-outlined{color:var(--text-subtle);font-size:20px}.catalog-search input{width:100%;min-width:0;padding:0;border:0;outline:0;color:var(--text);background:transparent;font:inherit;font-size:14px}.catalog-filter-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;color:var(--text-secondary);cursor:pointer}.catalog-filter-button:hover,.catalog-filter-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--primary) 42%,var(--input-border));color:var(--primary);background:var(--primary-soft)}.catalog-filter-button .material-symbols-outlined{font-size:18px}.catalog-filter-count{min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;color:var(--primary-ink);background:var(--primary);font-size:11px}.catalog-sort .ant-select-selector,.gen-lesson-select .ant-select-selector{width:100%;min-width:0;padding:0 34px 0 12px}.catalog-filter-panel{margin-top:10px;padding:18px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface);box-shadow:0 12px 28px color-mix(in srgb,var(--shadow-color) 62%,transparent)}.catalog-filter-panel fieldset{min-width:0;margin:0;padding:0;border:0}.catalog-filter-panel legend{margin-bottom:7px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.03em}.catalog-filter-panel p{margin:0;color:var(--muted);font-size:13px}.catalog-level-options{display:flex;flex-wrap:wrap;gap:8px}.catalog-level-options label{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--hairline);border-radius:10px;color:var(--text-secondary);background:var(--surface-2);cursor:pointer}.catalog-level-options label:has(input:checked){border-color:color-mix(in srgb,var(--primary) 45%,var(--hairline));color:var(--primary);background:var(--primary-soft)}.catalog-level-options input{accent-color:var(--primary)}.catalog-topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.catalog-topic-chips button{min-height:44px;max-width:260px;padding:7px 12px;overflow:hidden;border:1px solid var(--hairline);border-radius:999px;color:var(--muted);background:var(--surface);font:inherit;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.catalog-topic-chips button:hover{border-color:var(--border-strong);color:var(--text)}.catalog-topic-chips button.active{border-color:color-mix(in srgb,var(--primary) 38%,var(--hairline));color:var(--primary);background:var(--primary-soft)}.my-courses,.course-catalog{scroll-margin-top:calc(var(--app-header-height) + 20px)}.my-courses{margin:0}.course-collection+.course-collection{margin-top:56px;padding-top:46px;border-top:1px solid var(--hairline)}.course-collection{scroll-margin-top:calc(var(--app-header-height) + 20px)}.course-collection .eken-micro{display:block;margin-bottom:5px;color:var(--muted)}.course-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.course-section-heading>div{min-width:0}.course-section-title-row{min-width:0;display:flex;align-items:baseline;gap:10px}.course-section-heading h2{min-width:0;font-size:26px;line-height:1.18}.course-collection--direction .course-section-heading h2{overflow-wrap:anywhere}.course-section-heading p{max-width:760px;margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.course-section-count{flex:none;color:var(--text-subtle);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.course-path-link{min-height:44px;flex:none;justify-content:center;margin-top:7px;border-radius:10px}.my-courses-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}.my-course-group{display:contents}.course-access-error{grid-column:1 / -1;margin:0}.my-course-card{min-width:0;min-height:210px;display:flex;flex-direction:column;padding:20px 24px;scroll-margin-top:calc(var(--app-header-height) + 18px);border:1px solid var(--hairline);border-radius:18px;color:var(--text);background:var(--surface);box-shadow:0 6px 20px color-mix(in srgb,var(--shadow-color) 46%,transparent);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.my-course-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 10px 26px color-mix(in srgb,var(--shadow-color) 64%,transparent)}.my-course-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.my-course-direction{min-width:0;min-height:44px;display:inline-flex;align-items:center;overflow:hidden;padding:8px 10px;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.my-course-direction:hover{color:var(--text)}.my-course-card .lesson-pills{flex:none;display:flex;align-items:center;gap:5px}.my-course-card .lesson-pill{padding:3px 7px;border:1px solid var(--hairline);border-radius:999px;color:var(--muted);background:var(--surface-2);font-size:10px;font-style:normal;line-height:1.2;white-space:nowrap}.my-course-card .lesson-pill.opt{border-style:dashed;color:var(--primary);background:var(--primary-soft)}.my-course-card .lesson-pill.done{color:var(--ok);background:var(--ok-soft)}.my-course-card .lesson-pill.run{color:var(--primary);background:var(--primary-soft)}.my-course-card .lesson-pill.run i{width:6px;height:6px;border-radius:50%;background:var(--primary)}.my-course-card .lesson-pill.gen{color:var(--warn);background:var(--warn-soft)}.my-course-card .lesson-pill.err{color:var(--danger);background:var(--danger-soft)}.my-course-card .lesson-pill.lockp{border-style:dashed}.my-course-title{margin:10px 0 4px;overflow:hidden;font-size:20px;line-height:1.2;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.my-course-topic{margin:0;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.my-course-meta{min-height:20px;display:flex;align-items:center;gap:14px;margin-top:7px;color:var(--text-subtle);font-size:12px}.my-course-meta span{display:inline-flex;align-items:center;gap:4px}.my-course-meta .material-symbols-outlined{font-size:14px}.my-course-error{margin:7px 0 0;color:var(--danger);font-size:11px}.my-course-foot{min-height:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:3px}.my-course-foot .btn{min-height:42px;padding:7px 13px;border-radius:10px;font-size:12px}.my-course-foot .lesson-links{display:flex;align-items:center}.my-course-foot .lesson-link{min-height:42px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border:1px solid transparent;border-radius:10px;color:var(--muted);background:transparent;font:inherit;font-size:11px;cursor:pointer}.my-course-foot .lesson-link:hover:not(:disabled){border-color:var(--hairline);color:var(--text);background:var(--surface-2)}.my-course-foot .lesson-link:focus-visible,.my-course-card .lesson-attempt-link:focus-visible,.my-course-card--add:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.my-course-foot .lesson-link:disabled{opacity:.5;cursor:default}.my-course-foot .lesson-link .material-symbols-outlined,.my-course-foot .btn .material-symbols-outlined{font-size:16px}.my-course-foot .lesson-lock,.my-course-foot .lesson-err{margin:0;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.my-course-foot .lesson-lock .material-symbols-outlined{font-size:16px}.my-course-foot .lesson-access-pending{color:var(--warn)}.my-course-foot .lesson-err{color:var(--danger)}.my-course-foot .lesson-gen{width:100%}.my-course-card .lesson-attempts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid var(--hairline)}.my-course-card .lesson-attempt-link{min-height:44px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--hairline);border-radius:9px;color:var(--muted);background:var(--surface-2);font-size:10px;text-decoration:none}.my-course-card .lesson-attempt-link:hover{border-color:var(--border-strong);color:var(--text);text-decoration:none}.my-course-card .lesson-attempt-link .material-symbols-outlined{font-size:15px}.my-course-card--add{min-height:210px;display:grid;place-content:center;gap:6px;border-style:dashed;color:var(--muted);text-align:center;text-decoration:none;cursor:pointer;box-shadow:none}.my-course-card--add:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.my-course-add-plus{width:44px;height:44px;display:grid;place-items:center;justify-self:center;border-radius:50%;color:var(--primary);background:var(--primary-soft);font-size:27px;line-height:1}.my-course-add-title{margin-top:6px;color:var(--text);font-size:16px;font-weight:700}.my-course-add-subtitle{color:var(--muted);font-size:14px}.my-course-card--gen{grid-column:1 / -1;min-height:210px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:22px;border:1px solid var(--hairline);border-radius:18px;background:var(--surface);box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-color) 50%,transparent)}.my-course-card--gen .gen-lesson-label,.my-course-card--gen .gen-lesson-desc,.my-course-card--gen .gen-lesson-levels,.my-course-card--gen .gen-lesson-error,.my-course-card--gen .gen-lesson-actions,.my-course-card--gen .gen-lesson-wait{grid-column:1 / -1}.my-course-card--gen .gen-lesson-label:has(.gen-lesson-select){width:100%;max-width:420px;min-width:0}.my-course-card--gen .gen-lesson-select{width:100%;max-width:100%;min-width:0}.my-course-card--gen .gen-lesson-select .ant-select-selection-wrap,.my-course-card--gen .gen-lesson-select .ant-select-selection-item{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-course-card--gen .gen-lesson-label{display:grid;gap:6px;color:var(--text-secondary);font-size:13px;font-weight:650}.my-course-card--gen .gen-lesson-desc{min-height:84px;resize:vertical;padding:12px 14px;border:1px solid var(--input-border);border-radius:10px;outline:0;color:var(--text);background:var(--input-bg);font:inherit;font-size:14px}.my-course-card--gen .gen-lesson-desc:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.my-course-card--gen .gen-lesson-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0}.my-course-card--gen .gen-lesson-level{position:relative;min-height:60px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:9px 12px;border:1px solid var(--hairline);border-radius:10px;color:var(--text);background:var(--surface-2);cursor:pointer}.my-course-card--gen .gen-lesson-level:before{display:none}.my-course-card--gen .gen-lesson-level.ant-radio-button-wrapper-checked{color:var(--text);box-shadow:none}.my-course-card--gen .gen-lesson-level input{position:absolute;width:1px;height:1px;opacity:0}.my-course-card--gen .gen-lesson-level:hover,.my-course-card--gen .gen-lesson-level.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--hairline));background:var(--primary-soft)}.my-course-card--gen .gen-lesson-level:focus-within{outline:2px solid var(--primary);outline-offset:2px}.my-course-card--gen .gen-lesson-level:has(input:disabled),.my-course-card--gen .gen-lesson-desc:disabled,.my-course-card--gen select:disabled{opacity:.6;cursor:default}.my-course-card--gen .gen-lesson-level-name{font-size:13px;font-weight:700}.my-course-card--gen .gen-lesson-level-hint{color:var(--muted);font-size:11px}.my-course-card--gen .gen-lesson-actions{display:flex;gap:8px}.my-course-card--gen .gen-lesson-actions .btn{min-height:44px;border-radius:10px}.my-course-card--gen .gen-lesson-error,.my-course-card--gen .gen-lesson-wait{margin:0}.catalog-state{justify-content:flex-start}.catalog-state p{margin:0 auto 0 0}.course-catalog{margin-top:64px;padding-top:52px;border-top:1px solid var(--hairline)}.course-catalog-heading{margin-bottom:0}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-card{min-width:0;min-height:306px;display:flex;flex-direction:column;padding:22px;border:1px solid var(--hairline);border-radius:18px;background:var(--surface);box-shadow:0 6px 20px color-mix(in srgb,var(--shadow-color) 35%,transparent);transition:border-color var(--motion-fast) ease,transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.catalog-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 10px 26px color-mix(in srgb,var(--shadow-color) 50%,transparent)}.catalog-card-copy{min-width:0;flex:1}.catalog-card-category{display:block;margin-bottom:9px;overflow:hidden;color:var(--primary);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.catalog-card h3{display:-webkit-box;overflow:hidden;font-size:17px;line-height:1.28;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catalog-card-copy>p{display:-webkit-box;margin:9px 0 0;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catalog-card-meta{min-height:24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;color:var(--text-subtle);font-size:12px}.catalog-card-duration{display:inline-flex;align-items:center;gap:5px}.catalog-card-duration .material-symbols-outlined{font-size:17px}.catalog-level-badge,.catalog-draft-badge{padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600}.catalog-level-badge.beginner{color:var(--ok);background:var(--ok-soft)}.catalog-level-badge.middle{color:var(--primary);background:var(--primary-soft)}.catalog-level-badge.advanced{color:var(--warn);background:var(--warn-soft)}.catalog-level-badge.neutral,.catalog-draft-badge{color:var(--muted);background:var(--surface-2)}.catalog-card-actions{min-width:0;min-height:96px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:8px;margin-top:18px}.catalog-card-actions .btn{min-width:0;width:100%;min-height:44px;padding:5px 12px;border-radius:10px;font-size:12px;white-space:nowrap}.catalog-start-button,.catalog-direction-button{flex:none}.catalog-direction-button .material-symbols-outlined{font-size:17px}.catalog-card-action-status{min-height:44px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--hairline);border-radius:10px;color:var(--muted);background:var(--surface-2);font-size:12px}@media(max-width:1100px){.course-library-layout{grid-template-columns:190px minmax(0,1fr);gap:28px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-course-foot .btn,.my-course-foot .lesson-link,.catalog-card-actions .btn,.catalog-card-action-status{min-height:44px}}@media(max-width:840px){.course-hub{width:min(100% - 40px,1280px)}.course-library-layout{grid-template-columns:1fr;gap:34px}.course-section-index{z-index:5;top:8px;margin-inline:-8px;padding:7px;overflow:hidden;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-translucent);box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.course-section-index-title{display:none}.course-section-index ol{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.course-section-index ol::-webkit-scrollbar{display:none}.course-section-index li{flex:none}.course-section-index a{width:auto;max-width:260px;grid-template-columns:8px minmax(80px,auto) auto;margin:0;padding:7px 10px;border-radius:9px}.course-collection,.course-catalog{scroll-margin-top:84px}.catalog-toolbar-row{grid-template-columns:minmax(0,1fr) 190px 126px}}@media(max-width:680px){.course-hub{width:min(100% - 28px,1280px);padding:24px 0 64px}.course-hub-hero{margin-bottom:30px}.course-section-heading{align-items:stretch;flex-direction:column;gap:16px}.course-hub-hero h1{font-size:clamp(38px,12vw,48px)}.course-hub-hero p{margin-top:13px;font-size:15px}.course-path-link{min-height:52px;align-self:flex-start}.course-section-title-row{align-items:flex-start;flex-direction:column;gap:7px}.course-section-heading h2{font-size:24px}.catalog-toolbar-row{grid-template-columns:1fr 1fr;grid-template-areas:"search search" "sort filter"}.catalog-search{grid-area:search}.catalog-filter-button{grid-area:filter}.catalog-sort{grid-area:sort}.catalog-filter-button,.catalog-search,.catalog-sort .ant-select-selector,.catalog-topic-chips button,.catalog-level-options label{min-height:44px}.catalog-topic-chips{flex-wrap:nowrap;margin-top:14px;margin-inline:-14px;padding:0 14px 4px;overflow-x:auto}.catalog-topic-chips button{max-width:240px;flex:none}.my-courses-grid,.catalog-grid{grid-template-columns:1fr}.my-course-card .lesson-pills{flex-wrap:wrap;justify-content:flex-end}.course-section-heading p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-course-card--gen .gen-lesson-levels{grid-template-columns:1fr}.my-course-card--gen .gen-lesson-level,.my-course-card--gen .gen-lesson-actions .btn,.my-course-foot .btn,.my-course-foot .lesson-link,.my-course-card .lesson-attempt-link,.catalog-card-actions .btn,.catalog-card-action-status{min-height:44px}.course-hub-inline-error,.course-access-error{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.my-course-card,.catalog-card,.course-section-index a,.course-section-index-marker{transition:none}}.app-header-page-actions{display:contents}.app-header .brief-interview-exit{min-height:44px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.app-header .brief-interview-exit .material-symbols-outlined{font-size:18px}.page.intake.brief-interview{width:100%;max-width:none;height:calc(100dvh - var(--app-header-height));min-height:0;margin:0;padding:0;overflow:hidden;display:flex;flex-direction:column;color:var(--text);background:var(--bg)}.brief-interview-progress-strip{position:relative;height:66px;min-height:66px;box-sizing:border-box;padding:9px 32px 2px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) 6px;align-items:center;column-gap:16px;row-gap:7px;border-bottom:1px solid var(--hairline);background:var(--surface)}.brief-interview-progress-copy{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:16px}.brief-interview-progress-copy h1{margin:0;color:var(--text);font-size:26px;font-weight:700;line-height:1.15;letter-spacing:-.02em;white-space:nowrap}.brief-interview-counter{overflow:hidden;color:var(--muted);font-size:13px;font-weight:500;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.brief-interview-progress-status{color:var(--warn);font-weight:650}.brief-interview-progress-track{position:absolute;right:0;bottom:0;left:0;height:6px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.brief-interview-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .2s ease}.brief-interview-rail-trigger{display:none;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--surface-2);cursor:pointer}.brief-interview-main{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;align-items:stretch}.brief-interview-conversation{flex:1;min-width:0;min-height:0;display:flex;justify-content:center;background:var(--bg)}.brief-interview-chat-column{position:relative;width:min(780px,calc(100% - 32px));min-width:0;min-height:0;box-sizing:border-box;padding:36px 0 28px;display:flex;flex-direction:column}.brief-interview-mentor-row{min-height:44px;display:flex;align-items:center;gap:12px}.brief-interview .mentor{min-width:0;flex:1;padding:0;gap:10px}.brief-interview .orb{width:30px;height:30px;box-shadow:0 0 12px color-mix(in srgb,var(--primary) 24%,transparent),inset 0 0 6px color-mix(in srgb,var(--text) 12%,transparent)}.brief-interview .orb.speaking{box-shadow:0 0 16px color-mix(in srgb,var(--primary) 48%,transparent),inset 0 0 6px color-mix(in srgb,var(--text) 12%,transparent)}.brief-interview .orb-ring{top:-2px;right:-2px;bottom:-2px;left:-2px}.brief-interview .mentor-meta{min-width:0;display:flex;align-items:center;gap:12px}.brief-interview .mentor-name{flex:none;font-size:14px}.brief-interview .mentor-name b{color:var(--text);font-weight:700}.brief-interview .mentor-wave{width:104px;height:20px;margin:0;overflow:hidden;gap:2px}.brief-interview .mentor-wave i{width:2px;height:14px}.brief-interview-draft-state{min-height:28px;padding:0 10px;display:inline-flex;align-items:center;flex:none;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface-2);font-size:12px}.brief-interview .transcript{flex:1;min-height:0;max-height:none;margin:20px 0 0;padding:0 4px 4px;gap:16px;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:0;background:transparent;scrollbar-color:var(--border-strong) transparent}.brief-interview .transcript .empty{margin:auto;max-width:360px;padding:24px;color:var(--muted);font-size:15px;line-height:1.5}.brief-interview .msg-row{max-width:82%;gap:10px}.brief-interview .msg-spark{width:24px;height:24px;margin-top:8px}.brief-interview .transcript .bubble{width:max-content;max-width:100%;padding:12px 16px;border-radius:12px;color:var(--text);font-size:15px;line-height:1.45;overflow-wrap:anywhere}.brief-interview .transcript .bubble.ai{border:1px solid var(--border);color:var(--text);background:var(--surface)}.brief-interview .transcript .bubble.user{border:1px solid var(--primary);color:var(--primary-ink);background:var(--primary)}.brief-interview .msg-meta{display:none}.brief-interview .composer{width:min(640px,100%);height:58px;min-height:58px;box-sizing:border-box;margin:20px auto 0;padding:7px 7px 7px 22px;gap:6px;border:1px solid var(--input-border);border-radius:999px;background:var(--surface);box-shadow:0 2px 10px var(--shadow-color)}.brief-interview .composer:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring),0 2px 10px var(--shadow-color)}.brief-interview .composer input{height:44px;color:var(--text);font-size:15px}.brief-interview .composer input:disabled{cursor:not-allowed}.brief-interview .mic-cta--compact{width:44px;height:44px;margin:0;display:grid;place-items:center}.brief-interview .mic-cta--compact .mic-big,.brief-interview .send-btn{width:44px;height:44px;min-width:44px;min-height:44px;box-sizing:border-box;border-radius:50%}.brief-interview .mic-cta--compact .mic-big{border-color:transparent;color:var(--muted);background:transparent;box-shadow:none}.brief-interview .mic-cta--compact .mic-big:hover:not(:disabled){transform:none;border-color:transparent;color:var(--text);background:var(--surface-2);box-shadow:none}.brief-interview .mic-cta--compact .mic-big.rec{border-color:var(--danger);color:var(--danger);background:var(--danger-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 20%,transparent)}.brief-interview .mic-cta--compact .mic-big:after{top:1px;right:1px;bottom:1px;left:1px;animation:none;opacity:0}.brief-interview .mic-cta--compact .mic-big.rec:after{animation:micPulse 2.2s ease-out infinite;opacity:1}.brief-interview .mic-cta--compact .mic-hint{display:none}.brief-interview .send-btn{border-color:var(--primary);color:var(--primary-ink);background:var(--primary)}.brief-interview .send-btn:hover:not(:disabled){background:var(--primary-hover)}.brief-interview .send-btn:focus-visible,.brief-interview .mic-big:focus-visible,.brief-interview-rail-trigger:focus-visible,.brief-interview-rail-toggle:focus-visible,.brief-interview-rail-tabs-shell .ant-tabs-tab-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.brief-interview-alerts{position:absolute;right:0;bottom:98px;z-index:2;width:min(480px,100%);display:grid;gap:8px}.brief-interview-alert{min-height:44px;box-sizing:border-box;padding:10px 14px;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--surface);box-shadow:0 8px 24px var(--shadow-color);font-size:13px}.brief-interview-alert.error{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger);background:var(--danger-soft)}.brief-interview-alert .material-symbols-outlined{font-size:19px}.brief-interview-rail{width:420px;height:100%;min-width:0;min-height:0;box-sizing:border-box;flex:none;overflow:hidden;display:flex;flex-direction:column;border-left:1px solid var(--hairline);color:var(--text);background:var(--surface);transition:width .2s ease}.brief-interview-rail[data-expanded=false]{width:76px}.brief-interview-rail-head{min-height:88px;box-sizing:border-box;padding:28px 24px 16px 32px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:none}.brief-interview-rail-title{min-width:0;opacity:1;transition:opacity .16s ease}.brief-interview-rail-kicker{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}.brief-interview-rail-title h2{margin:0;font-size:20px;line-height:1.2;white-space:nowrap}.brief-interview-rail-toggle{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:14px;color:var(--muted);background:var(--surface-2);cursor:pointer}.brief-interview-rail-toggle:hover{color:var(--text);background:var(--surface-hover)}.brief-interview-rail[data-expanded=false] .brief-interview-rail-head{min-height:76px;padding:16px;justify-content:center}.brief-interview-rail[data-expanded=false] .brief-interview-rail-title{width:0;overflow:hidden;opacity:0}.brief-interview-rail-body{flex:1;min-height:0;padding:0 32px 32px;display:flex;flex-direction:column;opacity:1;transition:opacity .16s ease}.brief-interview-rail[data-expanded=false] .brief-interview-rail-body{pointer-events:none;opacity:0}.brief-interview-rail-tabs-shell{flex:1;min-height:0}.brief-interview-rail-tabs-shell>.ant-tabs-nav{height:52px;min-height:52px;padding:3px;display:grid;grid-template-columns:1fr 1fr;gap:3px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.brief-interview-rail-tabs-shell .ant-tabs-tab{flex:1;justify-content:center;min-width:0;min-height:44px;padding:0 12px;border:0;border-radius:10px;color:var(--muted);background:transparent;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.brief-interview-rail-tabs-shell .ant-tabs-tab-active{color:var(--text);background:var(--surface);box-shadow:0 1px 4px var(--shadow-color)}.brief-interview-rail-tabs-shell .ant-tabs-nav-list{width:100%}.brief-interview-rail-tabs-shell .ant-tabs-ink-bar{display:none}.brief-interview-rail-tabs-shell .ant-tabs-content-holder,.brief-interview-rail-tabs-shell .ant-tabs-content,.brief-interview-rail-tabs-shell .ant-tabs-tabpane{min-height:0;height:100%}.brief-interview-collected,.brief-interview-map{flex:1;min-height:0;margin-top:18px}.brief-interview-collected{overflow-y:auto;overscroll-behavior:contain}.brief-interview-collected ul{margin:0;padding:0;display:grid;gap:10px;list-style:none}.brief-interview-collected li{padding:13px 14px;display:grid;gap:4px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.brief-interview-collected li>span{color:var(--muted);font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}.brief-interview-collected li>strong{font-size:14px;line-height:1.35}.brief-interview-collected li>p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.45}.brief-interview-collected-empty{min-height:240px;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px dashed var(--border-strong);border-radius:14px;color:var(--muted);text-align:center;background:var(--surface-2)}.brief-interview-collected-empty .material-symbols-outlined{color:var(--primary);font-size:27px}.brief-interview-collected-empty strong{color:var(--text);font-size:14px}.brief-interview-collected-empty p{margin:0;font-size:12px;line-height:1.5}.brief-interview-map{display:flex}.brief-interview-map .kg-panel{flex:1;min-width:0;min-height:0;margin:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.brief-interview-map .kg-head{flex:none;padding:12px}.brief-interview-map .kg-stage{flex:1;min-height:0;height:auto}.brief-interview-rail-collapsed{display:none}.brief-interview-rail[data-expanded=false] .brief-interview-rail-collapsed{flex:1;min-height:0;padding:10px 8px 18px;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted)}.brief-interview-rail-collapsed>strong{color:var(--text);font-size:12px}.brief-interview-rail-markers{display:grid;gap:6px}.brief-interview-rail-markers i{width:8px;height:8px;border-radius:50%;background:var(--primary)}.brief-interview-rail-markers i.empty{box-sizing:border-box;border:1px solid var(--border-strong);background:transparent}.brief-interview-rail-collapsed>span{margin-top:auto;color:var(--text);font-size:18px;font-weight:700}.brief-interview-rail-collapsed>small{font-size:9px;letter-spacing:.12em;writing-mode:vertical-rl;text-transform:uppercase}.brief-interview-rail-backdrop{display:none}@media(max-width:1100px){.brief-interview-progress-strip{padding-inline:24px}.brief-interview-progress-copy h1{font-size:24px}.brief-interview-chat-column{padding-top:28px}}@media(max-width:899px){.brief-interview-progress-strip{padding-right:16px;padding-left:20px}.brief-interview-rail-trigger{display:grid;place-items:center}.brief-interview-rail-backdrop{position:absolute;z-index:8;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;padding:0;border:0;background:var(--overlay);cursor:default}.brief-interview-rail{position:absolute;z-index:9;top:8px;right:8px;bottom:8px;width:min(420px,calc(100% - 16px));height:auto;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px var(--shadow-color);transform:translate(0);transition:transform .2s ease,visibility .2s ease}.brief-interview-rail[data-expanded=false]{width:min(420px,calc(100% - 16px));visibility:hidden;pointer-events:none;transform:translate(calc(100% + 16px))}.brief-interview-rail[data-expanded=false] .brief-interview-rail-head{min-height:88px;padding:28px 24px 16px 32px;justify-content:space-between}.brief-interview-rail[data-expanded=false] .brief-interview-rail-title{width:auto;overflow:visible;opacity:1}.brief-interview-rail[data-expanded=false] .brief-interview-rail-body{opacity:1}.brief-interview-rail[data-expanded=false] .brief-interview-rail-collapsed{display:none}}@media(max-width:680px){.app-header .brief-interview-exit{width:44px;min-width:44px;padding:0;justify-content:center}.brief-interview-exit-label{display:none}.brief-interview-progress-strip{height:66px;min-height:66px;padding:8px 12px 8px 16px;column-gap:10px}.brief-interview-progress-copy{display:grid;gap:1px}.brief-interview-progress-copy h1{overflow:hidden;font-size:20px;line-height:1.15;text-overflow:ellipsis}.brief-interview-counter{font-size:12px}.brief-interview-chat-column{width:100%;padding:18px 16px calc(12px + env(safe-area-inset-bottom))}.brief-interview-mentor-row{min-height:40px}.brief-interview .mentor-meta{gap:8px}.brief-interview .mentor-name{font-size:13px}.brief-interview .mentor-status{display:block}.brief-interview .mentor-wave{width:62px}.brief-interview-draft-state{max-width:108px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.brief-interview .transcript{margin-top:12px;padding-inline:0;gap:14px}.brief-interview .msg-row{max-width:92%}.brief-interview .transcript .bubble{padding:11px 14px;font-size:15px}.brief-interview .composer{position:sticky;bottom:env(safe-area-inset-bottom);z-index:3;margin-top:12px}.brief-interview-alerts{right:0;bottom:calc(82px + env(safe-area-inset-bottom))}.brief-interview-rail-head{padding:20px 18px 14px 20px}.brief-interview-rail-body{padding:0 20px 20px}}@media(prefers-reduced-motion:reduce){.brief-interview *,.brief-interview *:before,.brief-interview *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page.intake.brief-review-page{width:min(1280px,calc(100% - 40px));max-width:1280px;padding:24px 0 48px}.brief-review-shell{display:grid;gap:16px}.brief-review-shell .brief-directions{margin:0;border-radius:18px}.brief-review-card{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 18px 48px color-mix(in srgb,var(--shadow-color) 8%,transparent)}.brief-review-header,.brief-review-footer,.brief-review-section-head,.brief-review-recommendation,.brief-review-rebuild{display:flex;align-items:center;justify-content:space-between;gap:20px}.brief-review-header{min-height:98px;padding:28px 32px}.brief-review-title-row{display:flex;align-items:center;gap:12px;min-width:0}.brief-review-title-row h1{margin:0;font-size:28px;line-height:1.2;letter-spacing:-.025em}.brief-review-ready{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:4px 10px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:12px;font-weight:600}.brief-review-ready>span{width:6px;height:6px;border-radius:999px;background:currentColor}.brief-review-edit-button{min-height:44px;border-radius:14px}.brief-review-edit-button .material-symbols-outlined{font-size:18px}.brief-review-section,.brief-review-edit{padding:20px 32px;border-top:1px solid var(--border)}.brief-review-edit{padding-top:28px}.brief-review-edit .brief-form{width:min(100%,960px);margin:0 auto}.brief-review-micro{color:var(--muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:none}.brief-review-section h2,.brief-review-recommendation h2{margin:0;font-size:20px;line-height:1.3;letter-spacing:-.015em}.brief-review-goal{display:grid;gap:8px}.brief-review-goal h2{font-size:24px;line-height:1.25}.brief-review-goal-copy,.brief-review-prose,.brief-review-summary p,.brief-review-recommendation p,.brief-review-empty,.brief-review-empty-state p{margin:0;line-height:1.48}.brief-review-goal-copy,.brief-review-recommendation p,.brief-review-empty,.brief-review-empty-state p,.brief-review-secondary-note{color:var(--muted)}.brief-review-meta{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 0}.brief-review-meta>div,.brief-review-details>div{display:grid;gap:4px}.brief-review-meta dt,.brief-review-details dt{color:var(--muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.brief-review-meta dd{margin:0;padding:4px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:600}.brief-review-section>h2+*,.brief-review-section-head+*{margin-top:16px}.brief-review-context-grid,.brief-review-focus-grid,.brief-review-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:16px 0 0}.brief-review-context-grid>div,.brief-review-focus-column,.brief-review-details>div{min-width:0}.brief-review-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.brief-review-chips span{max-width:100%;overflow-wrap:anywhere;padding:4px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:600}.brief-review-prose,.brief-review-empty{margin-top:8px;overflow-wrap:anywhere}.brief-review-focus-column ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.brief-review-focus-column li{position:relative;padding-left:16px;line-height:1.45;overflow-wrap:anywhere}.brief-review-focus-column li:before{position:absolute;top:.65em;left:0;width:6px;height:6px;border-radius:999px;background:var(--muted);content:"";transform:translateY(-50%)}.brief-review-focus-column.is-deep li:before{background:var(--primary)}.brief-review-details{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.brief-review-details dd{margin:0;line-height:1.48;overflow-wrap:anywhere}.brief-review-summary{display:grid;gap:8px}.brief-review-graph .kg-panel{margin-top:16px;border-color:var(--border);border-radius:14px;background:var(--surface-2)}.brief-review-graph .kg-stage{min-height:340px}.brief-review-secondary-note{font-size:12px;text-align:right}.brief-review-recommendation{flex-wrap:wrap;margin:20px 32px;padding:22px 24px;border-radius:14px;background:var(--primary-soft)}.brief-review-recommendation>div:first-child{flex:1 1 480px;min-width:0}.brief-review-recommendation h2{margin-top:6px}.brief-review-recommendation p{margin-top:4px}.brief-review-recommendation-actions{display:flex;flex:none;flex-wrap:wrap;gap:8px}.brief-review-wide-message{flex-basis:100%}.brief-review-rebuild{align-items:flex-start;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--primary) 24%,transparent);color:var(--muted);font-size:13px}.brief-review-footer{padding:14px 32px 20px;border-top:1px solid var(--border)}.brief-review-history-button{display:inline-flex;align-items:center;min-height:44px;gap:6px;padding:8px 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}.brief-review-history-button:hover{color:var(--text)}.brief-review-history-button .material-symbols-outlined{font-size:18px}.brief-review-transcript{padding:0 32px 24px}.brief-review-transcript .transcript{max-height:340px;margin:0;border-color:var(--border);background:var(--surface-2)}.brief-review-page-error{margin:0 32px 24px}.brief-review-empty-state{display:grid;gap:8px}.brief-review-history-button:focus-visible,.brief-review-card .btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media(max-width:900px){.page.intake.brief-review-page{width:min(100% - 24px,1280px);padding-top:16px}.brief-review-header,.brief-review-section,.brief-review-edit{padding-right:22px;padding-left:22px}.brief-review-context-grid,.brief-review-focus-grid{grid-template-columns:1fr}.brief-review-recommendation{margin-right:22px;margin-left:22px}.brief-review-footer,.brief-review-transcript{padding-right:22px;padding-left:22px}}@media(max-width:560px){.page.intake.brief-review-page{width:100%;padding:0 0 32px}.brief-review-shell{gap:10px}.brief-review-card,.brief-review-shell .brief-directions{border-right:0;border-left:0;border-radius:0}.brief-review-header{align-items:flex-start;padding:20px 16px}.brief-review-title-row{align-items:flex-start;flex-direction:column;gap:8px}.brief-review-title-row h1{font-size:25px}.brief-review-edit-button{min-width:44px;padding:11px;font-size:0}.brief-review-edit-button .material-symbols-outlined{font-size:20px}.brief-review-section,.brief-review-edit{padding:18px 16px}.brief-review-goal h2{font-size:21px}.brief-review-section-head{align-items:flex-start;flex-direction:column;gap:6px}.brief-review-secondary-note{text-align:left}.brief-review-graph .kg-stage{min-height:300px}.brief-review-recommendation{align-items:stretch;flex-direction:column;margin:14px 16px;padding:18px}.brief-review-recommendation>div:first-child{flex:none;width:100%}.brief-review-recommendation-actions,.brief-review-recommendation-actions .btn,.brief-review-recommendation-actions a{width:100%}.brief-review-rebuild,.brief-review-footer{align-items:stretch;flex-direction:column}.brief-review-footer{padding:12px 16px 16px}.brief-review-footer .btn{width:100%}.brief-review-transcript{padding:0 16px 20px}.brief-review-page-error{margin:0 16px 20px}}@media(prefers-reduced-motion:reduce){.brief-review-card *,.brief-review-card *:before,.brief-review-card *:after{scroll-behavior:auto!important}}.dm-page{--dm-local-header-height: 90px;min-height:max(560px,calc(100dvh - var(--app-header-height, 72px)));display:flex;flex-direction:column;overflow-x:clip;overflow-y:visible;background:var(--bg);color:var(--text)}.dm-container{width:calc(100% - 64px);margin-inline:auto}.dm-page-header{height:90px;min-height:90px;display:flex;flex:none;align-items:center;border-bottom:1px solid var(--hairline);background:var(--surface)}.dm-header-inner{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:18px}.dm-header-copy{min-width:0}.dm-header-copy h1{margin:0;color:var(--text);font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.005em}.dm-header-copy p{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.4}.dm-filter{flex:none;display:flex;gap:10px;align-items:center}.dm-header-actions{display:flex;flex:none;align-items:center;gap:14px}.dm-new-direction{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--primary);border-radius:10px;padding:10px 18px;color:var(--primary-ink);background:var(--primary);font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap}.dm-new-direction:hover{border-color:var(--primary-hover);color:var(--primary-ink);background:var(--primary-hover)}.dm-filter-label{color:var(--muted);font-size:12px;font-weight:650;line-height:1.2}.dm-filter button,.dm-page-state button,.dm-empty a{position:relative;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;padding:10px 24px;color:var(--text-secondary);background:var(--surface);font:inherit;font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;text-decoration:none;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .1s ease}.dm-filter button:not(:disabled):hover,.dm-page-state button:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-hover)}.dm-filter button.active,.dm-empty a{border-color:var(--primary);color:var(--primary-ink);background:var(--primary)}.dm-filter button.active:not(:disabled):hover,.dm-empty a:hover{border-color:var(--primary-hover);background:var(--primary-hover)}.dm-course-filter.ant-select-disabled{cursor:not-allowed;opacity:.5}.dm-filter .dm-course-filter{width:min(360px,32vw);min-width:240px;max-width:360px;color:var(--text-secondary)}.dm-filter .dm-course-filter .ant-select-selector{min-height:44px;align-items:center;border-radius:10px;padding-inline:14px;color:inherit;background:var(--input-bg)}.dm-filter .dm-course-filter:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--border-strong);color:var(--text);background:var(--input-hover)}.dm-filter .dm-course-filter.active .ant-select-selector,.dm-filter .dm-course-filter.active:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--primary);color:var(--text);background:var(--primary-soft)}.dm-course-filter.active .ant-select-arrow{color:currentColor}.dm-course-select-content{width:min(480px,calc(100vw - 16px))}.dm-course-select-content .ant-select-item-group{overflow:hidden;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.dm-filter button:active,.dm-page-state button:active,.dm-empty a:active,.dm-add-course:active,.dm-new-direction:active,.dm-node-action:active{transform:translateY(1px)}.dm-body{height:auto;min-height:0;display:flex;flex:1 0 auto;padding-block:0;overflow:visible}.dm-container.dm-body{width:100%;margin-inline:0;padding-inline:0}.dm-canvas{--dm-scroll-space-inline: min(544px, calc(100vw - 24px) );--dm-scroll-space-block: 192px;position:relative;min-width:0;min-height:calc(100dvh - var(--app-header-height, 72px) - var(--dm-local-header-height) + var(--dm-scroll-space-block));display:grid;flex:1;grid-template-columns:278px 52px max-content var(--dm-scroll-space-inline);align-items:stretch;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding-block-end:var(--dm-scroll-space-block);scroll-padding-inline-end:var(--dm-scroll-space-inline);scroll-padding-block-end:var(--dm-scroll-space-block);scrollbar-width:thin;border-radius:0}.dm-canvas:after{content:"";width:var(--dm-scroll-space-inline);pointer-events:none}.dm-start-column{display:flex;align-items:flex-start;padding-top:255px;padding-left:48px}.dm-start-node{position:relative;width:230px;height:138px;min-height:138px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;overflow:hidden;padding:16px 20px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 10px 24px -6px color-mix(in srgb,var(--shadow-color) 20%,transparent),0 2px 8px -2px color-mix(in srgb,var(--shadow-color) 18%,transparent)}.dm-start-node>span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:12px;font-weight:600;line-height:1.3}.dm-start-node>span{padding:4px 10px}.dm-start-node strong{color:var(--text);font-size:20px;line-height:1.3;letter-spacing:-.003em}.dm-start-node p{display:-webkit-box;overflow:hidden;margin:0;color:var(--text-secondary);font-size:14px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dm-start-preview-trigger{position:absolute;top:6px;right:6px;color:var(--primary)}.dm-trunk{position:relative}.dm-trunk:before{content:"";position:absolute;inset-block:24px;left:26px;width:2px;border-radius:999px;background:var(--border)}.dm-trunk:after{content:"";position:absolute;top:325px;left:0;width:27px;height:2px;background:var(--border)}.dm-branches{width:max-content;min-width:0;display:grid;grid-auto-rows:max-content;align-content:start;gap:34px;padding-bottom:12px}.dm-branch{position:relative;width:max-content;min-width:100%}.dm-branch:before{content:"";position:absolute;top:50%;right:100%;width:26px;height:2px;background:var(--border)}.dm-node-action{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--primary);font-size:13px;font-weight:650;text-decoration:none}.dm-node-action:hover{background:var(--primary-soft)}.dm-direction-card{position:relative;width:290px;height:172px;flex:none;display:grid;grid-template-rows:24px minmax(70px,1fr) 40px;gap:4px;overflow:visible;padding:14px 18px 0;border:1px solid color-mix(in srgb,var(--primary) 42%,var(--border));border-radius:18px;color:var(--text);background:color-mix(in srgb,var(--primary-soft) 34%,var(--surface));box-shadow:0 12px 28px -8px color-mix(in srgb,var(--primary) 24%,transparent),0 2px 8px -2px color-mix(in srgb,var(--shadow-color) 18%,transparent);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dm-direction-card:after{content:"";position:absolute;top:50%;left:100%;width:30px;height:2px;background:var(--border-strong)}.dm-direction-card:hover,.dm-direction-card:focus-within{border-color:var(--primary);box-shadow:0 16px 34px -10px color-mix(in srgb,var(--primary) 34%,transparent);transform:translateY(-1px)}.dm-direction-card-head,.dm-direction-card-foot{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.dm-direction-card-head{color:var(--primary);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:650;letter-spacing:.02em;text-transform:uppercase}.dm-direction-card-head .material-symbols-outlined{font-size:18px}.dm-direction-preview-trigger{margin:-10px -10px -10px 0;color:var(--primary)}.dm-direction-card-main{min-width:0;display:grid;grid-template-rows:minmax(42px,auto) minmax(24px,1fr);gap:4px;overflow:hidden;color:inherit;text-decoration:none}.dm-direction-card-main>strong{display:-webkit-box;overflow:hidden;align-self:center;font-size:20px;line-height:1.25;letter-spacing:-.003em;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dm-direction-card-main>p{display:-webkit-box;overflow:hidden;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dm-direction-card-foot{margin-inline:-18px;padding-inline:18px;border-top:1px solid color-mix(in srgb,var(--primary) 18%,var(--hairline));color:var(--muted);font-size:11px}.dm-direction-card-foot a{color:var(--primary);font-weight:650;text-decoration:none}.dm-direction-card-foot a:hover{text-decoration:underline;text-underline-offset:3px}.dm-text-preview-heading{display:grid;gap:8px;padding-right:28px}.dm-text-preview-heading>span{color:var(--primary);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.dm-text-preview-heading>strong{color:var(--text);font-size:clamp(22px,4vw,30px);line-height:1.15;letter-spacing:-.02em}.dm-text-preview-modal .ant-modal-content{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:20px;box-shadow:var(--shadow-dialog)}.dm-text-preview-modal .ant-modal-header{margin-bottom:20px}.dm-text-preview-modal .ant-modal-body>p{margin:0;color:var(--text-secondary);font-size:16px;line-height:1.65;white-space:pre-wrap}.dm-branch-scroll{min-width:0;overflow:visible;border-radius:18px}.dm-branch-track{width:max-content;min-width:100%;display:flex;align-items:center;gap:30px}.dm-branch-graph{position:relative;flex:none}.dm-edges{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.dm-edges path{fill:none;stroke:var(--border-strong);stroke-width:2;vector-effect:non-scaling-stroke;transition:opacity .18s ease,stroke .18s ease}.dm-edges path.optional{stroke-dasharray:7 6}.dm-edges path.is-focused{opacity:.8;stroke:var(--primary)}.dm-edges path.is-dimmed{opacity:.14}.dm-node-position{position:absolute;transition:opacity .18s ease}.dm-node-position.is-dimmed{opacity:.32}.dm-node-position.is-dimmed:hover,.dm-node-position.is-dimmed:focus-within{opacity:.72}.dm-course-node{width:100%;height:100%;display:grid;grid-template-rows:24px minmax(42px,auto) minmax(20px,1fr) 44px;gap:4px;overflow:hidden;padding:14px 18px 0;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 10px 24px -6px color-mix(in srgb,var(--shadow-color) 20%,transparent),0 2px 8px -2px color-mix(in srgb,var(--shadow-color) 18%,transparent);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dm-course-node:hover,.dm-course-node:focus-within{border-color:var(--primary);box-shadow:0 14px 30px -8px color-mix(in srgb,var(--primary) 24%,transparent);transform:translateY(-1px)}.dm-course-node.locked{background:var(--surface-2);box-shadow:none}.dm-course-node.focus-context{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.dm-course-node.focus-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 45%,var(--surface));box-shadow:0 16px 34px -10px color-mix(in srgb,var(--primary) 34%,transparent)}.dm-course-head,.dm-course-foot{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.dm-course-order{overflow:hidden;color:var(--muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.dm-status{min-height:24px;display:inline-flex;flex:none;align-items:center;gap:3px;padding:4px 8px;border-radius:999px;color:var(--text-secondary);background:var(--surface-3);font-size:11px;font-weight:650;line-height:1.2}.dm-status .material-symbols-outlined{font-size:14px}.dm-status.success{color:var(--ok);background:var(--ok-soft)}.dm-status.info{color:var(--info);background:var(--info-soft)}.dm-status.danger{color:var(--danger);background:var(--danger-soft)}.dm-status.locked{color:var(--muted)}.dm-course-title{min-height:44px;display:-webkit-box;overflow:hidden;align-self:center;color:var(--text);font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.003em;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dm-course-node.locked .dm-course-title{color:var(--muted)}.dm-course-facts{min-width:0;display:grid;align-content:start;gap:2px;overflow:hidden;color:var(--muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:10px;line-height:1.3}.dm-course-facts>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-course-prerequisite{color:var(--warn)}.dm-course-error{color:var(--danger)}.dm-course-foot{margin-inline:-18px;padding-left:18px;border-top:1px solid var(--hairline);color:var(--muted);font-size:11px;line-height:1.25}.dm-course-foot>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-node-action{flex:none;padding-inline:12px 18px}.dm-add-course,.dm-new-direction{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed var(--border-strong);border-radius:18px;color:var(--text);background:var(--surface);text-align:center;text-decoration:none;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .1s ease}.dm-add-course{width:220px;min-height:150px;flex:none;padding:18px}.dm-add-course:hover,.dm-new-direction:hover{border-color:var(--primary);background:var(--primary-soft)}.dm-add-course .material-symbols-outlined,.dm-new-direction .material-symbols-outlined{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:20px}.dm-add-course strong,.dm-new-direction strong{font-size:15px;line-height:1.35}.dm-add-course small,.dm-new-direction small{color:var(--muted);font-size:12px;line-height:1.4}.dm-new-direction{position:fixed;z-index:40;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:min(520px,calc(100vw - 48px));min-height:144px;padding:18px 24px;box-shadow:0 16px 36px -12px color-mix(in srgb,var(--shadow-color) 35%,transparent),0 6px 14px -8px var(--shadow-color)}.dm-direction-empty{width:290px;height:172px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:22px;border:1px dashed var(--border-strong);border-radius:18px;background:var(--surface)}.dm-direction-empty>.material-symbols-outlined{color:var(--primary);font-size:30px}.dm-direction-empty p{margin:0;color:var(--muted);font-size:13px;text-align:center}.dm-page-state,.dm-empty{width:min(620px,calc(100% - 40px));min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:48px auto;padding:36px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--muted);text-align:center}.dm-page-state>.material-symbols-outlined,.dm-empty>.material-symbols-outlined{color:var(--primary);font-size:40px}.dm-page-state strong,.dm-empty h2{margin:0;color:var(--text);font-size:22px;line-height:1.25}.dm-empty p{max-width:480px;margin:0 0 8px;color:var(--text-secondary);font-size:14px}.dm-page-state.error>.material-symbols-outlined{color:var(--danger)}.dm-filter button:focus-visible,.dm-canvas:focus-visible,.dm-direction-card-main:focus-visible,.dm-direction-card-foot a:focus-visible,.dm-course-title:focus-visible,.dm-node-action:focus-visible,.dm-add-course:focus-visible,.dm-new-direction:focus-visible,.dm-page-state button:focus-visible,.dm-empty a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(max-width:1100px){.dm-page{--dm-local-header-height: 126px}.dm-container{width:min(100% - 32px,1856px)}.dm-header-inner{align-items:flex-start;flex-direction:column;gap:12px;padding-block:16px}.dm-page-header{height:auto;min-height:126px}.dm-filter{align-self:stretch}.dm-header-actions{width:100%}.dm-filter{min-width:0;flex:1}.dm-filter .dm-course-filter{width:min(420px,calc(100vw - 96px));max-width:none}.dm-canvas{grid-template-columns:242px 36px max-content var(--dm-scroll-space-inline)}.dm-start-column{padding-left:32px}.dm-start-node{width:210px}.dm-trunk:before{left:18px}.dm-trunk:after{width:19px}.dm-branch:before{width:18px}}@media(max-width:800px){.dm-page{--dm-local-header-height: 188px;min-height:calc(100dvh - var(--app-header-height, 72px))}.dm-container.dm-body{padding-inline:0}.dm-page-header{min-height:188px}.dm-container{width:calc(100% - 24px)}.dm-header-copy h1{font-size:22px}.dm-header-actions{align-items:stretch;flex-direction:column;gap:10px}.dm-new-direction{width:100%}.dm-filter .dm-course-filter{width:100%;min-width:0}.dm-canvas{--dm-scroll-space-inline: calc(100vw - 12px) ;--dm-scroll-space-block: 168px;grid-template-columns:278px 52px max-content var(--dm-scroll-space-inline)}.dm-start-column{margin-bottom:0}.dm-start-node{width:230px;min-height:138px}.dm-branches{align-content:start;gap:28px;padding-bottom:0}.dm-new-direction{right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px)}}@media(prefers-reduced-motion:reduce){.dm-filter button,.dm-page-state button,.dm-empty a,.dm-edges path,.dm-node-position,.dm-course-node,.dm-add-course,.dm-new-direction,.dm-node-action{transition:none}}.direction-page{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:24px 0 64px}.direction-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--muted);font-size:14px;font-weight:600;text-decoration:none}.direction-back:hover{color:var(--primary)}.direction-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;overflow:hidden;padding:40px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 82%,var(--surface)) 0%,var(--surface) 64%),var(--surface)}.direction-hero:after{position:absolute;right:-90px;bottom:-130px;width:320px;height:320px;border:48px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:50%;content:"";pointer-events:none}.direction-hero-copy,.direction-hero-actions{position:relative;z-index:1}.direction-hero-copy{max-width:900px}.direction-hero h1{max-width:1000px;margin:10px 0 14px;font-size:clamp(34px,3.7vw,52px);line-height:1.06;letter-spacing:-.045em;overflow-wrap:anywhere}.direction-hero-copy>p{max-width:820px;margin:0;color:var(--muted);font-size:17px;line-height:1.55}.direction-stats{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}.direction-stats>div{display:grid;gap:3px;min-width:126px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--primary) 14%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--surface) 76%,transparent)}.direction-stats dt{color:var(--muted);font-size:11px}.direction-stats dd{margin:0;color:var(--text);font-size:14px;font-weight:700}.direction-hero-actions{display:grid;flex:0 0 210px;gap:10px}.direction-hero-actions .btn{justify-content:center;min-height:48px;border-radius:14px;white-space:nowrap}.direction-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);align-items:start;gap:20px;margin-top:20px}.direction-description,.direction-courses{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 18px 48px color-mix(in srgb,var(--shadow-color) 6%,transparent)}.direction-courses{position:sticky;top:88px}.direction-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:88px;padding:22px 26px}.direction-panel-heading h2{margin:5px 0 0;font-size:23px;line-height:1.2;letter-spacing:-.025em}.direction-ready,.direction-course-total{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:28px;padding:5px 10px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:12px;font-weight:700}.direction-ready{gap:7px}.direction-ready>span{width:6px;height:6px;border-radius:50%;background:currentColor}.direction-course-total{min-width:32px;background:var(--primary-soft);color:var(--primary)}.direction-description .brief-review-section{padding-right:26px;padding-left:26px}.direction-brief-state,.direction-fallback-description{display:grid;gap:12px;padding:24px 26px;border-top:1px solid var(--border)}.direction-brief-state{grid-template-columns:auto 1fr;align-items:center;color:var(--muted)}.direction-brief-alert{display:grid;gap:0;border-top:1px solid var(--border)}.direction-brief-alert>.ant-alert{margin:20px 26px 0}.direction-fallback-description{border-top:0}.direction-fallback-description h3,.direction-fallback-description p{margin:0}.direction-fallback-description h3{margin-top:8px;font-size:15px}.direction-fallback-description p{color:var(--muted);line-height:1.55}.direction-course-list{display:grid;gap:10px;max-height:min(680px,calc(100vh - 230px));overflow:auto;padding:0 14px 14px}.direction-add-course,.direction-course-card{display:grid;color:inherit;text-decoration:none;transition:border-color .16s ease,transform .16s ease,background .16s ease}.direction-add-course{grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:78px;padding:12px;border:1px dashed color-mix(in srgb,var(--primary) 42%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--primary-soft) 64%,var(--surface))}.direction-add-course>span{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--primary);color:var(--surface)}.direction-add-course>div{display:grid;gap:3px;min-width:0}.direction-add-course small{color:var(--muted);line-height:1.35}.direction-course-card{gap:10px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.direction-add-course:hover,.direction-course-card:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));transform:translateY(-1px)}.direction-course-card-head,.direction-course-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.direction-course-card-head>span{color:var(--primary);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;font-weight:700}.direction-course-card-head>div{display:flex;gap:5px}.direction-course-card-head small{padding:3px 7px;border-radius:999px;background:var(--primary-soft);color:var(--primary)}.direction-course-card>strong{font-size:17px;line-height:1.3}.direction-course-card>p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:13px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.direction-course-card-foot{color:var(--muted);font-size:12px}.direction-course-card-foot>span{display:inline-flex;align-items:center;gap:5px}.direction-courses-empty{display:grid;justify-items:center;gap:8px;padding:28px 18px;color:var(--muted);text-align:center}.direction-courses-empty p{margin:0}.direction-page--state{display:grid;min-height:calc(100vh - 120px);place-content:center;justify-items:center;gap:12px;color:var(--muted);text-align:center}.direction-page--state>strong{color:var(--text);font-size:20px}.direction-state-actions{display:flex;align-items:center;gap:14px}.direction-add-course:focus-visible,.direction-course-card:focus-visible,.direction-back:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 36%,transparent);outline-offset:3px}@media(max-width:980px){.direction-hero{align-items:stretch;flex-direction:column}.direction-hero-actions{display:flex;flex:auto;flex-wrap:wrap}.direction-layout{grid-template-columns:1fr}.direction-courses{position:static}.direction-course-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}}@media(max-width:640px){.direction-page{width:100%;padding:10px 0 36px}.direction-back{margin:0 16px 12px}.direction-hero,.direction-description,.direction-courses{border-right:0;border-left:0;border-radius:0}.direction-hero{gap:28px;padding:28px 16px}.direction-hero:after{right:-145px}.direction-hero h1{font-size:34px}.direction-hero-copy{padding-right:38px}.direction-hero-actions,.direction-hero-actions .btn{width:100%}.direction-layout{gap:12px;margin-top:12px}.direction-panel-heading,.direction-description .brief-review-section{padding-right:16px;padding-left:16px}.direction-course-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.direction-add-course,.direction-course-card{transition:none}}.sitemap-page{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:46px 0 72px}.sitemap-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:30px}.sitemap-hero h1{margin:5px 0 9px;font-size:clamp(38px,5vw,66px);font-weight:760;letter-spacing:-.055em;line-height:.98}.sitemap-hero p{max-width:720px;margin:0;color:var(--muted);font-size:17px}.sitemap-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;padding-bottom:5px;color:var(--text-secondary);font-size:12px;font-weight:650}.sitemap-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.sitemap-legend-dot{width:8px;height:8px;border:2px solid var(--border-strong);border-radius:50%;background:var(--surface)}.sitemap-legend-dot--primary{border-color:var(--primary);background:var(--primary)}.sitemap-legend-dot--cyan{border-color:var(--brand-secondary);background:var(--brand-secondary)}.sitemap-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.sitemap-canvas,.sitemap-side-group{border:1px solid var(--hairline);background:var(--surface);box-shadow:0 20px 60px -48px var(--shadow-color)}.sitemap-canvas{position:relative;overflow:hidden;padding:28px;border-radius:22px}.sitemap-canvas:before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";background-image:radial-gradient(var(--hairline) .8px,transparent .8px);background-size:18px 18px;opacity:.62;-webkit-mask-image:linear-gradient(to bottom,black,transparent 86%);mask-image:linear-gradient(to bottom,black,transparent 86%)}.sitemap-root{position:relative;z-index:1;display:grid;grid-template-columns:auto auto 1fr;align-items:center;width:min(460px,100%);min-height:68px;margin:0 auto;padding:12px 16px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--hairline));border-radius:16px;background:var(--primary-soft)}.sitemap-root .eken-mark{margin-right:12px;color:var(--primary);font-size:22px}.sitemap-root div{display:grid;line-height:1.15}.sitemap-root strong{font-size:17px}.sitemap-root>span:last-child{justify-self:end;color:var(--text-secondary);font-size:12px;font-weight:650}.sitemap-root code,.sitemap-node code,.sitemap-route-list code{color:var(--text-subtle);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px}.sitemap-trunk{position:relative;z-index:1;width:1px;height:34px;margin:0 auto;background:var(--primary)}.sitemap-primary-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:22px}.sitemap-primary-grid:before{position:absolute;top:0;right:16.66%;left:16.66%;height:1px;content:"";background:var(--primary)}.sitemap-primary-branch{position:relative;min-width:0}.sitemap-primary-branch:before{position:absolute;top:-22px;left:50%;width:1px;height:22px;content:"";background:var(--primary)}.sitemap-node{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;min-width:0;min-height:116px;padding:15px;border:1px solid var(--hairline);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--text);text-decoration:none;transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.sitemap-node--compact{min-height:98px;padding:12px}a.sitemap-node:hover{border-color:var(--border-strong);box-shadow:var(--shadow-control-hover);color:var(--text);transform:translateY(-2px)}a.sitemap-node:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.sitemap-node--primary{border-top:3px solid var(--primary)}.sitemap-node--cyan{border-top:3px solid var(--brand-secondary)}.sitemap-node-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--surface-3);color:var(--text-secondary);font-size:18px}.sitemap-node--primary .sitemap-node-icon{background:var(--primary-soft);color:var(--primary)}.sitemap-node--cyan .sitemap-node-icon{background:color-mix(in srgb,var(--brand-secondary) 14%,var(--surface));color:var(--brand-secondary)}.sitemap-node-copy{display:flex;min-width:0;flex-direction:column}.sitemap-node-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:3px}.sitemap-node-title-row strong{font-size:14px;line-height:1.25}.sitemap-node-title-row .ant-tag{margin:0;color:var(--text-subtle);background:var(--surface-3);font-size:9px;line-height:17px}.sitemap-node-description{color:var(--muted);font-size:11px;line-height:1.4}.sitemap-node code{display:block;margin-top:6px;overflow-wrap:anywhere}.sitemap-node-way{display:flex;align-items:flex-start;gap:5px;margin-top:7px;padding-top:6px;border-top:1px dashed var(--hairline);color:var(--text-secondary);font-size:10px;font-weight:650;line-height:1.35}.sitemap-node-way .anticon{margin-top:2px;color:var(--primary)}.sitemap-node-open{align-self:center;color:var(--text-subtle);font-size:11px}.sitemap-depth-rail{position:relative;display:grid;gap:9px;margin:10px 0 0 18px;padding-left:16px;border-left:1px solid var(--border-strong)}.sitemap-depth-rail>.sitemap-node:before,.sitemap-depth-rail>.sitemap-depth-rail:before{position:absolute;top:28px;left:-17px;width:16px;height:1px;content:"";background:var(--border-strong)}.sitemap-depth-rail>.sitemap-depth-rail{margin-top:0}.sitemap-learning-divider{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:11px;margin:34px 0 16px;padding-top:20px;border-top:1px solid var(--hairline);color:var(--brand-secondary)}.sitemap-learning-divider div{display:grid}.sitemap-learning-divider strong{color:var(--text);font-size:13px;text-transform:uppercase;letter-spacing:.07em}.sitemap-learning-divider span{color:var(--muted);font-size:12px}.sitemap-learning-flow{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr);align-items:center;gap:8px}.sitemap-flow-arrow{color:var(--brand-secondary);text-align:center}.sitemap-surface-stack{display:grid;gap:8px}.sitemap-secondary{display:grid;gap:14px}.sitemap-side-group{padding:18px;border-radius:18px}.sitemap-side-group--admin{border-style:dashed}.sitemap-side-heading{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px}.sitemap-side-heading>.anticon{margin-top:3px;color:var(--primary);font-size:16px}.sitemap-side-heading h2{margin:0;font-size:15px;line-height:1.35}.sitemap-side-heading p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.sitemap-side-group .sitemap-node+.sitemap-node{margin-top:9px}.sitemap-route-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.sitemap-route-list code{padding:6px 8px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface-2)}@media(max-width:1180px){.sitemap-layout{grid-template-columns:1fr}.sitemap-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.sitemap-page{width:min(100% - 28px,620px);padding:28px 0 48px}.sitemap-hero{align-items:flex-start;flex-direction:column;gap:18px}.sitemap-hero h1{font-size:42px}.sitemap-legend{justify-content:flex-start}.sitemap-canvas{padding:18px}.sitemap-root{grid-template-columns:auto 1fr}.sitemap-root>span:last-child{display:none}.sitemap-primary-grid,.sitemap-learning-flow,.sitemap-secondary{grid-template-columns:1fr}.sitemap-primary-grid{gap:18px;padding-top:0}.sitemap-primary-grid:before,.sitemap-primary-branch:before{display:none}.sitemap-trunk{height:20px}.sitemap-learning-flow{gap:8px}.sitemap-flow-arrow{height:16px;transform:rotate(90deg)}}@media(max-width:460px){.sitemap-canvas{padding:12px}.sitemap-depth-rail{margin-left:10px;padding-left:10px}.sitemap-depth-rail>.sitemap-node:before,.sitemap-depth-rail>.sitemap-depth-rail:before{left:-11px;width:10px}}@media(prefers-reduced-motion:reduce){.sitemap-node{transition:none}}.mcp-settings-page{width:min(1160px,100%);margin:0 auto;padding:clamp(28px,4vw,52px) 24px 72px;color:var(--text)}.mcp-settings-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:24px}.mcp-settings-hero .ant-typography{margin-bottom:0}.mcp-settings-hero h1.ant-typography{margin:8px 0 10px;font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.035em}.mcp-settings-hero p.ant-typography{max-width:700px;color:var(--text-secondary);font-size:16px;line-height:1.65}.mcp-settings-eyebrow{color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.mcp-status-tag{flex:0 0 auto;margin:4px 0 0;padding:7px 12px;border-radius:999px;font-weight:600}.mcp-runway-card{position:relative;overflow:hidden;margin-bottom:24px;border:1px solid color-mix(in srgb,var(--brand-secondary) 34%,var(--border));background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 72%,var(--surface)) 0%,var(--surface) 58%),var(--surface);box-shadow:var(--shadow-control)}.mcp-runway-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand-secondary);content:""}.mcp-runway-card .ant-card-body{padding:28px 32px}.mcp-runway-card .ant-steps-item-description{max-width:220px}.mcp-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.mcp-settings-main,.mcp-settings-aside{display:grid;min-width:0;gap:24px}.mcp-settings-aside{position:sticky;top:calc(var(--app-header-height) + 24px)}.mcp-panel{min-width:0;border-color:var(--border);box-shadow:var(--shadow-control)}.mcp-card-heading{display:inline-flex;align-items:center;gap:9px;margin:0;color:var(--text);font:inherit;font-weight:600}.mcp-token-overview{display:grid;gap:22px}.mcp-token-summary{display:flex;align-items:flex-start;gap:16px}.mcp-token-summary .ant-typography{margin-bottom:0}.mcp-token-summary h3.ant-typography{margin:1px 0 5px;font-size:20px}.mcp-token-icon{display:grid;flex:0 0 auto;place-items:center;width:46px;height:46px;border:1px solid var(--border);border-radius:14px;color:var(--muted);background:var(--surface-2);font-size:20px}.mcp-token-icon.is-active{border-color:color-mix(in srgb,var(--ok) 35%,var(--border));color:var(--ok);background:var(--ok-soft)}.mcp-token-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.mcp-token-meta>span{display:grid;gap:5px;min-width:0;padding:14px 16px}.mcp-token-meta>span+span{border-left:1px solid var(--border)}.mcp-token-meta strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.mcp-secret-card{border:1px solid color-mix(in srgb,var(--ok) 42%,var(--border));background:color-mix(in srgb,var(--ok-soft) 56%,var(--surface));box-shadow:var(--shadow-control)}.mcp-secret-card .ant-card-body{display:grid;gap:14px}.mcp-secret-card>.ant-card-body>.ant-btn{justify-self:start}.mcp-placeholder-alert{margin:16px 0}.mcp-guide-tabs{min-width:0}.mcp-guide-tabs .ant-tabs-tab-btn>span{display:inline-flex;align-items:center;gap:7px}.mcp-guide-content{display:grid;min-width:0;gap:14px;padding-top:4px}.mcp-guide-content>.ant-typography{margin-bottom:0}.mcp-code-block{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.mcp-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:5px 8px 5px 14px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:600}.mcp-code-toolbar .ant-btn{min-width:44px;min-height:44px}.mcp-code-block pre{max-width:100%;margin:0;padding:16px;overflow-x:auto;color:var(--text);font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;scrollbar-color:var(--border-strong) transparent}.mcp-code-block pre:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.mcp-code-block code{white-space:pre}.mcp-connection-facts{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.mcp-connection-facts .ant-typography{overflow-wrap:anywhere}.mcp-capabilities{display:grid;gap:4px;margin:18px 0}.mcp-capabilities>div{display:flex;gap:12px;padding:13px 10px;border-radius:10px}.mcp-capabilities>div:hover{background:var(--surface-hover)}.mcp-capabilities>div>.anticon{flex:0 0 auto;margin-top:3px;color:var(--primary);font-size:17px}.mcp-capabilities span{display:grid;gap:3px}.mcp-capabilities strong{color:var(--text)}.mcp-capabilities small{color:var(--text-secondary);font-size:13px;line-height:1.45}.mcp-endpoint-card{border:1px solid color-mix(in srgb,var(--brand-secondary) 30%,var(--border));background:color-mix(in srgb,var(--info-soft) 42%,var(--surface))}.mcp-endpoint-card .ant-card-body{display:grid;gap:8px}.mcp-endpoint-card .ant-typography-copy{margin-left:6px}.mcp-endpoint-card>.ant-card-body>.ant-typography:last-child{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}@media(max-width:900px){.mcp-settings-layout{grid-template-columns:1fr}.mcp-settings-aside{position:static;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr)}}@media(max-width:640px){.mcp-settings-page{padding:24px 16px 52px}.mcp-settings-hero{display:grid;gap:16px}.mcp-status-tag{justify-self:start}.mcp-runway-card .ant-card-body{padding:24px 20px}.mcp-runway-card .ant-steps-item{padding-bottom:18px}.mcp-token-meta,.mcp-settings-aside{grid-template-columns:1fr}.mcp-token-meta>span+span{border-top:1px solid var(--border);border-left:0}.mcp-token-summary{align-items:center}.mcp-panel>.ant-card-body,.mcp-secret-card>.ant-card-body{padding:20px}.mcp-guide-tabs .ant-tabs-nav-list{width:100%}.mcp-guide-tabs .ant-tabs-tab{justify-content:center;width:33.333%;margin:0}.mcp-guide-tabs .ant-tabs-tab-btn>span{gap:5px}.mcp-code-block pre{padding:14px;font-size:12px}}@media(prefers-reduced-motion:reduce){.mcp-capabilities>div{transition:none}}.role-page{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:56px 0 72px}.role-page-state{display:grid;min-height:45vh;place-content:center;gap:16px;color:var(--muted);text-align:center}.role-page-heading{max-width:760px;margin-bottom:30px}.role-page-heading h1{margin:4px 0 12px;color:var(--text);font-size:clamp(32px,5vw,54px);letter-spacing:-.04em}.role-page-heading>p:not(.role-page-eyebrow):not(.role-page-reason){margin:0;color:var(--muted);font-size:16px;line-height:1.65}.role-page-eyebrow{margin:0;color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.role-page-reason{margin:18px 0 0}.role-page .target-ai-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role-page .target-ai-role-card{min-height:190px;padding:20px}.role-page .target-ai-role-card strong{font-size:17px;line-height:1.3}.role-page .target-ai-role-card span,.role-page .target-ai-role-card small{font-size:13px}.role-page-actions{display:grid;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}.role-page-actions>div{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:900px){.role-page .target-ai-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.role-page{width:min(100% - 24px,560px);padding:32px 0 48px}.role-page .target-ai-role-grid{grid-template-columns:1fr}.role-page .target-ai-role-card{min-height:0}.role-page-actions>div,.role-page-actions .ant-btn{width:100%}}.admin-app-shell{min-height:100dvh;background:var(--bg)}.admin-route-active .voice-settings-toolbar{display:none}.admin-app-shell>.app-header{position:sticky;top:0;z-index:50}.admin-shell.ant-layout{--admin-bg: var(--bg);--admin-surface: var(--surface);--admin-raised: var(--surface-2);--admin-border: var(--border);--admin-text: var(--text);--admin-muted: var(--muted);--admin-primary: var(--primary);--admin-primary-soft: var(--primary-soft);min-height:calc(100dvh - 52px);color:var(--admin-text);background:var(--admin-bg)}.admin-shell *,.admin-gate *{box-sizing:border-box}.admin-shell :focus-visible,.admin-gate :focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.admin-skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 14px;color:var(--primary-ink);background:var(--admin-primary);border-radius:8px;transform:translateY(-150%)}.admin-skip-link:focus{transform:translateY(0)}.admin-sidebar-toggle.ant-btn{display:none}.admin-sidebar.ant-layout-sider{position:sticky;top:52px;height:calc(100dvh - 52px);overflow:auto;border-inline-end:1px solid var(--admin-border);background:var(--admin-surface)!important}.admin-sidebar>.ant-layout-sider-children{padding:18px 10px 24px}.admin-sidebar.ant-layout-sider-zero-width>.ant-layout-sider-children{visibility:hidden;pointer-events:none}.admin-sidebar.ant-layout-sider-zero-width{z-index:20;overflow:visible;border-inline-end:0}.admin-sidebar .ant-layout-sider-zero-width-trigger{z-index:21}.admin-sidebar-heading{min-height:54px;display:flex;align-items:center;gap:10px;padding:4px 10px 12px}.admin-sidebar-mark{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;color:var(--admin-primary);background:var(--admin-primary-soft);border-radius:10px;font-size:17px}.admin-sidebar-title{min-width:0;display:grid;line-height:1.25}.admin-sidebar-title .ant-typography:first-child{font-family:Geist,Inter,sans-serif;font-size:14px;letter-spacing:-.015em}.admin-sidebar-title .ant-typography:last-child{font-size:11px}.admin-nav.ant-menu{margin-top:4px;border-inline-end:0!important;background:transparent}.admin-nav .ant-menu-item-group-title{padding:18px 12px 6px;color:var(--admin-muted);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.admin-nav .ant-menu-item{min-height:44px;display:flex;align-items:center;margin-inline:0;width:100%;font-weight:550}.admin-nav .ant-menu-item-selected{box-shadow:inset 3px 0 0 var(--admin-primary)}.admin-main.ant-layout-content{min-width:0;background:var(--admin-bg);outline:none}.admin-page{width:min(100%,1280px);margin-inline:auto;padding:24px clamp(16px,3vw,36px) 56px}.admin-page-header{min-height:74px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-page-header .ant-typography{margin-top:0;margin-bottom:4px}.admin-page-header h1.ant-typography{font-family:Geist,Inter,sans-serif;font-size:clamp(28px,3vw,38px);font-weight:650;line-height:1.08;letter-spacing:-.035em}.admin-eyebrow{color:var(--admin-primary)!important;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.admin-panel{margin-top:16px}.admin-panel.ant-card,section.admin-panel{border-color:var(--admin-border);background:var(--admin-surface);border-radius:14px}.admin-panel .ant-card-head-title h2.ant-typography{margin:2px 0 0;font-family:Geist,Inter,sans-serif;font-size:19px;font-weight:630;letter-spacing:-.02em}.admin-section-heading,.admin-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.admin-detail-heading .ant-typography{margin:2px 0}.admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:20px;overflow:hidden;border:1px solid var(--admin-border);border-radius:14px;background:var(--admin-surface)}.admin-metric.ant-card{min-height:122px;border:0;border-inline-end:1px solid var(--admin-border);border-radius:0;background:var(--admin-surface)}.admin-metric.ant-card:last-child{border-inline-end:0}.admin-metric .ant-statistic-title{min-height:42px;color:var(--admin-muted);font-size:12px;line-height:1.35}.admin-metric .ant-statistic-content{display:flex;align-items:center;gap:8px;font-family:Geist,Inter,sans-serif;font-weight:650;letter-spacing:-.035em}.admin-metric-icon{width:38px;height:38px;display:inline-grid;place-items:center;color:var(--admin-primary);background:var(--primary-soft);border-radius:9px;font-size:19px}.admin-metric-success .admin-metric-icon{color:var(--ok);background:var(--ok-soft)}.admin-metric-warning .admin-metric-icon{color:var(--warn);background:var(--warn-soft)}.admin-metric-detail{display:block;margin-top:6px;font-size:13px}.admin-period-control{display:grid;justify-items:end;gap:7px}.admin-period-control>.ant-typography{font-size:12px;font-weight:600}.admin-overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:16px;align-items:start}.admin-overview-grid>.admin-panel{margin-top:0}.admin-overview-attention .ant-card-body{max-height:540px;padding:8px 16px 12px;overflow-x:hidden;overflow-y:auto}.admin-overview-attention .admin-attention-link{grid-template-columns:minmax(0,1fr) 20px;gap:5px 10px}.admin-overview-attention .admin-attention-link>.ant-tag,.admin-overview-attention .admin-attention-student,.admin-overview-attention .admin-attention-reason{grid-column:1}.admin-overview-attention .admin-attention-link>.anticon:last-child{grid-column:2;grid-row:1 / 4}.admin-generation{margin-top:28px}.admin-generation .admin-section-heading h2.ant-typography{margin:2px 0 0;font-family:Geist,Inter,sans-serif;font-size:22px;font-weight:630;letter-spacing:-.025em}.admin-generation-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.admin-chart-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px}.admin-chart-frame{min-width:0;padding:16px;border:1px solid var(--admin-border);border-radius:10px;background:var(--admin-raised)}.admin-chart-summary{min-height:34px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-bottom:8px;color:var(--admin-muted);font-size:13px}.admin-chart-summary span{display:inline-flex;align-items:baseline;gap:5px}.admin-chart-summary strong{color:var(--admin-text);font-size:22px;font-variant-numeric:tabular-nums}.admin-chart-canvas{position:relative;width:100%;height:320px;min-height:260px}.admin-chart-table .ant-table{font-variant-numeric:tabular-nums}.admin-attention-list .ant-list-item{padding-inline:0}.admin-attention-link{min-height:58px;width:100%;display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(180px,1.2fr) 24px;align-items:center;gap:12px;padding:8px;color:var(--admin-text);border-radius:8px;text-decoration:none}.admin-attention-link:hover{background:var(--admin-raised)}.admin-attention-student,.admin-attention-reason{min-width:0;display:grid}.admin-filters.ant-card{margin-bottom:16px;border-color:var(--admin-border);background:var(--admin-surface);border-radius:14px}.admin-filters.ant-card>.ant-card-head{min-height:46px;border-bottom-color:var(--admin-border)}.admin-filters.ant-card>.ant-card-head .ant-card-head-title{font-family:Geist,Inter,sans-serif;font-size:14px;font-weight:650}.admin-filters.ant-card>.ant-card-body{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(4,minmax(130px,1fr));gap:12px;padding:14px}.admin-ai-usage-filters.ant-card>.ant-card-body,.admin-ai-usage-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-timing-filters.ant-card>.ant-card-body{grid-template-columns:repeat(4,minmax(160px,1fr))}.admin-token-create.ant-card>.ant-card-body{display:block}.admin-token-create form{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px}.admin-token-create .ant-form-item{margin-bottom:0}.admin-token-create .ant-alert{margin-top:12px}.admin-field{min-width:0;display:grid;gap:6px;color:var(--admin-muted);font-size:12px;font-weight:600}.admin-field .ant-select,.admin-field .ant-input-affix-wrapper,.admin-field>.ant-input{min-width:0;width:100%}.admin-ai-usage-filters .ant-select-selector,.admin-ai-usage-filters .ant-select-selection-wrap{min-width:0;overflow:hidden}.admin-ai-usage-filters .ant-select-selection-item,.admin-ai-usage-filters .ant-select-selection-placeholder{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-field-compact{min-width:160px}.admin-record-count{min-width:86px;display:grid;justify-items:end;color:var(--admin-muted);font-size:12px;line-height:1.2}.admin-record-count strong{color:var(--admin-text);font-family:Geist,Inter,sans-serif;font-size:26px;letter-spacing:-.04em}.admin-table-panel.ant-card>.ant-card-body,section.admin-table-panel{padding:0;overflow:hidden}.admin-table .ant-table-cell{vertical-align:middle}.admin-table .ant-table-thead>tr>th{color:var(--admin-muted);font-size:11px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.admin-table .ant-table-tbody>tr>td{padding-block:14px}.admin-ai-usage-models{min-width:260px}.admin-ai-usage-model{display:grid;gap:2px}.admin-ai-usage-breakdowns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.admin-ai-usage-breakdowns>.admin-panel{min-width:0;margin-top:0}.admin-ai-usage-breakdown.ant-card>.ant-card-body{padding-block:4px}.admin-ai-usage-breakdown-list{display:grid}.admin-ai-usage-breakdown-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--admin-border)}.admin-ai-usage-breakdown-row:last-child{border-bottom:0}.admin-ai-usage-breakdown-label,.admin-ai-usage-breakdown-cost{min-width:0;display:grid;gap:3px}.admin-ai-usage-breakdown-label .ant-typography{min-width:0;overflow-wrap:anywhere}.admin-ai-usage-breakdown-cost{justify-items:end;text-align:end}.admin-row-link{min-height:44px;display:inline-flex;flex-direction:column;justify-content:center;gap:2px;color:inherit}.admin-row-link .ant-tag{margin-inline-start:6px}.admin-stage-tag.ant-tag{margin:0;color:var(--admin-muted);background:var(--admin-raised);border-color:var(--admin-border)}.admin-course-cell{max-width:280px;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.admin-table-progress{width:112px;display:grid;grid-template-columns:minmax(48px,1fr) auto;align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.admin-table-progress .ant-progress{margin:0}.admin-pagination.ant-pagination{min-height:60px;display:flex;align-items:center;justify-content:flex-end;padding:10px 16px}.admin-state{margin:16px}.admin-state.ant-empty{min-height:180px;display:grid;place-content:center}.admin-state .ant-empty-description{display:grid;gap:4px}.admin-skeleton-stack{display:grid;gap:12px;padding:18px}.admin-breadcrumb{min-height:44px;width:fit-content;display:inline-flex;align-items:center;gap:7px;color:var(--admin-muted);text-decoration:none}.admin-breadcrumb:hover{color:var(--admin-text)}.admin-student-hero{overflow:hidden;margin-top:4px;margin-bottom:18px;padding:clamp(20px,3vw,30px);border:1px solid var(--admin-border);border-radius:16px;background:var(--admin-surface)}.admin-student-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.admin-student-identity{min-width:0}.admin-student-identity h1.ant-typography{margin:8px 0 6px;font-family:Geist,Inter,sans-serif;font-size:clamp(32px,4vw,48px);font-weight:650;line-height:1;letter-spacing:-.045em}.admin-student-meta{color:var(--admin-muted)}.admin-student-meta .ant-typography{margin:0;overflow-wrap:anywhere}.admin-student-statuses{max-width:360px;display:grid;justify-items:end;gap:12px}.admin-status-tag.ant-tag{min-height:30px;display:inline-flex;align-items:center;margin:0;padding-inline:11px;border-radius:999px}.admin-analytics-toggle{display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-raised);cursor:pointer}.admin-analytics-toggle>span:first-child{min-width:0;display:grid;gap:1px}.admin-analytics-toggle .ant-typography:first-child{font-size:12px}.admin-analytics-toggle .ant-typography:last-child{font-size:11px;line-height:1.35}.admin-journey{margin-top:28px;padding:18px 20px 16px;border:1px solid color-mix(in srgb,var(--admin-primary) 22%,var(--admin-border));border-radius:14px;background:color-mix(in srgb,var(--admin-primary-soft) 58%,var(--admin-surface))}.admin-journey-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:15px;color:var(--admin-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-journey-heading span:last-child{color:var(--admin-primary)}.admin-journey-rail{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}.admin-journey-step{position:relative;min-width:0;display:grid;justify-items:center;gap:7px;color:var(--admin-muted);font-size:11px;text-align:center}.admin-journey-step:not(:last-child):after{position:absolute;z-index:0;top:13px;left:50%;width:100%;height:2px;content:"";background:var(--admin-border)}.admin-journey-step[data-state=complete]:not(:last-child):after{background:var(--admin-primary)}.admin-journey-node{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;border:2px solid var(--admin-border);border-radius:50%;background:var(--admin-surface);font-size:11px}.admin-journey-step[data-state=complete] .admin-journey-node{color:var(--primary-ink);border-color:var(--admin-primary);background:var(--admin-primary)}.admin-journey-step[data-state=current]{color:var(--admin-text);font-weight:650}.admin-journey-step[data-state=current] .admin-journey-node{border-color:var(--admin-primary);box-shadow:0 0 0 5px var(--admin-primary-soft)}.admin-journey-step[data-state=current] .admin-journey-node:after{width:8px;height:8px;content:"";border-radius:50%;background:var(--admin-primary)}.admin-journey-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-student-vitals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--admin-border)}.admin-student-vitals>div{min-width:0;padding:0 20px;border-inline-end:1px solid var(--admin-border)}.admin-student-vitals>div:first-child{padding-inline-start:0}.admin-student-vitals>div:last-child{padding-inline-end:0;border-inline-end:0}.admin-student-vitals dt{margin-bottom:5px;color:var(--admin-muted);font-size:11px;font-weight:650;letter-spacing:.035em}.admin-student-vitals dd{margin:0;overflow-wrap:anywhere;font-family:JetBrains Mono,ui-monospace,monospace;font-size:clamp(16px,2vw,20px);font-weight:650;line-height:1.25}.admin-tabs .ant-tabs-nav{margin-bottom:10px}.admin-tabs .ant-tabs-tab{min-height:44px;padding:8px 10px}.admin-tab-label{display:inline-flex;align-items:center;gap:7px}.admin-tabs .ant-badge-count{min-width:22px;height:22px;padding-inline:6px;color:var(--admin-primary);background:var(--admin-primary-soft);box-shadow:none;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;line-height:22px}.admin-detail-panel.ant-card{margin-top:0;border-radius:14px}.admin-detail-panel.ant-card>.ant-card-body{padding:clamp(18px,3vw,28px)}.admin-definition-grid .ant-descriptions-item-label,.admin-definition-grid .ant-descriptions-item-content{overflow-wrap:anywhere}.admin-signal-list{margin-top:20px}.admin-summary-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);gap:16px}.admin-summary-grid .ant-card{border-color:var(--admin-border);background:var(--admin-raised)}.admin-summary-grid .ant-card-body{height:100%;padding:20px}.admin-summary-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-summary-course h3.ant-typography{max-width:38ch;margin:16px 0 6px;font-family:Geist,Inter,sans-serif;font-size:clamp(20px,2vw,25px);font-weight:630;line-height:1.22;letter-spacing:-.025em}.admin-course-caption{min-height:42px;margin-bottom:18px!important}.admin-course-progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}.admin-data-value{font-family:JetBrains Mono,ui-monospace,monospace}.admin-account-facts{display:grid;gap:0;margin:14px 0 0}.admin-account-facts>div{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--admin-border)}.admin-account-facts dt{color:var(--admin-muted);font-size:12px}.admin-account-facts dd{margin:0;overflow-wrap:anywhere;font-size:13px;font-weight:600}.admin-student-mobile{padding:14px}.admin-mobile-sort{margin-bottom:12px}.admin-student-mobile-list>.admin-student-card{border-block-end:1px solid var(--admin-border)}.admin-student-card{width:100%;min-width:0;display:grid;gap:10px;padding:16px 4px;color:inherit}.admin-student-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-student-card-heading>span:first-child{min-width:0;display:grid}.admin-student-card-heading .ant-typography{min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-student-card-tags{display:flex;flex-wrap:wrap;gap:6px}.admin-student-card-tags .ant-tag{margin:0}.admin-student-card-course{overflow-wrap:anywhere}.admin-student-card-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.admin-subpanel.ant-card{margin-top:20px}.admin-record-list,.admin-session-list{border:1px solid var(--admin-border);border-radius:10px}.admin-roadmap-summary,.admin-note-list{border:0;background:transparent}.admin-roadmap-summary .ant-list-header{margin-bottom:10px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--admin-primary) 20%,var(--admin-border));border-radius:12px;background:color-mix(in srgb,var(--admin-primary-soft) 46%,var(--admin-surface))}.admin-roadmap-intro{display:grid;gap:6px}.admin-roadmap-intro .ant-typography{margin:0;color:var(--admin-text);font-size:15px;line-height:1.55}.admin-roadmap-summary .ant-list-items,.admin-note-list .ant-list-items{display:grid;gap:10px}.admin-roadmap-summary .ant-list-item,.admin-note-list .ant-list-item{align-items:flex-start;padding:16px 18px;border:1px solid var(--admin-border);border-block-end:1px solid var(--admin-border)!important;border-radius:12px;background:var(--admin-surface);transition:border-color .16s ease,box-shadow .16s ease}.admin-roadmap-summary .ant-list-item:hover,.admin-note-list .ant-list-item:hover{border-color:color-mix(in srgb,var(--admin-primary) 28%,var(--admin-border));box-shadow:var(--shadow-control)}.admin-roadmap-summary .ant-list-item-meta,.admin-note-list .ant-list-item-meta,.admin-note-list .ant-list-item-meta-content{min-width:0}.admin-roadmap-index.ant-tag{width:30px;height:30px;display:grid;place-items:center;margin:0;color:var(--admin-primary);border-color:transparent;border-radius:9px;background:var(--admin-primary-soft);font-family:JetBrains Mono,ui-monospace,monospace}.admin-roadmap-course-copy{display:grid;gap:5px;color:var(--admin-muted);line-height:1.5}.admin-roadmap-course-copy b{color:var(--admin-text);font-weight:600}.admin-note-title{min-width:0;display:flex;align-items:center;gap:8px}.admin-note-title .ant-tag{flex:0 0 auto;margin:0;border:0;background:var(--admin-raised)}.admin-note-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-note-date{display:block;padding-top:2px;font-size:12px;white-space:nowrap}.admin-progress-label{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-progress-label>span:first-child,.admin-block-name{min-width:0;display:grid}.admin-note-text{margin:0!important;color:var(--admin-text);line-height:1.55;white-space:pre-wrap}.admin-knowledge-graph,.admin-code-block{max-height:420px;margin:0;overflow:auto;padding:12px;color:var(--admin-text);border:1px solid var(--admin-border);border-radius:8px;background:var(--admin-raised);white-space:pre-wrap;overflow-wrap:anywhere}.admin-issued-token{width:100%}.admin-issued-token .ant-typography code{display:block;max-width:100%;overflow-wrap:anywhere}.admin-artifact-browser{min-height:560px;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1px;overflow:hidden;border:1px solid var(--admin-border);border-radius:10px;background:var(--admin-border)}.admin-artifact-sidebar.ant-card,.admin-artifact-preview.ant-card{min-width:0;border:0;border-radius:0;background:var(--admin-surface)}.admin-artifact-sidebar>.ant-card-body{height:100%;min-height:0;display:flex;flex-direction:column;padding:12px}.admin-artifact-sidebar .ant-statistic{flex:0 0 auto;padding:4px 8px 12px;border-bottom:1px solid var(--admin-border)}.admin-artifact-sidebar .ant-statistic-content-suffix{color:var(--admin-muted);font-size:12px}.admin-artifact-list{min-height:0;flex:1;overflow-y:auto}.admin-artifact-list .ant-list-item{padding:4px 0;border-block-end:0}.admin-artifact-item.ant-btn{min-height:72px;height:auto;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;padding:10px;text-align:start;white-space:normal}.admin-artifact-item.ant-btn>.anticon{align-self:start;margin-top:3px}.admin-artifact-item-copy{min-width:0;display:grid;justify-items:start;gap:3px}.admin-artifact-item-copy .ant-typography{max-width:100%;overflow:hidden;text-overflow:ellipsis}.admin-artifact-preview>.ant-card-head{align-items:flex-start}.admin-artifact-preview .ant-card-head-title{white-space:normal}.admin-artifact-preview h2.ant-typography{margin:4px 0;font-size:22px;overflow-wrap:anywhere}.admin-artifact-preview>.ant-card-body{min-height:0;overflow:auto}.admin-artifact-browser-index{min-height:0;display:block;border:0}.admin-artifact-browser-index .admin-artifact-sidebar{height:100%}.admin-artifact-student-view{min-width:0}.admin-artifact-content-full .learn-inline-saved{min-height:420px}.admin-session-page{width:min(100%,1720px)}.admin-session-observer-header{align-items:center}.admin-session-observer-stats{width:min(100%,440px)}.admin-session-sensitive{width:fit-content;margin:-8px 0 14px}.admin-session-mobile-tabs{display:none}.admin-session-workspace{height:max(760px,calc(100dvh - 250px));display:grid;grid-template-columns:minmax(560px,1fr) minmax(280px,340px);gap:14px}.admin-session-pane{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface)}.admin-session-pane-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--admin-border)}.admin-session-pane-header h2.ant-typography{margin:2px 0 0;font-size:19px}.admin-session-chat-log{min-height:0}.admin-session-feed-content{min-height:100%;padding:0}.admin-session-feed{min-height:100%;display:grid;align-content:start;gap:22px;margin:0;padding:22px clamp(18px,4vw,52px) 48px;list-style:none;scroll-behavior:smooth}.admin-session-feed>div{width:min(100%,920px);min-width:0;margin-inline:auto;scroll-margin-top:18px}.admin-session-feed .lesson-conversation-message{position:relative;max-width:100%}.admin-session-feed .lesson-conversation-tutor{padding-left:36px}.admin-session-feed .lesson-conversation-tutor>.learn-msg-avatar{position:absolute;top:0;left:0;width:26px;height:26px;border-radius:50%;object-fit:cover}.admin-session-feed .lesson-conversation-message>div:last-child{width:100%;color:var(--admin-text)}.admin-session-feed .lesson-conversation-student>div:last-child{width:fit-content;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:14px 14px 4px;background:var(--user)}.lesson-conversation-meta{display:flex;justify-content:space-between;gap:12px;color:var(--admin-muted);font-size:11px}.admin-session-feed .ide-msg-md{max-width:none;line-height:1.65}.admin-session-artifacts .admin-artifact-browser{flex:1;min-height:0;border:0;border-radius:0}.admin-session-feed-active .learn-inline-artifact,.admin-session-feed-active .learn-inline-saved{border-color:var(--border-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.admin-event-list .ant-list-item{align-items:flex-start}.admin-event-list .ant-list-item-meta-description .ant-typography{margin-bottom:4px}.admin-timings-page{width:min(100%,1760px)}.admin-timing-table{font-variant-numeric:tabular-nums}.admin-timing-detail{padding:12px;background:var(--admin-raised)}.admin-timing-detail-content{width:100%}.admin-timing-context{max-width:420px;overflow-wrap:anywhere}.admin-gate{--admin-primary: var(--primary);min-height:100dvh;display:grid;place-items:center;padding:20px;color:var(--text);background:var(--bg)}.admin-gate-panel{width:min(100%,520px);padding:32px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:center}.admin-spinner{width:30px;height:30px;display:inline-block;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}@media(max-width:1199px){.admin-filters.ant-card>.ant-card-body{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-search{grid-column:span 2}.admin-overview-grid{grid-template-columns:minmax(0,1fr)}.admin-session-mobile-tabs{display:block}.admin-session-mobile-tabs .ant-tabs-nav{margin-bottom:12px}.admin-session-workspace{grid-template-columns:minmax(0,1fr);min-height:680px}.admin-session-workspace[data-mobile-view=conversation] .admin-session-artifacts,.admin-session-workspace[data-mobile-view=artifacts] .admin-session-conversation{display:none}}@media(max-width:1023px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible;border:0;background:transparent}.admin-metric.ant-card,.admin-metric.ant-card:last-child{border:1px solid var(--admin-border);border-radius:12px}.admin-generation-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-ai-usage-filters.ant-card>.ant-card-body,.admin-ai-usage-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-timing-filters.ant-card>.ant-card-body{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:991px){.admin-sidebar.ant-layout-sider{top:100px;height:calc(100dvh - 100px)}.admin-sidebar.ant-layout-sider:not(.ant-layout-sider-zero-width){position:fixed;inset-inline-start:0;z-index:40;box-shadow:var(--shadow-card-hover)}.admin-sidebar-toggle.ant-btn{position:fixed;z-index:45;top:108px;inset-inline-start:8px;width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border-radius:10px;background:var(--admin-surface);box-shadow:var(--shadow-control)}.admin-sidebar-toggle.ant-btn[data-open=true]{inset-inline-start:232px}.admin-page>.admin-breadcrumb,.admin-page>.admin-page-header:first-child{margin-inline-start:48px}}@media(max-width:767px){.admin-page{padding-top:20px}.admin-page-header{align-items:flex-start;flex-direction:column;gap:12px}.admin-period-control,.admin-record-count{justify-items:start}.admin-field-compact{width:100%}.admin-metrics,.admin-chart-grid,.admin-filters.ant-card>.ant-card-body,.admin-timing-filters.ant-card>.ant-card-body{grid-template-columns:1fr}.admin-search{grid-column:auto}.admin-ai-usage-filters.ant-card>.ant-card-body,.admin-ai-usage-metrics{grid-template-columns:1fr}.admin-note-list .ant-list-item{display:grid;gap:10px}.admin-note-list .ant-list-item-extra{margin:0;order:-1}.admin-note-title{align-items:flex-start;flex-direction:column}.admin-note-title strong{max-width:100%}.admin-ai-usage-breakdowns,.admin-generation-metrics,.admin-summary-grid{grid-template-columns:1fr}.admin-student-hero{padding:20px 16px}.admin-student-hero-top{flex-direction:column;gap:18px}.admin-student-statuses{width:100%;max-width:none;justify-items:stretch}.admin-status-tag.ant-tag{width:fit-content}.admin-analytics-toggle{justify-content:space-between}.admin-journey{padding-inline:12px}.admin-journey-step{font-size:9.5px}.admin-journey-label{width:100%}.admin-student-vitals{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.admin-student-vitals>div{padding:0 12px 14px}.admin-student-vitals>div:nth-child(2){padding-inline-end:0;border-inline-end:0}.admin-student-vitals>div:nth-child(-n+2){border-bottom:1px solid var(--admin-border)}.admin-student-vitals>div:nth-child(3){padding-inline-start:0}.admin-student-vitals>div:nth-child(n+3){padding-bottom:0}.admin-tabs .ant-tabs-nav-wrap{overflow:visible}.admin-token-create form{grid-template-columns:1fr}.admin-attention-link{grid-template-columns:minmax(0,1fr) 24px}.admin-attention-link>.ant-tag,.admin-attention-student,.admin-attention-reason{grid-column:1}.admin-attention-link>.anticon:last-child{grid-column:2;grid-row:1 / 4}.admin-pagination.ant-pagination{justify-content:center}.admin-session-observer-stats{width:100%}.admin-session-feed{padding-inline:12px}.admin-artifact-browser{min-height:0;grid-template-columns:1fr}.admin-artifact-list{max-height:300px}.admin-artifact-preview>.ant-card-head{align-items:flex-start;flex-direction:column}.admin-event-list .ant-list-item{display:block}.admin-event-list .ant-list-item-extra{margin-inline-start:0;margin-top:8px}}@media(max-width:420px){.admin-panel.ant-card>.ant-card-body{padding:14px}.admin-table-panel.ant-card>.ant-card-body{padding:0}.admin-student-identity h1.ant-typography{font-size:34px}.admin-journey-heading{align-items:flex-start;flex-direction:column;gap:3px}.admin-account-facts>div{grid-template-columns:1fr;gap:3px}}@media(prefers-reduced-motion:reduce){.admin-shell *,.admin-gate *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
