@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400;1,9..40,500&family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap";.toast-container[data-v-9d44ea24]{top:var(--space-4);right:var(--space-4);z-index:9999;gap:var(--space-2);flex-direction:column;max-width:380px;display:flex;position:fixed}.toast[data-v-9d44ea24]{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-md);font-family:var(--font-ui);font-size:var(--text-sm);display:flex}.toast--success[data-v-9d44ea24]{border-left:3px solid var(--color-success)}.toast--error[data-v-9d44ea24]{border-left:3px solid var(--color-error)}.toast--warning[data-v-9d44ea24]{border-left:3px solid var(--color-warning)}.toast--info[data-v-9d44ea24]{border-left:3px solid var(--color-info)}.toast__icon[data-v-9d44ea24]{width:20px;height:20px;font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.toast--success .toast__icon[data-v-9d44ea24]{background:var(--color-success);color:#fff}.toast--error .toast__icon[data-v-9d44ea24]{background:var(--color-error);color:#fff}.toast--warning .toast__icon[data-v-9d44ea24]{background:var(--color-warning);color:var(--color-bg-deepest)}.toast--info .toast__icon[data-v-9d44ea24]{background:var(--color-info);color:#fff}.toast__message[data-v-9d44ea24]{flex:1;line-height:1.4}.toast-enter-active[data-v-9d44ea24]{animation:.3s fade-in-up}.toast-leave-active[data-v-9d44ea24]{animation:.2s reverse fade-in}.glow-btn[data-v-36d246ca]{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-ui);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.glow-btn[data-v-36d246ca]:disabled{opacity:.45;cursor:not-allowed}.glow-btn--loading[data-v-36d246ca]:disabled{opacity:1;cursor:wait}.glow-btn[data-v-36d246ca]:active:not(:disabled){transform:scale(.97)}.glow-btn--sm[data-v-36d246ca]{font-size:var(--text-xs);padding:6px 14px}.glow-btn--md[data-v-36d246ca]{font-size:var(--text-sm);padding:10px 22px}.glow-btn--lg[data-v-36d246ca]{font-size:var(--text-base);padding:14px 32px}.glow-btn--primary[data-v-36d246ca]{background:var(--color-accent);color:var(--color-text-inverse);border:1px solid var(--color-accent);box-shadow:0 2px 8px #d81a6033}.glow-btn--primary[data-v-36d246ca]:hover:not(:disabled){background:var(--color-accent-light);box-shadow:0 4px 16px var(--color-accent-glow-strong);transform:translateY(-1px)}.glow-btn--secondary[data-v-36d246ca]{color:var(--color-accent-light);border:1px solid var(--color-border-accent);background:0 0}.glow-btn--secondary[data-v-36d246ca]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 16px var(--color-accent-glow);transform:translateY(-1px)}.glow-btn--ghost[data-v-36d246ca]{color:var(--color-text-secondary);background:0 0;border:1px solid #0000}.glow-btn--ghost[data-v-36d246ca]:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-elevated)}.glow-btn--danger[data-v-36d246ca]{color:var(--color-error);border:1px solid var(--color-error);background:0 0}.glow-btn--danger[data-v-36d246ca]:hover:not(:disabled){background:var(--color-error);color:var(--color-text-inverse);transform:translateY(-1px);box-shadow:0 4px 16px #e74c3c4d}.glow-btn__spinner[data-v-36d246ca]{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-36d246ca;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.glow-btn__label--hidden[data-v-36d246ca]{visibility:hidden}.glow-btn__label[data-v-36d246ca]{align-items:center;gap:var(--space-2);display:inline-flex}.glow-btn__label svg[data-v-36d246ca]{flex-shrink:0}@keyframes spin-36d246ca{to{transform:rotate(360deg)}}.confirm-overlay[data-v-54c7c315]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog[data-v-54c7c315]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);width:90%;max-width:420px;box-shadow:var(--shadow-lg);transition:border-color .3s,box-shadow .3s}.confirm-dialog--pending[data-v-54c7c315]{border-color:var(--color-accent);box-shadow:var(--shadow-lg), 0 0 20px var(--color-accent-glow)}.confirm-dialog__title[data-v-54c7c315]{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-2);font-weight:700}.confirm-dialog__message[data-v-54c7c315]{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-6);line-height:1.6}.confirm-dialog__foot[data-v-54c7c315]{align-items:center;min-height:36px;display:flex}.confirm-dialog__actions[data-v-54c7c315]{justify-content:flex-end;gap:var(--space-3);width:100%;display:flex}.confirm-dialog__status[data-v-54c7c315]{align-items:center;gap:var(--space-3);width:100%;display:flex}.confirm-dialog__status-dot[data-v-54c7c315]{background:var(--color-accent);width:8px;height:8px;box-shadow:0 0 10px var(--color-accent-glow-strong);border-radius:50%;animation:1.2s ease-in-out infinite status-pulse-54c7c315}@keyframes status-pulse-54c7c315{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.confirm-dialog__status-text[data-v-54c7c315]{font-family:var(--font-mono);color:var(--color-accent-light);letter-spacing:.04em;font-size:12px}.swap-enter-active[data-v-54c7c315],.swap-leave-active[data-v-54c7c315]{transition:opacity .25s,transform .25s}.swap-enter-from[data-v-54c7c315]{opacity:0;transform:translateY(6px)}.swap-leave-to[data-v-54c7c315]{opacity:0;transform:translateY(-6px)}.modal-enter-active[data-v-54c7c315]{animation:.2s fade-in-54c7c315}.modal-leave-active[data-v-54c7c315]{animation:.15s reverse fade-in-54c7c315}@keyframes fade-in-54c7c315{0%{opacity:0}to{opacity:1}}#app-root{width:100%;height:100vh;overflow:hidden}:root{--color-bg-deepest:#08090d;--color-bg-deep:#0f1119;--color-bg-surface:#161822;--color-bg-elevated:#1e2030;--color-bg-input:#14161f;--color-text-primary:#efedf5;--color-text-secondary:#b5b5c8;--color-text-muted:#8282a0;--color-text-inverse:#0f1119;--color-accent:#d81a60;--color-accent-light:#f05080;--color-accent-glow:#d81a6040;--color-accent-glow-strong:#d81a6073;--color-accent-subtle:#d81a601f;--color-success:#2ecc71;--color-warning:#f0a030;--color-error:#e74c3c;--color-info:#3b8beb;--color-border:#252638;--color-border-light:#1e2032;--color-border-accent:#3d1a2e;--font-display:"DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-body:"DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Consolas", "Monaco", monospace;--font-ui:"DM Sans", system-ui, -apple-system, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 4px 16px #0009;--shadow-lg:0 8px 36px #000000b3;--shadow-xl:0 12px 48px #000000bf;--shadow-glow-accent:0 0 20px var(--color-accent-glow);--shadow-glow-accent-strong:0 0 36px var(--color-accent-glow-strong);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--sidebar-width:280px;--skill-panel-width:340px;--topbar-height:56px;--input-min-height:52px;--input-max-height:200px}@media (prefers-color-scheme:light){:root:not([data-theme]){--color-bg-deepest:#f2f2f8;--color-bg-deep:#f8f8fd;--color-bg-surface:#fff;--color-bg-elevated:#fafafe;--color-bg-input:#f2f2f8;--color-text-primary:#0f1119;--color-text-secondary:#4a4a62;--color-text-muted:#6a6a82;--color-text-inverse:#fff;--color-border:#e0e0ee;--color-border-light:#eeeef6;--color-border-accent:#e8c0d0;--color-accent-glow:#d81a602e;--color-accent-glow-strong:#d81a6059;--color-accent-subtle:#d81a6014;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 36px #0000001a;--shadow-xl:0 12px 48px #0000001f;--shadow-glow-accent:0 0 24px var(--color-accent-glow);--shadow-glow-accent-strong:0 0 40px var(--color-accent-glow-strong)}}:root[data-theme=light]{--color-bg-deepest:#f2f2f8;--color-bg-deep:#f8f8fd;--color-bg-surface:#fff;--color-bg-elevated:#fafafe;--color-bg-input:#f2f2f8;--color-text-primary:#0f1119;--color-text-secondary:#4a4a62;--color-text-muted:#6a6a82;--color-text-inverse:#fff;--color-border:#e0e0ee;--color-border-light:#eeeef6;--color-border-accent:#e8c0d0;--color-accent-glow:#d81a602e;--color-accent-glow-strong:#d81a6059;--color-accent-subtle:#d81a6014;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 36px #0000001a;--shadow-xl:0 12px 48px #0000001f;--shadow-glow-accent:0 0 24px var(--color-accent-glow);--shadow-glow-accent-strong:0 0 40px var(--color-accent-glow-strong)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{min-height:100vh;line-height:1.65;overflow:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-deepest);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text-primary);font-weight:600;line-height:1.2}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.875em}pre{background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);font-size:.8125rem;line-height:1.55;overflow-x:auto}code{background:var(--color-bg-elevated);border-radius:var(--radius-sm);color:var(--color-accent-light);padding:.15em .4em;font-size:.85em;font-weight:500}pre code{color:var(--color-text-primary);background:0 0;padding:0;font-weight:400}blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-4);margin:var(--space-4) 0;color:var(--color-text-secondary);font-style:italic}a{color:var(--color-accent-light);transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}::selection{background:var(--color-accent-glow);color:var(--color-text-primary)}body{background:var(--color-bg-deepest);color:var(--color-text-primary);font-family:var(--font-body);min-height:100vh}#app{z-index:1;width:100%;height:100vh;position:relative;overflow:hidden}html{transition:color var(--transition-slow), background var(--transition-slow)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.dot-grid-surface{position:relative}.dot-grid-surface:before{content:"";background-image:radial-gradient(circle, var(--color-border) 1px, transparent 1px);opacity:.35;pointer-events:none;border-radius:inherit;background-size:20px 20px;position:absolute;inset:0}.glow-surface{position:relative}.glow-surface:before{content:"";background:radial-gradient(ellipse at 20% 0%, var(--color-accent-glow) 0%, transparent 50%), radial-gradient(ellipse at 80% 100%, #3b8beb0f 0%, transparent 50%);pointer-events:none;border-radius:inherit;position:absolute;inset:0}.data-bar:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--color-accent-glow) 50%, transparent 100%);pointer-events:none;border-radius:inherit;background-size:200% 100%;animation:2s ease-in-out infinite data-bar-sweep;position:absolute;inset:0}@keyframes data-bar-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.5s both page-enter}.glass-surface{background:color-mix(in srgb, var(--color-bg-surface) 85%, transparent);-webkit-backdrop-filter:blur(12px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px var(--color-accent-glow)}50%{box-shadow:0 0 28px var(--color-accent-glow-strong)}}@keyframes border-pulse{0%,to{border-color:var(--color-border-accent);box-shadow:0 0 6px var(--color-accent-glow)}50%{border-color:var(--color-accent);box-shadow:0 0 20px var(--color-accent-glow-strong)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes typing-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tech-glow{0%,to{filter:drop-shadow(0 0 3px var(--color-accent-glow))}50%{filter:drop-shadow(0 0 10px var(--color-accent-glow-strong))}}@keyframes scale-bounce{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.message-enter-active{animation:.3s fade-in-up}.message-leave-active{animation:.2s reverse fade-in}.stagger-children>*{opacity:0;animation:.4s forwards fade-in-up}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.stagger-children>:nth-child(n+9){animation-delay:.45s}
