.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:72px;right:20px}.toast-item{pointer-events:auto;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;align-items:center;gap:10px;min-width:280px;max-width:420px;padding:12px 16px;font-size:.875rem;font-weight:500;display:flex;box-shadow:0 4px 12px #00000026}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:1.1rem;font-weight:700;display:flex}.toast-msg{flex:1;line-height:1.4}.toast-close{cursor:pointer;opacity:.5;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1;transition:opacity .2s}.toast-close:hover{opacity:1}.toast-success{color:#fff;background:#22c55ef2}.toast-success .toast-icon{background:#fff3}.toast-error{color:#fff;background:#ef4444f2}.toast-error .toast-icon{background:#fff3}.toast-warning{color:#fff;background:#f59e0bf2}.toast-warning .toast-icon{background:#fff3}.toast-info{color:#fff;background:#3b82f6f2}.toast-info .toast-icon{background:#fff3}.toast-close{color:#ffffffb3}.toast-enter-active{animation:.3s toastIn}.toast-leave-active{animation:.25s toastOut}@keyframes toastIn{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(80px)}}.onboarding-overlay[data-v-02f48e98]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#00000080;justify-content:center;align-items:center;animation:.3s fadeIn-02f48e98;display:flex;position:fixed;inset:0}@keyframes fadeIn-02f48e98{0%{opacity:0}to{opacity:1}}.onboarding-card[data-v-02f48e98]{background:var(--color-surface,#fff);text-align:center;border-radius:16px;width:90%;max-width:440px;padding:40px;animation:.4s slideUp-02f48e98;box-shadow:0 24px 48px #00000026}@keyframes slideUp-02f48e98{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.step-indicator[data-v-02f48e98]{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.dot[data-v-02f48e98]{background:var(--color-border,#cbd5e1);border-radius:50%;width:8px;height:8px;transition:all .3s}.dot.active[data-v-02f48e98]{background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:4px;width:24px}.step-icon[data-v-02f48e98]{margin-bottom:16px;font-size:3rem}.step-content h2[data-v-02f48e98]{color:var(--color-text,#1e293b);margin-bottom:12px;font-size:1.25rem;font-weight:700}.step-content p[data-v-02f48e98]{color:var(--color-text-muted,#64748b);margin-bottom:24px;font-size:.9375rem;line-height:1.6}.step-actions[data-v-02f48e98]{justify-content:space-between;align-items:center;display:flex}.step-nav[data-v-02f48e98]{gap:8px;display:flex}.navbar[data-v-79f2ed8b]{height:var(--nav-height);border-bottom:1px solid var(--color-border);z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;position:fixed;top:0;left:0;right:0}[data-theme=dark] .navbar[data-v-79f2ed8b]{background:#0f172ae6}.navbar-inner[data-v-79f2ed8b]{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar-brand[data-v-79f2ed8b]{align-items:center;gap:var(--space-2);font-family:var(--font-heading);color:var(--color-text);font-size:1.1rem;font-weight:600;text-decoration:none;display:flex}.brand-icon[data-v-79f2ed8b]{color:var(--color-primary);font-size:1.25rem}.navbar-links[data-v-79f2ed8b]{gap:var(--space-1);align-items:center;display:flex}.nav-divider[data-v-79f2ed8b]{background:var(--color-border);width:1px;height:20px;margin:0 var(--space-1)}.nav-link[data-v-79f2ed8b]{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius);color:var(--color-text-secondary);transition:all var(--transition-fast);white-space:nowrap;font-size:.8125rem;font-weight:500;text-decoration:none;display:flex}.nav-link[data-v-79f2ed8b]:hover{background:var(--color-border-light);color:var(--color-text)}.nav-link.active[data-v-79f2ed8b]{background:var(--color-primary-bg);color:var(--color-primary)}.theme-toggle[data-v-79f2ed8b]{cursor:pointer;padding:var(--space-1);border-radius:var(--radius);transition:background var(--transition-fast);background:0 0;border:none;font-size:1.125rem}.theme-toggle[data-v-79f2ed8b]:hover{background:var(--color-border-light)}.main-content[data-v-79f2ed8b]{background-color:var(--color-bg);min-height:100vh}.main-content.has-navbar[data-v-79f2ed8b]{padding-top:var(--nav-height)}.user-badge[data-v-79f2ed8b]{font-weight:500}.btn-sm[data-v-79f2ed8b]{padding:var(--space-1) var(--space-3);font-size:.8125rem}.hamburger[data-v-79f2ed8b]{cursor:pointer;padding:var(--space-2);z-index:102;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.hamburger span[data-v-79f2ed8b]{background:var(--color-text);border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.hamburger.open span[data-v-79f2ed8b]:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span[data-v-79f2ed8b]:nth-child(2){opacity:0}.hamburger.open span[data-v-79f2ed8b]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-backdrop[data-v-79f2ed8b]{display:none}@media (width<=768px){.hamburger[data-v-79f2ed8b]{display:flex}.mobile-backdrop[data-v-79f2ed8b]{z-index:100;background:#0000004d;display:block;position:fixed;inset:0}.navbar-links[data-v-79f2ed8b]{width:260px;height:100vh;padding:calc(var(--nav-height) + var(--space-4)) var(--space-4) var(--space-4);background:var(--color-surface);border-left:1px solid var(--color-border);z-index:101;align-items:stretch;gap:var(--space-1);flex-direction:column;transition:right .3s;position:fixed;top:0;right:-280px;overflow-y:auto;box-shadow:-4px 0 16px #0000001a}.navbar-links.mobile-open[data-v-79f2ed8b]{right:0}.nav-link[data-v-79f2ed8b]{padding:var(--space-3) var(--space-4);font-size:.9375rem}.nav-divider[data-v-79f2ed8b]{width:100%;height:1px;margin:var(--space-2) 0}.theme-toggle[data-v-79f2ed8b]{padding:var(--space-3);align-self:flex-start}}.page-forward-enter-active[data-v-79f2ed8b],.page-forward-leave-active[data-v-79f2ed8b],.page-back-enter-active[data-v-79f2ed8b],.page-back-leave-active[data-v-79f2ed8b]{transition:opacity .25s,transform .25s}.page-forward-enter-from[data-v-79f2ed8b]{opacity:0;transform:translate(20px)}.page-forward-leave-to[data-v-79f2ed8b],.page-back-enter-from[data-v-79f2ed8b]{opacity:0;transform:translate(-20px)}.page-back-leave-to[data-v-79f2ed8b]{opacity:0;transform:translate(20px)}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#3b82f6;--color-primary-bg:#eff6ff;--color-cta:#f97316;--color-cta-hover:#ea580c;--color-success:#22c55e;--color-success-bg:#f0fdf4;--color-warning:#f59e0b;--color-warning-bg:#fffbeb;--color-danger:#ef4444;--color-danger-bg:#fef2f2;--color-bg:#f8fafc;--color-surface:#fff;--color-text:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-must:#ef4444;--color-must-bg:#fef2f2;--color-should:#f59e0b;--color-should-bg:#fffbeb;--color-could:#3b82f6;--color-could-bg:#eff6ff;--font-heading:"Fira Code", "Consolas", monospace;--font-body:"Fira Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--transition-fast:.15s ease;--transition:.2s ease;--transition-slow:.3s ease;--max-width:1200px;--nav-height:56px}[data-theme=dark]{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#60a5fa;--color-primary-bg:#3b82f626;--color-cta:#fb923c;--color-cta-hover:#f97316;--color-success:#4ade80;--color-success-bg:#4ade801f;--color-warning:#fbbf24;--color-warning-bg:#fbbf241f;--color-danger:#f87171;--color-danger-bg:#f871711f;--color-bg:#0f172a;--color-surface:#1e293b;--color-text:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-border:#334155;--color-border-light:#1e293b;--color-must:#f87171;--color-must-bg:#f871711f;--color-should:#fbbf24;--color-should-bg:#fbbf241f;--color-could:#60a5fa;--color-could-bg:#60a5fa1f;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0006;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}#app{background-color:var(--color-bg);min-height:100dvh}html{background-color:var(--color-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-size:16px}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);min-height:100dvh;line-height:1.6;overflow-x:hidden}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);font-weight:600;line-height:1.3}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:var(--font-body)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius);transition:all var(--transition);cursor:pointer;white-space:nowrap;border:none;font-size:.9375rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.btn-cta{background:var(--color-cta);color:#fff;font-weight:600}.btn-cta:hover{background:var(--color-cta-hover);box-shadow:var(--shadow-md)}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-primary-bg)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-border-light);color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition)}.card:hover{box-shadow:var(--shadow)}.input,.textarea{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;font-size:.9375rem}.input:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.textarea{resize:vertical;min-height:200px;line-height:1.6}.tag{padding:2px var(--space-3);border-radius:999px;align-items:center;font-size:.8125rem;font-weight:500;display:inline-flex}.tag-must{background:var(--color-must-bg);color:var(--color-must)}.tag-should{background:var(--color-should-bg);color:var(--color-should)}.tag-could{background:var(--color-could-bg);color:var(--color-could)}.tag-success{background:var(--color-success-bg);color:var(--color-success)}.container{max-width:var(--max-width);padding:0 var(--space-6);margin:0 auto}.page-header{padding:var(--space-8) 0 var(--space-6)}.page-header h1{margin-bottom:var(--space-2)}.page-header p{color:var(--color-text-secondary);font-size:.9375rem}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.diff-add{background-color:var(--color-success-bg);color:var(--color-success)}.diff-remove{background-color:var(--color-danger-bg);color:var(--color-danger);text-decoration:line-through}.diff-equal{color:var(--color-text)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background-color:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--color-text-muted)!important}[data-theme=dark] input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text)!important;caret-color:var(--color-text)!important}[data-theme=dark] input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text)!important;caret-color:var(--color-text)!important}[data-theme=dark] input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text)!important;caret-color:var(--color-text)!important}[data-theme=dark] label{color:var(--color-text-secondary)!important}[data-theme=dark] small{color:var(--color-text-muted)!important}[data-theme=dark] .page-header h1{color:var(--color-text)!important}@media (width<=768px){.container{padding:0 var(--space-4)}h1{font-size:1.5rem}h2{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
