:root{--bg: #08080a;--surface: #121216;--surface2: #1a1a22;--fg: #f0f0f2;--muted: #7a7a82;--border: rgba(255,255,255,.06);--accent: #6c5ce7;--accent-glow: rgba(108,92,231,.35);--success: #00b894;--warn: #fdcb6e;--danger: #e17055;--info: #00cec9;--font-display: "SF Pro Display", "Inter", system-ui, sans-serif;--font-body: "SF Pro Text", "Inter", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Fira Code", monospace;--font-map: "Forum", "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-editorial: "Source Serif 4", Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--sidebar-w: 280px;--chat-w: 320px;--topbar-h: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button>svg{flex:0 0 auto;pointer-events:none}html,body,#root{height:100%;width:100%;overflow:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);display:flex;align-items:center;padding:0 20px;background:#08080ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;gap:16px}.topbar-logo{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.topbar-logo span{color:var(--accent)}.roadmap-switcher{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:3px;padding:3px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#121218e0;box-shadow:0 8px 24px #0000003d}.roadmap-switcher button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:5px;padding:6px 11px;background:transparent;color:var(--muted);font-family:var(--font-body);font-size:12px;white-space:nowrap;cursor:pointer;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.roadmap-switcher button:hover{color:var(--fg)}.roadmap-switcher button.active{color:var(--fg);background:#6c5ce733;box-shadow:inset 0 0 0 1px #6c5ce757}.roadmap-switcher-divider{width:1px;height:18px;margin:0 2px;background:#ffffff17}.roadmap-switcher .roadmap-import-button{display:flex;align-items:center;gap:5px;color:color-mix(in srgb,var(--fg) 72%,var(--muted))}.roadmap-switcher .roadmap-import-button svg{flex:0 0 auto}.roadmap-switcher .roadmap-generate-button{position:relative;display:flex;align-items:center;gap:6px;color:color-mix(in srgb,var(--accent) 58%,#fff);background:color-mix(in srgb,var(--accent) 8%,transparent)}.roadmap-switcher .roadmap-generate-button:hover:not(:disabled){color:#fff;background:color-mix(in srgb,var(--accent) 18%,transparent)}.roadmap-switcher .roadmap-generate-button:disabled{cursor:not-allowed;opacity:.38}.roadmap-switcher .roadmap-generate-button.generating{color:#e9e5ff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 32%,transparent),0 0 16px color-mix(in srgb,var(--accent) 13%,transparent)}.roadmap-switcher .roadmap-generate-button.complete,.roadmap-switcher .roadmap-generate-button.imported{color:color-mix(in srgb,var(--success) 70%,#fff);background:color-mix(in srgb,var(--success) 9%,transparent)}.roadmap-generate-icon{font-size:12px;text-shadow:0 0 10px currentColor}.roadmap-generate-dots,.generator-phase-dots{display:inline-flex;align-items:center;gap:2px}.roadmap-generate-dots i,.generator-phase-dots i{width:3px;height:3px;border-radius:50%;background:currentColor;animation:generatorDot 1.15s ease-in-out infinite}.roadmap-generate-dots i:nth-child(2),.generator-phase-dots i:nth-child(2){animation-delay:.16s}.roadmap-generate-dots i:nth-child(3),.generator-phase-dots i:nth-child(3){animation-delay:.32s}@keyframes generatorDot{0%,65%,to{opacity:.24;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.roadmap-switcher .roadmap-more-button{width:auto;padding-inline:9px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.roadmap-more-chevron{flex:0 0 auto;transition:transform .2s ease}.roadmap-switcher .roadmap-more-button[aria-expanded=true]{color:var(--fg);background:var(--surface2)}.roadmap-switcher .roadmap-more-button[aria-expanded=true] .roadmap-more-chevron{transform:rotate(180deg)}.roadmap-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;padding:6px;border:1px solid var(--border);border-radius:10px;background:#121218fa;box-shadow:0 18px 46px #0000007a;display:flex;flex-direction:column;gap:2px;animation:roadmapMenuIn .16s ease-out}.roadmap-dropdown-label{padding:5px 9px 3px;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.roadmap-dropdown-label.personal{margin-top:5px;padding-top:9px;border-top:1px solid var(--border)}.roadmap-dropdown-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:2px;align-items:center}.roadmap-switcher .roadmap-dropdown-item{width:100%;padding:8px 9px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;text-align:left}.roadmap-switcher .roadmap-dropdown-item.remote{grid-template-columns:18px minmax(0,1fr)}.roadmap-switcher .roadmap-dropdown-delete{width:28px;height:28px;padding:0;display:grid;place-items:center;color:var(--muted);font-size:15px}.roadmap-switcher .roadmap-dropdown-delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.roadmap-dropdown-status{padding:8px 9px;color:var(--muted);font-size:10px}.roadmap-dropdown-status.error{color:color-mix(in srgb,var(--danger) 82%,#fff)}.roadmap-switcher .roadmap-dropdown-item.active{background:color-mix(in srgb,var(--accent) 14%,var(--surface2))}.roadmap-dropdown-check{color:var(--accent);text-align:center}.roadmap-dropdown-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roadmap-dropdown-count{color:var(--muted);font-size:10px}@keyframes roadmapMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.topbar-progress{flex:0 1 540px;display:flex;align-items:center;gap:14px;margin-left:20px}.progress-save-status{display:inline-flex;align-items:center;gap:7px;min-width:max-content;padding:6px 9px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface2) 78%,transparent);color:var(--muted);font:500 10px/1 var(--font-ui);letter-spacing:.02em}.progress-save-status:disabled{cursor:default;opacity:1}.progress-save-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor}.progress-save-status.saved{color:var(--success)}.progress-save-status.dirty{color:var(--warn)}.progress-save-status.saving,.progress-save-status.loading{color:var(--info)}.progress-save-status.saving .progress-save-dot,.progress-save-status.loading .progress-save-dot{animation:progressSavePulse 1s ease-in-out infinite}.progress-save-status.error{color:color-mix(in srgb,var(--danger) 82%,#fff);border-color:color-mix(in srgb,var(--danger) 34%,var(--border));cursor:pointer}@keyframes progressSavePulse{50%{opacity:.35;transform:scale(.72)}}.progress-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.progress-bar{width:120px;height:4px;background:var(--surface2);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--info));border-radius:2px;transition:width .8s cubic-bezier(.22,1,.36,1)}.progress-num{font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12px;color:var(--fg)}.area-dots{display:flex;gap:6px;align-items:center}.area-dot{width:8px;height:8px;border-radius:50%;opacity:.3;transition:opacity .4s}.area-dot.completed{opacity:1;box-shadow:0 0 6px currentColor}.layout{display:flex;height:100%;padding-top:var(--topbar-h)}.mobile-nav{display:none}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;z-index:10}.sidebar-header{padding:16px 16px 12px;font-family:var(--font-display);font-size:13px;font-weight:510;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-header-title{display:flex;align-items:center;gap:8px}.note-add-button,.note-edit-button,.note-delete-button{border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);transition:opacity .15s,color .15s,background .15s,border-color .15s}.note-add-button{width:28px;height:28px;border-radius:7px;border-color:var(--border);font-size:18px}.note-add-button:hover,.note-edit-button:hover{color:var(--fg);background:var(--surface2);border-color:color-mix(in srgb,var(--accent) 38%,var(--border))}.note-list{flex:1;overflow-y:auto;padding:8px}.note-list-state{padding:18px 10px;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.note-list-state.error,.note-editor-error{color:color-mix(in srgb,var(--danger) 78%,#fff)}.profile-widget-wrap{position:relative;flex:0 0 auto;padding:10px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}.profile-widget-button{width:100%;min-width:0;border:1px solid transparent;border-radius:10px;padding:8px;background:transparent;color:var(--fg);display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:9px;align-items:center;text-align:left;cursor:pointer;font:inherit;transition:background .18s ease,border-color .18s ease}.profile-widget-button:hover,.profile-widget-button[aria-expanded=true]{background:var(--surface2);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.profile-widget-button:disabled{cursor:wait;opacity:.72}.profile-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#ddd7ff;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.28),transparent 24%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 76%,#9f8fff),color-mix(in srgb,var(--accent) 65%,#201a4a));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 26%,transparent);font-size:11px;font-weight:650;letter-spacing:.04em}.profile-widget-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.profile-widget-copy strong,.profile-widget-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-widget-copy strong{font-size:12px;font-weight:560}.profile-widget-copy span{color:var(--muted);font-size:10px}.profile-chevron{color:var(--muted)}.profile-menu{position:absolute;z-index:80;left:10px;right:10px;bottom:calc(100% + 7px);padding:7px;border:1px solid color-mix(in srgb,var(--border) 72%,rgba(255,255,255,.08));border-radius:11px;background:color-mix(in srgb,var(--surface2) 94%,#272334 6%);box-shadow:0 18px 42px #0000006b;animation:profileMenuIn .16s ease-out}@keyframes profileMenuIn{0%{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-menu-user{display:flex;flex-direction:column;gap:2px;padding:8px 9px 10px;border-bottom:1px solid var(--border)}.profile-menu-user strong{font-size:12px;font-weight:560}.profile-menu-user>span:last-child{color:var(--muted);font-size:10px}.profile-menu-label{color:color-mix(in srgb,var(--accent) 65%,#fff);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.profile-menu-action{width:100%;margin-top:6px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:color-mix(in srgb,var(--danger) 80%,#fff);display:flex;align-items:center;gap:8px;font:inherit;font-size:12px;cursor:pointer;transition:background .15s ease}.profile-menu-action:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.note-item{position:relative;padding:10px 68px 10px 12px;border-radius:8px;cursor:pointer;transition:background .15s;margin-bottom:4px}.note-item:hover{background:var(--surface2)}.note-item-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px}.note-edit-button,.note-delete-button{min-width:24px;height:24px;padding:0 6px;border-radius:6px;opacity:0;font-size:11px}.note-item:hover .note-edit-button,.note-item:hover .note-delete-button,.note-edit-button:focus-visible,.note-delete-button:focus-visible,.note-add-button:focus-visible{opacity:1}.note-delete-button:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent)}.note-item-title{font-size:14px;font-weight:510;margin-bottom:2px}.note-item-preview{font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-item-date{font-size:11px;color:var(--muted);opacity:.5;margin-top:4px;letter-spacing:.02em}.graph-area{flex:1;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#0a0a14,#060608)}.graph-stars{pointer-events:none}.graph-stars circle{animation:starTwinkle ease-in-out infinite alternate;animation-fill-mode:both}@keyframes starTwinkle{0%{opacity:var(--star-low, .08)}to{opacity:var(--star-high, .72)}}.nebula-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.graph-node-underlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible;mix-blend-mode:screen}.plasma-edge-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:1;mix-blend-mode:screen}.graph-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:grab;z-index:3;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.graph-svg:active{cursor:grabbing}.graph-area.is-camera-interacting .graph-stars circle,.graph-area.is-camera-interacting .completed-node-sleeve,.graph-area.is-camera-interacting .node-completed-sphere,.graph-area.is-camera-interacting .node-completed-aura,.graph-area.is-camera-interacting .nebula-canvas,.graph-area.is-camera-interacting .plasma-edge-canvas{will-change:transform}.node-group{cursor:pointer}.node-circle,.node-completed-sphere{transition:all .3s cubic-bezier(.22,1,.36,1)}.node-group:hover .node-circle,.node-group:hover .node-completed-sphere{filter:brightness(1.3)}.node-group:hover .node-glow{opacity:.6}.node-glow{opacity:0;transition:opacity .4s}.node-group.node-completed .node-glow{opacity:.24}.node-group.node-available .node-glow{opacity:.055}.node-group.node-locked .node-glow{opacity:0}.node-group:hover .node-glow{opacity:.55}.node-completed-sphere{pointer-events:none;transform-box:fill-box;transform-origin:center;transition:transform .68s cubic-bezier(.22,1,.36,1),filter .68s ease;animation:completedNodeCoreDrift var(--core-drift-duration, 7.5s) ease-in-out var(--core-drift-delay, 0s) infinite}.node-completed-aura{pointer-events:none;opacity:.24;transform-box:fill-box;transform-origin:center;transition:opacity .34s ease,transform .42s cubic-bezier(.22,1,.36,1);animation:completedNodeAuraPulse var(--aura-pulse-duration, 4.5s) ease-in-out var(--aura-pulse-delay, 0s) infinite}.node-completed-corona{pointer-events:none;opacity:.04;transform-box:fill-box;transform-origin:center;transform:rotate(-4deg) scale(.88);filter:blur(.16px);mix-blend-mode:screen;transition:opacity .26s ease,transform .42s cubic-bezier(.22,1,.36,1);animation:completedNodeCoronaPulse var(--aura-pulse-duration, 4.5s) ease-in-out var(--aura-pulse-delay, 0s) infinite}.node-completed-hover-halo,.node-completed-corona-focus{pointer-events:none;opacity:0;transform-box:fill-box;transform-origin:center}.node-completed-hover-halo{transform:scale(.9);transition:opacity .72s ease,transform .82s cubic-bezier(.22,1,.36,1)}.node-completed-corona-focus{transform:scale(.91);filter:blur(.22px);mix-blend-mode:screen;transition:opacity .72s ease,transform .82s cubic-bezier(.22,1,.36,1)}.node-group.node-completed:hover .node-completed-sphere{transform:scale(1.08);filter:brightness(1.08) saturate(1.04)}.node-group.node-completed:hover .node-completed-hover-halo{opacity:.48;transform:scale(1.28)}.node-group.node-completed:hover .node-completed-corona-focus{opacity:.32;transform:scale(1.09)}@keyframes completedNodeAuraPulse{0%,to{opacity:.16;transform:scale(.9)}42%{opacity:.62;transform:scale(1.24)}72%{opacity:.28;transform:scale(1.02)}}@keyframes completedNodeCoronaPulse{0%,to{opacity:.025;transform:rotate(-5deg) scale(.86)}42%{opacity:.38;transform:rotate(3deg) scale(1.07)}72%{opacity:.075;transform:rotate(-1deg) scale(.96)}}@keyframes completedNodeSleeveDrift{0%,to{transform:rotate(-3deg) scaleY(.98)}34%{transform:rotate(3deg) scaleX(1.04)}68%{transform:rotate(-1deg) scale(.98,1.04)}}@keyframes completedNodeCoreDrift{0%,to{transform:rotate(-3deg) scaleY(.97)}40%{transform:rotate(3deg) scale(1.045,.995)}72%{transform:rotate(-2deg) scale(.975,1.045)}}.completed-node-sleeve{transform-box:fill-box;transform-origin:center;animation:completedNodeSleeveDrift var(--sleeve-drift-duration, 9s) ease-in-out var(--sleeve-drift-delay, 0s) infinite;will-change:transform}@media(prefers-reduced-motion:reduce){.completed-node-sleeve,.node-completed-sphere,.node-completed-aura,.node-completed-corona{animation:none}}.node-label{font-family:var(--font-body);font-size:11px;pointer-events:none;-webkit-user-select:none;user-select:none}.node-label-large{font-size:13px;font-weight:600;letter-spacing:.08em}.area-map-label{font-family:var(--font-map);font-weight:400;letter-spacing:.1em;paint-order:stroke fill;stroke:#050509;stroke-width:1.1px;stroke-opacity:.72;pointer-events:none;-webkit-user-select:none;user-select:none}.edge-line{fill:none;stroke-width:1.5;stroke-linecap:round;opacity:.1;transition:opacity .4s,stroke-width .4s,stroke-dashoffset 1.5s}.edge-line.available{opacity:.3}.edge-line.completed{opacity:0;stroke-width:1.35}.node-ring{pointer-events:none;opacity:.5}@keyframes unlockFlash{0%{filter:brightness(.2) saturate(0);transform:scale(.5)}40%{filter:brightness(2) saturate(1.5);transform:scale(1.15)}to{filter:brightness(1) saturate(1);transform:scale(1)}}.node-unlocking .node-circle,.node-unlocking .node-completed-sphere{animation:unlockFlash .8s cubic-bezier(.22,1,.36,1) forwards}.node-unlocking .node-glow,.node-unlocking .node-completed-aura{opacity:.8!important;transition:opacity .4s}.chat-panel{width:var(--chat-w);min-width:var(--chat-w);position:relative;border-left:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;z-index:10}.chat-header{padding:16px 16px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);position:relative}.chat-avatar{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--info));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.chat-header h3{font-family:var(--font-display);font-size:14px;font-weight:510}.chat-status{font-size:11px;color:var(--success);letter-spacing:.02em}.chat-history-toggle,.chat-history-backdrop{display:none}.chat-history-toggle{position:relative;width:30px;height:30px;flex:0 0 30px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--muted);align-items:center;justify-content:center;cursor:pointer}.chat-history-toggle-count{position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 4px;border:2px solid var(--surface);border-radius:999px;display:grid;place-items:center;background:var(--accent);color:#fff;font:600 8px/1 var(--font-body)}.chat-model-picker{position:relative;flex:0 0 auto}.chat-model-button{height:30px;max-width:126px;padding:0 9px 0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--fg);cursor:pointer;display:flex;align-items:center;gap:6px;font:inherit;font-size:11px;transition:border-color .15s,background .15s}.chat-model-button:hover,.chat-model-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface2))}.chat-model-button-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-model-chevron{flex:0 0 auto;color:var(--muted);transition:transform .18s}.chat-model-button[aria-expanded=true] .chat-model-chevron{transform:rotate(180deg)}.chat-model-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:250px;padding:7px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--surface) 96%,var(--surface2));box-shadow:0 18px 46px #0000006b;z-index:40;animation:modelMenuIn .16s ease-out}@keyframes modelMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-model-group+.chat-model-group{margin-top:5px}.chat-model-provider{padding:5px 8px 3px;color:var(--muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.chat-model-option{width:100%;min-height:34px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:8px;font:inherit;text-align:left}.chat-model-option:hover{color:var(--fg);background:var(--surface2)}.chat-model-option.active{color:var(--fg);background:color-mix(in srgb,var(--accent) 11%,var(--surface2))}.chat-model-option-mark{width:17px;color:var(--accent);font-size:11px;text-align:center}.chat-model-option-copy{min-width:0;flex:1}.chat-model-option-name{display:block;font-size:12px}.chat-model-option-meta{display:block;margin-top:1px;color:var(--muted);font-size:9px;opacity:.72}.chat-model-footer{margin-top:7px;padding-top:7px;border-top:1px solid var(--border)}.chat-provider-button{width:100%;min-height:34px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--accent);cursor:pointer;display:flex;align-items:center;gap:8px;font:inherit;font-size:11px;text-align:left}.chat-provider-button:hover{background:var(--surface2);color:var(--fg)}.chat-provider-plus{width:17px;height:17px;border:1px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.chat-provider-notice{padding:5px 8px 2px;color:var(--success);font-size:9px}.chat-provider-notice.error{color:color-mix(in srgb,var(--danger) 84%,var(--fg))}.chat-provider-empty{padding:10px 8px;color:var(--muted);font-size:10px;line-height:1.45}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.chat-msg{padding:8px 12px;border-radius:8px;max-width:85%;font-size:13px;line-height:1.5}.chat-msg.bot{background:var(--surface2);align-self:flex-start;border-bottom-left-radius:2px}.chat-msg.user{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:2px;opacity:.9}.chat-msg.error{align-self:flex-start;background:color-mix(in srgb,var(--danger) 10%,var(--surface2));border:1px solid color-mix(in srgb,var(--danger) 28%,var(--border));color:color-mix(in srgb,var(--danger) 72%,var(--fg))}.chat-msg.streaming{opacity:.92}.chat-msg.streaming:after{content:"";display:inline-block;width:5px;height:14px;margin-left:3px;vertical-align:-2px;border-radius:2px;background:currentColor;animation:chat-stream-caret .8s steps(1,end) infinite}.chat-empty-state,.chat-load-error{margin:auto 12px;padding:14px 16px;border:1px solid rgba(120,104,255,.18);border-radius:12px;color:#858399;background:#0f0e1894;font-size:12px;line-height:1.45}.chat-load-error{margin:4px 12px 10px;color:#ee8f9e;border-color:#ee5a7047}@keyframes chat-stream-caret{50%{opacity:0}}.chat-msg-time{font-size:10px;color:var(--muted);opacity:.6;margin-top:4px;letter-spacing:.02em}.chat-msg.bot .chat-msg-time{text-align:left}.chat-msg.user .chat-msg-time{text-align:right}.chat-input-area{padding:12px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end}.chat-input-shell{position:relative;flex:1;min-width:0}.chat-input-shell .chat-input{width:100%}.chat-mention-menu{position:absolute;z-index:30;left:0;right:0;bottom:calc(100% + 7px);max-height:268px;overflow-y:auto;padding:6px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--surface) 94%,#111329);box-shadow:0 16px 42px #0009,0 0 24px color-mix(in srgb,var(--accent) 10%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chat-mention-option{width:100%;display:flex;align-items:center;gap:9px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--fg);text-align:left;cursor:pointer}.chat-mention-option:hover,.chat-mention-option.active{background:color-mix(in srgb,var(--accent) 15%,transparent)}.chat-mention-icon{width:18px;flex:0 0 18px;color:var(--accent);text-align:center;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 55%,transparent))}.chat-mention-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.chat-mention-path{overflow:hidden;color:var(--fg);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.chat-mention-kind{color:var(--muted);font-size:9px}.chat-input{flex:1;min-height:34px;max-height:98px;box-sizing:border-box;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--fg);font-family:var(--font-body);font-size:13px;line-height:16px;outline:none;resize:none;overflow-y:hidden;transition:border-color .2s}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--muted);opacity:.5}.chat-reference{display:inline;padding:1px 4px;border:1px solid color-mix(in srgb,currentColor 38%,transparent);border-radius:5px;background:color-mix(in srgb,currentColor 10%,transparent);color:inherit;font:inherit;line-height:inherit;cursor:pointer;text-decoration:none;box-shadow:0 0 9px color-mix(in srgb,currentColor 10%,transparent)}.chat-reference:hover{background:color-mix(in srgb,currentColor 18%,transparent);border-color:color-mix(in srgb,currentColor 62%,transparent)}.chat-send{width:34px;height:34px;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s;flex-shrink:0}.chat-send:hover{background:color-mix(in srgb,var(--accent) 80%,#fff)}.chat-send:active{transform:scale(.95)}.chat-send:disabled{cursor:default;opacity:.42;transform:none}.chat-send-loading{width:15px;height:15px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}.chat-history{flex:0 0 auto;max-height:224px;border-top:1px solid var(--border);padding:10px 10px 12px;display:flex;flex-direction:column;gap:7px;background:color-mix(in srgb,var(--surface) 92%,var(--surface2))}.chat-history-header{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.chat-history-title{color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.chat-new-button{width:24px;height:24px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1}.chat-new-button:hover{color:var(--fg);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--surface2)}.chat-history-list{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.chat-history-row{position:relative}.chat-history-item{width:100%;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);padding:7px 32px 7px 8px;cursor:pointer;transition:color .15s,background .15s,border-color .15s;text-align:left}.chat-history-item:hover{color:var(--fg);background:var(--surface2)}.chat-history-item.active{color:var(--fg);background:color-mix(in srgb,var(--accent) 10%,var(--surface2));border-color:color-mix(in srgb,var(--accent) 26%,transparent)}.chat-delete-button{position:absolute;top:50%;right:5px;transform:translateY(-50%);min-width:22px;height:22px;padding:0 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background .15s,border-color .15s;font-family:var(--font-body);font-size:10px}.chat-history-row:hover .chat-delete-button,.chat-delete-button:focus-visible{opacity:1}.chat-delete-button:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent)}.chat-history-item-top{display:flex;gap:8px;align-items:baseline}.chat-history-item-name{flex:1;min-width:0;font-size:12px;font-weight:540;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-history-item-time{flex:0 0 auto;font-size:9px;color:var(--muted);opacity:.62}.chat-history-item-preview{margin-top:3px;font-size:10px;color:var(--muted);opacity:.68;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:90%;max-width:640px;max-height:80vh;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;animation:slideUp .25s cubic-bezier(.22,1,.36,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:20px 24px 0;display:flex;align-items:flex-start;justify-content:space-between}.modal-header h2{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em}.modal-close{width:28px;height:28px;border:none;border-radius:6px;background:var(--surface2);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .15s;flex-shrink:0}.modal-close:hover{background:var(--border);color:var(--fg)}.modal-body{padding:16px 24px 24px}.modal-header-actions{display:flex;align-items:center;gap:8px}.modal-secondary-button,.modal-primary-button,.modal-danger-button{border:1px solid var(--border);border-radius:8px;padding:8px 13px;font:inherit;cursor:pointer;transition:background .15s,border-color .15s,filter .15s;display:inline-flex;align-items:center;justify-content:center;gap:7px}.modal-secondary-button{color:var(--fg);background:var(--surface2)}.modal-primary-button{color:#fff;background:var(--accent);border-color:var(--accent)}.modal-danger-button{color:#fff;background:var(--danger);border-color:var(--danger)}.modal-secondary-button:hover{background:var(--border)}.modal-primary-button:hover,.modal-danger-button:hover{filter:brightness(1.08)}.modal-primary-button:disabled,.modal-danger-button:disabled{cursor:default;opacity:.48;filter:none}.auth-modal-overlay{background:#030307b8}.welcome-modal-overlay{z-index:245;padding:24px;background:#030308ad;-webkit-backdrop-filter:blur(12px) saturate(.82);backdrop-filter:blur(12px) saturate(.82)}.welcome-modal-content{position:relative;width:min(1020px,calc(100vw - 48px));max-height:min(820px,calc(100vh - 48px));overflow:hidden;display:grid;grid-template-columns:minmax(300px,.88fr) minmax(470px,1.32fr);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:24px;background:#0f0f14;box-shadow:0 38px 120px #000000b8,0 0 100px color-mix(in srgb,var(--accent) 10%,transparent);animation:welcomeRise .44s cubic-bezier(.22,1,.36,1)}@keyframes welcomeRise{0%{opacity:0;transform:translateY(18px) scale(.982)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-modal-map{position:relative;min-height:650px;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 48% 46%,rgba(129,109,255,.28) 0 5%,transparent 30%),radial-gradient(circle at 20% 78%,rgba(0,206,201,.13),transparent 34%),radial-gradient(circle at 82% 18%,rgba(253,121,168,.11),transparent 31%),linear-gradient(145deg,#09090e,#131020 55%,#0a1113)}.welcome-modal-map:before,.welcome-modal-map:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:radial-gradient(circle,rgba(255,255,255,.72) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(178,167,255,.46) 0 1px,transparent 1.5px);background-size:61px 61px,93px 93px;background-position:11px 17px,38px 24px;opacity:.45;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 88%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 88%,transparent)}.welcome-modal-map:after{filter:blur(24px);background:radial-gradient(ellipse at center,rgba(108,92,231,.34),transparent 58%);opacity:.8}.welcome-brand{position:absolute;top:31px;left:33px;color:#f5f3ffeb;font-size:21px;font-weight:650;letter-spacing:-.03em}.welcome-brand span{color:#8e7cff}.welcome-orbit{position:absolute;width:310px;aspect-ratio:1;border:1px solid rgba(148,132,255,.16);border-radius:45% 55% 52% 48%;transform:rotate(-24deg);box-shadow:inset 0 0 42px #6c5ce70d}.welcome-orbit:before,.welcome-orbit:after{content:"";position:absolute;left:50%;top:50%;width:128%;height:1px;background:linear-gradient(90deg,transparent,rgba(108,92,231,.37),transparent);transform:translate(-50%,-50%) rotate(24deg)}.welcome-orbit:after{transform:translate(-50%,-50%) rotate(92deg)}.welcome-orbit.orbit-two{width:205px;border-radius:55% 45% 48% 52%;transform:rotate(36deg);opacity:.68}.welcome-node{position:absolute;width:13px;height:13px;border:2px solid #8f7cff;border-radius:50%;background:#14121e;box-shadow:0 0 0 7px #6c5ce717,0 0 22px #6c5ce785}.welcome-node:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:inherit;background:#d9d3ff}.welcome-node.node-center{width:27px;height:27px;left:calc(50% - 14px);top:calc(50% - 14px)}.welcome-node.node-a{left:21%;top:31%}.welcome-node.node-b{right:19%;top:25%;border-color:#00cec9;box-shadow:0 0 0 7px #00cec914,0 0 22px #00cec96b}.welcome-node.node-c{left:24%;bottom:23%;border-color:#fdcb6e;box-shadow:0 0 0 7px #fdcb6e12,0 0 22px #fdcb6e66}.welcome-node.node-d{right:22%;bottom:29%;border-color:#fd79a8;box-shadow:0 0 0 7px #fd79a812,0 0 22px #fd79a866}.welcome-map-caption{position:absolute;left:34px;bottom:30px;color:#dedaf59e;font-family:var(--font-map);font-size:17px;letter-spacing:.04em}.welcome-modal-panel{position:relative;overflow-y:auto;padding:48px 52px 42px;background:radial-gradient(circle at 100% 0%,rgba(108,92,231,.1),transparent 33%),#111116}.welcome-close{position:absolute;top:18px;right:20px}.welcome-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:#a99cff;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.welcome-eyebrow:before{content:"";width:19px;height:1px;background:currentColor;box-shadow:0 0 10px currentColor}.welcome-modal-panel h1{max-width:580px;color:#f4f2fb;font-size:clamp(29px,3.2vw,43px);line-height:1.03;letter-spacing:-.045em}.welcome-lead{max-width:600px;margin-top:17px;color:#a6a3b0;font-size:14px;line-height:1.65}.welcome-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:27px}.welcome-feature{min-height:118px;display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:#ffffff06}.welcome-feature.compact{min-height:96px}.welcome-feature-icon{flex:0 0 auto;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:#a99cff;background:#6c5ce721;box-shadow:inset 0 0 0 1px #8e7cff29}.welcome-feature-icon.coral{color:#ffd27d;background:#fdcb6e1a;box-shadow:inset 0 0 0 1px #fdcb6e26}.welcome-feature-icon.teal{color:#60dfdb;background:#00cec917;box-shadow:inset 0 0 0 1px #00cec924}.welcome-feature-icon.rose{color:#ff9fc5;background:#fd79a817;box-shadow:inset 0 0 0 1px #fd79a824}.welcome-feature-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.welcome-feature h2{color:#e9e6f0;font-size:13px;line-height:1.35}.welcome-feature p{margin-top:5px;color:#7f7c88;font-size:11px;line-height:1.48}.welcome-demo-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid rgba(142,124,255,.14);border-radius:11px;background:#6c5ce70e;color:#9995a5;font-size:11px;line-height:1.5}.welcome-demo-dot{flex:0 0 auto;width:7px;height:7px;margin-top:5px;border-radius:50%;background:#8e7cff;box-shadow:0 0 11px #8e7cff}.welcome-actions{display:flex;align-items:center;gap:11px;margin-top:18px}.welcome-primary,.welcome-secondary{min-height:43px;border-radius:10px;padding:0 17px;font:600 12px/1 var(--font-body);cursor:pointer;transition:transform .18s ease,filter .18s ease,border-color .18s ease,background .18s ease}.welcome-primary{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid #7865f0;color:#fff;background:linear-gradient(135deg,#7461e9,#5e4bc9);box-shadow:0 10px 30px #5946ca40}.welcome-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.welcome-secondary{border:1px solid rgba(255,255,255,.09);color:#a9a6b1;background:transparent}.welcome-secondary:hover{color:#eeeaf5;border-color:#ffffff29;background:#ffffff09}.welcome-primary:focus-visible,.welcome-secondary:focus-visible{outline:2px solid #a99cff;outline-offset:3px}.auth-modal-content{width:min(860px,calc(100% - 32px));max-width:860px;min-height:500px;overflow:hidden;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);border-color:color-mix(in srgb,var(--accent) 22%,var(--border));background:#101014;box-shadow:0 32px 90px #00000094,0 0 80px color-mix(in srgb,var(--accent) 9%,transparent)}.auth-modal-visual{position:relative;min-height:500px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 23%,transparent) 0 8%,transparent 34%),radial-gradient(circle at 18% 18%,rgba(0,206,201,.09),transparent 38%),linear-gradient(145deg,#0b0b10,color-mix(in srgb,var(--accent) 16%,#0b0b10))}.auth-modal-visual:before,.auth-modal-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-modal-visual:before{opacity:.42;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(146,130,255,.75) 0 1px,transparent 1.5px);background-size:70px 70px,112px 112px;background-position:13px 29px,51px 7px}.auth-modal-visual:after{background:linear-gradient(90deg,transparent 75%,#101014 100%)}.auth-sigil{position:relative;z-index:2;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;color:#f0edff;border:1px solid rgba(191,181,255,.5);background:#6c5ce72e;box-shadow:0 0 20px #9b8bff61,inset 0 0 18px #bbb0ff29;font-family:var(--font-map);font-size:36px}.auth-orbit{position:absolute;z-index:1;border:1px solid rgba(156,142,255,.2);border-radius:50%}.auth-orbit-one{width:176px;height:176px;transform:rotate(-18deg) scaleY(.38)}.auth-orbit-two{width:250px;height:250px;transform:rotate(32deg) scaleY(.32);opacity:.7}.auth-modal-panel{min-width:0;padding:42px 44px;display:flex;flex-direction:column;justify-content:center}.auth-modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.auth-modal-heading h2{margin-top:10px;font-family:var(--font-display);font-size:28px;font-weight:620;letter-spacing:-.03em}.auth-modal-heading p{margin-top:7px;color:var(--muted);font-size:13px}.auth-prototype-badge{display:inline-flex;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:999px;padding:4px 8px;color:color-mix(in srgb,var(--accent) 58%,#fff);background:color-mix(in srgb,var(--accent) 10%,transparent);font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:20px;padding:3px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--surface2) 72%,transparent)}.auth-mode-button{min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.auth-mode-button:hover{color:var(--fg)}.auth-mode-button.active{color:var(--fg);background:color-mix(in srgb,var(--accent) 19%,var(--surface2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px}.auth-input{width:100%;height:42px;padding:0 12px;border:1px solid var(--border);border-radius:9px;outline:none;background:var(--surface2);color:var(--fg);font:inherit;transition:border-color .16s ease,box-shadow .16s ease}.auth-input:focus{border-color:color-mix(in srgb,var(--accent) 70%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.auth-submit{width:100%;min-height:42px;margin-top:2px}.auth-otp-input{text-align:center;font-size:24px;font-weight:700;letter-spacing:.34em;font-variant-numeric:tabular-nums}.auth-otp-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.auth-link-button{padding:0;border:0;background:transparent;color:var(--accent);font:inherit;cursor:pointer}.auth-link-button:hover:not(:disabled){color:var(--fg)}.auth-link-button:disabled{color:var(--muted);cursor:default}.auth-error{padding:9px 11px;border-radius:8px;color:color-mix(in srgb,var(--danger) 76%,#fff);background:color-mix(in srgb,var(--danger) 10%,transparent);font-size:11px}.auth-stub-note{color:var(--muted);font-size:10px;line-height:1.55;text-align:center}.note-editor-content{max-width:680px}.note-editor-body{display:flex;flex-direction:column;gap:14px}.note-editor-field{display:flex;flex-direction:column;gap:7px}.note-editor-label{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.note-editor-input,.note-editor-textarea{width:100%;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--fg);font:inherit;outline:none}.note-editor-input{padding:10px 12px}.note-editor-textarea{min-height:260px;resize:vertical;padding:12px;line-height:1.55}.note-editor-input:focus,.note-editor-textarea:focus{border-color:color-mix(in srgb,var(--accent) 58%,var(--border))}.note-editor-error{padding:9px 11px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--danger) 8%,transparent);font-size:11px}.note-editor-status{display:inline-flex;align-items:center;gap:7px;margin-top:6px;color:var(--muted);font-size:11px}.note-editor-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 8px color-mix(in srgb,var(--success) 55%,transparent)}.note-editor-status.dirty{color:color-mix(in srgb,var(--warn) 82%,var(--fg))}.note-editor-status.dirty:before{background:var(--warn);box-shadow:0 0 9px color-mix(in srgb,var(--warn) 65%,transparent);animation:unsavedStatusPulse 1.8s ease-in-out infinite}@keyframes unsavedStatusPulse{50%{opacity:.48;transform:scale(.78)}}.note-editor-toolbar{display:flex;gap:5px}.note-editor-tool{min-width:30px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--muted);font:inherit;opacity:.55}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.note-editor-actions{align-items:center;justify-content:space-between}.note-editor-shortcut{margin-right:auto;color:var(--muted);font-size:10px}.note-editor-shortcut kbd{padding:2px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface2);color:var(--fg);font-family:var(--font-mono);font-size:9px}.note-discard-overlay{z-index:240}.note-discard-content{max-width:430px}.note-discard-copy{color:var(--muted);line-height:1.55}.confirm-modal-content{max-width:430px}.confirm-modal-copy{color:var(--muted);line-height:1.55}.confirm-modal-name{color:var(--fg);font-weight:600}.provider-modal-content{max-width:540px;overflow-y:auto;background:radial-gradient(circle at 88% 0%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 32%),var(--surface)}.provider-modal-subtitle{max-width:410px;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}.provider-modal-body{display:flex;flex-direction:column;gap:14px}.provider-field{display:flex;flex-direction:column;gap:7px}.provider-field-label{color:var(--muted);font-size:10px;letter-spacing:.09em;text-transform:uppercase}.provider-select,.provider-input{width:100%;min-height:40px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--fg);font:inherit;outline:none}.provider-select{padding:0 11px;cursor:pointer}.provider-input{padding:10px 11px}.provider-input[readonly]{color:var(--muted);cursor:default}.provider-select:focus,.provider-input:focus{border-color:color-mix(in srgb,var(--accent) 58%,var(--border))}.provider-key-wrap{position:relative}.provider-key-wrap .provider-input{padding-right:72px}.provider-key-toggle{position:absolute;right:5px;top:5px;height:30px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:10px;display:inline-flex;align-items:center;gap:5px}.provider-key-toggle:hover{color:var(--fg);background:var(--border)}.provider-hint{color:var(--muted);font-size:10px;line-height:1.45;opacity:.72}.provider-test-card{padding:11px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface2) 74%,transparent);display:flex;flex-direction:column;gap:9px}.provider-test-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.provider-test-title{color:var(--fg);font-size:12px}.provider-test-copy{margin-top:2px;color:var(--muted);font-size:9px}.provider-test-button{flex:0 0 auto;min-height:30px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--accent) 9%,var(--surface2));color:var(--fg);cursor:pointer;font:inherit;font-size:10px}.provider-test-button:hover:not(:disabled){border-color:var(--accent)}.provider-test-button:disabled{cursor:default;opacity:.52}.provider-test-status{min-height:24px;padding:7px 9px;border-radius:7px;background:var(--surface2);color:var(--muted);font-size:10px;line-height:1.45}.provider-test-status.success{color:var(--success)}.provider-test-status.error{color:color-mix(in srgb,var(--danger) 82%,var(--fg));background:color-mix(in srgb,var(--danger) 8%,var(--surface2))}.provider-model-chips{display:flex;flex-wrap:wrap;gap:5px}.provider-model-chip{padding:4px 7px;border:1px solid color-mix(in srgb,var(--success) 28%,var(--border));border-radius:999px;color:color-mix(in srgb,var(--success) 75%,var(--fg));font-family:var(--font-mono);font-size:9px}.provider-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.provider-stub-label{color:var(--muted);font-size:9px;opacity:.65}.provider-action-group{display:flex;gap:8px}.generator-modal-overlay{z-index:260;padding:22px;background:#030308c2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.generator-modal-content{position:relative;width:min(980px,calc(100% - 32px));max-width:980px;height:min(820px,calc(100vh - 44px));max-height:820px;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border-color:color-mix(in srgb,var(--accent) 24%,var(--border));background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 34%),radial-gradient(circle at 100% 80%,rgba(0,206,201,.07),transparent 31%),#111116;box-shadow:0 32px 100px #000000a8,0 0 90px color-mix(in srgb,var(--accent) 8%,transparent)}.generator-modal-header{min-height:100px;padding:22px 26px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.generator-modal-header h2{font-family:var(--font-display);font-size:25px;font-weight:620;letter-spacing:-.025em}.generator-modal-header p{margin-top:4px;color:var(--muted);font-size:11px}.generator-eyebrow,.generator-kicker{color:color-mix(in srgb,var(--accent) 62%,#fff);font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.generator-eyebrow{margin-bottom:5px}.generator-stepper{min-height:64px;padding:0 26px 18px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.generator-step{position:relative;min-width:0;display:flex;align-items:center;gap:9px;color:color-mix(in srgb,var(--muted) 78%,transparent)}.generator-step:not(:last-child):after{content:"";position:absolute;left:40px;right:13px;top:16px;height:1px;background:var(--border)}.generator-step.complete:not(:last-child):after{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 25%,var(--border)))}.generator-step-index{position:relative;z-index:1;width:32px;height:32px;flex:0 0 auto;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;background:#13131a;font-family:var(--font-mono);font-size:9px}.generator-step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.generator-step.active{color:var(--fg)}.generator-step.active .generator-step-index{border-color:color-mix(in srgb,var(--accent) 70%,#fff);color:#fff;background:color-mix(in srgb,var(--accent) 28%,#14141b);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 25%,transparent)}.generator-step.complete{color:color-mix(in srgb,var(--accent) 55%,#fff)}.generator-step.complete .generator-step-index{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 12%,#14141b)}.generator-body{position:relative;min-height:0;overflow-y:auto;padding:24px 26px 28px}.generator-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.generator-section-heading h3{margin-top:3px;font-family:var(--font-display);font-size:21px;font-weight:610;letter-spacing:-.02em}.generator-section-copy{max-width:670px;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.55}.generator-density-settings{margin-top:17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.generator-density-group{min-width:0;padding:11px;border:1px solid var(--border);border-radius:12px;background:#ffffff03}.generator-density-group legend{padding:0 5px;color:var(--muted);font:9px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.generator-density-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.generator-density-option{min-width:0;padding:9px 8px;border:1px solid transparent;border-radius:9px;background:color-mix(in srgb,var(--surface2) 82%,transparent);color:var(--muted);text-align:left}.generator-density-option strong,.generator-density-option span{display:block}.generator-density-option strong{color:var(--fg);font-size:10px}.generator-density-option span{margin-top:4px;font-size:8px;line-height:1.35}.generator-density-option.selected{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--surface2));box-shadow:inset 0 0 18px color-mix(in srgb,var(--accent) 7%,transparent)}.generator-markdown-badge,.generator-question-progress,.generator-plan-estimate{flex:0 0 auto;padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--surface2) 72%,transparent);font-family:var(--font-mono);font-size:9px}.generator-description-grid{margin-top:20px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(280px,.96fr);gap:14px}.generator-textarea-wrap,.generator-preview{position:relative;min-height:330px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface2) 72%,transparent);overflow:hidden}.generator-textarea-wrap:focus-within{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.generator-textarea-wrap textarea{width:100%;min-height:330px;padding:18px 18px 38px;border:0;resize:none;outline:0;background:transparent;color:var(--fg);font:12px/1.65 var(--font-mono)}.generator-textarea-wrap textarea::placeholder{color:color-mix(in srgb,var(--muted) 58%,transparent)}.generator-character-count{position:absolute;right:13px;bottom:10px;color:var(--muted);font-size:9px}.generator-preview{padding:44px 18px 18px}.generator-preview-label{position:absolute;left:15px;top:12px;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.generator-md-preview{font-size:12px}.generator-preview-empty{height:250px;display:grid;place-items:center;color:color-mix(in srgb,var(--muted) 62%,transparent);font-size:11px;text-align:center}.generator-question-list{margin-top:18px;display:grid;gap:14px}.generator-question{padding:16px;border:1px solid var(--border);border-radius:13px;background:#ffffff04}.generator-question-heading{display:flex;align-items:flex-start;gap:11px}.generator-question-heading>span{color:var(--accent);font:9px/1.5 var(--font-mono)}.generator-question-heading h4{font-size:13px;font-weight:600}.generator-question-heading p{margin-top:2px;color:var(--muted);font-size:10px}.generator-option-grid{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.generator-option{position:relative;min-height:102px;padding:13px 13px 12px 36px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface2) 68%,transparent);color:var(--muted);display:flex;flex-direction:column;gap:5px;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.generator-option:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--border))}.generator-option strong{color:var(--fg);font-size:11px;font-weight:590}.generator-option>span:last-child{font-size:9.5px;line-height:1.45}.generator-option-radio{position:absolute;left:13px;top:15px;width:12px;height:12px;border:1px solid color-mix(in srgb,var(--muted) 70%,transparent);border-radius:50%}.generator-option.selected{border-color:color-mix(in srgb,var(--accent) 58%,transparent);background:color-mix(in srgb,var(--accent) 11%,var(--surface2))}.generator-option.selected .generator-option-radio{border-color:var(--accent);box-shadow:inset 0 0 0 3px #181720;background:color-mix(in srgb,var(--accent) 72%,#fff)}.generator-custom-answer{margin-top:10px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px}.generator-custom-answer>span{color:var(--muted);font-size:10px}.generator-custom-answer input,.generator-refine textarea{width:100%;border:1px solid var(--border);border-radius:8px;outline:0;background:var(--surface2);color:var(--fg);font:inherit}.generator-custom-answer input{height:34px;padding:0 10px;font-size:10px}.generator-custom-answer input:focus,.generator-refine textarea:focus{border-color:color-mix(in srgb,var(--accent) 54%,var(--border))}.generator-plan-summary{margin-top:18px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:13px;display:flex;align-items:center;gap:14px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 10%,transparent),#ffffff03)}.generator-plan-orbit{width:42px;height:42px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:50%;display:grid;place-items:center;color:color-mix(in srgb,var(--accent) 55%,#fff);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 18%,transparent)}.generator-plan-summary h4{font-size:12px}.generator-plan-summary p{margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.55}.generator-area-plan{margin-top:13px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.generator-area-card{min-width:0;min-height:104px;padding:12px;border:1px solid color-mix(in srgb,var(--area-color) 24%,var(--border));border-radius:10px;background:linear-gradient(155deg,color-mix(in srgb,var(--area-color) 9%,transparent),#ffffff03)}.generator-area-number{color:var(--area-color);font:9px/1 var(--font-mono)}.generator-area-card strong{display:block;margin-top:15px;color:var(--fg);font-size:10px;line-height:1.35}.generator-area-card div>span{display:block;margin-top:5px;color:var(--muted);font-size:8.5px;line-height:1.35}.generator-refine{margin-top:14px;display:grid;gap:7px}.generator-refine>span{color:var(--muted);font-size:10px}.generator-refine>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.generator-refine textarea{min-height:68px;padding:10px 12px;resize:vertical;font-size:10px}.generator-refine button{min-width:150px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 9%,var(--surface2));color:var(--fg);cursor:pointer;font:inherit;font-size:10px}.generator-refine button:disabled{opacity:.5;cursor:default}.generator-progress-hero{padding:22px;border:1px solid color-mix(in srgb,var(--accent) 27%,var(--border));border-radius:15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 13%,transparent),#ffffff03)}.generator-progress-hero.complete,.generator-progress-hero.imported{border-color:color-mix(in srgb,var(--success) 31%,var(--border))}.generator-progress-sigil{position:relative;width:58px;height:58px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%;display:grid;place-items:center;color:#dcd6ff;box-shadow:0 0 28px color-mix(in srgb,var(--accent) 24%,transparent),inset 0 0 22px color-mix(in srgb,var(--accent) 13%,transparent)}.generator-progress-sigil>span{animation:generatorSigilPulse 2.2s ease-in-out infinite}.generator-progress-sigil i{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:50%;animation:generatorOrbit 5s linear infinite}.generator-progress-sigil i:nth-of-type(2){top:6px;right:-11px;bottom:6px;left:-11px;animation-duration:7s;animation-direction:reverse}.generator-progress-sigil i:nth-of-type(3){top:-12px;right:5px;bottom:-12px;left:5px;animation-duration:9s}@keyframes generatorSigilPulse{50%{transform:scale(1.28);text-shadow:0 0 14px currentColor}}@keyframes generatorOrbit{to{transform:rotate(360deg)}}.generator-progress-copy h3{margin-top:3px;font-size:17px}.generator-progress-copy p{margin-top:4px;color:var(--muted);font-size:10px}.generator-progress-percent{font:600 28px/1 var(--font-mono);color:#ded9ff}.generator-progress-track{height:5px;margin-top:18px;border-radius:999px;overflow:hidden;background:var(--surface2)}.generator-progress-track>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#a698ff,#71c8ff);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 60%,transparent);transition:width .48s linear}.generator-progress-stats{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.generator-progress-stats>div{padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:#ffffff04;display:flex;align-items:baseline;justify-content:space-between}.generator-progress-stats span{color:var(--muted);font-size:9px}.generator-progress-stats strong{font:12px/1 var(--font-mono)}.generator-batch-progress{margin-top:8px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;display:grid;grid-template-columns:1fr auto;gap:7px 12px;color:var(--muted);font-size:9px}.generator-batch-progress strong{color:var(--fg);font:10px/1 var(--font-mono)}.generator-batch-progress>div{grid-column:1/-1;height:3px;border-radius:99px;overflow:hidden;background:var(--surface2)}.generator-batch-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#71c8ff);transition:width .35s ease}.generator-phase-list{margin-top:16px;display:grid;gap:5px}.generator-phase{min-height:38px;padding:0 11px;border:1px solid transparent;border-radius:8px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;color:color-mix(in srgb,var(--muted) 66%,transparent);font-size:10px}.generator-phase.active{color:var(--fg);border-color:color-mix(in srgb,var(--accent) 21%,var(--border));background:color-mix(in srgb,var(--accent) 6%,transparent)}.generator-phase.complete{color:color-mix(in srgb,var(--success) 68%,#fff)}.generator-phase-mark{width:20px;height:20px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:8px/1 var(--font-mono)}.generator-thinking{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;background:#0c0c11d4;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:color-mix(in srgb,var(--accent) 38%,#fff);font-size:11px;animation:fadeIn .18s ease-out}.generator-thinking-orb{width:15px;height:15px;border:1px solid var(--accent);border-radius:50%;box-shadow:0 0 14px var(--accent);animation:generatorThinking 1s ease-in-out infinite}@keyframes generatorThinking{50%{transform:scale(.58);opacity:.38}}.generator-footer{min-height:70px;padding:14px 26px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:18px;background:#0a0a0e8f}.generator-footer-note{color:var(--muted);font-size:9.5px}.generator-live-dot{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--success);box-shadow:0 0 9px var(--success);animation:unsavedStatusPulse 1.8s ease-in-out infinite}.generator-footer-actions{display:flex;align-items:center;gap:8px}.generator-footer-actions button{min-width:108px}.generator-import-result{min-width:202px!important}.import-modal-content{width:min(780px,calc(100% - 36px));max-width:780px;max-height:min(88vh,820px);overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(circle at 14% 0%,rgba(108,92,231,.13),transparent 34%),var(--surface)}.import-modal-content .modal-header{padding-bottom:16px;border-bottom:1px solid var(--border)}.import-modal-eyebrow{margin-bottom:5px;color:var(--accent);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.import-modal-subtitle{max-width:560px;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.55}.import-modal-body{overflow-y:auto;display:grid;gap:14px}.import-dropzone{min-height:164px;padding:24px;border:1px dashed rgba(151,140,255,.42);border-radius:13px;background:linear-gradient(135deg,#6c5ce713,#00be9406),#ffffff03;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.import-dropzone.has-file{border-color:color-mix(in srgb,var(--success) 55%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--success) 8%,transparent),#6c5ce709),#ffffff03}.import-file-input{display:none}.import-dropzone-icon{width:44px;height:44px;margin-bottom:12px;border:1px solid rgba(151,140,255,.34);border-radius:12px;display:grid;place-items:center;color:#a59cff;background:#6c5ce71f;box-shadow:0 0 28px #6c5ce71c}.import-dropzone-title{font-size:14px;font-weight:560}.import-dropzone-hint{margin:5px 0 14px;color:var(--muted);font-size:11px}.import-file-button{min-width:154px;padding:9px 14px;border:1px solid rgba(151,140,255,.36);border-radius:8px;background:#6c5ce729;color:#d8d4ff;font:inherit;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.import-file-button:hover{background:#6c5ce73d;border-color:#978cff8f;transform:translateY(-1px)}.import-stub-message{min-height:16px;margin-top:9px;color:var(--muted);font-size:10px}.import-stub-message.error{color:color-mix(in srgb,var(--danger) 82%,#fff)}.import-contract{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#ffffff05}.import-contract-summary{width:100%;padding:13px 15px;border:none;background:transparent;color:var(--fg);display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer}.import-contract-summary:hover{background:#ffffff06}.import-contract-summary-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;flex:0 0 auto;color:var(--accent);background:#6c5ce71a;font-family:var(--font-mono);font-size:11px}.import-contract-summary-copy{min-width:0;flex:1}.import-contract-summary-title{display:block;font-size:12px;font-weight:560}.import-contract-summary-hint{display:block;margin-top:2px;color:var(--muted);font-size:10px}.import-contract-chevron{color:var(--muted);font-size:14px;transition:transform .18s ease}.import-contract.open .import-contract-chevron{transform:rotate(180deg)}.import-code-wrap{position:relative;border-top:1px solid var(--border);background:#0a0a10}.import-code-toolbar{min-height:38px;padding:0 11px 0 14px;border-bottom:1px solid rgba(255,255,255,.055);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-family:var(--font-mono);font-size:10px}.import-copy-button{padding:5px 9px;border:1px solid var(--border);border-radius:6px;background:#ffffff09;color:var(--fg);font:inherit;font-size:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.import-copy-button:hover{background:#ffffff12}.import-json-code{max-height:290px;margin:0;padding:16px;overflow:auto;color:#c8c3ff;font-family:var(--font-mono);font-size:10px;line-height:1.55;-moz-tab-size:2;tab-size:2;white-space:pre}.import-modal-actions{display:flex;justify-content:flex-end;gap:8px}.import-action-button{padding:8px 13px;border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--fg);font:inherit;font-size:11px;cursor:pointer;transition:border-color .15s,background .15s,color .15s,filter .15s,transform .15s,box-shadow .15s}.import-action-button:hover{border-color:#ffffff2e}.import-action-button.primary{border-color:color-mix(in srgb,var(--accent) 68%,#fff 10%);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#a99cff),color-mix(in srgb,var(--accent) 76%,#33286d));color:#fff;box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 24%,transparent);cursor:pointer}.import-action-button.primary:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,#fff);filter:brightness(1.08);transform:translateY(-1px)}.import-action-button.primary:disabled{border-color:#6c5ce738;background:#6c5ce726;color:#d8d4ff7a;box-shadow:none;cursor:not-allowed}.node-module-stepper{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;padding:8px 0 11px;border-bottom:1px solid var(--border)}.node-module{min-width:0;padding:8px 9px 9px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface2) 70%,transparent);transition:border-color .2s,background .2s,transform .2s}.node-module.active{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface2));transform:translateY(-2px);box-shadow:0 7px 22px color-mix(in srgb,var(--accent-glow) 45%,transparent)}.node-module.completed{border-color:color-mix(in srgb,var(--success) 28%,var(--border))}.node-module-heading{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;margin-bottom:8px}.node-module-index{width:22px;height:22px;border:1px solid var(--border);border-radius:7px;color:var(--muted);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px}.node-module.active .node-module-index{border-color:var(--accent);color:var(--fg);background:color-mix(in srgb,var(--accent) 16%,transparent)}.node-module.completed .node-module-index{border-color:color-mix(in srgb,var(--success) 55%,var(--border));color:var(--success)}.node-module-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.02em}.node-module.active .node-module-title{color:var(--fg)}.node-module-progress{color:var(--muted);font-family:var(--font-mono);font-size:8px}.node-module-subtitle{display:block;min-width:0;margin:-4px 0 8px 29px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--muted) 72%,transparent);font-size:9px}.node-module-steps{display:flex;gap:4px}.node-module-step{flex:1;height:7px;min-width:10px;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 20%,var(--surface2));cursor:pointer;transition:transform .18s,background .25s,box-shadow .25s}.node-module-step:hover{transform:scaleY(1.5)}.node-module-step.completed{background:color-mix(in srgb,var(--success) 78%,var(--surface2))}.node-module-step.assessment:not(.completed){background:color-mix(in srgb,var(--info) 26%,var(--surface2))}.node-module-step.active{background:var(--accent);transform:scaleY(1.55);box-shadow:0 0 12px var(--accent-glow)}.node-current-path{min-width:0;padding:9px 2px 12px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.node-current-module{flex:0 0 auto;color:var(--accent);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.node-current-separator{opacity:.45}.node-current-step-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg)}.section-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;transition:border-color .2s}.section-card:hover{border-color:#ffffff1a}.section-card h4{font-family:var(--font-display);font-size:15px;font-weight:510;margin-bottom:6px}.section-card p{font-size:13px;color:var(--muted);line-height:1.5}.section-card .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tag{padding:2px 8px;border-radius:4px;font-size:11px;letter-spacing:.02em;background:#ffffff0a;color:var(--muted);border:1px solid var(--border)}.tag.test{background:#6c5ce71f;color:var(--accent);border-color:#6c5ce733}.tag.practice{background:#00be941f;color:var(--success);border-color:#00be9433}.md-content{font-size:14px;line-height:1.7;color:var(--fg)}.md-content h1{font-size:22px;font-weight:600;margin:0 0 12px;letter-spacing:-.01em}.md-content h2{font-size:17px;font-weight:510;margin:16px 0 8px}.md-content p{margin-bottom:10px;color:var(--muted)}.md-content code{font-family:var(--font-mono);font-size:12px;background:var(--surface2);padding:1px 6px;border-radius:4px}.md-content pre{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;margin:8px 0}.md-content pre code{background:none;padding:0}.md-content ul{padding-left:20px;margin-bottom:10px}.md-content li{margin-bottom:4px;color:var(--muted)}.md-content blockquote{border-left:2px solid var(--accent);padding-left:12px;margin:12px 0;color:var(--muted);opacity:.8}.note-modal-content{max-width:820px;max-height:88vh}.md-media{margin:16px 0}.md-media-button{position:relative;width:100%;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 78%,var(--accent));border-radius:11px;background:#090b13;cursor:zoom-in;display:block}.md-media-button img{display:block;width:100%;max-height:430px;object-fit:contain;transition:transform .25s ease,filter .25s ease}.md-media-button:hover img{transform:scale(1.012);filter:brightness(1.08)}.md-media-open-hint{position:absolute;right:10px;bottom:10px;padding:6px 9px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:#06080fc7;color:#ffffffd6;font-size:10px;letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.md-media figcaption{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.5}.media-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:280;display:flex;flex-direction:column;background:#020308eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .18s ease-out}.media-viewer-toolbar{flex:0 0 auto;min-height:58px;padding:10px 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.08);background:#080910d1}.media-viewer-title{min-width:0;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);font-size:12px}.media-viewer-zoom{min-width:50px;color:var(--muted);font-family:var(--font-mono);font-size:10px;text-align:center}.media-viewer-button{min-width:34px;height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:var(--fg);cursor:pointer;font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px}.media-viewer-button:hover{background:#ffffff1a}.media-viewer-stage{position:relative;min-height:0;flex:1 1 auto;overflow:hidden;cursor:grab;touch-action:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:32px 32px}.media-viewer-stage.dragging{cursor:grabbing}.media-viewer-image{position:absolute;left:50%;top:50%;width:min(82vw,1320px);max-height:82vh;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;transform-origin:center;will-change:transform}.media-viewer-help{position:absolute;left:50%;bottom:14px;transform:translate(-50%);padding:6px 10px;border-radius:7px;background:#06080fbd;color:#ffffff94;font-size:10px;pointer-events:none}.node-detail-overlay{position:relative;width:100%;height:100%;pointer-events:auto;display:flex;align-items:center;justify-content:center;padding:16px;background:#03040aa8;-webkit-backdrop-filter:blur(2.5px) saturate(.78);backdrop-filter:blur(2.5px) saturate(.78);animation:nodeOverlayIn .22s ease-out}.node-detail-panel{position:relative;width:min(1260px,100%);height:min(860px,100%);min-height:min(440px,100%);overflow:hidden;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 42%),color-mix(in srgb,var(--surface) 96%,#10101a);border:1px solid color-mix(in srgb,var(--border) 82%,var(--accent));border-radius:18px;padding:22px 26px 20px;pointer-events:auto;display:flex;flex-direction:column;box-shadow:0 28px 90px #000000ad,0 0 0 1px #ffffff05 inset;animation:nodePanelIn .3s cubic-bezier(.22,1,.36,1);opacity:1}@keyframes nodeOverlayIn{0%{background:#03040a00;-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1)}to{background:#03040aa8;-webkit-backdrop-filter:blur(2.5px) saturate(.78);backdrop-filter:blur(2.5px) saturate(.78)}}@keyframes nodePanelIn{0%{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.node-detail-panel h3{font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.01em;margin-bottom:4px}.node-detail-panel .node-detail-area{font-size:13px;color:var(--muted);letter-spacing:.02em;margin-bottom:14px}.node-detail-panel .section-card{width:min(880px,100%);margin:0 auto 24px;padding:clamp(28px,3.4vw,42px) clamp(26px,4.4vw,54px) clamp(34px,4vw,48px);border-color:#ffffff0e;border-radius:16px;background:linear-gradient(180deg,#ffffff04,#ffffff01),color-mix(in srgb,var(--surface2) 46%,var(--surface));box-shadow:0 15px 44px #00000024,inset 0 1px #ffffff04}.node-detail-panel .section-card:hover{border-color:#ffffff12}.node-detail-panel .section-card>h4{max-width:740px;margin:0 0 21px;font-family:var(--font-editorial);font-size:clamp(26px,2vw,32px);font-weight:610;line-height:1.18;letter-spacing:-.022em;color:color-mix(in srgb,var(--fg) 88%,var(--muted))}.node-detail-heading{position:relative;flex:0 0 auto}.node-detail-heading h3{padding-right:30px}.node-detail-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;padding:6px 14px 28px;scroll-padding-top:10px}.node-detail-step-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(880px,100%);margin:0 auto 11px;color:var(--muted);font-size:10px;font-family:var(--font-mono);letter-spacing:.075em;text-transform:uppercase}.node-detail-step-meta strong{color:var(--fg);font-weight:600}.node-lesson-content{font-family:var(--font-editorial);font-size:clamp(16.5px,1vw,18px);line-height:1.74;letter-spacing:.002em;color:color-mix(in srgb,var(--fg) 72%,var(--muted))}.node-detail-panel .section-card .node-lesson-content p{margin:0 0 1.18em;color:color-mix(in srgb,var(--fg) 70%,var(--muted));font:inherit}.node-detail-panel .section-card .node-lesson-content>p:first-of-type{color:color-mix(in srgb,var(--fg) 80%,var(--muted));font-size:1.02em}.node-lesson-content h1,.node-lesson-content h2,.node-lesson-content h3{max-width:780px;font-family:var(--font-editorial);color:var(--fg);letter-spacing:-.024em;text-wrap:balance}.node-lesson-content h1{font-size:1.85em;line-height:1.2;margin:1.55em 0 .7em}.node-lesson-content h2{font-size:1.52em;line-height:1.22;margin:1.9em 0 .72em}.node-lesson-content h3{font-size:1.23em;line-height:1.28;margin:1.55em 0 .62em}.node-lesson-content h2:first-child{margin-top:0}.node-lesson-content strong{color:color-mix(in srgb,var(--fg) 94%,white);font-weight:650}.node-lesson-content a{color:color-mix(in srgb,var(--accent) 58%,var(--fg));text-decoration-line:underline;text-decoration-color:color-mix(in srgb,var(--accent) 48%,transparent);text-decoration-thickness:1px;text-underline-offset:.18em;overflow-wrap:anywhere;transition:color .18s ease,text-decoration-color .18s ease}.node-lesson-content a:hover{color:color-mix(in srgb,var(--accent) 34%,white);text-decoration-color:currentColor}.node-lesson-content ul,.node-lesson-content ol{margin:.25em 0 1.3em;padding-left:1.35em}.node-lesson-content li{margin-bottom:.48em;padding-left:.2em;color:color-mix(in srgb,var(--fg) 76%,var(--muted))}.node-lesson-content li::marker{color:color-mix(in srgb,var(--accent) 65%,var(--fg))}.node-lesson-content blockquote{margin:1.65em 0;padding:.15em 0 .15em 1.25em;border-left:3px solid color-mix(in srgb,var(--accent) 68%,var(--fg));color:color-mix(in srgb,var(--fg) 70%,var(--muted));font-size:1.08em;font-style:italic;line-height:1.62;opacity:1}.node-lesson-content code{font-size:.72em}.node-lesson-content pre{margin:1.5em 0;padding:20px 22px;background:color-mix(in srgb,var(--surface) 92%,black);border-color:color-mix(in srgb,var(--border) 78%,var(--accent));border-radius:12px;line-height:1.65}.node-lesson-content pre code{color:var(--fg);font-size:13px}.node-lesson-content .md-media{margin:0 0 18px}.node-lesson-content .md-media-button{width:100%;max-height:420px;border-radius:14px;overflow:hidden}.node-lesson-content .md-media img{width:100%;max-height:420px;object-fit:cover}.node-quiz-question{font-size:15px;line-height:1.55;margin-bottom:14px}.node-quiz-options{display:grid;gap:8px}.node-quiz-option{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.node-quiz-option:hover,.node-quiz-option.selected{color:var(--fg);background:color-mix(in srgb,var(--accent) 8%,var(--surface2));border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.node-quiz-option.checked.correct{color:color-mix(in srgb,var(--success) 76%,var(--fg));border-color:color-mix(in srgb,var(--success) 58%,var(--border));background:color-mix(in srgb,var(--success) 10%,var(--surface2))}.node-quiz-option.checked.wrong{color:color-mix(in srgb,var(--danger) 72%,var(--fg));border-color:color-mix(in srgb,var(--danger) 56%,var(--border));background:color-mix(in srgb,var(--danger) 9%,var(--surface2))}.node-quiz-option-copy{display:flex;flex:1;flex-direction:column;gap:5px}.node-quiz-option-feedback{font-size:11px;line-height:1.5;color:currentColor;opacity:.88}.node-quiz-option input{margin-top:2px;accent-color:var(--accent)}.node-answer-status{margin-top:10px;color:var(--muted);font-size:11px;line-height:1.45}.node-answer-status.success{color:var(--success)}.node-answer-status.error{color:var(--danger)}.node-code-language{margin-top:12px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.node-code-language strong{color:var(--fg);font-family:var(--font-mono);font-size:11px}.node-assessment-model{margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.node-assessment-model select{min-width:190px;max-width:62%;border:1px solid var(--border);border-radius:7px;padding:6px 8px;outline:0;background:var(--surface2);color:var(--fg);font:10px/1.2 var(--font-mono)}.node-assessment-model strong{color:var(--muted);font-size:10px}.node-code-answer{width:100%;min-height:190px;margin-top:12px;padding:13px 14px;resize:vertical;border:1px solid var(--border);border-radius:8px;outline:none;background:var(--surface);color:var(--fg);font-family:var(--font-mono);font-size:12px;line-height:1.55}.node-code-answer:focus{border-color:color-mix(in srgb,var(--accent) 58%,var(--border))}.node-code-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.node-assessment-result{margin-top:10px;padding:12px 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);font-size:11px;line-height:1.5}.node-assessment-result.success{border-color:color-mix(in srgb,var(--success) 42%,var(--border))}.node-assessment-result.error{border-color:color-mix(in srgb,var(--danger) 38%,var(--border))}.node-assessment-result>div{display:flex;justify-content:space-between;gap:12px}.node-assessment-result>div span{color:var(--muted);font-family:var(--font-mono)}.node-assessment-result p{margin-top:7px;color:var(--fg)}.node-assessment-result ul{margin:7px 0 0 17px;color:var(--muted)}.node-assessment-result li{display:flex;align-items:flex-start;gap:6px}.node-export-button,.node-step-button{border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--fg);padding:8px 12px;font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.node-export-button:hover,.node-step-button:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent) 46%,var(--border))}.node-step-button:disabled{opacity:.38;cursor:default}.node-step-button.primary{border-color:color-mix(in srgb,var(--accent) 62%,var(--border));background:color-mix(in srgb,var(--accent) 15%,var(--surface2))}.node-step-navigation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:12px}.node-step-counter{color:var(--muted);font-size:11px;text-align:center}.node-final-attempts{margin:14px 0;padding:12px 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:14px}.node-attempt-dots{display:flex;gap:6px}.node-attempt-dot{width:9px;height:9px;border:1px solid var(--muted);border-radius:50%;background:transparent}.node-attempt-dot.available{border-color:var(--accent);background:var(--accent);box-shadow:0 0 9px var(--accent-glow)}.node-attempt-copy{color:var(--muted);font-size:10px;line-height:1.45;text-align:right}.node-final-question{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.node-final-question:first-of-type{margin-top:0;padding-top:0;border-top:0}.node-final-question-title{margin-bottom:9px;color:var(--fg);font-size:13px;line-height:1.5}.node-final-options{display:grid;gap:6px}.node-final-option{padding:8px 10px;border:1px solid var(--border);border-radius:7px;color:var(--muted);cursor:pointer;display:flex;gap:9px;align-items:flex-start;font-size:11px;transition:background .15s,border-color .15s,color .15s}.node-final-option:hover,.node-final-option.selected{color:var(--fg);border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface2))}.node-final-option input{margin-top:1px;accent-color:var(--accent)}.node-final-result{margin-top:14px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;font-size:11px;line-height:1.5}.node-final-result.success{color:var(--success);border-color:color-mix(in srgb,var(--success) 42%,var(--border));background:color-mix(in srgb,var(--success) 8%,var(--surface))}.node-final-result.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 42%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.node-cooldown{margin-top:9px;color:var(--danger);font-family:var(--font-mono);font-size:10px}.node-completion-summary{display:grid;gap:8px;margin-top:14px}.node-completion-row{padding:10px 11px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.node-completion-row.done{color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,var(--border))}.node-completion-mark{width:18px;text-align:center;font-weight:700}.assignment-review-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;padding:24px;background:#03040ac7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;animation:fadeIn .18s ease-out}.assignment-review-modal{width:min(520px,100%);padding:20px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:13px;background:var(--surface);box-shadow:0 24px 70px #00000094}.assignment-review-status{width:42px;height:42px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--danger) 48%,var(--border));border-radius:50%;background:color-mix(in srgb,var(--danger) 9%,var(--surface2));color:var(--danger);display:flex;align-items:center;justify-content:center;font-size:19px}.assignment-review-modal h4{margin:0 0 7px;font-size:18px}.assignment-review-modal p{color:var(--muted);font-size:12px;line-height:1.55}.assignment-review-actions{display:grid;gap:8px;margin-top:16px}.assignment-review-actions .modal-primary-button,.assignment-review-actions .modal-secondary-button{width:100%}.assignment-review-dismiss{margin-top:7px;text-align:center}.assignment-review-dismiss button{border:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:10px}.node-detail-close{position:absolute;top:0;right:0;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;display:grid;place-items:center}.node-detail-close:hover{color:var(--fg)}.node-detail-actions{flex:0 0 auto;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.node-complete-button{width:100%;min-height:42px;border:1px solid transparent;border-radius:9px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.035em;cursor:pointer;transition:filter .18s ease,transform .18s ease,opacity .18s ease;display:flex;align-items:center;justify-content:center;gap:7px}.node-complete-button:not(:disabled):hover{filter:brightness(1.18);transform:translateY(-1px)}.node-complete-button:disabled{cursor:default;opacity:.52}.node-complete-button.completed{color:var(--success)}.node-complete-hint{margin-top:7px;color:var(--muted);font-size:11px;text-align:center}.unlocked-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;letter-spacing:.02em;color:var(--success);padding:2px 8px;border-radius:4px;background:#00be941a;border:1px solid rgba(0,190,148,.2)}@media(max-width:1100px){:root{--sidebar-w: 220px;--chat-w: 260px}.topbar-progress{display:none}}@media(max-width:800px){:root{--topbar-h: 52px;--mobile-nav-h: calc(62px + env(safe-area-inset-bottom, 0px)) }body{overscroll-behavior:none}.topbar{padding-inline:10px}.topbar-logo,.topbar-progress{display:none}.roadmap-switcher button{padding-inline:8px}.roadmap-switcher>.roadmap-tab:not(.active){display:none}.roadmap-switcher .roadmap-import-button{font-size:0;gap:0}.roadmap-switcher .roadmap-generate-button{font-size:0;gap:3px}.roadmap-switcher .roadmap-generate-button.generating .roadmap-generate-label{display:inline;font-size:9px}.layout{padding-bottom:var(--mobile-nav-h)}.layout>.sidebar,.layout>.graph-area,.layout>.chat-panel{display:none}.layout.mobile-panel-notes>.sidebar,.layout.mobile-panel-map>.graph-area,.layout.mobile-panel-chat>.chat-panel{display:flex}.layout.mobile-panel-map>.graph-area{display:block}.sidebar,.chat-panel{width:100%;min-width:0;border:0}.graph-area{width:100%;min-width:0}.mobile-nav{position:fixed;z-index:160;left:0;right:0;bottom:0;height:var(--mobile-nav-h);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;padding:6px 10px env(safe-area-inset-bottom,0px);border-top:1px solid color-mix(in srgb,var(--border) 75%,rgba(255,255,255,.06));background:color-mix(in srgb,var(--surface) 91%,#111226);box-shadow:0 -14px 36px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-nav-button{min-width:0;height:50px;border:0;border-radius:11px;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:500 10px/1 var(--font-body);letter-spacing:.025em;cursor:pointer;transition:color .18s ease,background .18s ease,transform .18s ease;-webkit-tap-highlight-color:transparent}.mobile-nav-button:active{transform:scale(.96)}.mobile-nav-button.active{color:#ddd8ff;background:color-mix(in srgb,var(--accent) 17%,transparent)}.mobile-nav-icon{color:currentColor;font-size:20px;line-height:1;text-shadow:0 0 12px color-mix(in srgb,var(--accent) 70%,transparent)}.mobile-nav-button.active .mobile-nav-icon{color:color-mix(in srgb,var(--accent) 52%,#fff)}body:has([aria-modal=true]) .mobile-nav{display:none}body:has([aria-modal=true]) .layout{padding-bottom:0}body:has(.node-detail-panel) .topbar{display:none}body:has(.node-detail-panel) .layout{padding-top:0}.chat-history-toggle{display:inline-flex}.chat-model-button{max-width:min(124px,34vw)}.chat-history-backdrop{position:absolute;z-index:45;top:57px;right:0;bottom:0;left:0;width:100%;border:0;display:block;background:#0303087a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.chat-history{position:absolute;z-index:50;top:62px;left:10px;right:10px;display:none;max-height:min(430px,55dvh);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:13px;box-shadow:0 22px 58px #0000009e;background:color-mix(in srgb,var(--surface) 96%,#171526)}.chat-history.open{display:flex;animation:modelMenuIn .18s ease-out}.chat-delete-button{opacity:.68}.welcome-modal-overlay{padding:14px}.welcome-modal-content{width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 28px);grid-template-columns:1fr;overflow-y:auto;border-radius:18px}.welcome-modal-map{min-height:146px;place-items:start}.welcome-brand{top:22px;left:23px}.welcome-orbit{width:190px;right:-16px;top:-73px}.welcome-orbit.orbit-two{display:none}.welcome-node.node-center{left:auto;right:72px;top:57px}.welcome-node.node-a{left:auto;right:158px;top:88px}.welcome-node.node-b{right:19px;top:31px}.welcome-node.node-c,.welcome-node.node-d{display:none}.welcome-map-caption{left:23px;bottom:19px;font-size:14px}.welcome-modal-panel{overflow:visible;padding:30px 24px 25px}.welcome-close{top:14px;right:15px}.welcome-modal-panel h1{padding-right:18px;font-size:clamp(27px,7.5vw,36px)}.welcome-feature-grid{grid-template-columns:1fr}.welcome-feature,.welcome-feature.compact{min-height:0}.welcome-actions{align-items:stretch;flex-direction:column}.welcome-primary,.welcome-secondary{width:100%}.auth-modal-content{grid-template-columns:1fr;max-width:520px;min-height:0}.auth-modal-visual{display:none}.auth-modal-panel{padding:32px}.node-detail-overlay{padding:0;background:#0b0c13;-webkit-backdrop-filter:none;backdrop-filter:none}.node-detail-panel{width:100%;height:100%;padding:16px 14px 14px;border:0;border-radius:0}.node-detail-panel h3{font-size:24px}.node-detail-panel .node-detail-area{margin-bottom:10px}.node-detail-scroll{padding:5px 0 20px}.node-detail-step-meta{padding:0 3px}.node-detail-panel .section-card{padding:26px 20px 36px;border-radius:14px}.node-detail-panel .section-card>h4{margin-bottom:20px;font-size:clamp(25px,7vw,30px);line-height:1.16}.node-lesson-content{font-size:16.5px;line-height:1.7}.node-lesson-content h2{margin-top:1.7em}.node-detail-actions{margin-top:10px;padding-top:11px}.node-module-stepper{grid-auto-flow:row;grid-auto-columns:auto;grid-auto-rows:max-content;grid-template-columns:1fr;max-height:84px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.import-modal-content{width:calc(100% - 22px)}.import-modal-content .modal-header{padding:17px 18px 14px}.import-modal-body{padding:14px 18px 18px}.import-dropzone{min-height:146px;padding:18px}.generator-modal-overlay{padding:0;align-items:stretch}.generator-modal-content{width:100%;height:100%;max-height:none;border:0;border-radius:0}.generator-modal-header{min-height:86px;padding:17px 18px 13px}.generator-modal-header h2{font-size:21px}.generator-stepper{padding:0 18px 14px}.generator-step-label{display:none}.generator-step:not(:last-child):after{left:37px;right:7px}.generator-body{padding:19px 18px 22px}.generator-description-grid,.generator-density-settings,.generator-density-options{grid-template-columns:1fr}.generator-preview{display:none}.generator-textarea-wrap,.generator-textarea-wrap textarea{min-height:320px}.generator-option-grid{grid-template-columns:1fr}.generator-option{min-height:78px}.generator-custom-answer{grid-template-columns:1fr;gap:5px}.generator-area-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-area-card:last-child{grid-column:1/-1}.generator-refine>div{grid-template-columns:1fr}.generator-refine button{min-height:38px}.generator-progress-hero{grid-template-columns:auto minmax(0,1fr);padding:17px}.generator-progress-percent{grid-column:1/-1;font-size:22px}.generator-progress-sigil{width:48px;height:48px}.generator-footer{min-height:66px;padding:11px 18px}.generator-footer-note{display:none}.generator-footer-actions{width:100%;justify-content:flex-end}}@media(max-width:520px){.auth-modal-content{width:calc(100% - 20px)}.auth-modal-panel{padding:24px 20px}.auth-modal-heading h2{font-size:24px}}.generator-api-error{margin-top:16px;padding:12px 14px;border:1px solid rgba(255,112,132,.3);border-radius:10px;background:#6d192d38;color:#ff9aac;font-size:12px;line-height:1.5}.generator-confirm-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:24px;border-radius:inherit;background:#04050cc2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.generator-confirm-card{width:min(480px,100%);padding:30px;border:1px solid rgba(132,111,255,.35);border-radius:18px;background:linear-gradient(145deg,#1c1933fa,#0c0e17fa);box-shadow:0 30px 90px #00000094,0 0 55px #6f52ff1f;text-align:center}.generator-confirm-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border:1px solid rgba(139,121,255,.5);border-radius:50%;color:#c7bbff;background:radial-gradient(circle,#7d65ff4d,#5739c90f 68%);box-shadow:0 0 30px #7154ff40;font-size:22px}.generator-confirm-card h3{margin:0 0 10px;color:#f6f4ff;font-size:24px}.generator-confirm-card p{margin:0;color:#aaa8ba;font-size:13px;line-height:1.65}.generator-confirm-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}@media(max-width:520px){.generator-confirm-layer{padding:16px}.generator-confirm-card{padding:24px 18px}.generator-confirm-actions{flex-direction:column-reverse}}
