:root{--color-bg:#fafaf9;--color-surface:#fff;--color-surface-sunken:#f4f4f2;--color-border:#e3e2de;--color-border-strong:#cbcac4;--color-text:#1c1c1a;--color-text-muted:#6b6a63;--color-text-faint:#9a998f;--color-accent:#2954ff;--color-accent-hover:#1f42d1;--color-accent-active:#1935ab;--color-accent-contrast:#fff;--color-accent-wash:#ecf0ff;--color-pass:#15803d;--color-pass-wash:#eefcf2;--color-pass-text:#0f6b32;--color-warn:#b45309;--color-warn-wash:#fef6e7;--color-warn-text:#92400a;--color-fail:#b91c1c;--color-fail-wash:#fdeeee;--color-fail-text:#971616;--color-blocked:#6d28d9;--color-blocked-wash:#f4f0fd;--color-blocked-text:#5b21b6;--color-untested:#78766c;--color-untested-wash:#f4f4f2;--color-untested-text:#57554c;--color-danger:var(--color-fail);--color-danger-wash:var(--color-fail-wash);--color-success:var(--color-pass);--color-success-wash:var(--color-pass-wash);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.25;--leading-normal:1.5;--space-0:0px;--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-10:2.5rem;--space-12:3rem;--space-16:4rem;--row-height-min:1.75rem;--row-height-dense:2rem;--row-height-max:2rem;--border-width:1px;--border-hairline:1px solid var(--color-border);--border-hairline-strong:1px solid var(--color-border-strong);--border-hairline-accent:1px solid var(--color-accent);--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-full:999px;--shadow-sm:0 1px 2px #1c1c1a0f;--shadow-md:0 4px 16px #1c1c1a14;--shadow-lg:0 12px 32px #1c1c1a24;--duration-fast:.12s;--duration-normal:.18s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--focus-ring:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-accent);--focus-ring-inset:0 0 0 2px var(--color-accent) inset;--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:300;--z-modal:310;--z-toast:400;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--breakpoint-sidebar-collapse:768px}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}ul,ol{margin:0;padding:0}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}::selection{background:var(--color-accent-wash);color:var(--color-accent-hover)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-button[data-v-1dd73a83]{justify-content:center;align-items:center;gap:var(--space-2);height:2.25rem;padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.app-button[data-v-1dd73a83]:disabled,.app-button--inactive[data-v-1dd73a83]{cursor:not-allowed;opacity:.55}.app-button--primary[data-v-1dd73a83]{background:var(--color-accent);color:var(--color-accent-contrast)}.app-button--primary[data-v-1dd73a83]:not(:disabled):not(.app-button--inactive):hover{background:var(--color-accent-hover)}.app-button--secondary[data-v-1dd73a83]{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.app-button--secondary[data-v-1dd73a83]:not(:disabled):not(.app-button--inactive):hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.app-button--ghost[data-v-1dd73a83]{color:var(--color-text-muted);background:0 0}.app-button--ghost[data-v-1dd73a83]:not(:disabled):not(.app-button--inactive):hover{background:var(--color-surface-sunken);color:var(--color-text)}.app-button--danger[data-v-1dd73a83]{background:var(--color-fail);color:var(--color-accent-contrast)}.app-button--danger[data-v-1dd73a83]:not(:disabled):not(.app-button--inactive):hover{background:var(--color-fail-text)}.app-button--force-hover.app-button--primary[data-v-1dd73a83]{background:var(--color-accent-hover)}.app-button--force-hover.app-button--secondary[data-v-1dd73a83]{border-color:var(--color-accent);color:var(--color-accent-hover)}.app-button--force-hover.app-button--ghost[data-v-1dd73a83]{background:var(--color-surface-sunken);color:var(--color-text)}.app-button--force-hover.app-button--danger[data-v-1dd73a83]{background:var(--color-fail-text)}.app-button--force-focus[data-v-1dd73a83]{box-shadow:var(--focus-ring);outline:none}.app-button__spinner[data-v-1dd73a83]{opacity:.8;border:2px solid;border-top-color:#0000;border-radius:50%;width:.8em;height:.8em;animation:.7s linear infinite app-button-spin-1dd73a83}@keyframes app-button-spin-1dd73a83{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-button__spinner[data-v-1dd73a83]{animation-duration:1.4s}}.wordmark[data-v-fd2f3e64]{align-items:center;gap:var(--space-2);display:inline-flex}.wordmark__mark-bg[data-v-fd2f3e64]{fill:var(--color-accent)}.wordmark__mark-dial[data-v-fd2f3e64]{stroke:var(--color-accent-contrast);stroke-opacity:.5}.wordmark__mark-check[data-v-fd2f3e64]{stroke:var(--color-accent-contrast)}.wordmark__text[data-v-fd2f3e64]{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:-.01em;color:var(--color-text);white-space:nowrap}.app-modal[data-v-f7d99f05]{z-index:var(--z-modal);padding:var(--space-6);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-modal__backdrop[data-v-f7d99f05]{z-index:var(--z-modal-backdrop);background:#1c1c1a73;position:absolute;inset:0}.app-modal--static[data-v-f7d99f05]{padding:0;position:relative;inset:auto}.app-modal--static .app-modal__backdrop[data-v-f7d99f05]{display:none}.app-modal--static .app-modal__dialog[data-v-f7d99f05]{max-height:none}.app-modal__dialog[data-v-f7d99f05]{z-index:var(--z-modal);width:min(32rem,100%);max-height:calc(100vh - var(--space-12));background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative}.app-modal__dialog[data-v-f7d99f05]:focus-visible{box-shadow:var(--shadow-lg), var(--focus-ring);outline:none}.app-modal__header[data-v-f7d99f05]{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:var(--border-hairline);display:flex}.app-modal__title[data-v-f7d99f05]{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.app-modal__close[data-v-f7d99f05]{width:var(--space-7);height:var(--space-7);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.app-modal__close[data-v-f7d99f05]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.app-modal__close[data-v-f7d99f05]:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-modal__body[data-v-f7d99f05]{padding:var(--space-5);font-size:var(--text-sm);color:var(--color-text);line-height:var(--leading-normal);overflow-y:auto}.app-modal__footer[data-v-f7d99f05]{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-5);display:flex}.keyboard-hint[data-v-2ab4f3e9]{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);display:inline-flex}.keyboard-hint__key[data-v-2ab4f3e9]{min-width:1.25rem;height:1.25rem;padding:0 var(--space-1);background:var(--color-surface-sunken);border:var(--border-hairline-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.6875rem;line-height:1;display:inline-flex}.keyboard-hint__sep[data-v-2ab4f3e9]{color:var(--color-text-faint)}.keyboard-hint__label[data-v-2ab4f3e9]{margin-left:var(--space-1)}.shortcut-help__list[data-v-30bb844f]{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.shortcut-help__row[data-v-30bb844f]{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.shortcut-help__description[data-v-30bb844f]{font-size:var(--text-sm);color:var(--color-text-muted)}.app-shell__skip-link[data-v-25cebc1f]{z-index:var(--z-modal);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-accent-contrast);border-radius:var(--radius-md);position:absolute;top:0;left:-999px}.app-shell__skip-link[data-v-25cebc1f]:focus{left:var(--space-4);top:var(--space-4)}.app-shell[data-v-25cebc1f]{min-height:100%;display:flex;position:relative}.app-shell__nav-toggle[data-v-25cebc1f]{top:var(--space-3);left:var(--space-3);z-index:var(--z-sticky);width:var(--space-8);height:var(--space-8);background:var(--color-surface);border:var(--border-hairline-strong);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:none;position:absolute}.app-shell__nav-toggle[data-v-25cebc1f]:hover{color:var(--color-text);border-color:var(--color-accent)}.app-shell__nav-toggle[data-v-25cebc1f]:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell__backdrop[data-v-25cebc1f]{display:none}.app-shell__sidebar[data-v-25cebc1f]{gap:var(--space-4);width:14rem;padding:var(--space-4) var(--space-3);background:var(--color-surface);border-right:var(--border-hairline);transition:width var(--duration-normal) var(--ease-standard);flex-direction:column;flex:none;display:flex}.app-shell--collapsed .app-shell__sidebar[data-v-25cebc1f]{align-items:center;width:3.5rem}.app-shell__brand[data-v-25cebc1f]{padding:0 var(--space-2)}.app-shell__nav[data-v-25cebc1f]{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.app-shell__footer[data-v-25cebc1f]{padding-top:var(--space-3);border-top:var(--border-hairline)}.app-shell__main[data-v-25cebc1f]{background:var(--color-bg);flex:1;min-width:0;overflow-y:auto}@media (width<=768px){.app-shell__nav-toggle[data-v-25cebc1f]{display:inline-flex}.app-shell__sidebar[data-v-25cebc1f]{inset-block:0;z-index:var(--z-modal);width:min(16rem,84%);box-shadow:var(--shadow-lg);transition:transform var(--duration-normal) var(--ease-standard);position:absolute;left:0;transform:translate(-100%)}.app-shell--nav-open .app-shell__sidebar[data-v-25cebc1f]{transform:translate(0)}.app-shell--nav-open .app-shell__backdrop[data-v-25cebc1f]{z-index:calc(var(--z-modal) - 1);background:#1c1c1a73;display:block;position:absolute;inset:0}.app-shell__main[data-v-25cebc1f]{padding-top:var(--space-12)}}.app-shell--preview-mobile .app-shell__nav-toggle[data-v-25cebc1f]{display:inline-flex}.app-shell--preview-mobile .app-shell__sidebar[data-v-25cebc1f]{inset-block:0;z-index:var(--z-modal);width:min(16rem,84%);box-shadow:var(--shadow-lg);transition:transform var(--duration-normal) var(--ease-standard);position:absolute;left:0;transform:translate(-100%)}.app-shell--preview-mobile.app-shell--nav-open .app-shell__sidebar[data-v-25cebc1f]{transform:translate(0)}.app-shell--preview-mobile.app-shell--nav-open .app-shell__backdrop[data-v-25cebc1f]{z-index:calc(var(--z-modal) - 1);background:#1c1c1a73;display:block;position:absolute;inset:0}.app-shell--preview-mobile .app-shell__main[data-v-25cebc1f]{padding-top:var(--space-12)}.app-nav-link[data-v-16ee26fc]{height:var(--space-8);padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);align-items:center;text-decoration:none;display:flex}.app-nav-link[data-v-16ee26fc]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.app-nav-link[data-v-16ee26fc]:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-nav-link.router-link-exact-active[data-v-16ee26fc]{background:var(--color-accent-wash);color:var(--color-accent-hover);font-weight:var(--weight-semibold)}.app-session[data-v-16ee26fc]{align-items:flex-start;gap:var(--space-2);padding:0 var(--space-2);flex-direction:column;display:flex}.app-session__user[data-v-16ee26fc]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden}
