:root{--color-primary:#292966;--color-accent:#9ac2d9;--color-info:#4f8fbf;--color-success:#5fa868;--color-warning:#d9a441;--color-error:#c9626b;--color-neutral:#88888c;--surface-tint:4%;--surface-tint-half:2%;--surface-border-tint:10%;--surface-tint-color:var(--color-primary);--light-bg-neutral-mix:4%;--light-surface-neutral-mix:1%;--light-border-neutral-mix:22%;--dark-bg-neutral-mix:12%;--dark-surface-neutral-mix:16%;--dark-border-neutral-mix:28%;--color-bg-neutral:color-mix(in srgb, var(--color-neutral) var(--light-bg-neutral-mix), white);--color-surface-neutral:color-mix(in srgb, var(--color-neutral) var(--light-surface-neutral-mix), white);--color-border-neutral:color-mix(in srgb, var(--color-neutral) var(--light-border-neutral-mix), white);--color-bg:color-mix(in srgb, var(--surface-tint-color) var(--surface-tint), var(--color-bg-neutral));--color-surface:color-mix(in srgb, var(--surface-tint-color) var(--surface-tint-half), var(--color-surface-neutral));--color-border:color-mix(in srgb, var(--surface-tint-color) var(--surface-border-tint), var(--color-border-neutral));--color-text-primary:color-mix(in srgb, var(--color-neutral) 55%, black);--color-text-secondary:color-mix(in srgb, var(--color-neutral) 68%, black);--color-action-primary-light:oklch(from var(--color-primary) min(l, .55) c h);--color-action-primary-dark:oklch(from var(--color-primary) max(l, .72) c h);--color-action-accent-light:oklch(from var(--color-accent) min(l, .55) c h);--color-action-accent-dark:oklch(from var(--color-accent) max(l, .72) c h);--color-action-primary:var(--color-action-primary-light);--color-action-accent:var(--color-action-accent-light);--color-action-error:oklch(from var(--color-error) min(l, .55) c h);--color-primary-hover:color-mix(in srgb, var(--color-primary) 88%, black);--color-accent-hover:color-mix(in srgb, var(--color-accent) 88%, black);--color-info-hover:color-mix(in srgb, var(--color-info) 88%, black);--color-success-hover:color-mix(in srgb, var(--color-success) 88%, black);--color-warning-hover:color-mix(in srgb, var(--color-warning) 88%, black);--color-error-hover:color-mix(in srgb, var(--color-error) 88%, black);--color-text-subtle:color-mix(in srgb, var(--color-neutral) 78%, black);--color-border-focus:var(--color-action-accent);--color-primary-tint:color-mix(in srgb, var(--color-primary) 12%, white);--color-accent-tint:color-mix(in srgb, var(--color-accent) 22%, white);--color-info-tint:color-mix(in srgb, var(--color-info) 14%, white);--color-success-tint:color-mix(in srgb, var(--color-success) 14%, white);--color-warning-tint:color-mix(in srgb, var(--color-warning) 14%, white);--color-error-tint:color-mix(in srgb, var(--color-error) 14%, white);--color-primary-on-tint:color-mix(in srgb, var(--color-primary) 76%, black);--color-accent-on-tint:color-mix(in srgb, var(--color-accent) 64%, black);--color-info-on-tint:color-mix(in srgb, var(--color-info) 70%, black);--color-success-on-tint:color-mix(in srgb, var(--color-success) 70%, black);--color-warning-on-tint:color-mix(in srgb, var(--color-warning) 70%, black);--color-error-on-tint:color-mix(in srgb, var(--color-error) 70%, black)}:root,.ls-ui,.catalog{--ramp-l-50:.975;--ramp-c-50:.09;--ramp-l-100:.945;--ramp-c-100:.2;--ramp-l-200:.895;--ramp-c-200:.4;--ramp-l-300:.835;--ramp-c-300:.64;--ramp-l-400:.76;--ramp-c-400:.96;--ramp-l-500:.68;--ramp-c-500:1;--ramp-l-600:.53;--ramp-c-600:.85;--ramp-l-700:.45;--ramp-c-700:.72;--ramp-l-800:.375;--ramp-c-800:.61;--ramp-l-900:.3;--ramp-c-900:.49;--ramp-l-950:.24;--ramp-c-950:.4;--color-primary-50:oklch(from var(--color-primary) var(--ramp-l-50) calc(c * var(--ramp-c-50)) h);--color-primary-100:oklch(from var(--color-primary) var(--ramp-l-100) calc(c * var(--ramp-c-100)) h);--color-primary-200:oklch(from var(--color-primary) var(--ramp-l-200) calc(c * var(--ramp-c-200)) h);--color-primary-300:oklch(from var(--color-primary) var(--ramp-l-300) calc(c * var(--ramp-c-300)) h);--color-primary-400:oklch(from var(--color-primary) var(--ramp-l-400) calc(c * var(--ramp-c-400)) h);--color-primary-500:oklch(from var(--color-primary) var(--ramp-l-500) calc(c * var(--ramp-c-500)) h);--color-primary-600:oklch(from var(--color-primary) var(--ramp-l-600) calc(c * var(--ramp-c-600)) h);--color-primary-700:oklch(from var(--color-primary) var(--ramp-l-700) calc(c * var(--ramp-c-700)) h);--color-primary-800:oklch(from var(--color-primary) var(--ramp-l-800) calc(c * var(--ramp-c-800)) h);--color-primary-900:oklch(from var(--color-primary) var(--ramp-l-900) calc(c * var(--ramp-c-900)) h);--color-primary-950:oklch(from var(--color-primary) var(--ramp-l-950) calc(c * var(--ramp-c-950)) h);--color-accent-50:oklch(from var(--color-accent) var(--ramp-l-50) calc(c * var(--ramp-c-50)) h);--color-accent-100:oklch(from var(--color-accent) var(--ramp-l-100) calc(c * var(--ramp-c-100)) h);--color-accent-200:oklch(from var(--color-accent) var(--ramp-l-200) calc(c * var(--ramp-c-200)) h);--color-accent-300:oklch(from var(--color-accent) var(--ramp-l-300) calc(c * var(--ramp-c-300)) h);--color-accent-400:oklch(from var(--color-accent) var(--ramp-l-400) calc(c * var(--ramp-c-400)) h);--color-accent-500:oklch(from var(--color-accent) var(--ramp-l-500) calc(c * var(--ramp-c-500)) h);--color-accent-600:oklch(from var(--color-accent) var(--ramp-l-600) calc(c * var(--ramp-c-600)) h);--color-accent-700:oklch(from var(--color-accent) var(--ramp-l-700) calc(c * var(--ramp-c-700)) h);--color-accent-800:oklch(from var(--color-accent) var(--ramp-l-800) calc(c * var(--ramp-c-800)) h);--color-accent-900:oklch(from var(--color-accent) var(--ramp-l-900) calc(c * var(--ramp-c-900)) h);--color-accent-950:oklch(from var(--color-accent) var(--ramp-l-950) calc(c * var(--ramp-c-950)) h);--color-info-50:oklch(from var(--color-info) var(--ramp-l-50) calc(c * var(--ramp-c-50)) h);--color-info-100:oklch(from var(--color-info) var(--ramp-l-100) calc(c * var(--ramp-c-100)) h);--color-info-200:oklch(from var(--color-info) var(--ramp-l-200) calc(c * var(--ramp-c-200)) h);--color-info-300:oklch(from var(--color-info) var(--ramp-l-300) calc(c * var(--ramp-c-300)) h);--color-info-400:oklch(from var(--color-info) var(--ramp-l-400) calc(c * var(--ramp-c-400)) h);--color-info-500:oklch(from var(--color-info) var(--ramp-l-500) calc(c * var(--ramp-c-500)) h);--color-info-600:oklch(from var(--color-info) var(--ramp-l-600) calc(c * var(--ramp-c-600)) h);--color-info-700:oklch(from var(--color-info) var(--ramp-l-700) calc(c * var(--ramp-c-700)) h);--color-info-800:oklch(from var(--color-info) var(--ramp-l-800) calc(c * var(--ramp-c-800)) h);--color-info-900:oklch(from var(--color-info) var(--ramp-l-900) calc(c * var(--ramp-c-900)) h);--color-info-950:oklch(from var(--color-info) var(--ramp-l-950) calc(c * var(--ramp-c-950)) h);--color-success-50:oklch(from var(--color-success) var(--ramp-l-50) calc(c * var(--ramp-c-50)) h);--color-success-100:oklch(from var(--color-success) var(--ramp-l-100) calc(c * var(--ramp-c-100)) h);--color-success-200:oklch(from var(--color-success) var(--ramp-l-200) calc(c * var(--ramp-c-200)) h);--color-success-300:oklch(from var(--color-success) var(--ramp-l-300) calc(c * var(--ramp-c-300)) h);--color-success-400:oklch(from var(--color-success) var(--ramp-l-400) calc(c * var(--ramp-c-400)) h);--color-success-500:oklch(from var(--color-success) var(--ramp-l-500) calc(c * var(--ramp-c-500)) h);--color-success-600:oklch(from var(--color-success) var(--ramp-l-600) calc(c * var(--ramp-c-600)) h);--color-success-700:oklch(from var(--color-success) var(--ramp-l-700) calc(c * var(--ramp-c-700)) h);--color-success-800:oklch(from var(--color-success) var(--ramp-l-800) calc(c * var(--ramp-c-800)) h);--color-success-900:oklch(from var(--color-success) var(--ramp-l-900) calc(c * var(--ramp-c-900)) h);--color-success-950:oklch(from var(--color-success) var(--ramp-l-950) calc(c * var(--ramp-c-950)) h);--color-warning-50:oklch(from var(--color-warning) var(--ramp-l-50) calc(c * var(--ramp-c-50)) h);--color-warning-100:oklch(from var(--color-warning) var(--ramp-l-100) calc(c * var(--ramp-c-100)) h);--color-warning-200:oklch(from var(--color-warning) var(--ramp-l-200) calc(c * var(--ramp-c-200)) h);--color-warning-300:oklch(from var(--color-warning) var(--ramp-l-300) calc(c * var(--ramp-c-300)) h);--color-warning-400:oklch(from var(--color-warning) var(--ramp-l-400) calc(c * var(--ramp-c-400)) h);--color-warning-500:oklch(from var(--color-warning) var(--ramp-l-500) calc(c * var(--ramp-c-500)) h);--color-warning-600:oklch(from var(--color-warning) var(--ramp-l-600) calc(c * var(--ramp-c-600)) h);--color-warning-700:oklch(from var(--color-warning) var(--ramp-l-700) calc(c * var(--ramp-c-700)) h);--color-warning-800:oklch(from var(--color-warning) var(--ramp-l-800) calc(c * var(--ramp-c-800)) h);--color-warning-900:oklch(from var(--color-warning) var(--ramp-l-900) calc(c * var(--ramp-c-900)) h);--color-warning-950:oklch(from var(--color-warning) var(--ramp-l-950) calc(c * var(--ramp-c-950)) h);--color-error-50:oklch(from var(--color-error) var(--ramp-l-50) calc(c * var(--ramp-c-50)) h);--color-error-100:oklch(from var(--color-error) var(--ramp-l-100) calc(c * var(--ramp-c-100)) h);--color-error-200:oklch(from var(--color-error) var(--ramp-l-200) calc(c * var(--ramp-c-200)) h);--color-error-300:oklch(from var(--color-error) var(--ramp-l-300) calc(c * var(--ramp-c-300)) h);--color-error-400:oklch(from var(--color-error) var(--ramp-l-400) calc(c * var(--ramp-c-400)) h);--color-error-500:oklch(from var(--color-error) var(--ramp-l-500) calc(c * var(--ramp-c-500)) h);--color-error-600:oklch(from var(--color-error) var(--ramp-l-600) calc(c * var(--ramp-c-600)) h);--color-error-700:oklch(from var(--color-error) var(--ramp-l-700) calc(c * var(--ramp-c-700)) h);--color-error-800:oklch(from var(--color-error) var(--ramp-l-800) calc(c * var(--ramp-c-800)) h);--color-error-900:oklch(from var(--color-error) var(--ramp-l-900) calc(c * var(--ramp-c-900)) h);--color-error-950:oklch(from var(--color-error) var(--ramp-l-950) calc(c * var(--ramp-c-950)) h)}.dark,.dark .ls-ui,.dark .catalog,.ls-ui.dark,.catalog.dark{--color-bg-neutral:color-mix(in srgb, var(--color-neutral) var(--dark-bg-neutral-mix), black);--color-surface-neutral:color-mix(in srgb, var(--color-neutral) var(--dark-surface-neutral-mix), black);--color-border-neutral:color-mix(in srgb, var(--color-neutral) var(--dark-border-neutral-mix), black);--color-bg:color-mix(in srgb, var(--surface-tint-color) var(--surface-tint), var(--color-bg-neutral));--color-surface:color-mix(in srgb, var(--surface-tint-color) var(--surface-tint), var(--color-surface-neutral));--color-border:color-mix(in srgb, var(--surface-tint-color) var(--surface-border-tint), var(--color-border-neutral));--color-text-primary:color-mix(in srgb, var(--color-neutral) 12%, white);--color-text-secondary:color-mix(in srgb, var(--color-neutral) 45%, white);--color-action-primary:var(--color-action-primary-dark);--color-action-accent:var(--color-action-accent-dark);--color-action-error:oklch(from var(--color-error) max(l, .72) c h);--color-primary-hover:color-mix(in srgb, var(--color-primary) 88%, white);--color-accent-hover:color-mix(in srgb, var(--color-accent) 88%, white);--color-info-hover:color-mix(in srgb, var(--color-info) 88%, white);--color-success-hover:color-mix(in srgb, var(--color-success) 88%, white);--color-warning-hover:color-mix(in srgb, var(--color-warning) 88%, white);--color-error-hover:color-mix(in srgb, var(--color-error) 88%, white);--color-text-subtle:color-mix(in srgb, var(--color-neutral) 60%, white);--color-border-focus:var(--color-action-accent);--color-primary-tint:color-mix(in srgb, var(--color-primary) 18%, var(--color-bg));--color-accent-tint:color-mix(in srgb, var(--color-accent) 18%, var(--color-bg));--color-info-tint:color-mix(in srgb, var(--color-info) 18%, var(--color-bg));--color-success-tint:color-mix(in srgb, var(--color-success) 18%, var(--color-bg));--color-warning-tint:color-mix(in srgb, var(--color-warning) 18%, var(--color-bg));--color-error-tint:color-mix(in srgb, var(--color-error) 18%, var(--color-bg));--color-primary-on-tint:oklch(from var(--color-primary) .78 c h);--color-accent-on-tint:oklch(from var(--color-accent) .78 c h);--color-info-on-tint:oklch(from var(--color-info) .78 c h);--color-success-on-tint:oklch(from var(--color-success) .78 c h);--color-warning-on-tint:oklch(from var(--color-warning) .78 c h);--color-error-on-tint:oklch(from var(--color-error) .78 c h)}.ls-ui,.catalog,.light,.light .ls-ui,.light .catalog,.ls-ui.light,.catalog.light{--color-bg-neutral:color-mix(in srgb, var(--color-neutral) var(--light-bg-neutral-mix), white);--color-surface-neutral:color-mix(in srgb, var(--color-neutral) var(--light-surface-neutral-mix), white);--color-border-neutral:color-mix(in srgb, var(--color-neutral) var(--light-border-neutral-mix), white);--color-bg:color-mix(in srgb, var(--surface-tint-color) var(--surface-tint), var(--color-bg-neutral));--color-surface:color-mix(in srgb, var(--surface-tint-color) var(--surface-tint-half), var(--color-surface-neutral));--color-border:color-mix(in srgb, var(--surface-tint-color) var(--surface-border-tint), var(--color-border-neutral));--color-text-primary:color-mix(in srgb, var(--color-neutral) 55%, black);--color-text-secondary:color-mix(in srgb, var(--color-neutral) 68%, black);--color-action-primary:var(--color-action-primary-light);--color-action-accent:var(--color-action-accent-light);--color-action-error:oklch(from var(--color-error) min(l, .55) c h);--color-primary-hover:color-mix(in srgb, var(--color-primary) 88%, black);--color-accent-hover:color-mix(in srgb, var(--color-accent) 88%, black);--color-info-hover:color-mix(in srgb, var(--color-info) 88%, black);--color-success-hover:color-mix(in srgb, var(--color-success) 88%, black);--color-warning-hover:color-mix(in srgb, var(--color-warning) 88%, black);--color-error-hover:color-mix(in srgb, var(--color-error) 88%, black);--color-text-subtle:color-mix(in srgb, var(--color-neutral) 78%, black);--color-border-focus:var(--color-action-accent);--color-primary-tint:color-mix(in srgb, var(--color-primary) 12%, white);--color-accent-tint:color-mix(in srgb, var(--color-accent) 22%, white);--color-info-tint:color-mix(in srgb, var(--color-info) 14%, white);--color-success-tint:color-mix(in srgb, var(--color-success) 14%, white);--color-warning-tint:color-mix(in srgb, var(--color-warning) 14%, white);--color-error-tint:color-mix(in srgb, var(--color-error) 14%, white);--color-primary-on-tint:color-mix(in srgb, var(--color-primary) 76%, black);--color-accent-on-tint:color-mix(in srgb, var(--color-accent) 64%, black);--color-info-on-tint:color-mix(in srgb, var(--color-info) 70%, black);--color-success-on-tint:color-mix(in srgb, var(--color-success) 70%, black);--color-warning-on-tint:color-mix(in srgb, var(--color-warning) 70%, black);--color-error-on-tint:color-mix(in srgb, var(--color-error) 70%, black)}.ui-button{--button-action:var(--color-action-primary);--button-tint:var(--color-primary-tint);--button-on-tint:var(--color-primary-on-tint);cursor:pointer;letter-spacing:-.02em;text-box-trim:trim-both;text-box-edge:cap alphabetic;text-box:trim-both cap alphabetic;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 20px;font-weight:520;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.ui-button--sm{min-height:34px;padding:0 14px}.ui-button--md{min-height:42px;padding:0 20px}.ui-button--lg{min-height:50px;padding:0 24px}.ui-button--accent{--button-action:var(--color-action-accent);--button-tint:var(--color-accent-tint);--button-on-tint:var(--color-accent-on-tint)}.ui-button--destructive{--button-action:var(--color-action-error);--button-tint:var(--color-error-tint);--button-on-tint:var(--color-error-on-tint)}.ui-button:focus-visible{outline:2px solid color-mix(in srgb,var(--button-action) 45%,transparent);outline-offset:2px}.ui-button--solid{color:var(--color-bg);background:var(--button-action)}.ui-button--outline{color:var(--button-action);border-color:color-mix(in srgb,var(--button-action) 64%,var(--color-border));background:0 0}.ui-button--subtle{color:var(--button-on-tint);background:var(--button-tint);border-color:color-mix(in srgb,var(--button-action) 10%,transparent)}.ui-button--ghost{color:var(--button-action);background:0 0}.ui-button--outline:hover,.ui-button--ghost:hover{background:var(--button-tint)}.ui-button--solid:hover,.ui-button--subtle:hover{border-color:color-mix(in srgb,var(--button-action) 30%,var(--color-border))}.ui-button:disabled{color:color-mix(in srgb,var(--color-text-secondary) 72%,transparent);background:color-mix(in srgb,var(--color-border) 44%,transparent);border-color:color-mix(in srgb,var(--color-border) 58%,transparent);cursor:not-allowed;opacity:.62}.ui-button:disabled:hover{background:color-mix(in srgb,var(--color-border) 44%,transparent);border-color:color-mix(in srgb,var(--color-border) 58%,transparent)}.ui-badge{--badge-tint:var(--color-primary-tint);--badge-text:var(--color-primary-on-tint);color:var(--badge-text);background:var(--badge-tint);letter-spacing:-.01em;border:1px solid #0000;border-radius:6px;align-items:center;padding:8px 12px;font-size:.92rem;font-weight:520;line-height:1;display:inline-flex}.ui-badge--sm{border-radius:5px;padding:6px 9px;font-size:.78rem}.ui-badge--lg{padding:10px 14px;font-size:1.05rem}.ui-badge--accent{--badge-tint:var(--color-accent-tint);--badge-text:var(--color-accent-on-tint)}.ui-badge--info{--badge-tint:var(--color-info-tint);--badge-text:var(--color-info-on-tint)}.ui-badge--success{--badge-tint:var(--color-success-tint);--badge-text:var(--color-success-on-tint)}.ui-badge--warning{--badge-tint:var(--color-warning-tint);--badge-text:var(--color-warning-on-tint)}.ui-badge--error{--badge-tint:var(--color-error-tint);--badge-text:var(--color-error-on-tint)}.ui-badge--muted{--badge-tint:transparent;--badge-text:var(--color-text-subtle);border-color:var(--color-border)}.ui-callout{--callout-tint:var(--color-info-tint);--callout-text:var(--color-info-on-tint);--callout-accent:var(--color-info);border:1px solid color-mix(in srgb,var(--callout-accent) 28%,transparent);background:var(--callout-tint);width:100%;color:var(--callout-text);border-radius:6px;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;line-height:1.45;display:flex}.ui-callout--success{--callout-tint:var(--color-success-tint);--callout-text:var(--color-success-on-tint);--callout-accent:var(--color-success)}.ui-callout--warning{--callout-tint:var(--color-warning-tint);--callout-text:var(--color-warning-on-tint);--callout-accent:var(--color-warning)}.ui-callout--error{--callout-tint:var(--color-error-tint);--callout-text:var(--color-error-on-tint);--callout-accent:var(--color-error)}.ui-callout--flush{border:none;border-radius:0}.ui-callout .ui-callout__icon{flex:none;width:1.35rem;height:1.35rem}.ui-callout__content{flex-direction:column;gap:2px;min-width:0;display:flex}.ui-callout .ui-callout__content>*{font-size:inherit;line-height:inherit;margin:0}.ui-callout__title{margin:0;font-weight:620;line-height:1.25}.ui-card{border:1px solid color-mix(in srgb,var(--color-action-primary) 24%,var(--color-border));color:var(--color-text-primary);background:var(--color-surface);border-radius:6px;padding:clamp(20px,3vw,32px);transition:border-color .14s,box-shadow .14s}.ui-card--elevated{box-shadow:0 8px 24px color-mix(in srgb,var(--color-neutral) 18%,transparent)}.ui-card--interactive:hover{border-color:color-mix(in srgb,var(--color-action-primary) 42%,var(--color-border))}.ui-card__title{color:var(--color-text-primary);letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,2.4vw,2rem);font-weight:650;line-height:1.1}.ui-card__description{color:var(--color-text-secondary);margin:0;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.35}.ui-checkbox{--control-action:var(--color-action-primary);color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:9px;font-size:.88rem;font-weight:560;line-height:1.25;display:flex}.ui-checkbox--accent{--control-action:var(--color-action-accent)}.ui-checkbox input{width:18px;height:18px;accent-color:var(--control-action);cursor:pointer;flex:none;margin:0}.ui-checkbox input:focus-visible{outline:2px solid color-mix(in srgb,var(--control-action) 45%,transparent);outline-offset:2px}.ui-checkbox:has(input:disabled){cursor:not-allowed;opacity:.52}.ui-checkbox input:disabled{cursor:not-allowed}.ui-segmented{--control-action:var(--color-action-primary);border:1px solid color-mix(in srgb,var(--control-action) 24%,var(--color-border));background:var(--color-surface);border-radius:6px;align-self:start;padding:4px;display:inline-flex}.ui-segmented--accent{--control-action:var(--color-action-accent)}.ui-segmented button{text-box-trim:trim-both;text-box-edge:cap alphabetic;text-box:trim-both cap alphabetic;min-height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 16px;font-weight:650}.ui-segmented--xs{padding:3px}.ui-segmented--xs button{min-height:24px;padding:0 8px;font-size:.78rem}.ui-segmented--sm button{min-height:30px;padding:0 10px}.ui-segmented--md button{min-height:40px;padding:0 16px}.ui-segmented--lg button{min-height:48px;padding:0 20px}.ui-segmented button[aria-checked=true]{color:var(--color-bg);background:var(--control-action)}.ui-segmented button:focus-visible{outline:2px solid color-mix(in srgb,var(--control-action) 45%,transparent);outline-offset:2px}.ui-slider{--control-action:var(--color-action-primary);min-width:min(260px,100%);color:var(--color-text-secondary);letter-spacing:-.01em;gap:6px;font-size:.88rem;font-weight:560;display:grid}.ui-slider--accent{--control-action:var(--color-action-accent)}.ui-slider>span{justify-content:space-between;gap:12px;display:flex}.ui-slider strong{color:var(--color-text-primary);font:inherit;font-weight:700}.ui-slider input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;width:100%;height:18px}.ui-slider input::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--control-action) 0 var(--slider-pct,0%),var(--color-border) var(--slider-pct,0%) 100%);border-radius:999px;height:6px}.ui-slider input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);border:2px solid var(--control-action);border-radius:50%;width:16px;height:16px;margin-top:-5px;box-shadow:0 1px 2px #00000040}.ui-slider input::-moz-range-track{background:var(--color-border);border-radius:999px;height:6px}.ui-slider input::-moz-range-progress{background:var(--control-action);border-radius:999px;height:6px}.ui-slider input::-moz-range-thumb{background:var(--color-surface);border:2px solid var(--control-action);border-radius:50%;width:16px;height:16px;box-shadow:0 1px 2px #00000040}.ui-slider input:focus-visible{outline:2px solid color-mix(in srgb,var(--control-action) 45%,transparent);outline-offset:6px}.ui-slider:has(input:disabled){cursor:not-allowed;opacity:.52}.ui-slider input:disabled{cursor:not-allowed}.ui-input,.ui-textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);background:var(--color-bg);font:inherit;border-radius:6px;line-height:1.4;transition:border-color .12s,box-shadow .12s}.ui-input{min-height:42px;padding:0 14px}.ui-input--sm{min-height:34px;padding:0 12px;font-size:.9rem}.ui-input--lg{min-height:50px;padding:0 16px}.ui-textarea{resize:vertical;min-height:120px;padding:12px 14px}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-subtle)}.ui-input:focus-visible,.ui-textarea:focus-visible{border-color:var(--color-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-border-focus) 30%,transparent);outline:none}.ui-input:disabled,.ui-textarea:disabled{cursor:not-allowed;opacity:.6;background:color-mix(in srgb,var(--color-border) 20%,transparent)}.ui-input--invalid,.ui-textarea--invalid{border-color:var(--color-action-error)}.ui-input--invalid:focus-visible,.ui-textarea--invalid:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-action-error) 28%,transparent)}.ui-field{flex-direction:column;gap:6px;display:flex}.ui-field__label{color:var(--color-text-secondary);letter-spacing:-.01em;font-size:.88rem;font-weight:560}.ui-field__hint{color:var(--color-text-subtle);margin:0;font-size:.85rem}.ui-field__error{color:var(--color-action-error);margin:0;font-size:.85rem;font-weight:560}.ui-spinner{--spinner-color:var(--color-action-primary);border:2px solid color-mix(in srgb,var(--spinner-color) 26%,transparent);border-top-color:var(--spinner-color);border-radius:50%;animation:.6s linear infinite ui-spin;display:inline-block}.ui-spinner--accent{--spinner-color:var(--color-action-accent)}.ui-spinner--neutral{--spinner-color:var(--color-text-secondary)}.ui-spinner--sm{width:14px;height:14px}.ui-spinner--md{width:20px;height:20px}.ui-spinner--lg{border-width:3px;width:30px;height:30px}.ui-button__spinner{border:2px solid color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor;border-radius:50%;flex:none;width:1em;height:1em;animation:.6s linear infinite ui-spin}.ui-button--loading{cursor:progress}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-stack{flex-direction:column;display:flex}.ui-inline{flex-direction:row;display:flex}.ui-inline--wrap{flex-wrap:wrap}.ui-stack--gap-none,.ui-inline--gap-none{gap:0}.ui-stack--gap-xs,.ui-inline--gap-xs{gap:6px}.ui-stack--gap-sm,.ui-inline--gap-sm{gap:10px}.ui-stack--gap-md,.ui-inline--gap-md{gap:16px}.ui-stack--gap-lg,.ui-inline--gap-lg{gap:24px}.ui-stack--gap-xl,.ui-inline--gap-xl{gap:36px}.ui-stack--align-start,.ui-inline--align-start{align-items:flex-start}.ui-stack--align-center,.ui-inline--align-center{align-items:center}.ui-stack--align-end,.ui-inline--align-end{align-items:flex-end}.ui-stack--align-stretch,.ui-inline--align-stretch{align-items:stretch}.ui-inline--justify-start{justify-content:flex-start}.ui-inline--justify-center{justify-content:center}.ui-inline--justify-end{justify-content:flex-end}.ui-inline--justify-between{justify-content:space-between}.ui-container{width:100%;margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}.ui-container--sm{max-width:640px}.ui-container--md{max-width:860px}.ui-container--lg{max-width:1100px}.ui-text{color:var(--color-text-primary);line-height:1.5}.ui-text--muted{color:var(--color-text-secondary)}.ui-text--subtle{color:var(--color-text-subtle)}.ui-text--sm{font-size:.88rem}.ui-text--md{font-size:1rem}.ui-text--lg{font-size:1.15rem}.ui-text--normal{font-weight:400}.ui-text--medium{font-weight:560}.ui-text--strong{font-weight:680}.ui-disclosure{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px}.ui-disclosure__summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-primary);align-items:center;gap:8px;padding:10px 14px;font-size:.95rem;font-weight:560;list-style:none;display:flex}.ui-disclosure__summary::-webkit-details-marker{display:none}.ui-disclosure__chevron{width:1.05rem;height:1.05rem;color:var(--color-text-subtle);flex:none;transition:transform .12s}.ui-disclosure[open] .ui-disclosure__chevron{transform:rotate(90deg)}.ui-disclosure__content{color:var(--color-text-secondary);padding:0 14px 14px}.ui-tabs{--control-action:var(--color-action-primary);align-items:center;gap:4px;display:inline-flex}.ui-tabs--accent{--control-action:var(--color-action-accent)}.ui-tabs--rule{border-bottom:1px solid var(--color-border)}.ui-tab{color:var(--color-text-subtle);cursor:pointer;align-items:center;padding:8px 12px;font-size:.95rem;font-weight:560;text-decoration:none;transition:color .12s;display:inline-flex;position:relative}.ui-tab:after{content:"";background:0 0;border-radius:999px;height:2px;transition:background .12s;position:absolute;bottom:-1px;left:10px;right:10px}.ui-tab:hover,.ui-tab[aria-current=page]{color:var(--color-text-primary)}.ui-tab[aria-current=page]:after{background:var(--control-action)}.ui-tab:focus-visible{outline:2px solid color-mix(in srgb,var(--control-action) 45%,transparent);outline-offset:2px}.ui-tabs--sm .ui-tab{padding:6px 10px;font-size:.875rem}.ui-progress{background:var(--color-bg-neutral);border-radius:999px;width:100%;display:flex;overflow:hidden}.ui-progress--sm{height:4px}.ui-progress--md{height:6px}.ui-progress--lg{height:10px}.ui-progress__fill{transition:width .2s}.ui-progress__fill--primary{background:var(--color-primary)}.ui-progress__fill--accent{background:var(--color-accent)}.ui-progress__fill--info{background:var(--color-info)}.ui-progress__fill--success{background:var(--color-success)}.ui-progress__fill--warning{background:var(--color-warning)}.ui-progress__fill--error{background:var(--color-error)}.ui-table__scroll{overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;color:var(--color-text-primary);font-size:.95rem}.ui-table__caption{caption-side:top;color:var(--color-text-primary);letter-spacing:-.02em;text-align:left;padding-bottom:12px;font-size:.95rem;font-weight:620}.ui-table__header,.ui-table__cell{text-align:left;vertical-align:baseline;padding:8px 12px}.ui-table__header{border-bottom:1px solid var(--color-border);color:var(--color-text-subtle);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.75rem;font-weight:560}.ui-table__body .ui-table__row+.ui-table__row .ui-table__cell{border-top:1px solid color-mix(in srgb,var(--color-border) 55%,transparent)}.ui-table--sm .ui-table__header,.ui-table--sm .ui-table__cell{padding:6px 10px}.ui-table--sm .ui-table__caption{font-size:.9rem}.ui-table--sm{font-size:.875rem}.ui-table__header:first-child,.ui-table__cell:first-child{padding-left:0}.ui-table__header:last-child,.ui-table__cell:last-child{padding-right:0}.ui-table__header--numeric,.ui-table__cell--numeric{font-variant-numeric:tabular-nums;text-align:right}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{font-family:Inter Variable,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-optical-sizing:auto;background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.metric-num,.rate,.ui-input[type=number]{font-variant-numeric:tabular-nums}.page-head{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.page-title{margin:0;font-size:clamp(1.75rem,3.2vw,2.125rem);font-weight:620;line-height:1.12;letter-spacing:-.028em}.page-lede{margin:0;max-width:46ch;color:var(--color-text-secondary);font-size:1.0625rem;line-height:1.45}.section-title{margin:0;font-size:1.125rem;font-weight:620;line-height:1.3;letter-spacing:-.018em}.ui-field__label{font-size:.8125rem;font-weight:560;color:var(--color-text-subtle)}.ls-ui{min-height:100vh;background:var(--color-bg)}.app-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}.app-brand{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-primary);font-weight:700;font-size:1.1rem;letter-spacing:-.03em;text-decoration:none}.app-account{display:inline-flex;align-items:center;padding:6px;border-radius:8px;color:var(--color-text-secondary);text-decoration:none}.app-account:hover,.app-account[aria-current=page]{color:var(--color-text-primary)}.app-main{padding-block:clamp(24px,5vw,48px) 96px}.gate{min-height:100dvh;display:grid;place-items:center;padding:clamp(1.25rem,5vw,3rem)}.gate__panel{width:min(26rem,100%)}.gate .ui-input{border-color:color-mix(in srgb,var(--color-text-secondary) 34%,var(--color-border))}.gate__title{display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:clamp(2rem,4.2vw,2.6rem);line-height:1.1;font-weight:600;letter-spacing:-.035em}.gate__form{display:flex;flex-direction:column;gap:1rem}.gate__cta{align-self:flex-start;margin-top:.25rem}.gate__rule{margin:2rem 0;border:0;border-top:1px solid var(--color-border)}.gate__foot{margin:0;color:var(--color-text-secondary);font-size:.9375rem}.gate__invite{margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--color-border);font-size:.875rem}.gate__secret{position:relative;display:flex}.gate__secret .ui-input{flex:1;padding-right:3.4rem}.gate__peek{position:absolute;top:50%;right:.6rem;transform:translateY(-50%);padding:.2rem .3rem;border:0;border-radius:4px;background:none;color:var(--color-text-secondary);font:inherit;font-size:.85rem;cursor:pointer}.gate__peek:hover{color:var(--color-accent)}.gate__link{color:var(--color-accent);text-decoration:none}.gate__link:hover{text-decoration:underline}.group-rule{flex:1;height:1px;background:var(--color-border)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:12px}.row-list{display:grid;gap:10px}.entity-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:inherit;text-decoration:none;transition:border-color .12s ease,transform .12s ease}.entity-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.entity-card--dashed{border-style:dashed}.entity-card--static:hover{border-color:var(--color-border);transform:none}.entity-card--row{display:grid;grid-template-columns:minmax(15rem,1.4fr) minmax(11rem,1.5fr) 7.5rem 6rem;gap:24px;align-items:center}.card-head{min-width:0}.card-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.metric{display:flex;flex-direction:column;gap:6px;min-width:0}.metric--span{grid-column:2 / -1}.metric-num{text-align:right}@media(max-width:46rem){.entity-card--row{grid-template-columns:1fr;gap:10px}.metric--span{grid-column:auto}.metric-num{text-align:left}.rate{justify-self:start}}.level-chip{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding-inline:6px;border-radius:8px;background:var(--color-accent-tint);color:var(--color-accent-on-tint);font-size:.8125rem;font-weight:600}.thread-chip{display:inline-flex;align-items:center;gap:6px}.thread-dot{width:8px;height:8px;border-radius:999px;background:var(--color-neutral)}.thread-dot--complete{background:var(--color-success)}.thread-dot--active{background:var(--color-info)}.thread-dot--assumed{background:var(--color-warning)}.rate{justify-self:end;padding:2px 8px;border-radius:999px;font-size:.8125rem;font-weight:500;white-space:nowrap}.rate--good{background:var(--color-success-tint);color:var(--color-success-on-tint)}.rate--mid{background:var(--color-warning-tint);color:var(--color-warning-on-tint)}.rate--bad{background:var(--color-error-tint);color:var(--color-error-on-tint)}.rate--none{color:var(--color-text-subtle)}.ladder-row{display:grid;grid-template-columns:minmax(15rem,1.4fr) 1fr;gap:24px;align-items:center}@media(max-width:46rem){.ladder-row{grid-template-columns:1fr;gap:10px}}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:1.9rem;padding:2px 10px;border:1px solid var(--color-border);border-radius:6px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:.8125rem;cursor:pointer}.chip:hover:not(:disabled){color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-text-secondary) 34%,var(--color-border))}.chip:disabled{opacity:.45;cursor:default}.chip--on{background:var(--color-accent-tint);color:var(--color-accent-on-tint);border-color:transparent;font-weight:600}.chip__count{font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:400;opacity:.55}.date-input{width:auto}.log-table .ui-table__cell{white-space:nowrap}.cell-clip{display:inline-block;max-width:28ch;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.sort{position:relative;display:inline-block;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.sort:hover,.sort--on{color:var(--color-text-primary)}.sort__mark{position:absolute;left:100%;margin-left:3px;font-size:.9em}.ui-table__header--numeric .sort__mark{left:auto;right:100%;margin-right:3px}.app-link{color:var(--color-text-subtle);font-size:.95rem;font-weight:500;text-decoration:none}.app-link:hover{color:var(--color-text-primary)}.entity-card--muted{opacity:.58;transition:border-color .12s ease,opacity .12s ease,transform .12s ease}.entity-card--muted:hover{opacity:1}.catalog-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;margin:0 -10px;border-radius:8px;transition:background-color .12s ease}.catalog-row:hover{background:var(--color-surface-neutral);border-color:var(--color-border)}.pack-head{display:inline-flex;align-items:baseline;gap:8px;padding:2px 0;border:0;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.pack-head__caret{color:var(--color-text-subtle);font-size:.75rem}.pack-head__name{font-weight:500}.pack-head__count{color:var(--color-text-subtle);font-size:.85rem}.pack-head:hover .pack-head__name{text-decoration:underline}
