:root{--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2.25rem;--font-size-4xl: 2.75rem;--font-size-5xl: 3.25rem;--font-size-6xl: 4rem;--line-height-tight: 1.12;--line-height-snug: 1.28;--line-height-normal: 1.55;--line-height-relaxed: 1.7;--letter-spacing-display: -.018em;--letter-spacing-caps: .08em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--container-max: 74rem;--container-narrow: 46rem;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-full: 999px;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .26s;--ease-out: cubic-bezier(.2, .8, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: var(--duration-fast) var(--ease-out);--transition-base: var(--duration-base) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-out);--z-base: 1;--z-sticky: 40;--z-dropdown: 60;--z-overlay: 80;--z-modal: 90;--z-toast: 100}:root{--brand-paper-50: #ffffff;--brand-paper-100: #f6f7f9;--brand-paper-200: #eef1f5;--brand-paper-300: #e3e8ef;--brand-rule-400: #ccd4e0;--brand-rule-500: #b3bdcb;--brand-slate-500: #6b7684;--brand-slate-600: #545f6d;--brand-slate-700: #3a4453;--brand-ink-800: #1b2330;--brand-ink-900: #0f141b;--brand-ink-950: #0a0e13;--brand-blue-700: #163c6b;--brand-blue-600: #1e4e8c;--brand-blue-500: #2760a8;--brand-blue-400: #4c8dd6;--brand-blue-300: #93bce8;--brand-blue-100: #e8f0fa;--brand-blue-50: #f3f8fd;--brand-green-700: #0f6b4a;--brand-green-400: #4cc38a;--brand-green-100: #e6f5ee;--brand-amber-700: #8a5a08;--brand-amber-400: #e0b055;--brand-amber-100: #fbf1dd;--brand-red-700: #a32420;--brand-red-400: #f0736e;--brand-red-100: #fbeaea}:root{--bg: var(--brand-paper-100);--bg-subtle: var(--brand-paper-200);--surface: var(--brand-paper-50);--surface-raised: var(--brand-paper-50);--surface-sunken: var(--brand-paper-200);--surface-hover: rgba(27, 35, 48, .04);--surface-active: rgba(27, 35, 48, .07);--surface-inverse: var(--brand-ink-900);--header-bg: rgba(246, 247, 249, .88);--overlay: rgba(15, 20, 27, .45);--text: var(--brand-ink-800);--text-muted: var(--brand-slate-600);--text-subtle: #5f6a79;--text-inverse: #ffffff;--meta-theme-color: #f6f7f9;--border: var(--brand-paper-300);--border-strong: var(--brand-rule-400);--border-subtle: rgba(27, 35, 48, .07);--divider: var(--brand-paper-300);--accent: var(--brand-blue-600);--accent-hover: var(--brand-blue-700);--accent-active: #12325a;--accent-fg: #ffffff;--accent-soft: var(--brand-blue-100);--accent-soft-fg: #143a68;--accent-border: var(--brand-blue-300);--link: var(--brand-blue-700);--link-hover: #0f2b4d;--ok: var(--brand-green-700);--ok-soft: var(--brand-green-100);--ok-border: var(--brand-green-400);--ok-fg: #0b5340;--warn: var(--brand-amber-700);--warn-soft: var(--brand-amber-100);--warn-border: var(--brand-amber-400);--warn-fg: #6d4706;--danger: var(--brand-red-700);--danger-soft: var(--brand-red-100);--danger-border: var(--brand-red-400);--danger-fg: #851c19;--info: var(--brand-blue-600);--info-soft: var(--brand-blue-100);--info-border: var(--brand-blue-300);--info-fg: #143a68;--focus-ring-color: var(--brand-blue-600);--focus-ring-width: 2px;--focus-ring-offset: 2px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 2px 8px -2px rgba(16, 24, 40, .09);--shadow-lg: 0 14px 32px -14px rgba(16, 24, 40, .2);--shadow-overlay: 0 24px 60px -20px rgba(16, 24, 40, .32);--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display: var(--font-sans)}[data-theme=dark]{--bg: var(--brand-ink-900);--bg-subtle: var(--brand-ink-950);--surface: #161c25;--surface-raised: #1c2430;--surface-sunken: var(--brand-ink-950);--surface-hover: rgba(255, 255, 255, .05);--surface-active: rgba(255, 255, 255, .09);--surface-inverse: #eef1f6;--header-bg: rgba(15, 20, 27, .86);--overlay: rgba(5, 8, 12, .68);--text: #eef1f6;--text-muted: #a7b2c1;--text-subtle: #8f9aa9;--border: #2a3441;--border-strong: #3b4756;--border-subtle: rgba(255, 255, 255, .07);--divider: #2a3441;--accent: var(--brand-blue-400);--accent-hover: var(--brand-blue-300);--accent-active: #a9cdf0;--accent-fg: #0d1c2c;--text-inverse: #0f141b;--meta-theme-color: #0f141b;--accent-soft: rgba(76, 141, 214, .16);--accent-soft-fg: #cfe2f6;--accent-border: #3c5f88;--link: var(--brand-blue-300);--link-hover: #cfe2f6;--ok: var(--brand-green-400);--ok-soft: rgba(76, 195, 138, .15);--ok-border: rgba(76, 195, 138, .4);--ok-fg: #b6e8d0;--warn: var(--brand-amber-400);--warn-soft: rgba(224, 176, 85, .15);--warn-border: rgba(224, 176, 85, .4);--warn-fg: #f2d9a6;--danger: var(--brand-red-400);--danger-soft: rgba(240, 115, 110, .15);--danger-border: rgba(240, 115, 110, .4);--danger-fg: #f8c6c4;--info: var(--brand-blue-400);--info-soft: rgba(76, 141, 214, .16);--info-border: rgba(76, 141, 214, .4);--info-fg: #cfe2f6;--focus-ring-color: var(--brand-blue-300);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 10px -2px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 36px -16px rgba(0, 0, 0, .7);--shadow-overlay: 0 28px 64px -24px rgba(0, 0, 0, .8)}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh;font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}a{color:var(--link);text-decoration:none;transition:color var(--transition-fast)}p a,li a,blockquote a,.prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:.18em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;padding:var(--space-6);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.card:hover{border-color:var(--border-strong)}.btn,.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.7rem 1.35rem;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-base);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn--primary,.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn--primary:hover,.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--primary:active,.btn-primary:active{background:var(--accent-active);border-color:var(--accent-active)}.btn--ghost,.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);font-weight:500}.btn--ghost:hover,.btn-secondary:hover{background:var(--surface-hover);border-color:var(--accent)}.btn--ghost:active,.btn-secondary:active{background:var(--surface-active)}.btn--link{background:none;border-color:transparent;padding-inline:.35rem;color:var(--link);font-weight:500}.btn--link:hover{color:var(--link-hover);text-decoration:underline}.btn--block{width:100%}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);padding:.7rem .8rem;border-radius:var(--radius-sm);width:100%;font-family:inherit;font-size:var(--font-size-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=checkbox],input[type=radio]{width:auto;padding:0;accent-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring-color)}h1,h2,h3{color:var(--text);margin-top:0}h1{font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-.02em}h2{font-size:var(--font-size-2xl);font-weight:600}h3{font-size:var(--font-size-lg);font-weight:600}.text-sm{font-size:var(--font-size-sm)}.text-muted{color:var(--text-muted)}.container{max-width:1200px;margin:0 auto;padding:2rem}.flex-center{display:flex;justify-content:center;align-items:center}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.badge{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge.processing{background:var(--info-soft);color:var(--info-fg)}.badge.done{background:var(--ok-soft);color:var(--ok-fg)}.badge.failed{background:var(--danger-soft);color:var(--danger-fg)}.modal-overlay{position:fixed;top:0;left:0;bottom:0;right:0;background:var(--overlay);display:flex;justify-content:center;align-items:center;z-index:1000}.modal{width:90%;max-width:500px;padding:2rem;max-height:90vh;overflow-y:auto;background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-overlay);border-radius:var(--radius-md)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.close-btn{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-2xl);line-height:1;cursor:pointer;padding:0 .5rem;transition:color var(--transition-base)}.close-btn:hover{color:var(--text)}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.form-group{margin-bottom:var(--space-6)}.form-group label{display:block;margin-bottom:var(--space-1);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:600}.form-control{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:var(--font-size-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring-color)}select option{background:var(--surface);color:var(--text);padding:var(--space-2) var(--space-3)}.radio-group{display:flex;gap:1.5rem;margin-bottom:.75rem}.radio-label{display:flex!important;align-items:center;gap:.4rem;cursor:pointer;color:var(--text)!important;font-size:var(--font-size-base)}.radio-label input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}*:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-sm);z-index:9999;text-decoration:none;font-weight:600}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fade-page-enter-active,.fade-page-leave-active{transition:opacity var(--transition-base),transform var(--transition-base)}.fade-page-enter-from{opacity:0;transform:translateY(4px)}.fade-page-leave-to{opacity:0;transform:translateY(-4px)}.app-icon[data-v-77a5f320]{display:block;flex:none}.cookie[data-v-84e0e12a]{position:fixed;inset-inline:0;bottom:0;z-index:var(--z-modal);padding:var(--space-4);pointer-events:none}.cookie__inner[data-v-84e0e12a]{display:grid;gap:var(--space-4);width:100%;max-width:62rem;margin-inline:auto;padding:var(--space-5) var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-lg);pointer-events:auto}.cookie__title[data-v-84e0e12a]{margin:0 0 .35rem;font-size:var(--font-size-md);font-weight:600;color:var(--text)}.cookie__desc[data-v-84e0e12a]{margin:0;max-width:84ch;font-size:var(--font-size-sm);line-height:1.6;color:var(--text-muted)}.cookie__options[data-v-84e0e12a]{display:grid;gap:.5rem;margin:var(--space-4) 0 0;padding:0;list-style:none}.cookie__option[data-v-84e0e12a]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:.7rem var(--space-4);border:1px solid var(--divider);border-radius:var(--radius-sm);background:var(--surface)}.cookie__option-title[data-v-84e0e12a]{margin:0 0 .2rem;font-size:var(--font-size-sm);font-weight:500;color:var(--text)}.cookie__option-desc[data-v-84e0e12a]{margin:0;max-width:70ch;font-size:var(--font-size-xs);line-height:1.55;color:var(--text-subtle)}.cookie__switch[data-v-84e0e12a]{display:inline-flex;flex:none;cursor:pointer}.cookie__switch input[data-v-84e0e12a]{width:1.15rem;height:1.15rem;accent-color:var(--accent);cursor:pointer}.cookie__switch input[data-v-84e0e12a]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.cookie__actions[data-v-84e0e12a]{display:flex;flex-wrap:wrap;gap:.6rem}@media (min-width: 64rem){.cookie__inner[data-v-84e0e12a]{grid-template-columns:minmax(0,1fr) auto;align-items:center}.cookie__actions[data-v-84e0e12a]{flex-direction:column;align-items:stretch;min-width:13rem}}.theme-toggle[data-v-42f01850]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.theme-toggle[data-v-42f01850]:hover{color:var(--text);background:var(--surface-hover)}.theme-toggle[data-v-42f01850]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.app-wrapper[data-v-d1211a51]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-d1211a51]{flex:1;position:relative;z-index:var(--z-base)}.navbar[data-v-d1211a51]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);margin:var(--space-4) var(--space-6);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:var(--space-4);z-index:var(--z-sticky)}.nav-left[data-v-d1211a51]{display:flex;align-items:center;gap:var(--space-8)}.logo[data-v-d1211a51]{font-weight:600;font-size:var(--font-size-lg);display:flex;align-items:center;color:var(--text);letter-spacing:-.01em}.logo-dot[data-v-d1211a51]{width:8px;height:8px;background:var(--accent);border-radius:var(--radius-xs);margin-right:var(--space-3)}.nav-links[data-v-d1211a51]{display:flex;gap:var(--space-6)}.nav-links a[data-v-d1211a51]{color:var(--text-muted);font-weight:500;font-size:var(--font-size-base);text-decoration:none;transition:color var(--transition-fast)}.nav-links a[data-v-d1211a51]:hover{color:var(--text);text-decoration:none}.nav-links a.active-link[data-v-d1211a51]{color:var(--accent);font-weight:600}.nav-right[data-v-d1211a51]{display:flex;align-items:center;gap:var(--space-3)}.user-menu-container[data-v-d1211a51]{position:relative}.user-trigger[data-v-d1211a51]{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--transition-fast);background:none;border:none;color:inherit;font:inherit}.user-trigger[data-v-d1211a51]:hover{background:var(--surface-hover)}.avatar[data-v-d1211a51]{width:30px;height:30px;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm)}.username[data-v-d1211a51]{font-size:var(--font-size-sm);color:var(--text)}.chevron[data-v-d1211a51]{width:14px;height:14px;color:var(--text-muted)}.user-dropdown[data-v-d1211a51]{position:absolute;top:100%;right:0;margin-top:var(--space-2);min-width:12rem;padding:var(--space-1);border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:var(--z-dropdown)}.dropdown-item[data-v-d1211a51]{padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;color:var(--text);font-size:var(--font-size-base);text-align:left;background:none;border:none;font-family:inherit;transition:background-color var(--transition-fast)}.dropdown-item[data-v-d1211a51]:hover{background:var(--surface-hover)}.text-danger[data-v-d1211a51]{color:var(--danger)}.text-danger[data-v-d1211a51]:hover{background:var(--danger-soft)}.modal-header[data-v-d1211a51]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.modal-header h2[data-v-d1211a51]{font-size:var(--font-size-xl);margin:0;font-weight:600;letter-spacing:-.01em}.close-btn[data-v-d1211a51]{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-xs);display:inline-flex}.close-btn svg[data-v-d1211a51]{width:18px;height:18px}.close-btn[data-v-d1211a51]:hover{color:var(--text);background:var(--surface-hover)}.modal-footer[data-v-d1211a51]{display:flex;justify-content:flex-end;margin-top:var(--space-6)}.app-footer[data-v-d1211a51]{text-align:center;padding:var(--space-6) var(--space-4) var(--space-5);font-size:var(--font-size-xs);color:var(--text-subtle);border-top:1px solid var(--border-subtle);margin-top:var(--space-10)}.app-footer a[data-v-d1211a51]{color:var(--text-muted);text-decoration:none}.app-footer a[data-v-d1211a51]:hover{color:var(--accent)}.footer-sep[data-v-d1211a51]{margin:0 var(--space-1)}
