.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-e3c4490f]{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:.005em;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.glow-btn[data-v-e3c4490f]:disabled{opacity:.4;cursor:not-allowed}.glow-btn--loading[data-v-e3c4490f]:disabled{opacity:1;cursor:wait}.glow-btn[data-v-e3c4490f]:active:not(:disabled){transform:scale(.97)}.glow-btn--sm[data-v-e3c4490f]{font-size:var(--text-xs);border-radius:var(--radius-sm);padding:6px 14px}.glow-btn--md[data-v-e3c4490f]{font-size:var(--text-sm);padding:10px 22px}.glow-btn--lg[data-v-e3c4490f]{font-size:var(--text-base);padding:14px 32px}.glow-btn--primary[data-v-e3c4490f]{background:var(--color-accent);color:#fff;box-shadow:0 2px 8px var(--color-accent-glow)}.glow-btn--primary[data-v-e3c4490f]:hover:not(:disabled){background:var(--color-accent-light);box-shadow:0 4px 18px var(--color-accent-glow-strong);transform:translateY(-1px)}.glow-btn--secondary[data-v-e3c4490f]{color:var(--color-accent-light);border:1px solid var(--color-border-accent);background:0 0}.glow-btn--secondary[data-v-e3c4490f]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 18px var(--color-accent-glow);transform:translateY(-1px)}.glow-btn--ghost[data-v-e3c4490f]{color:var(--color-text-secondary);background:0 0}.glow-btn--ghost[data-v-e3c4490f]:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-elevated)}.glow-btn--danger[data-v-e3c4490f]{color:var(--color-error);border:1px solid var(--color-error);background:0 0}.glow-btn--danger[data-v-e3c4490f]:hover:not(:disabled){background:var(--color-error);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #e055554d}.glow-btn__spinner[data-v-e3c4490f]{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-e3c4490f;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.glow-btn__label--hidden[data-v-e3c4490f]{visibility:hidden}.glow-btn__label[data-v-e3c4490f]{align-items:center;gap:var(--space-2);display:inline-flex}.glow-btn__label svg[data-v-e3c4490f]{flex-shrink:0}@keyframes spin-e3c4490f{to{transform:rotate(360deg)}}.confirm-overlay[data-v-35de866a]{inset:0;-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-35de866a]{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-35de866a]{border-color:var(--color-accent);box-shadow:var(--shadow-lg), 0 0 20px var(--color-accent-glow)}.confirm-dialog__title[data-v-35de866a]{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-2);font-weight:700}.confirm-dialog__message[data-v-35de866a]{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-6);line-height:1.6}.confirm-dialog__foot[data-v-35de866a]{align-items:center;min-height:36px;display:flex}.confirm-dialog__actions[data-v-35de866a]{justify-content:flex-end;gap:var(--space-3);width:100%;display:flex}.confirm-dialog__status[data-v-35de866a]{align-items:center;gap:var(--space-3);width:100%;display:flex}.confirm-dialog__status-dot[data-v-35de866a]{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-35de866a}@keyframes status-pulse-35de866a{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.confirm-dialog__status-text[data-v-35de866a]{font-family:var(--font-mono);color:var(--color-accent-light);letter-spacing:.04em;font-size:12px}.swap-enter-active[data-v-35de866a],.swap-leave-active[data-v-35de866a]{transition:opacity .25s,transform .25s}.swap-enter-from[data-v-35de866a]{opacity:0;transform:translateY(6px)}.swap-leave-to[data-v-35de866a]{opacity:0;transform:translateY(-6px)}.modal-enter-active[data-v-35de866a]{animation:.2s fade-in-35de866a}.modal-leave-active[data-v-35de866a]{animation:.15s reverse fade-in-35de866a}@keyframes fade-in-35de866a{0%{opacity:0}to{opacity:1}}#app-root{width:100%;height:100vh;height:100dvh;overflow:hidden}:root{--color-bg-deepest:#1a1814;--color-bg-deep:#211f1a;--color-bg-surface:#282520;--color-bg-elevated:#2f2c27;--color-bg-input:#24211c;--color-text-primary:#f0ebe1;--color-text-secondary:#afa89c;--color-text-muted:#827a70;--color-text-inverse:#0d0c0a;--color-accent:#d81a60;--color-accent-light:#f06292;--color-accent-text:#fff;--color-accent-glow:#d81a6040;--color-accent-glow-strong:#d81a6073;--color-accent-subtle:#d81a601f;--color-success:#5eba6a;--color-warning:#e0a03a;--color-error:#e05555;--color-info:#5b9fe0;--color-border:#322f29;--color-border-light:#282520;--color-border-accent:#442230;--font-display:inherit;--font-body:inherit;--font-mono:inherit;--font-ui:inherit;--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;--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:280px;--skill-panel-width:340px;--topbar-height:56px;--input-min-height:52px;--input-max-height:200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Open Sans,Noto Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji}@media (prefers-color-scheme:light){:root:not([data-theme]){--color-bg-deepest:#f5f2ed;--color-bg-deep:#faf8f4;--color-bg-surface:#fff;--color-bg-elevated:#fbf9f6;--color-bg-input:#f3f0ea;--color-text-primary:#1a1814;--color-text-secondary:#5c5648;--color-text-muted:#8a8372;--color-text-inverse:#fff;--color-border:#e5e0d6;--color-border-light:#eeeae2;--color-border-accent:#f5e0ea;--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:#f5f2ed;--color-bg-deep:#faf8f4;--color-bg-surface:#fff;--color-bg-elevated:#fbf9f6;--color-bg-input:#f3f0ea;--color-text-primary:#1a1814;--color-text-secondary:#5c5648;--color-text-muted:#8a8372;--color-text-inverse:#fff;--color-border:#e5e0d6;--color-border-light:#eeeae2;--color-border-accent:#f5e0ea;--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;min-height:100dvh;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.65}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.015em;font-weight:500;line-height:1.25}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);text-underline-offset:3px}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;overscroll-behavior:none;min-height:100dvh}#app{width:100%;height:100vh;z-index:1;height:100dvh;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:"";inset:0;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:"";inset:0;background:radial-gradient(ellipse at 20% 0%, var(--color-accent-glow) 0%, transparent 50%), radial-gradient(ellipse at 80% 100%, #5b9fe00f 0%, transparent 50%);pointer-events:none;border-radius:inherit;position:absolute;inset:0}.data-bar:after{content:"";inset:0;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(12px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.6s cubic-bezier(.16,1,.3,1) 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}.grain-surface{position:relative}.grain-surface:after{content:"";inset:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}@media (width<=768px){input,textarea,select{font-size:16px!important}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}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:.35;transform:translateY(0)scale(1)}30%{opacity:1;transform:translateY(-6px)scale(1.15)}}@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 12px var(--color-accent-glow-strong))}}@keyframes scale-bounce{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}.message-enter-active{animation:.4s cubic-bezier(.16,1,.3,1) fade-in-up}.message-leave-active{animation:.2s reverse fade-in}.stagger-children>*{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) 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}
