.locale-switch[data-v-b8e34ef8]{display:inline-flex;border:1px solid var(--c-border-strong);border-radius:var(--r-full);padding:2px;background:var(--c-surface)}.locale-switch button[data-v-b8e34ef8]{border:none;background:transparent;font-size:var(--fs-xs);font-weight:600;min-height:32px;padding:0 var(--s-3);border-radius:var(--r-full);color:var(--c-text-muted);cursor:pointer}.locale-switch button.active[data-v-b8e34ef8]{background:var(--c-brand);color:#fff}.help-trigger[data-v-e381306d]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--c-border, #d1d5db);background:var(--c-surface, #fff);font-weight:700;line-height:1;vertical-align:middle;cursor:pointer}.help-trigger[data-v-e381306d]:hover{background:var(--c-brand-bg, #e8efff)}.help-backdrop[data-v-e381306d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;background:#00000059;display:flex;align-items:center;justify-content:center;padding:var(--s-4, 16px)}.help-dialog[data-v-e381306d]{background:var(--c-surface, #fff);border-radius:var(--r-lg, 12px);box-shadow:var(--shadow-xl, 0 16px 48px rgba(0, 0, 0, .24));max-width:560px;width:100%;max-height:80vh;overflow-y:auto;padding:var(--s-5, 20px)}.help-head[data-v-e381306d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-3, 12px)}.help-head h2[data-v-e381306d]{margin:0;font-size:var(--fs-xl, 1.25rem)}.help-list[data-v-e381306d]{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3, 12px)}.help-list li[data-v-e381306d]{display:flex;flex-direction:column;gap:2px}.dt-icon[data-v-a30b33d9]{flex:0 0 auto;vertical-align:-.16em}.topnav[data-v-e5ca8663]{position:sticky;top:0;z-index:50;background:#ffffffd9;backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--c-border)}@media (prefers-color-scheme: dark){.topnav[data-v-e5ca8663]{background:#141920cc}}.row[data-v-e5ca8663]{height:var(--header-h);display:flex;align-items:center;gap:var(--s-6)}.brand[data-v-e5ca8663]{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:var(--s-2) var(--s-1);font-weight:700;color:var(--c-text);text-decoration:none;letter-spacing:-.02em;white-space:nowrap}.brand[data-v-e5ca8663]:hover{text-decoration:none;color:var(--c-brand)}.brand-mark[data-v-e5ca8663]{color:var(--c-brand)}.brand-text[data-v-e5ca8663]{font-size:var(--fs-lg)}.links[data-v-e5ca8663]{display:flex;gap:var(--s-4);margin-left:var(--s-4)}.links a[data-v-e5ca8663]{color:var(--c-text-muted);font-weight:500;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);white-space:nowrap}.links a[data-v-e5ca8663]:hover{color:var(--c-text);background:var(--c-surface-2);text-decoration:none}.links a.active[data-v-e5ca8663]{color:var(--c-brand-hover);background:var(--c-brand-bg);font-weight:600}.user[data-v-e5ca8663]{margin-left:auto;display:flex;gap:var(--s-3);align-items:center}.user-mail[data-v-e5ca8663]{color:var(--c-text-muted);font-size:var(--fs-sm)}.signout[data-v-e5ca8663]{font-size:var(--fs-sm);padding:var(--s-1) var(--s-3);min-height:36px;white-space:nowrap}.hamburger[data-v-e5ca8663]{font-size:1.3rem;line-height:1;min-width:44px;min-height:40px;padding:var(--s-1) var(--s-2)}.mobile-only[data-v-e5ca8663]{display:none}.mobile-menu[data-v-e5ca8663]{border-top:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-md)}.mobile-menu-inner[data-v-e5ca8663]{display:flex;flex-direction:column;padding:var(--s-2) var(--s-4) var(--s-4);gap:2px}.mobile-menu hr[data-v-e5ca8663]{border:none;border-top:1px solid var(--c-border);margin:var(--s-2) 0}.m-link[data-v-e5ca8663]{display:block;padding:var(--s-3) var(--s-2);border-radius:var(--r-md);color:var(--c-text);font-weight:500;text-decoration:none}.m-link[data-v-e5ca8663]:hover{background:var(--c-surface-2);text-decoration:none}.m-mail[data-v-e5ca8663]{color:var(--c-text-muted);font-size:var(--fs-sm);padding:var(--s-2) var(--s-2) 0}.m-signout[data-v-e5ca8663],.m-signin[data-v-e5ca8663]{margin-top:var(--s-2);align-self:flex-start}.sheet-enter-active[data-v-e5ca8663],.sheet-leave-active[data-v-e5ca8663]{transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.sheet-enter-from[data-v-e5ca8663],.sheet-leave-to[data-v-e5ca8663]{opacity:0;transform:translateY(-6px)}@media (max-width: 720px){.links[data-v-e5ca8663],.desktop-only[data-v-e5ca8663]{display:none}.mobile-only[data-v-e5ca8663]{display:inline-flex}.row[data-v-e5ca8663]{gap:var(--s-2)}}@media (prefers-reduced-motion: reduce){.sheet-enter-active[data-v-e5ca8663],.sheet-leave-active[data-v-e5ca8663]{transition:none}}.fb-overlay[data-v-fdb99a12]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#00000073;display:flex;align-items:center;justify-content:center;padding:var(--s-4)}.fb-modal[data-v-fdb99a12]{width:100%;max-width:480px;background:var(--c-surface, #fff);color:var(--c-text, #111);border:1px solid var(--c-border, #d1d5db);border-radius:var(--r-lg, 12px);padding:var(--s-5, 20px);box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column;gap:var(--s-3, 12px)}.fb-head[data-v-fdb99a12]{display:flex;align-items:center;justify-content:space-between}.fb-title[data-v-fdb99a12]{font-size:var(--fs-lg, 1.125rem);margin:0}.fb-x[data-v-fdb99a12]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:transparent;border:none;color:var(--c-text-muted, #555);cursor:pointer;border-radius:var(--r-md, 8px)}.fb-x[data-v-fdb99a12]:hover{color:var(--c-text, #111);background:var(--c-surface-2, #f3f4f6)}.fb-kinds[data-v-fdb99a12]{display:flex;gap:var(--s-2, 8px)}.fb-kind[data-v-fdb99a12]{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1, 6px);min-height:44px;padding:0 var(--s-3, 12px);border:1px solid var(--c-border, #d1d5db);border-radius:var(--r-md, 8px);background:var(--c-surface, #fff);color:var(--c-text, #111);cursor:pointer}.fb-kind.active[data-v-fdb99a12]{border-color:var(--c-brand, #1d4ed8);background:var(--c-brand, #1d4ed8);color:#fff}.fb-label[data-v-fdb99a12]{font-size:var(--fs-sm, .875rem);font-weight:600}.fb-textarea[data-v-fdb99a12]{width:100%;resize:vertical;min-height:110px;padding:var(--s-2, 8px) var(--s-3, 12px);border:1px solid var(--c-border, #d1d5db);border-radius:var(--r-md, 8px);background:var(--c-surface, #fff);color:var(--c-text, #111);font:inherit}.fb-textarea[data-v-fdb99a12]:focus-visible{outline:3px solid var(--c-focus, #1d4ed8);outline-offset:1px}.fb-attach[data-v-fdb99a12]{margin:0;color:var(--c-text-muted, #555)}.small[data-v-fdb99a12]{font-size:var(--fs-xs, .75rem)}.fb-result[data-v-fdb99a12]{margin:0;font-weight:600}.fb-result.sent[data-v-fdb99a12]{color:var(--c-success, #15803d)}.fb-result.error[data-v-fdb99a12]{color:var(--c-danger, #b91c1c)}.fb-actions[data-v-fdb99a12]{display:flex;justify-content:flex-end;gap:var(--s-2, 8px)}.fb-btn[data-v-fdb99a12]{min-height:44px;padding:0 var(--s-4, 16px);border-radius:var(--r-md, 8px);border:1px solid transparent;cursor:pointer;font:inherit}.fb-btn.ghost[data-v-fdb99a12]{background:transparent;border-color:var(--c-border, #d1d5db);color:var(--c-text, #111)}.fb-btn.primary[data-v-fdb99a12]{background:var(--c-brand, #1d4ed8);color:#fff}.fb-btn.primary[data-v-fdb99a12]:disabled{opacity:.55;cursor:not-allowed}.fb-btn[data-v-fdb99a12]:focus-visible{outline:3px solid var(--c-focus, #1d4ed8);outline-offset:2px}.footer[data-v-332a2056]{margin-top:var(--s-12);border-top:1px solid var(--c-border);padding:var(--s-4) 0;background:var(--c-surface)}.footer-nav[data-v-332a2056]{display:flex;gap:var(--s-3);justify-content:center;align-items:center;font-size:var(--fs-sm)}.footer-nav a[data-v-332a2056]{color:var(--c-text-muted);display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-2)}.footer-nav a[data-v-332a2056]:hover{color:var(--c-text)}.footer-feedback[data-v-332a2056]{background:none;border:none;cursor:pointer;font:inherit;color:var(--c-text-muted);display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-2)}.footer-feedback[data-v-332a2056]:hover{color:var(--c-text)}.footer-feedback[data-v-332a2056]:focus-visible{outline:3px solid var(--c-focus, #1d4ed8);outline-offset:2px;border-radius:var(--r-sm, 4px)}.sep[data-v-332a2056]{color:var(--c-text-subtle)}.small[data-v-332a2056]{text-align:center;font-size:var(--fs-xs);margin-top:var(--s-2)}.toast-action[data-v-6e739fd0]{white-space:nowrap;font-weight:600;text-decoration:underline;color:inherit;pointer-events:auto}.toasts[data-v-6e739fd0]{position:fixed;top:calc(var(--header-h) + var(--s-3));right:var(--s-4);z-index:200;display:flex;flex-direction:column;gap:var(--s-2);pointer-events:none;max-width:min(440px,calc(100vw - var(--s-8)))}.toast[data-v-6e739fd0]{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-2);align-items:center;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);pointer-events:auto}.toast.success[data-v-6e739fd0]{border-color:var(--c-success-border);background:var(--c-success-bg);color:var(--c-success)}.toast.error[data-v-6e739fd0]{border-color:var(--c-danger-border);background:var(--c-danger-bg);color:var(--c-danger)}.toast.warning[data-v-6e739fd0]{border-color:var(--c-warning-border);background:var(--c-warning-bg);color:var(--c-warning)}.toast.info[data-v-6e739fd0]{border-color:var(--c-info-border);background:var(--c-info-bg);color:var(--c-info)}.ic[data-v-6e739fd0]{font-weight:700;font-size:var(--fs-base);width:1.2em;text-align:center}.msg[data-v-6e739fd0]{line-height:1.4}.x[data-v-6e739fd0]{background:transparent;border:none;color:inherit;cursor:pointer;padding:0 var(--s-1);font-size:var(--fs-base)}.toast-enter-active[data-v-6e739fd0],.toast-leave-active[data-v-6e739fd0]{transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.toast-enter-from[data-v-6e739fd0]{opacity:0;transform:translate(20px)}.toast-leave-to[data-v-6e739fd0]{opacity:0;transform:translateY(-8px)}.install[data-v-cedaab9e]{position:fixed;left:var(--s-4);right:var(--s-4);bottom:var(--s-4);z-index:150;display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-4);background:var(--c-surface);border:1px solid var(--c-brand);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-width:560px;margin-left:auto}.install-icon[data-v-cedaab9e]{font-size:2em;line-height:1}.install-body strong[data-v-cedaab9e]{display:block;margin-bottom:2px}.install-body p[data-v-cedaab9e]{font-size:var(--fs-sm)}.install-actions[data-v-cedaab9e]{display:flex;gap:var(--s-2)}.install-enter-active[data-v-cedaab9e],.install-leave-active[data-v-cedaab9e]{transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.install-enter-from[data-v-cedaab9e],.install-leave-to[data-v-cedaab9e]{opacity:0;transform:translateY(20px)}@media (max-width: 640px){.install[data-v-cedaab9e]{grid-template-columns:1fr;text-align:center}.install-actions[data-v-cedaab9e]{justify-content:center}}.cookie-note[data-v-e8548daa]{position:fixed;bottom:var(--s-3);left:50%;transform:translate(-50%);max-width:calc(100% - 24px);display:inline-flex;align-items:center;gap:var(--s-3);padding:6px 8px 6px 14px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-full, 999px);box-shadow:0 2px 10px #0000001f;font-size:var(--fs-sm);z-index:200}.cookie-msg[data-v-e8548daa]{color:var(--c-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cookie-link[data-v-e8548daa]{color:var(--c-brand);text-decoration:underline;white-space:nowrap;flex:0 0 auto}.cookie-link[data-v-e8548daa]:hover{text-decoration-thickness:2px}.cookie-x[data-v-e8548daa]{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:none;background:var(--c-surface-2, #f1f5f9);color:var(--c-text-muted);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cookie-x[data-v-e8548daa]:hover{background:var(--c-border)}.cookie-x[data-v-e8548daa]:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}@media (max-width: 460px){.cookie-note[data-v-e8548daa]{gap:var(--s-2);padding:6px 6px 6px 10px;font-size:var(--fs-xs, 12px)}.cookie-msg[data-v-e8548daa]{white-space:normal}}.fade-enter-active[data-v-e8548daa],.fade-leave-active[data-v-e8548daa]{transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.fade-enter-from[data-v-e8548daa],.fade-leave-to[data-v-e8548daa]{opacity:0;transform:translate(-50%,12px)}.sw-prompt[data-v-b1391f7f]{position:fixed;bottom:var(--s-4);right:var(--s-4);z-index:50;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:var(--s-2);align-items:center;padding:var(--s-3) var(--s-4);background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-brand-border, var(--c-border));border-radius:var(--r-md);box-shadow:var(--shadow-lg);max-width:360px}.sw-icon[data-v-b1391f7f]{font-size:22px;line-height:1;text-align:center;grid-row:1 / span 2}.sw-body[data-v-b1391f7f]{display:flex;flex-direction:column;gap:2px;min-width:0;grid-row:1}.sw-actions[data-v-b1391f7f]{display:flex;gap:var(--s-2);justify-content:flex-end;grid-row:2;grid-column:2}.sw-later[data-v-b1391f7f],.sw-reload[data-v-b1391f7f]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-size:var(--fs-sm);border-radius:var(--r-sm);padding:6px 12px;border:1px solid var(--c-border);background:transparent;color:inherit;font-weight:500}.sw-later[data-v-b1391f7f]:hover{background:var(--c-surface-2)}.sw-later[data-v-b1391f7f]:focus-visible{outline:2px solid var(--c-brand);outline-offset:1px}.sw-reload[data-v-b1391f7f]{background:var(--c-brand);color:#fff;border-color:var(--c-brand);font-weight:600}.sw-reload[data-v-b1391f7f]:hover{background:var(--c-brand-hover, var(--c-brand))}.sw-reload[data-v-b1391f7f]:focus-visible{outline:2px solid var(--c-brand-hover, var(--c-brand));outline-offset:2px}@media (max-width: 480px){.sw-prompt[data-v-b1391f7f]{left:var(--s-3);right:var(--s-3);max-width:none}}:root{--c-bg: #f7f8fb;--c-surface: #ffffff;--c-surface-2: #fafbfd;--c-border: #e3e6ec;--c-border-strong: #c8cdd6;--c-text: #14181f;--c-text-muted: #5b6573;--c-text-subtle: #6b747f;--c-brand: #1a5fff;--c-brand-hover: #1248c9;--c-brand-bg: #e8efff;--c-brand-border: #b6cfff;--c-success: #0b8043;--c-success-bg: #e3f7ec;--c-success-border: #a7e3bd;--c-success-text: #14532d;--c-warning: #a85b00;--c-warning-bg: #fff5d6;--c-warning-border: #f3d56b;--c-warning-text: #6b3a00;--c-danger: #b91c1c;--c-danger-bg: #fde7e7;--c-danger-border: #f6b6b6;--c-danger-text: #7f1d1d;--c-info: #1a4d99;--c-info-bg: #e0eaff;--c-info-border: #b5c9ee;--c-info-text: #1e3a8a;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--s-12: 3rem;--s-16: 4rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--fs-3xl: 2.25rem;--lh-tight: 1.2;--lh-normal: 1.5;--lh-relaxed: 1.7;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 9999px;--shadow-sm: 0 1px 2px rgba(20, 30, 50, .05);--shadow-md: 0 2px 8px rgba(20, 30, 50, .07), 0 1px 2px rgba(20, 30, 50, .04);--shadow-lg: 0 8px 24px rgba(20, 30, 50, .1), 0 2px 6px rgba(20, 30, 50, .06);--shadow-xl: 0 16px 40px rgba(20, 30, 50, .14), 0 4px 10px rgba(20, 30, 50, .08);--shadow-focus: 0 0 0 3px var(--c-brand-bg);--t-fast: .12s;--t-med: .2s;--t-slow: .32s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--header-h: 56px;--max-w: 1280px}@media (prefers-color-scheme: dark){:root{--c-bg: #0e1116;--c-surface: #161a21;--c-surface-2: #1c2129;--c-border: #2a3038;--c-border-strong: #3a4150;--c-text: #e6e9ee;--c-text-muted: #9aa3b0;--c-text-subtle: #8a93a0;--c-brand: #6c93ff;--c-brand-hover: #8aaaff;--c-brand-bg: #1a2548;--c-brand-border: #2e4a8e;--c-success: #4cc77b;--c-success-bg: #142b1c;--c-success-border: #245a37;--c-success-text: #a7e3bd;--c-warning: #e6b450;--c-warning-bg: #2c1f08;--c-warning-border: #6a4e1c;--c-warning-text: #f3d56b;--c-danger: #f06464;--c-danger-bg: #2c1414;--c-danger-border: #6a2a2a;--c-danger-text: #f6b6b6;--c-info: #7aa3e0;--c-info-bg: #15243b;--c-info-border: #2c4577;--c-info-text: #b5c9ee;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .55), 0 4px 10px rgba(0, 0, 0, .4);--shadow-focus: 0 0 0 3px rgba(108, 147, 255, .3)}}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light dark;-webkit-text-size-adjust:100%}body{margin:0;background:var(--c-bg);color:var(--c-text);font:400 var(--fs-base)/var(--lh-normal) var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}#main-content{flex:1 0 auto}h1,h2,h3,h4{margin:0;line-height:var(--lh-tight);font-weight:600;letter-spacing:-.01em}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{margin:0}a{color:var(--c-brand);text-decoration:none;transition:color var(--t-fast) var(--ease)}a:hover{color:var(--c-brand-hover);text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text);padding:var(--s-2) var(--s-4);border-radius:var(--r-md);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}button:hover:not(:disabled){background:var(--c-surface-2);border-color:var(--c-border-strong)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--c-brand);color:#fff;border-color:var(--c-brand)}button.primary:hover:not(:disabled){background:var(--c-brand-hover);border-color:var(--c-brand-hover)}button.danger{background:var(--c-surface);color:var(--c-danger);border-color:var(--c-danger-border)}button.danger:hover:not(:disabled){background:var(--c-danger-bg)}button.ghost{background:transparent;border-color:transparent}button.ghost:hover:not(:disabled){background:var(--c-surface-2)}input,textarea,select{font:inherit;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease);width:100%}input:hover,textarea:hover,select:hover{border-color:var(--c-text-muted)}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--c-brand)!important}ul{padding:0;margin:0;list-style:none}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--s-4)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-4);transition:box-shadow var(--t-med) var(--ease),transform var(--t-med) var(--ease),border-color var(--t-med) var(--ease)}.card.interactive{cursor:pointer}.card.interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:var(--c-border-strong)}.badge{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600;border:1px solid transparent;white-space:nowrap}.badge.success{background:var(--c-success-bg);color:var(--c-success);border-color:var(--c-success-border)}.badge.warning{background:var(--c-warning-bg);color:var(--c-warning);border-color:var(--c-warning-border)}.badge.danger{background:var(--c-danger-bg);color:var(--c-danger);border-color:var(--c-danger-border)}.badge.info{background:var(--c-info-bg);color:var(--c-info);border-color:var(--c-info-border)}.badge.neutral{background:var(--c-surface-2);color:var(--c-text-muted);border-color:var(--c-border)}.badge.success-soft{background:var(--c-surface-2);color:var(--c-success);border-color:var(--c-border)}.muted{color:var(--c-text-muted)}.subtle{color:var(--c-text-subtle)}.spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-.15em}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.spinner{animation:none!important;border-right-color:currentColor;opacity:.55}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.enter-fade{animation:fadeUp var(--t-med) var(--ease-out) both}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.page-enter-active,.page-leave-active{transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.skip-link{position:fixed;top:-100px;left:var(--s-3);z-index:1000;padding:var(--s-2) var(--s-4);background:var(--c-brand, #1d4ed8);color:#fff;text-decoration:none;border-radius:var(--r-md);transition:top var(--t-fast, .15s) var(--ease, ease)}.skip-link:focus,.skip-link:focus-visible{top:var(--s-3);outline:3px solid var(--c-focus, #fff);outline-offset:2px}#main-content:focus{outline:none}
