canny-ui 6.1.1 → 6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Geist+Mono:wght@300..700&family=Geist:wght@300..700&display=swap";:root{--bg-base: #fafafa;--bg-surface-low: #f4f4f5;--bg-surface-lowest: #ffffff;--bg-surface-edge: #e4e4e7;--text-primary: #09090b;--text-secondary: #3f3f46;--text-muted: #71717a;--text-disabled: #a1a1aa;--text-on-solid: #ffffff;--text-accent: #4f46e5;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-active:#3730a3;--color-primary-soft: #eef2ff;--color-primary-on: #ffffff;--color-neutral: #18181b;--color-neutral-hover: #27272a;--color-neutral-soft: #f4f4f5;--color-neutral-on: #ffffff;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-soft: #fef2f2;--color-danger-on: #ffffff;--color-warning: #d97706;--color-warning-hover: #b45309;--color-warning-soft: #fffbeb;--color-warning-on: #ffffff;--color-success: #059669;--color-success-hover: #047857;--color-success-soft: #ecfdf5;--color-success-on: #ffffff;--color-info: #0284c7;--color-info-hover: #0369a1;--color-info-soft: #f0f9ff;--color-info-on: #ffffff;--border-color: #e4e4e7;--border-color-strong: #d4d4d8;--border-focus: #6366f1;--ring-color: rgba(79, 70, 229, 0.28);--ring-width: 3px;--shadow-xs: 0 1px 2px 0 rgba(9, 9, 11, 0.05);--shadow-sm: 0 1px 2px 0 rgba(9, 9, 11, 0.06), 0 1px 3px 0 rgba(9, 9, 11, 0.04);--shadow-md: 0 4px 6px -1px rgba(9, 9, 11, 0.07), 0 2px 4px -2px rgba(9, 9, 11, 0.05);--shadow-lg: 0 10px 15px -3px rgba(9, 9, 11, 0.08), 0 4px 6px -4px rgba(9, 9, 11, 0.05);--shadow-card: var(--shadow-sm);--shadow-lift: var(--shadow-lg);--shadow-ambient: 0 0 0 3px var(--ring-color);--ease-standard: cubic-bezier(0.2, 0, 0, 1);--transition-fast: 120ms var(--ease-standard);--transition-base: 180ms var(--ease-standard);--transition-slow: 260ms var(--ease-standard);--radius-xs: 3px;--radius-sm: 5px;--radius-md: 7px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 9999px;--font-body: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-display: 'Fraunces', Georgia, serif;--hairline-color: #e4e4e7;--hairline-strong: #d4d4d8;--text-xs: 0.75rem;--text-sm: 0.875rem;--text-base: 0.9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--track-tight: -0.015em;--track-normal: 0;--track-wide: 0.04em;--track-wider: 0.08em}@media(prefers-color-scheme: dark){:root:not(.cny-light){--bg-base: #09090b;--bg-surface-low: #18181b;--bg-surface-lowest: #27272a;--bg-surface-edge: #3f3f46;--text-primary: #fafafa;--text-secondary: #d4d4d8;--text-muted: #a1a1aa;--text-disabled: #52525b;--text-accent: #818cf8;--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-primary-active:#4f46e5;--color-primary-soft: rgba(99, 102, 241, 0.15);--color-neutral: #fafafa;--color-neutral-hover: #ffffff;--color-neutral-soft: #27272a;--color-neutral-on: #09090b;--color-danger-soft: rgba(220, 38, 38, 0.16);--color-warning-soft: rgba(217, 119, 6, 0.16);--color-success-soft: rgba(5, 150, 105, 0.16);--color-info-soft: rgba(2, 132, 199, 0.16);--border-color: #27272a;--border-color-strong: #3f3f46;--border-focus: #818cf8;--ring-color: rgba(99, 102, 241, 0.45);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4), 0 1px 3px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);--shadow-lg: 0 16px 32px -8px rgba(0, 0, 0, 0.6);--hairline-color: #27272a;--hairline-strong: #3f3f46}}.cny-dark{--bg-base: #09090b;--bg-surface-low: #18181b;--bg-surface-lowest: #27272a;--bg-surface-edge: #3f3f46;--text-primary: #fafafa;--text-secondary: #d4d4d8;--text-muted: #a1a1aa;--text-disabled: #52525b;--text-accent: #818cf8;--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-primary-active:#4f46e5;--color-primary-soft: rgba(99, 102, 241, 0.15);--color-neutral: #fafafa;--color-neutral-hover: #ffffff;--color-neutral-soft: #27272a;--color-neutral-on: #09090b;--color-danger-soft: rgba(220, 38, 38, 0.16);--color-warning-soft: rgba(217, 119, 6, 0.16);--color-success-soft: rgba(5, 150, 105, 0.16);--color-info-soft: rgba(2, 132, 199, 0.16);--border-color: #27272a;--border-color-strong: #3f3f46;--border-focus: #818cf8;--ring-color: rgba(99, 102, 241, 0.45);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4), 0 1px 3px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);--shadow-lg: 0 16px 32px -8px rgba(0, 0, 0, 0.6);--hairline-color: #27272a;--hairline-strong: #3f3f46}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-base);color:var(--text-primary)}.cny-app{font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;color:var(--text-primary);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.cny-app h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;letter-spacing:var(--track-tight);line-height:1.15;margin:0 0 20px;color:var(--text-primary)}.cny-app h2{font-family:var(--font-body);font-size:var(--text-2xl);font-weight:600;letter-spacing:var(--track-tight);line-height:1.2;margin:0 0 16px}.cny-app h3{font-family:var(--font-body);font-size:var(--text-xl);font-weight:600;letter-spacing:-0.005em;line-height:1.3;margin:0 0 12px}.cny-app h4{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;line-height:1.35;margin:0 0 8px}.cny-app p{margin:0 0 16px;max-width:72ch;color:var(--text-secondary)}.cny-app a:not([class]){color:var(--text-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--transition-fast)}.cny-app a:not([class]):hover{color:var(--color-primary-hover)}.cny-app small,.cny-app .cny-meta{font-size:var(--text-xs);color:var(--text-muted)}.cny-app code,.cny-app kbd,.cny-app pre,.cny-app samp{font-family:var(--font-mono);font-size:.92em}.cny-app .cny-tabular{font-variant-numeric:tabular-nums slashed-zero}.cny-display{font-family:var(--font-display);font-weight:400;font-variation-settings:"opsz" 144;letter-spacing:var(--track-tight)}.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;min-height:36px;border:0;border-radius:var(--radius-sm);background:rgba(0,0,0,0);color:var(--text-primary);text-decoration:none;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:-0.005em;line-height:1;cursor:pointer;user-select:none;white-space:nowrap;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow 180ms var(--ease-standard),color var(--transition-fast)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.btn .btn-content{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:inherit}.btn .btn-ripple{position:absolute;z-index:0;border-radius:50%;pointer-events:none;transform-origin:center;background:rgba(0,0,0,.18)}.btn.solid .btn-ripple,.btn.secondary .btn-ripple{background:hsla(0,0%,100%,.55)}@media(prefers-reduced-motion: reduce){.btn .btn-ripple{display:none}}.btn.solid{background:var(--color-primary);color:var(--color-primary-on);box-shadow:var(--shadow-xs)}.btn.solid:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn.solid:active:not(:disabled){background:var(--color-primary-active);box-shadow:var(--shadow-xs),inset 0 1px 0 0 rgba(0,0,0,.08)}.btn.solid.danger{background:var(--color-danger);color:var(--color-danger-on)}.btn.solid.danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn.solid.warning{background:var(--color-warning);color:var(--color-warning-on)}.btn.solid.warning:hover:not(:disabled){background:var(--color-warning-hover)}.btn.solid.success{background:var(--color-success);color:var(--color-success-on)}.btn.solid.success:hover:not(:disabled){background:var(--color-success-hover)}.btn.solid.info{background:var(--color-info);color:var(--color-info-on)}.btn.solid.info:hover:not(:disabled){background:var(--color-info-hover)}.btn.secondary{background:var(--color-neutral);color:var(--color-neutral-on);box-shadow:var(--shadow-xs)}.btn.secondary:hover:not(:disabled){background:var(--color-neutral-hover);box-shadow:var(--shadow-sm)}.btn.secondary:active:not(:disabled){box-shadow:var(--shadow-xs),inset 0 1px 0 0 rgba(0,0,0,.12)}.btn.outline{background:var(--bg-surface-lowest);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-color),var(--shadow-xs)}.btn.outline:hover:not(:disabled){background:var(--bg-surface-low);box-shadow:inset 0 0 0 1px var(--border-color-strong),var(--shadow-sm)}.btn.outline:active:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-color-strong),inset 0 1px 0 0 rgba(0,0,0,.04)}.btn.outline.danger{color:var(--color-danger)}.btn.outline.warning{color:var(--color-warning)}.btn.outline.success{color:var(--color-success)}.btn.outline.info{color:var(--color-info)}.btn.dashed{background:var(--bg-surface-lowest);color:var(--text-primary);border:1px dashed var(--border-color);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow 180ms var(--ease-standard)}.btn.dashed:hover:not(:disabled){background:var(--bg-surface-low);border-color:var(--color-primary);color:var(--color-primary)}.btn.dashed:active:not(:disabled){background:var(--bg-surface-edge);border-color:var(--color-primary-active)}.btn.dashed.danger:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.btn.dashed.warning:hover:not(:disabled){border-color:var(--color-warning);color:var(--color-warning)}.btn.dashed.success:hover:not(:disabled){border-color:var(--color-success);color:var(--color-success)}.btn.dashed.info:hover:not(:disabled){border-color:var(--color-info);color:var(--color-info)}.btn.ghost{background:rgba(0,0,0,0);color:var(--text-primary)}.btn.ghost:hover:not(:disabled){background:var(--bg-surface-low)}.btn.ghost:active:not(:disabled){background:var(--bg-surface-edge)}.btn.ghost.danger{color:var(--color-danger)}.btn.ghost.danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn.ghost.warning{color:var(--color-warning)}.btn.ghost.warning:hover:not(:disabled){background:var(--color-warning-soft)}.btn.ghost.success{color:var(--color-success)}.btn.ghost.success:hover:not(:disabled){background:var(--color-success-soft)}.btn.ghost.info{color:var(--color-info)}.btn.ghost.info:hover:not(:disabled){background:var(--color-info-soft)}.btn.soft{background:var(--color-primary-soft);color:var(--color-primary)}.btn.soft:hover:not(:disabled){background:var(--bg-surface-edge)}.btn.soft.danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn.soft.warning{background:var(--color-warning-soft);color:var(--color-warning)}.btn.soft.success{background:var(--color-success-soft);color:var(--color-success)}.btn.soft.info{background:var(--color-info-soft);color:var(--color-info)}.btn.link{overflow:visible;background:rgba(0,0,0,0);color:var(--text-accent);padding:0;min-height:auto;border-radius:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.btn.link:hover:not(:disabled){color:var(--color-primary-hover)}.btn.link .btn-ripple{display:none}.btn.sm{padding:0 12px;min-height:28px;font-size:.8125rem}.btn.lg{padding:0 20px;min-height:44px;font-size:.9375rem}.btn.icon{padding:0;width:36px}.btn.icon.sm{width:28px}.btn.icon.lg{width:44px}.btn.round{border-radius:999px}.btn.circle{padding:0;width:36px;border-radius:50%}.btn.circle.sm{width:28px}.btn.circle.lg{width:44px}.btn.block{display:flex;width:100%}.btn.loading{pointer-events:none;cursor:default}.btn[aria-pressed=true].ghost,.btn[data-state=on].ghost{background:var(--color-primary-soft);color:var(--color-primary)}.btn[aria-pressed=true].outline,.btn[data-state=on].outline{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary),var(--shadow-xs)}.btn[aria-pressed=true].soft,.btn[data-state=on].soft{background:var(--color-primary);color:var(--color-primary-on)}.btn[aria-pressed=true].dashed,.btn[data-state=on].dashed{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary)}.btn.fab{width:56px;min-height:56px;padding:0;border-radius:50%;box-shadow:var(--shadow-lg);font-weight:600}.btn.fab:hover:not(:disabled){box-shadow:0 12px 20px -6px rgba(9,9,11,.16),0 4px 8px -2px rgba(9,9,11,.08)}.btn.fab:active:not(:disabled){box-shadow:var(--shadow-md),inset 0 1px 0 0 rgba(0,0,0,.08)}.btn.fab.sm{width:40px;min-height:40px;font-size:.875rem}.btn.fab.lg{width:64px;min-height:64px;font-size:1rem}.btn.fab.extended{width:auto;border-radius:999px;padding:0 20px;gap:8px;min-width:80px}.btn.fab.extended.sm{padding:0 16px;min-width:64px}.btn.fab.extended.lg{padding:0 24px;min-width:96px}.btn.fab.fixed-bottom-right{position:fixed;bottom:24px;right:24px;z-index:50}.btn.fab.fixed-bottom-left{position:fixed;bottom:24px;left:24px;z-index:50}.btn.fab.fixed-top-right{position:fixed;top:24px;right:24px;z-index:50}.btn.fab.fixed-top-left{position:fixed;top:24px;left:24px;z-index:50}.btn-group{display:inline-flex;vertical-align:middle;isolation:isolate}.btn-group>.btn{border-radius:0;position:relative}.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.btn-group>.btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.btn-group>.btn:hover:not(:disabled),.btn-group>.btn:focus-visible,.btn-group>.btn[aria-pressed=true],.btn-group>.btn[data-state=on]{z-index:1}.btn-group.vertical{flex-direction:column}.btn-group.vertical>.btn:not(:first-child){margin-left:0;margin-top:-1px}.btn-group.vertical>.btn:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.btn-group.vertical>.btn:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.btn-group.spaced{gap:4px}.btn-group.spaced>.btn{border-radius:var(--radius-sm)}.btn-group.spaced>.btn:not(:first-child){margin-left:0}.btn-group.spaced>.btn:not(:last-child){margin-right:0}.btn-group.round>.btn:first-child{border-top-left-radius:999px;border-bottom-left-radius:999px;padding-left:20px}.btn-group.round>.btn:last-child{border-top-right-radius:999px;border-bottom-right-radius:999px;padding-right:20px}.btn-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:cny-btn-spin 700ms linear infinite;flex-shrink:0;vertical-align:-0.125em}@keyframes cny-btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion: reduce){.btn-spinner{animation-duration:1400ms}}@media(forced-colors: active){.btn{border:1px solid ButtonBorder;forced-color-adjust:none;color:ButtonText;background:ButtonFace}.btn:focus-visible{outline:2px solid SelectedItem;outline-offset:2px;box-shadow:none}.btn.solid,.btn.secondary{background:SelectedItem;color:SelectedItemText;border-color:SelectedItem}.btn[aria-pressed=true],.btn[data-state=on]{background:SelectedItem;color:SelectedItemText}.btn:disabled,.btn[aria-disabled=true]{color:GrayText;border-color:GrayText}.btn .btn-ripple{display:none}.btn-spinner{border-color:ButtonText;border-right-color:rgba(0,0,0,0)}}.input{display:block;width:100%;min-height:36px;padding:0 12px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;font-family:var(--font-body);font-size:.875rem;line-height:1.4;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--text-muted)}.input:hover:not(:disabled):not(:focus){border-color:var(--border-color-strong)}.input:focus{border-color:var(--border-focus);box-shadow:none}.input:disabled{background:var(--bg-surface-low);color:var(--text-disabled);cursor:not-allowed}.input.sm{min-height:28px;font-size:.8125rem;padding:0 8px}.input.lg{min-height:44px;font-size:.9375rem;padding:0 16px}.input.danger{border-color:var(--color-danger)}.input.danger:focus{border-color:var(--color-danger);box-shadow:none}.input.warning{border-color:var(--color-warning)}.input.warning:focus{border-color:var(--color-warning);box-shadow:none}.input.success{border-color:var(--color-success)}.input.success:focus{border-color:var(--color-success);box-shadow:none}textarea.input{min-height:88px;padding:8px 12px;line-height:1.55;resize:vertical}.input-label{display:block;font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.input-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:8px}.input-hint.danger{color:var(--color-danger)}.input-hint.warning{color:var(--color-warning)}.input-hint.success{color:var(--color-success)}.card{position:relative;background:var(--bg-surface-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.card.interactive{cursor:pointer}.card.interactive:hover{box-shadow:var(--shadow-lift)}.card.danger,.card.warning,.card.success,.card.info{overflow:hidden}.card.danger::before,.card.warning::before,.card.success::before,.card.info::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:2px;border-radius:1px}.card.danger::before{background:var(--color-danger)}.card.warning::before{background:var(--color-warning)}.card.success::before{background:var(--color-success)}.card.info::before{background:var(--color-info)}.card.flush{background:rgba(0,0,0,0);box-shadow:none;border-top:1px solid var(--hairline-color);border-radius:0;padding:20px 0}.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.card-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--hairline-color);display:flex;align-items:center;justify-content:space-between;gap:12px}@keyframes alert-rise{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.alert{--alert-accent: var(--color-info);--alert-accent-soft: var(--color-info-soft);--alert-accent-on: var(--color-info-on);position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;line-height:1.5;animation:alert-rise 180ms ease-out both}@media(prefers-reduced-motion: reduce){.alert{animation:none}}.alert-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:1px;border-radius:var(--radius-sm);background:var(--alert-accent-soft);color:var(--alert-accent)}.alert-content{flex:1 1 auto;min-width:0;padding-top:1px}.alert-title{font-weight:600;line-height:1.35;margin:0 0 2px;color:var(--text-primary)}.alert-body{color:var(--text-secondary);margin:0}.alert-action{flex:none;display:inline-flex;align-items:center;margin-left:8px;align-self:center}.alert-close{flex:none;margin-left:8px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:rgba(0,0,0,0);border:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);line-height:1;transition:color 120ms ease,background-color 120ms ease}.alert-close:hover{color:var(--text-primary);background:var(--bg-surface-low)}.alert-close:focus-visible{outline:2px solid var(--alert-accent);outline-offset:1px}.alert.info{--alert-accent: var(--color-info);--alert-accent-soft: var(--color-info-soft);--alert-accent-on: var(--color-info-on);background:var(--color-info-soft);border-color:color-mix(in srgb, var(--color-info) 22%, transparent)}.alert.info .alert-title{color:var(--color-info)}.alert.success{--alert-accent: var(--color-success);--alert-accent-soft: var(--color-success-soft);--alert-accent-on: var(--color-success-on);background:var(--color-success-soft);border-color:color-mix(in srgb, var(--color-success) 22%, transparent)}.alert.success .alert-title{color:var(--color-success)}.alert.warning{--alert-accent: var(--color-warning);--alert-accent-soft: var(--color-warning-soft);--alert-accent-on: var(--color-warning-on);background:var(--color-warning-soft);border-color:color-mix(in srgb, var(--color-warning) 24%, transparent)}.alert.warning .alert-title{color:var(--color-warning)}.alert.danger{--alert-accent: var(--color-danger);--alert-accent-soft: var(--color-danger-soft);--alert-accent-on: var(--color-danger-on);background:var(--color-danger-soft);border-color:color-mix(in srgb, var(--color-danger) 26%, transparent)}.alert.danger .alert-title{color:var(--color-danger)}.alert.solid{border:0;color:var(--alert-accent-on);background:var(--alert-accent)}.alert.solid .alert-title{color:var(--alert-accent-on)}.alert.solid .alert-body{color:var(--alert-accent-on);opacity:.88}.alert.solid .alert-icon{background:hsla(0,0%,100%,.18);color:var(--alert-accent-on)}.alert.solid .alert-close{color:var(--alert-accent-on);opacity:.78}.alert.solid .alert-close:hover{opacity:1;background:hsla(0,0%,100%,.14)}.alert.solid .alert-close:focus-visible{outline-color:hsla(0,0%,100%,.85)}.checkbox,.radio{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;margin:0;padding:0;background:var(--bg-surface-lowest);border:1px solid var(--border-color-strong);cursor:pointer;vertical-align:middle;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.checkbox:hover:not(:disabled):not([data-disabled]),.radio:hover:not(:disabled):not([data-disabled]){border-color:var(--color-primary)}.checkbox:focus-visible,.radio:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.checkbox:disabled,.checkbox[data-disabled],.radio:disabled,.radio[data-disabled]{opacity:.5;cursor:not-allowed}.checkbox{border-radius:var(--radius-xs)}.checkbox:not([data-state]):checked{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><path d='M3.5 8.5L6.5 11.5L12.5 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:center}.checkbox:not([data-state]):indeterminate{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='3' y='7' width='10' height='2' fill='white' rx='1'/></svg>");background-repeat:no-repeat;background-position:center}.checkbox[data-state=checked],.checkbox[data-state=indeterminate]{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox>*{display:inline-flex;align-items:center;justify-content:center;color:#fff;line-height:0}.radio{border-radius:50%;position:relative}.radio:checked,.radio[data-state=checked]{border-color:var(--color-primary);background-color:var(--bg-surface-lowest)}.radio:not([data-state]):checked{background-image:radial-gradient(circle, var(--color-primary) 0 4px, transparent 5px)}.radio>*{display:block;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.control{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);cursor:pointer;user-select:none}.control:has(:disabled){cursor:not-allowed;color:var(--text-disabled)}.switch{--switch-w: 36px;--switch-h: 20px;--switch-pad: 2px;--switch-thumb: calc(var(--switch-h) - var(--switch-pad) * 2);--switch-travel: calc(var(--switch-w) - var(--switch-thumb) - var(--switch-pad) * 2);appearance:none;-webkit-appearance:none;position:relative;display:inline-block;flex:none;width:var(--switch-w);height:var(--switch-h);margin:0;padding:0;background:var(--border-color-strong);border:0;border-radius:var(--radius-full);cursor:pointer;vertical-align:middle;transition:background-color var(--transition-fast)}.switch::before{content:"";position:absolute;top:var(--switch-pad);left:var(--switch-pad);width:var(--switch-thumb);height:var(--switch-thumb);background:#fff;border-radius:50%;box-shadow:var(--shadow-xs);transition:transform var(--transition-fast)}.switch:has(.switch-thumb)::before{content:none}.switch:checked{background:var(--color-primary)}.switch:checked::before{transform:translateX(var(--switch-travel))}.switch:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch[data-state=checked]{background:var(--color-primary)}.switch[data-disabled]{opacity:.5;cursor:not-allowed}.switch-thumb{display:block;width:var(--switch-thumb, 16px);height:var(--switch-thumb, 16px);margin:var(--switch-pad, 2px);background:#fff;border-radius:50%;box-shadow:var(--shadow-xs);transform:translateX(0);transition:transform var(--transition-fast);will-change:transform;pointer-events:none}.switch-thumb[data-state=checked]{transform:translateX(var(--switch-travel, 14px))}@media(prefers-reduced-motion: reduce){.switch,.switch::before,.switch-thumb{transition:none}}.select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:36px;padding:0 32px 0 12px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;line-height:1.4;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><path d='M4 6l4 4 4-4' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.select:hover:not(:disabled):not(:focus){border-color:var(--border-color-strong)}.select:focus{outline:none;border-color:var(--border-focus);box-shadow:none}.select:disabled{background-color:var(--bg-surface-low);color:var(--text-disabled);cursor:not-allowed}.select.sm{min-height:28px;font-size:.8125rem;padding:0 24px 0 8px}.select.lg{min-height:44px;font-size:.9375rem;padding:0 40px 0 16px}.table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);background:var(--bg-surface-lowest)}.table th,.table td{padding:12px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--hairline-color)}.table thead th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-surface-low);border-bottom:1px solid var(--border-color);white-space:nowrap}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:last-child td{border-bottom:0}.table.hoverable tbody tr:hover{background:var(--bg-surface-low)}.table.striped tbody tr:nth-child(odd){background:var(--bg-surface-low)}.table.compact th,.table.compact td{padding:8px 12px}.table.bordered{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.table.bordered th,.table.bordered td{border-right:1px solid var(--hairline-color)}.table.bordered th:last-child,.table.bordered td:last-child{border-right:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table.resizable{table-layout:fixed}.table.resizable thead th,.table.resizable tbody td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table.resizable thead th{position:relative}.table.resizable tbody td>.cny-row{min-width:0}.table.resizable .th-resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;user-select:none;touch-action:none;z-index:1;background:rgba(0,0,0,0);transition:background-color var(--transition-fast)}.table.resizable .th-resizer::after{content:"";position:absolute;top:20%;right:2px;width:1px;height:60%;background:var(--border-color);transition:background-color var(--transition-fast)}.table.resizable .th-resizer:hover::after,.table.resizable .th-resizer.resizing::after{background:var(--color-primary);width:2px}.table.resizable .th-resizer:hover,.table.resizable .th-resizer.resizing{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.table.resizable.is-resizing{cursor:col-resize;user-select:none}.table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface-lowest)}.table-wrap .table{background:rgba(0,0,0,0)}.table-wrap .table th,.table-wrap .table td{white-space:nowrap}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;background:var(--color-primary-soft);color:var(--color-primary);border-radius:50%;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:-0.01em;user-select:none}.avatar img,.avatar svg{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.avatar.online::after,.avatar.offline::after,.avatar.busy::after{content:"";position:absolute;bottom:0;right:0;width:30%;height:30%;min-width:8px;min-height:8px;border-radius:50%;transform:translate(15%, 15%);box-shadow:0 0 0 2px var(--bg-surface-lowest);z-index:1}.avatar.online::after{background:var(--color-success)}.avatar.offline::after{background:var(--text-muted)}.avatar.busy::after{background:var(--color-danger)}.avatar.xs{width:20px;height:20px;font-size:.625rem}.avatar.sm{width:24px;height:24px;font-size:.6875rem}.avatar.lg{width:40px;height:40px;font-size:.9375rem}.avatar.xl{width:56px;height:56px;font-size:1.125rem}.avatar.square{border-radius:var(--radius-sm)}.avatar-stack{display:inline-flex;isolation:isolate}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--bg-surface-lowest)}.avatar-stack .avatar+.avatar{margin-left:-8px}.avatar-stack .avatar:hover,.avatar-stack .avatar.online,.avatar-stack .avatar.offline,.avatar-stack .avatar.busy{z-index:2}.avatar-stack .avatar.xs+.avatar.xs{margin-left:-6px}.avatar-stack .avatar.sm+.avatar.sm{margin-left:-7px}.avatar-stack .avatar.lg+.avatar.lg{margin-left:-10px}.avatar-stack .avatar.xl+.avatar.xl{margin-left:-14px}.avatar-stack .avatar.online::after,.avatar-stack .avatar.offline::after,.avatar-stack .avatar.busy::after{box-shadow:0 0 0 2px var(--bg-surface-lowest)}.progress{position:relative;display:block;width:100%;height:6px;background:var(--bg-surface-edge);border-radius:var(--radius-full);overflow:hidden}.progress-bar{display:block;height:100%;width:var(--value, 0%);background:var(--color-primary);border-radius:inherit;transition:width var(--transition-base)}.progress.danger .progress-bar{background:var(--color-danger)}.progress.warning .progress-bar{background:var(--color-warning)}.progress.success .progress-bar{background:var(--color-success)}.progress.info .progress-bar{background:var(--color-info)}.progress.sm{height:4px}.progress.lg{height:10px}.progress.indeterminate .progress-bar{width:40%;animation:cny-progress-slide 1.4s var(--ease-standard) infinite}@keyframes cny-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}.progress-ring{--value: 0;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:conic-gradient(var(--color-primary) calc(var(--value) * 1%), var(--bg-surface-edge) 0);font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:var(--text-primary)}.progress-ring::before{content:"";grid-area:1/1;width:calc(100% - 6px);height:calc(100% - 6px);background:var(--bg-surface-lowest);border-radius:50%}.progress-ring>*{grid-area:1/1}.progress-ring.sm{width:28px;height:28px;font-size:.5625rem}.progress-ring.lg{width:56px;height:56px;font-size:.8125rem}.skeleton{display:block;background:var(--bg-surface-edge);border-radius:var(--radius-sm);position:relative;overflow:hidden;color:rgba(0,0,0,0);user-select:none}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.45) 50%, transparent 100%);animation:cny-skeleton-shimmer 1.6s infinite}.skeleton.text{height:.875rem;border-radius:var(--radius-xs);margin:4px 0}.skeleton.title{height:1.25rem;width:60%;border-radius:var(--radius-xs)}.skeleton.circle{border-radius:50%}.skeleton.button{height:36px;width:96px;border-radius:var(--radius-sm)}.skeleton.avatar{width:32px;height:32px;border-radius:50%}@keyframes cny-skeleton-shimmer{100%{transform:translateX(100%)}}@media(prefers-reduced-motion: reduce){.skeleton::after{animation:none}}.cny-dark .skeleton::after{background:linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.08) 50%, transparent 100%)}@media(prefers-color-scheme: dark){.skeleton::after{background:linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.08) 50%, transparent 100%)}}.has-tooltip{position:relative}.has-tooltip::before,.has-tooltip::after{position:absolute;left:50%;opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:50}.has-tooltip::before{content:attr(data-tooltip);bottom:calc(100% + 8px);transform:translate(-50%, 4px);padding:6px 10px;background:var(--color-neutral);color:var(--color-neutral-on);font-family:var(--font-body);font-size:.75rem;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-width:240px}.has-tooltip::after{content:"";bottom:calc(100% + 2px);transform:translate(-50%, 4px);border:4px solid rgba(0,0,0,0);border-top-color:var(--color-neutral)}.has-tooltip:hover::before,.has-tooltip:hover::after,.has-tooltip:focus-visible::before,.has-tooltip:focus-visible::after{opacity:1;transform:translate(-50%, 0)}.has-tooltip.tooltip-bottom::before{bottom:auto;top:calc(100% + 8px)}.has-tooltip.tooltip-bottom::after{bottom:auto;top:calc(100% + 2px);border-top-color:rgba(0,0,0,0);border-bottom-color:var(--color-neutral)}@media(prefers-reduced-motion: reduce){.has-tooltip::before,.has-tooltip::after{transition:opacity var(--transition-fast)}}.cny-scroll,.cny-scroll-region{scrollbar-width:thin;scrollbar-color:var(--border-color) rgba(0,0,0,0)}.cny-scroll::-webkit-scrollbar,.cny-scroll-region::-webkit-scrollbar{width:12px;height:12px}.cny-scroll::-webkit-scrollbar-track,.cny-scroll-region::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.cny-scroll::-webkit-scrollbar-thumb,.cny-scroll-region::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:var(--radius-full);border:3px solid rgba(0,0,0,0);background-clip:content-box;transition:background-color var(--transition-fast)}.cny-scroll::-webkit-scrollbar-thumb:hover,.cny-scroll-region::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted);background-clip:content-box}.cny-scroll::-webkit-scrollbar-thumb:active,.cny-scroll-region::-webkit-scrollbar-thumb:active{background-color:var(--text-secondary);background-clip:content-box}.cny-scroll::-webkit-scrollbar-corner,.cny-scroll-region::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.cny-scroll.thin::-webkit-scrollbar,.thin.cny-scroll-region::-webkit-scrollbar{width:8px;height:8px}.cny-scroll.thin::-webkit-scrollbar-thumb,.thin.cny-scroll-region::-webkit-scrollbar-thumb{border-width:2px}.cny-scroll.subtle::-webkit-scrollbar-thumb,.subtle.cny-scroll-region::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0)}.cny-scroll.subtle:hover::-webkit-scrollbar-thumb,.subtle.cny-scroll-region:hover::-webkit-scrollbar-thumb,.cny-scroll.subtle:focus-within::-webkit-scrollbar-thumb,.subtle.cny-scroll-region:focus-within::-webkit-scrollbar-thumb{background-color:var(--border-color);background-clip:content-box}.cny-scroll.overlay::-webkit-scrollbar,.overlay.cny-scroll-region::-webkit-scrollbar{width:10px;height:10px}.cny-scroll.overlay::-webkit-scrollbar-track,.overlay.cny-scroll-region::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.cny-scroll.overlay::-webkit-scrollbar-thumb,.overlay.cny-scroll-region::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--text-muted) 40%, transparent);border-width:2px}.cny-scroll.overlay::-webkit-scrollbar-thumb:hover,.overlay.cny-scroll-region::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--text-muted) 70%, transparent);background-clip:content-box}.cny-scroll.expand,.expand.cny-scroll-region{scrollbar-width:auto;scrollbar-color:auto}.cny-scroll.expand.primary,.expand.primary.cny-scroll-region{scrollbar-color:auto}.cny-scroll.expand::-webkit-scrollbar,.expand.cny-scroll-region::-webkit-scrollbar{width:16px;height:16px;background:rgba(0,0,0,0)}.cny-scroll.expand::-webkit-scrollbar-thumb,.expand.cny-scroll-region::-webkit-scrollbar-thumb{border-width:6px;background-color:var(--border-color-strong);transition:border-width .15s ease,background-color var(--transition-fast)}.cny-scroll.expand::-webkit-scrollbar-thumb:hover,.expand.cny-scroll-region::-webkit-scrollbar-thumb:hover,.cny-scroll.expand::-webkit-scrollbar-thumb:active,.expand.cny-scroll-region::-webkit-scrollbar-thumb:active{border-width:1px;background-color:var(--text-muted)}.cny-scroll.primary,.primary.cny-scroll-region{scrollbar-color:var(--color-primary) rgba(0,0,0,0)}.cny-scroll.primary::-webkit-scrollbar-thumb,.primary.cny-scroll-region::-webkit-scrollbar-thumb{background-color:var(--color-primary);background-clip:content-box}.cny-scroll.primary::-webkit-scrollbar-thumb:hover,.primary.cny-scroll-region::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary);background-clip:content-box}.cny-scroll-region{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface-lowest);overflow:auto;background:linear-gradient(var(--bg-surface-lowest) 30%, rgba(0, 0, 0, 0)) center top,linear-gradient(rgba(0, 0, 0, 0), var(--bg-surface-lowest) 70%) center bottom,radial-gradient(farthest-side at center top, var(--hairline-color), transparent) center top,radial-gradient(farthest-side at center bottom, var(--hairline-color), transparent) center bottom;background-repeat:no-repeat;background-size:100% 24px,100% 24px,100% 8px,100% 8px;background-attachment:local,local,scroll,scroll;background-color:var(--bg-surface-lowest)}.cny-navbar{display:flex;align-items:center;gap:16px;height:56px;padding:0 24px;background:color-mix(in srgb, var(--bg-base) 78%, transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--hairline-color);position:sticky;top:0;z-index:20;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.cny-navbar.solid{background:var(--bg-base);backdrop-filter:none;-webkit-backdrop-filter:none}.cny-navbar.bordered{border-bottom-color:var(--border-color)}.cny-navbar-brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary);font-weight:650;letter-spacing:-0.012em;font-size:.9375rem;line-height:1;padding:6px 8px;margin-left:-8px;border-radius:var(--radius-sm);flex-shrink:0;transition:background-color var(--transition-fast)}.cny-navbar-brand:hover{background:var(--bg-surface-low)}.cny-navbar-brand:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.cny-navbar-brand .brand-mark{position:relative;width:22px;height:22px;border-radius:6px;background:radial-gradient(120% 120% at 20% 0%, color-mix(in srgb, white 22%, transparent), transparent 55%),linear-gradient(135deg, var(--color-primary), color-mix(in srgb, var(--color-primary) 60%, black));box-shadow:inset 0 1px 0 color-mix(in srgb, white 25%, transparent),inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 40%, black),0 1px 2px rgba(0,0,0,.18);flex-shrink:0}.cny-navbar-nav{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.cny-navbar-nav::-webkit-scrollbar{display:none}.cny-navbar-item{position:relative;display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast)}.cny-navbar-item:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-navbar-item:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.cny-navbar-item.active{color:var(--text-primary);font-weight:550}.cny-navbar-item.active::after{content:"";position:absolute;left:12px;right:12px;bottom:-10px;height:2px;border-radius:2px 2px 0 0;background:var(--color-primary)}.cny-navbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.cny-navbar-divider{width:1px;height:20px;background:linear-gradient(180deg, transparent, var(--hairline-strong, var(--hairline-color)), transparent);margin:0 4px;flex-shrink:0}@media(max-width: 640px){.cny-navbar{height:52px;padding:0 16px;gap:8px}.cny-navbar-nav{display:none}}.cny-sidebar{display:flex;flex-direction:column;width:240px;flex-shrink:0;padding:24px 20px;border-right:1px solid var(--hairline-color);background:var(--bg-base);overflow-y:auto}.cny-sidebar.sticky{position:sticky;top:52px;align-self:flex-start;max-height:calc(100vh - 52px)}.cny-sidebar.thin{width:200px;padding:20px 16px}.cny-sidebar.wide{width:280px}.cny-sidebar-section{margin-bottom:20px}.cny-sidebar-section:last-child{margin-bottom:0}.cny-sidebar-title{display:flex;align-items:center;gap:8px;font-size:.6875rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 10px;margin:0 0 10px}.cny-sidebar-title::before{content:"";width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.55;flex-shrink:0}.cny-sidebar-nav{display:flex;flex-direction:column;gap:1px}.cny-sidebar-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-secondary);text-decoration:none;position:relative;transition:background-color 160ms ease,color 160ms ease,transform 160ms ease}.cny-sidebar-item:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-sidebar-item:active{transform:translateX(0.5px)}.cny-sidebar-item.active{color:var(--color-primary);font-weight:550;background:linear-gradient(90deg, color-mix(in srgb, var(--color-primary) 13%, transparent), color-mix(in srgb, var(--color-primary) 4%, transparent))}.cny-sidebar-item.active::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:14px;background:var(--color-primary);border-radius:0 2px 2px 0;box-shadow:0 0 8px color-mix(in srgb, var(--color-primary) 50%, transparent)}.cny-sidebar-item.disabled{color:var(--text-muted);pointer-events:none;opacity:.55}.cny-sidebar-item .cny-sidebar-item-icon{width:14px;height:14px;flex-shrink:0;opacity:.75}.cny-sidebar-item .cny-sidebar-item-badge{margin-left:auto;font-size:9.5px;font-weight:700;letter-spacing:.04em;padding:1px 6px;line-height:1.4;text-transform:lowercase}.cny-sidebar{scrollbar-width:thin;scrollbar-color:var(--border-color) rgba(0,0,0,0)}.cny-sidebar::-webkit-scrollbar{width:6px}.cny-sidebar::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.cny-sidebar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.cny-sidebar::-webkit-scrollbar-thumb:hover{background:var(--border-color-strong)}.cny-sidebar.collapsed{width:60px;padding:20px 8px;align-items:center}.cny-sidebar.collapsed .cny-sidebar-title{display:none}.cny-sidebar.collapsed .cny-sidebar-item{justify-content:center;padding:8px}.cny-sidebar.collapsed .cny-sidebar-item span:not(.cny-sidebar-item-icon):not(.cny-sidebar-item-badge){display:none}.cny-sidebar.collapsed .cny-sidebar-item .cny-sidebar-item-badge{display:none}.cny-sidebar.collapsed .cny-sidebar-item.active::before{left:-8px}@media(max-width: 900px){.cny-sidebar.responsive{display:none}}.cny-text{font-family:var(--font-body);color:var(--text-primary);margin:0}.cny-text-display{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:500;line-height:1.05;letter-spacing:-0.03em}.cny-text-h1{font-family:var(--font-display);font-size:clamp(1.875rem,3.2vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-0.025em}.cny-text-h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:500;line-height:1.2;letter-spacing:-0.02em}.cny-text-h3{font-family:var(--font-body);font-size:1.25rem;font-weight:600;line-height:1.3;letter-spacing:-0.015em}.cny-text-h4{font-family:var(--font-body);font-size:1.0625rem;font-weight:600;line-height:1.35;letter-spacing:-0.01em}.cny-text-h5{font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-0.005em}.cny-text-h6{font-family:var(--font-body);font-size:.8125rem;font-weight:600;line-height:1.4;letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.cny-text-lead{font-family:var(--font-body);font-size:1.125rem;font-weight:400;line-height:1.55;color:var(--text-secondary)}.cny-text-body{font-family:var(--font-body);font-size:.9375rem;font-weight:400;line-height:1.6}.cny-text-small{font-family:var(--font-body);font-size:.8125rem;font-weight:400;line-height:1.5;color:var(--text-secondary)}.cny-text-caption{font-family:var(--font-body);font-size:.75rem;font-weight:400;line-height:1.5;color:var(--text-muted)}.cny-text-code{font-family:var(--font-mono);font-size:.8125rem;padding:.1em .35em;border-radius:var(--radius-xs);background:var(--bg-surface-low);color:var(--text-primary)}.cny-text-kbd{font-family:var(--font-mono);font-size:.75rem;padding:.1em .4em;border-radius:var(--radius-xs);background:var(--bg-surface-lowest);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-color),0 1px 0 0 var(--border-color)}.cny-weight-regular{font-weight:400}.cny-weight-medium{font-weight:500}.cny-weight-semibold{font-weight:600}.cny-weight-bold{font-weight:700}.cny-text-left{text-align:left}.cny-text-center{text-align:center}.cny-text-right{text-align:right}.cny-text-justify{text-align:justify}.cny-field{display:flex;flex-direction:column;gap:8px}.cny-field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cny-field-label{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.cny-field-label .cny-field-required{color:var(--color-danger);font-weight:500}.cny-field-label .cny-field-optional{font-size:.6875rem;font-weight:400;color:var(--text-muted);padding:1px 6px;border-radius:var(--radius-full);background:var(--bg-surface-low)}.cny-field-counter{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.cny-field-counter.danger{color:var(--color-danger)}.cny-field-hint{font-size:.75rem;color:var(--text-muted);line-height:1.5}.cny-field-hint.danger{color:var(--color-danger)}.cny-field-hint.warning{color:var(--color-warning)}.cny-field-hint.success{color:var(--color-success)}.cny-input-affix{position:relative;display:flex;align-items:stretch;width:100%}.cny-input-affix .cny-input-prefix,.cny-input-affix .cny-input-suffix{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none}.cny-input-affix .cny-input-prefix{left:12px}.cny-input-affix .cny-input-suffix{right:12px}.cny-input-affix .cny-input-action{position:absolute;top:50%;transform:translateY(-50%);right:6px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--radius-xs);background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer;transition:background-color 120ms,color 120ms}.cny-input-affix .cny-input-action:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-input-affix .cny-input-action:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring-color)}.cny-input-affix.has-prefix>.input{padding-left:calc(12px + 18px + 6px)}.cny-input-affix.has-suffix>.input{padding-right:calc(12px + 18px + 6px)}.cny-input-affix.has-action>.input{padding-right:32px}.cny-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;gap:8px;padding:0 12px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;line-height:1;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cny-select-trigger[data-placeholder]{color:var(--text-muted)}.cny-select-trigger:hover:not([data-disabled]){border-color:var(--border-color-strong)}.cny-select-trigger:focus-visible,.cny-select-trigger[data-state=open]{outline:none;border-color:var(--border-focus);box-shadow:none}.cny-select-trigger[data-disabled]{background:var(--bg-surface-low);color:var(--text-disabled);cursor:not-allowed}.cny-select-trigger.sm{min-height:28px;font-size:.8125rem;padding:0 8px}.cny-select-trigger.lg{min-height:44px;font-size:.9375rem;padding:0 16px}.cny-select-trigger.danger{border-color:var(--color-danger)}.cny-select-trigger.danger:focus-visible,.cny-select-trigger.danger[data-state=open]{border-color:var(--color-danger);box-shadow:none}.cny-select-trigger.warning{border-color:var(--color-warning)}.cny-select-trigger.warning:focus-visible,.cny-select-trigger.warning[data-state=open]{border-color:var(--color-warning);box-shadow:none}.cny-select-trigger.success{border-color:var(--color-success)}.cny-select-trigger.success:focus-visible,.cny-select-trigger.success[data-state=open]{border-color:var(--color-success);box-shadow:none}.cny-select-chevron{color:var(--text-muted);flex-shrink:0;transition:transform 150ms var(--ease-standard)}[data-state=open] .cny-select-chevron{transform:rotate(180deg)}.cny-select-content{z-index:60;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);padding:4px;border-radius:var(--radius-md);background:var(--bg-surface-lowest);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-color);overflow:hidden;animation:cny-select-pop 160ms cubic-bezier(0.2, 0, 0, 1)}@keyframes cny-select-pop{from{opacity:0;transform:translateY(-4px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-select-viewport{padding:2px}.cny-select-item{position:relative;display:flex;align-items:center;gap:8px;padding:6px 28px 6px 10px;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);cursor:pointer;user-select:none}.cny-select-item[data-highlighted]{outline:none;background:var(--bg-surface-low)}.cny-select-item[data-state=checked]{color:var(--color-primary);font-weight:500}.cny-select-item[data-disabled]{color:var(--text-disabled);cursor:not-allowed}.cny-select-indicator{position:absolute;right:8px;display:inline-flex;color:var(--color-primary)}.cny-select-group-label{padding:6px 10px 4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.cny-select-separator{height:1px;background:var(--hairline-color);margin:4px 0}.cny-multiselect-trigger{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;width:100%;min-height:36px;padding:3px 32px 3px 6px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;cursor:text;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cny-multiselect-trigger:hover:not([data-disabled]){border-color:var(--border-color-strong)}.cny-multiselect-trigger[data-state=open],.cny-multiselect-trigger:focus-within{border-color:var(--border-focus);box-shadow:none}.cny-multiselect-trigger[data-disabled]{background:var(--bg-surface-low);color:var(--text-disabled);cursor:not-allowed}.cny-multiselect-trigger.sm{min-height:28px;font-size:.8125rem}.cny-multiselect-trigger.lg{min-height:44px;font-size:.9375rem}.cny-multiselect-trigger.danger{border-color:var(--color-danger)}.cny-multiselect-trigger.danger:focus-within,.cny-multiselect-trigger.danger[data-state=open]{border-color:var(--color-danger);box-shadow:none}.cny-multiselect-trigger.warning{border-color:var(--color-warning)}.cny-multiselect-trigger.warning:focus-within,.cny-multiselect-trigger.warning[data-state=open]{border-color:var(--color-warning);box-shadow:none}.cny-multiselect-trigger.success{border-color:var(--color-success)}.cny-multiselect-trigger.success:focus-within,.cny-multiselect-trigger.success[data-state=open]{border-color:var(--color-success);box-shadow:none}.cny-multiselect-trigger .cny-multiselect-placeholder{color:var(--text-muted);padding:4px 6px}.cny-multiselect-trigger .cny-multiselect-input{flex:1 1 60px;min-width:60px;border:0;outline:none;background:rgba(0,0,0,0);color:inherit;font:inherit;padding:4px 6px}.cny-multiselect-trigger .cny-multiselect-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:transform 150ms var(--ease-standard)}.cny-multiselect-trigger[data-state=open] .cny-multiselect-chevron{transform:translateY(-50%) rotate(180deg)}.cny-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);font-size:.8125rem;line-height:1.3;max-width:100%}.cny-chip .cny-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-chip .cny-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;border-radius:3px;background:rgba(0,0,0,0);color:inherit;cursor:pointer;opacity:.7}.cny-chip .cny-chip-remove:hover{opacity:1;background:hsla(0,0%,100%,.4)}.cny-chip .cny-chip-remove:focus-visible{outline:none;box-shadow:0 0 0 2px currentColor}.cny-chip.danger{background:var(--color-danger-soft);color:var(--color-danger)}.cny-chip.warning{background:var(--color-warning-soft);color:var(--color-warning)}.cny-chip.success{background:var(--color-success-soft);color:var(--color-success)}.cny-chip.neutral{background:var(--bg-surface-low);color:var(--text-secondary)}.cny-popover{z-index:60;min-width:var(--radix-popover-trigger-width);max-width:min(max(var(--radix-popover-trigger-width),320px),var(--radix-popover-content-available-width));max-height:min(320px,var(--radix-popover-content-available-height));padding:4px;border-radius:var(--radius-md);background:var(--bg-surface-lowest);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-color);overflow:hidden;animation:cny-select-pop 160ms cubic-bezier(0.2, 0, 0, 1)}.cny-popover [cmdk-list]{max-height:280px;overflow-y:auto;scrollbar-width:thin;padding:2px}.cny-popover [cmdk-input]{width:100%;margin:2px 0 4px;padding:6px 10px;border:0;outline:none;background:rgba(0,0,0,0);color:var(--text-primary);font-size:.875rem;border-bottom:1px solid var(--hairline-color)}.cny-popover [cmdk-input]::placeholder{color:var(--text-muted)}.cny-popover [cmdk-item]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);cursor:pointer;user-select:none;min-width:0}.cny-popover [cmdk-item]>span:not(.cny-check){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-popover [cmdk-item][data-selected=true]{background:var(--bg-surface-low)}.cny-popover [cmdk-item] .cny-check{margin-left:auto;color:var(--color-primary)}.cny-popover [cmdk-empty]{padding:20px 12px;text-align:center;color:var(--text-muted);font-size:.875rem}.cny-popover [cmdk-group-heading]{padding:6px 10px 4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.cny-textarea-autogrow{display:block;width:100%;resize:none;overflow:hidden}@keyframes cny-dp-pop{from{opacity:0;transform:translateY(-4px) scale(0.985)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-datepicker{position:relative;display:inline-block;width:100%}.cny-datepicker.is-disabled{pointer-events:none}.cny-datepicker-trigger{display:inline-flex;align-items:center;gap:8px;width:100%;text-align:left;cursor:pointer;padding:0 12px}.cny-datepicker-trigger:focus,.cny-datepicker-trigger.is-open{border-color:var(--border-focus)}.cny-datepicker-trigger[disabled]{cursor:not-allowed}.cny-datepicker-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);flex:none;transition:color 140ms ease}.cny-datepicker-trigger:hover .cny-datepicker-icon,.cny-datepicker-trigger.is-open .cny-datepicker-icon{color:var(--border-focus)}.cny-datepicker-trigger.danger .cny-datepicker-icon{color:var(--color-danger)}.cny-datepicker-value{flex:1 1 auto;min-width:0;color:var(--text-primary);font-size:inherit;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.cny-datepicker-value.is-placeholder{color:var(--text-muted)}.cny-datepicker-clear{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color 120ms ease,background-color 120ms ease}.cny-datepicker-clear:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-datepicker-error{display:block;margin-top:6px;font-size:.75rem;color:var(--color-danger);line-height:1.4}.cny-datepicker-panel{position:fixed;z-index:1000;padding:10px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 rgba(15,23,42,.02),0 6px 18px -6px rgba(15,23,42,.14),0 14px 32px -16px rgba(15,23,42,.16);font-family:var(--font-body);color:var(--text-primary);animation:cny-dp-pop 140ms cubic-bezier(0.2, 0.8, 0.2, 1) both}.cny-datepicker-panel.is-date,.cny-datepicker-panel.is-month,.cny-datepicker-panel.is-year{width:264px}.cny-datepicker-panel.is-time{width:208px}.cny-datepicker-panel.is-datetime{width:264px}.cny-datepicker-panel{max-width:calc(100vw - 16px)}@media(prefers-reduced-motion: reduce){.cny-datepicker-panel{animation:none}}.cny-datepicker-body{display:flex;flex-direction:column;gap:8px}.cny-datepicker-header{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:2px}.cny-datepicker-title{font-weight:600;font-size:.8125rem;letter-spacing:-0.003em;color:var(--text-primary);flex:1 1 auto;text-align:center;font-variant-numeric:tabular-nums}.cny-datepicker-title.is-clickable{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:24px;padding:0 8px;background:rgba(0,0,0,0);border:0;border-radius:var(--radius-xs);color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;transition:background-color 120ms ease,color 120ms ease}.cny-datepicker-title.is-clickable::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.5;transition:opacity 120ms ease,transform 120ms ease}.cny-datepicker-title.is-clickable:hover{background:var(--bg-surface-low);color:var(--color-info)}.cny-datepicker-title.is-clickable:hover::after{opacity:1;transform:rotate(45deg) translateY(0)}.cny-datepicker-title.is-clickable:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-datepicker-nav{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;background:rgba(0,0,0,0);color:var(--text-secondary);border-radius:var(--radius-xs);cursor:pointer;transition:background-color 120ms ease,color 120ms ease}.cny-datepicker-nav:hover:not(:disabled){background:var(--bg-surface-low);color:var(--text-primary)}.cny-datepicker-nav:active:not(:disabled){transform:scale(0.92)}.cny-datepicker-nav:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-datepicker-nav:disabled{opacity:.35;cursor:not-allowed}.cny-datepicker-grid{display:grid;gap:1px}.cny-datepicker-weekdays,.cny-datepicker-row{display:grid;grid-template-columns:repeat(7, 1fr);gap:1px}.cny-datepicker-weekday{text-align:center;font-size:.625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:4px 0 6px;line-height:1}.cny-datepicker-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;height:30px;min-width:0;width:100%;border:0;background:rgba(0,0,0,0);color:var(--text-primary);font-size:.8125rem;font-variant-numeric:tabular-nums;border-radius:var(--radius-xs);cursor:pointer;transition:background-color 100ms ease,color 100ms ease}.cny-datepicker-cell:hover:not(:disabled):not(.is-selected){background:var(--bg-surface-low)}.cny-datepicker-cell:focus-visible{outline:2px solid var(--border-focus);outline-offset:-1px;z-index:1}.cny-datepicker-cell.is-outside{color:var(--text-muted);opacity:.5}.cny-datepicker-cell.is-today:not(.is-selected){color:var(--color-info);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-info) 35%, transparent)}.cny-datepicker-cell.is-today:not(.is-selected)::after{content:"";position:absolute;bottom:3px;left:50%;width:3px;height:3px;border-radius:50%;background:currentColor;transform:translateX(-50%)}.cny-datepicker-cell.is-selected{background:var(--color-info);color:var(--color-info-on);font-weight:600}.cny-datepicker-cell:disabled{color:var(--text-disabled);cursor:not-allowed;opacity:.4}.cny-datepicker-chip-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:4px;padding:2px 0}.cny-datepicker-chip{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 8px;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--text-primary);font-size:.8125rem;font-variant-numeric:tabular-nums;border-radius:var(--radius-xs);cursor:pointer;transition:background-color 120ms ease,color 120ms ease}.cny-datepicker-chip:hover:not(:disabled):not(.is-selected){background:var(--bg-surface-low)}.cny-datepicker-chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:-1px}.cny-datepicker-chip.is-outside{color:var(--text-muted);opacity:.55}.cny-datepicker-chip.is-current{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-info) 40%, transparent);color:var(--color-info);font-weight:600}.cny-datepicker-chip.is-selected{background:var(--color-info);color:var(--color-info-on);font-weight:600;box-shadow:none}.cny-datepicker-chip:disabled{color:var(--text-disabled);cursor:not-allowed;opacity:.4}.cny-dp-time{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0 2px}.cny-datepicker-panel.is-datetime .cny-dp-time{padding-top:8px;border-top:1px solid var(--hairline-color, var(--border-color))}.cny-dp-time-row{display:inline-flex;align-items:center;gap:4px}.cny-dp-time-sep{font-size:1rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;padding:0 1px;user-select:none;line-height:1;transform:translateY(-1px)}.cny-dp-timefield{display:inline-flex;align-items:stretch;height:30px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-xs);overflow:hidden;transition:border-color 120ms ease,box-shadow 120ms ease}.cny-dp-timefield:hover{border-color:var(--border-color-strong, var(--border-color))}.cny-dp-timefield:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--border-focus) 18%, transparent)}.cny-dp-timefield-input{width:32px;height:100%;padding:0 2px;text-align:center;font-family:var(--font-body);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);background:rgba(0,0,0,0);border:0;outline:none;line-height:1;-moz-appearance:textfield}.cny-dp-timefield-input::-webkit-outer-spin-button,.cny-dp-timefield-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cny-dp-timefield-input::selection{background:color-mix(in srgb, var(--color-info) 30%, transparent)}.cny-dp-timefield-controls{display:flex;flex-direction:column;border-left:1px solid var(--hairline-color, var(--border-color))}.cny-dp-timefield-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;width:18px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer;transition:background-color 100ms ease,color 100ms ease}.cny-dp-timefield-btn:first-child{border-bottom:1px solid var(--hairline-color, var(--border-color))}.cny-dp-timefield-btn:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-dp-timefield-btn:active{background:var(--bg-surface-edge, var(--bg-surface-low))}.cny-dp-ampm{display:inline-flex;align-items:center;margin-left:6px;padding:2px;background:var(--bg-surface-low);border:1px solid var(--hairline-color, var(--border-color));border-radius:var(--radius-xs)}.cny-dp-ampm-btn{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:26px;padding:0 6px;font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);background:rgba(0,0,0,0);border:0;border-radius:2px;cursor:pointer;transition:background-color 120ms ease,color 120ms ease}.cny-dp-ampm-btn:hover:not(.is-active){color:var(--text-primary)}.cny-dp-ampm-btn.is-active{background:var(--bg-surface-lowest);color:var(--color-info);box-shadow:0 1px 2px rgba(15,23,42,.08),inset 0 0 0 1px var(--hairline-color, var(--border-color))}.cny-dp-ampm-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-datepicker-footer{display:flex;align-items:center;gap:4px;margin-top:8px;padding-top:6px;border-top:1px solid var(--hairline-color, var(--border-color))}.cny-datepicker-footer-spacer{flex:1 1 auto}.cny-datepicker-action{border:0;background:rgba(0,0,0,0);color:var(--color-info);font-family:var(--font-body);font-size:.75rem;font-weight:500;padding:4px 8px;border-radius:var(--radius-xs);cursor:pointer;transition:background-color 120ms ease}.cny-datepicker-action:hover:not(:disabled){background:color-mix(in srgb, var(--color-info) 10%, transparent)}.cny-datepicker-action:disabled{color:var(--text-disabled);cursor:not-allowed}.cny-datepicker-action:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-datepicker-action.is-primary{background:var(--color-info);color:var(--color-info-on);padding:4px 10px;font-weight:600}.cny-datepicker-action.is-primary:hover:not(:disabled){background:var(--color-info-hover, var(--color-info));filter:brightness(1.05)}@keyframes cny-cmdk-fade{from{opacity:0}to{opacity:1}}@keyframes cny-cmdk-pop{from{opacity:0;transform:translate(-50%, 6px) scale(0.97)}to{opacity:1;transform:translate(-50%, 0) scale(1)}}.cny-cmdk-trigger{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 6px 0 14px;min-width:240px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-surface-low);color:var(--text-muted);font:inherit;font-size:.8125rem;cursor:pointer;transition:background-color 160ms,border-color 160ms,color 160ms,box-shadow 160ms}.cny-cmdk-trigger>svg{flex-shrink:0;opacity:.75}.cny-cmdk-trigger:hover{background:var(--bg-surface-edge);border-color:color-mix(in srgb, var(--color-primary) 24%, var(--border-color-strong, var(--border-color)));color:var(--text-secondary);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 6%, transparent)}.cny-cmdk-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 65%, transparent);outline-offset:2px}.cny-cmdk-trigger-label{flex:1;text-align:left}.cny-cmdk-trigger-kbd{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:999px;background:var(--bg-surface-lowest);color:var(--text-secondary);font-family:var(--font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.02em;box-shadow:inset 0 0 0 1px var(--hairline-color)}[cmdk-overlay],[data-cmdk-overlay]{position:fixed;inset:0;background:rgba(9,9,11,.55);z-index:1000;animation:cny-cmdk-fade 160ms ease-out;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.cny-dark [cmdk-overlay],.cny-dark [data-cmdk-overlay]{background:rgba(0,0,0,.7)}[cmdk-dialog],.cny-cmdk-content{position:fixed;top:12vh;left:50%;transform:translateX(-50%);width:min(580px,100vw - 32px);max-height:70vh;display:flex;flex-direction:column;border-radius:var(--radius-md);background:var(--bg-surface-lowest);box-shadow:var(--shadow-lg, 0 24px 60px -24px rgba(0, 0, 0, 0.45)),0 0 0 1px var(--border-color);z-index:1001;overflow:hidden;animation:cny-cmdk-pop 200ms cubic-bezier(0.2, 0, 0, 1)}.cny-cmdk-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hairline-color);color:var(--text-muted)}.cny-cmdk-header [cmdk-input]{flex:1;border:0;background:rgba(0,0,0,0);font:inherit;font-size:.9375rem;color:var(--text-primary);outline:none}.cny-cmdk-header [cmdk-input]::placeholder{color:var(--text-muted)}.cny-cmdk-esc{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;background:var(--bg-surface-low);color:var(--text-muted);font-family:var(--font-mono);font-size:.6875rem;box-shadow:inset 0 0 0 1px var(--border-color)}.cny-cmdk-list{overflow-y:auto;padding:8px;scrollbar-width:thin}.cny-cmdk-empty{padding:28px 12px;text-align:center;color:var(--text-muted);font-size:.875rem}.cny-cmdk-group{padding-bottom:8px}.cny-cmdk-group [cmdk-group-heading]{padding:8px 10px 6px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.cny-cmdk-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-primary);font-size:.875rem;transition:background-color 80ms;position:relative}.cny-cmdk-item-icon{display:inline-flex;align-items:center;color:var(--text-muted);flex-shrink:0}.cny-cmdk-item[data-selected=true]{background:color-mix(in srgb, var(--color-primary) 12%, var(--bg-surface-low))}.cny-cmdk-item[data-selected=true] .cny-cmdk-item-icon{color:var(--color-primary)}.cny-cmdk-item[data-selected=true]::after{content:"↵";position:absolute;right:14px;font-family:var(--font-mono);font-size:11px;color:var(--color-primary);opacity:.7}.cny-cmdk-item[data-disabled=true]{color:var(--text-disabled);pointer-events:none;opacity:.55}.cny-cmdk-item-label{flex:1}.cny-cmdk-item-hint{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);padding:2px 6px;border-radius:4px;background:var(--bg-surface-lowest)}.cny-cmdk-item[data-selected=true] .cny-cmdk-item-hint{display:none}.cny-cmdk-item-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.cny-cmdk-footer{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--hairline-color);color:var(--text-muted);font-size:.75rem}.cny-cmdk-footer kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:3px;background:var(--bg-surface-low);color:var(--text-secondary);font-family:var(--font-mono);font-size:.625rem;box-shadow:inset 0 0 0 1px var(--border-color)}@keyframes cny-toast-in-right{from{opacity:0;transform:translate(8px, 0)}to{opacity:1;transform:translate(0, 0)}}@keyframes cny-toast-in-left{from{opacity:0;transform:translate(-8px, 0)}to{opacity:1;transform:translate(0, 0)}}@keyframes cny-toast-in-top{from{opacity:0;transform:translate(0, -8px)}to{opacity:1;transform:translate(0, 0)}}@keyframes cny-toast-in-bottom{from{opacity:0;transform:translate(0, 10px) scale(0.985)}to{opacity:1;transform:translate(0, 0) scale(1)}}@keyframes cny-toast-out{from{opacity:1;transform:translate(0, 0)}to{opacity:0;transform:translate(0, -6px) scale(0.97)}}@keyframes cny-toast-spin{to{transform:rotate(360deg)}}.cny-toast-viewport{--cny-toast-offset: 1rem;position:fixed;z-index:1100;display:flex;flex-direction:column;gap:12px;padding:0;margin:0;list-style:none;pointer-events:none;width:min(360px,100vw - var(--cny-toast-offset)*2)}.cny-toast-viewport>*{pointer-events:auto}.cny-toast-viewport.pos-bottom-right{right:var(--cny-toast-offset);bottom:var(--cny-toast-offset);align-items:flex-end}.cny-toast-viewport.pos-bottom-left{left:var(--cny-toast-offset);bottom:var(--cny-toast-offset);align-items:flex-start}.cny-toast-viewport.pos-bottom-center{left:50%;bottom:var(--cny-toast-offset);transform:translateX(-50%);align-items:center}.cny-toast-viewport.pos-top-right{right:var(--cny-toast-offset);top:var(--cny-toast-offset);align-items:flex-end}.cny-toast-viewport.pos-top-left{left:var(--cny-toast-offset);top:var(--cny-toast-offset);align-items:flex-start}.cny-toast-viewport.pos-top-center{left:50%;top:var(--cny-toast-offset);transform:translateX(-50%);align-items:center}.cny-toast{--toast-accent: var(--color-primary);position:relative;display:flex;align-items:center;gap:14px;width:min(360px,100%);min-height:80px;padding:14px 16px 14px 28px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);border-radius:10px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(149,157,165,.18);font-family:var(--font-body);font-size:.875rem;line-height:1.5;overflow:hidden;pointer-events:auto;transition:transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1),box-shadow 200ms cubic-bezier(0.2, 0.8, 0.2, 1);animation:cny-toast-in-bottom 220ms cubic-bezier(0.2, 0.8, 0.2, 1) both}.cny-toast:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(15,23,42,.04),0 14px 32px rgba(149,157,165,.24)}.cny-toast-viewport.pos-bottom-right .cny-toast,.cny-toast-viewport.pos-top-right .cny-toast{animation-name:cny-toast-in-right}.cny-toast-viewport.pos-bottom-left .cny-toast,.cny-toast-viewport.pos-top-left .cny-toast{animation-name:cny-toast-in-left}.cny-toast-viewport.pos-top-center .cny-toast,.cny-toast-viewport.pos-top-right .cny-toast,.cny-toast-viewport.pos-top-left .cny-toast{animation-name:cny-toast-in-top}.cny-toast.is-exiting{animation:cny-toast-out 200ms cubic-bezier(0.4, 0, 1, 1) both}@media(prefers-reduced-motion: reduce){.cny-toast{animation:none}.cny-toast.is-exiting{animation:none;opacity:0}}.cny-toast.success{--toast-accent: var(--color-success)}.cny-toast.info{--toast-accent: var(--color-info)}.cny-toast.warning{--toast-accent: var(--color-warning)}.cny-toast.danger{--toast-accent: var(--color-danger)}.cny-toast.loading{--toast-accent: var(--color-primary)}.cny-toast::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background-color:color-mix(in srgb, var(--toast-accent) 23%, transparent);mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' preserveAspectRatio='none'><path d='M0,0 L80,0 C20,20 20,60 80,80 L0,80 Z'/></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' preserveAspectRatio='none'><path d='M0,0 L80,0 C20,20 20,60 80,80 L0,80 Z'/></svg>");mask-repeat:repeat-y;-webkit-mask-repeat:repeat-y;mask-size:18px 80px;-webkit-mask-size:18px 80px;pointer-events:none}.cny-toast-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb, var(--toast-accent) 26%, transparent);color:var(--toast-accent);position:relative;z-index:1}.cny-toast-icon>svg{width:18px;height:18px}.cny-toast-spin{animation:cny-toast-spin 1s linear infinite}@media(prefers-reduced-motion: reduce){.cny-toast-spin{animation:none}}.cny-toast-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:1}.cny-toast-title{font-weight:700;letter-spacing:-0.01em;line-height:1.25;margin:0;color:var(--toast-accent);font-size:16px;text-align:center;cursor:default}.cny-toast-description{margin:4px 0 0;color:var(--text-muted);font-size:13.5px;line-height:1.45;text-align:center;cursor:default}.cny-toast-action{flex:none;display:inline-flex;align-items:center;align-self:center;position:relative;z-index:1}.cny-toast-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:rgba(0,0,0,0);border:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color 140ms ease,background-color 140ms ease,transform 140ms ease;position:relative;z-index:1}.cny-toast-close>svg{width:16px;height:16px}.cny-toast-close:hover{color:var(--text-primary);background:color-mix(in srgb, var(--toast-accent) 8%, var(--bg-surface-low));transform:scale(1.04)}.cny-toast-close:active{transform:scale(0.96)}.cny-toast-close:focus-visible{outline:2px solid var(--toast-accent);outline-offset:2px}@media(max-width: 480px){.cny-toast-viewport{--cny-toast-offset: 12px;width:calc(100vw - var(--cny-toast-offset)*2)}.cny-toast{width:100%;min-height:64px;padding:12px 14px 12px 26px;gap:12px;border-radius:9px}.cny-toast::before{width:14px;mask-size:14px 64px;-webkit-mask-size:14px 64px}.cny-toast-icon{width:32px;height:32px}.cny-toast-icon>svg{width:16px;height:16px}.cny-toast-title{font-size:15px}.cny-toast-description{font-size:12.5px}.cny-toast-close{width:24px;height:24px}.cny-toast-close>svg{width:14px;height:14px}}@keyframes cny-dialog-overlay-in{from{opacity:0}to{opacity:1}}@keyframes cny-dialog-content-in{from{opacity:0;transform:translate(-50%, -48%) scale(0.97)}to{opacity:1;transform:translate(-50%, -50%) scale(1)}}.cny-dialog-overlay{position:fixed;inset:0;background:rgba(9,9,11,.55);z-index:1000;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:cny-dialog-overlay-in 160ms ease-out}.cny-dark .cny-dialog-overlay{background:rgba(0,0,0,.7)}.cny-dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:1001;display:flex;flex-direction:column;max-height:calc(100vh - 32px);background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 24px 60px -24px rgba(0,0,0,.45),0 0 0 1px var(--border-color);font-family:var(--font-body);color:var(--text-primary);animation:cny-dialog-content-in 200ms cubic-bezier(0.2, 0, 0, 1);outline:none;overflow:hidden}.cny-dialog-content.size-sm{width:min(420px,100vw - 32px)}.cny-dialog-content.size-md{width:min(560px,100vw - 32px)}.cny-dialog-content.size-lg{width:min(760px,100vw - 32px)}.cny-dialog-content.size-xl{width:min(960px,100vw - 32px)}.cny-dialog-content.size-full{width:calc(100vw - 32px);height:calc(100vh - 32px)}.cny-dialog-header{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--hairline-color)}.cny-dialog-titles{flex:1 1 auto;min-width:0}.cny-dialog-title{margin:0;font-size:1rem;font-weight:650;letter-spacing:-0.005em;color:var(--text-primary)}.cny-dialog-description{margin:4px 0 0;font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.cny-dialog-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(0,0,0,0);border:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color 120ms ease,background-color 120ms ease}.cny-dialog-close:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-dialog-close:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-dialog-body{flex:1 1 auto;overflow-y:auto;padding:18px 20px;font-size:.9375rem;line-height:1.6;color:var(--text-secondary)}.cny-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--hairline-color);background:var(--bg-surface-lowest)}@media(prefers-reduced-motion: reduce){.cny-dialog-overlay,.cny-dialog-content{animation:none}}.cny-confirm-message{margin:0;font-family:var(--font-body);font-size:.875rem;line-height:1.5;color:var(--text-secondary)}@keyframes cny-drawer-overlay-in{from{opacity:0}to{opacity:1}}@keyframes cny-drawer-in-right{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes cny-drawer-in-left{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes cny-drawer-in-top{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes cny-drawer-in-bottom{from{transform:translateY(100%)}to{transform:translateY(0)}}.cny-drawer-overlay{position:fixed;inset:0;background:rgba(9,9,11,.55);z-index:1000;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:cny-drawer-overlay-in 160ms ease-out}.cny-dark .cny-drawer-overlay{background:rgba(0,0,0,.7)}.cny-drawer-content{position:fixed;z-index:1001;display:flex;flex-direction:column;background:var(--bg-surface-lowest);border:1px solid var(--border-color);box-shadow:0 24px 60px -24px rgba(0,0,0,.45);font-family:var(--font-body);color:var(--text-primary);outline:none}.cny-drawer-content.side-right{top:0;right:0;bottom:0;border-left:1px solid var(--border-color);animation:cny-drawer-in-right 240ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-drawer-content.side-right.size-sm{width:min(320px,90vw)}.cny-drawer-content.side-right.size-md{width:min(420px,90vw)}.cny-drawer-content.side-right.size-lg{width:min(560px,92vw)}.cny-drawer-content.side-right.size-xl{width:min(720px,96vw)}.cny-drawer-content.side-left{top:0;left:0;bottom:0;border-right:1px solid var(--border-color);animation:cny-drawer-in-left 240ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-drawer-content.side-left.size-sm{width:min(320px,90vw)}.cny-drawer-content.side-left.size-md{width:min(420px,90vw)}.cny-drawer-content.side-left.size-lg{width:min(560px,92vw)}.cny-drawer-content.side-left.size-xl{width:min(720px,96vw)}.cny-drawer-content.side-top{top:0;left:0;right:0;border-bottom:1px solid var(--border-color);animation:cny-drawer-in-top 240ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-drawer-content.side-top.size-sm{height:min(40vh,320px)}.cny-drawer-content.side-top.size-md{height:min(50vh,480px)}.cny-drawer-content.side-top.size-lg{height:min(60vh,640px)}.cny-drawer-content.side-top.size-xl{height:min(80vh,800px)}.cny-drawer-content.side-bottom{bottom:0;left:0;right:0;border-top:1px solid var(--border-color);animation:cny-drawer-in-bottom 240ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-drawer-content.side-bottom.size-sm{height:min(40vh,320px)}.cny-drawer-content.side-bottom.size-md{height:min(50vh,480px)}.cny-drawer-content.side-bottom.size-lg{height:min(60vh,640px)}.cny-drawer-content.side-bottom.size-xl{height:min(80vh,800px)}.cny-drawer-header{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--hairline-color)}.cny-drawer-titles{flex:1 1 auto;min-width:0}.cny-drawer-title{margin:0;font-size:1rem;font-weight:650;letter-spacing:-0.005em;color:var(--text-primary)}.cny-drawer-description{margin:4px 0 0;font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.cny-drawer-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(0,0,0,0);border:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color 120ms ease,background-color 120ms ease}.cny-drawer-close:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-drawer-close:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-drawer-body{flex:1 1 auto;overflow-y:auto;padding:18px 20px;color:var(--text-secondary)}.cny-drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--hairline-color)}@media(prefers-reduced-motion: reduce){.cny-drawer-overlay,.cny-drawer-content{animation:none}}@keyframes cny-menu-in{from{opacity:0;transform:translateY(-4px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-menu-content{z-index:1010;display:flex;flex-direction:column;gap:1px;min-width:180px;padding:4px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 rgba(15,23,42,.04),0 8px 24px -8px rgba(15,23,42,.2);font-family:var(--font-body);outline:none;animation:cny-menu-in 140ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-menu-content.size-sm{min-width:140px;padding:3px}.cny-menu-content[data-side=top]{transform-origin:bottom}.cny-menu-content[data-side=bottom]{transform-origin:top}.cny-menu-content[data-side=left]{transform-origin:right}.cny-menu-content[data-side=right]{transform-origin:left}.cny-menu-item{display:flex;align-items:center;gap:10px;padding:7px 10px;font-size:.875rem;color:var(--text-primary);border-radius:var(--radius-xs);cursor:pointer;outline:none;user-select:none;position:relative;white-space:nowrap}.cny-menu-content.size-sm .cny-menu-item{padding:6px 8px;font-size:.8125rem}.cny-menu-item-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-muted)}.cny-menu-item-label{flex:1 1 auto}.cny-menu-item-shortcut{flex:none;margin-left:16px;font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);letter-spacing:.02em}.cny-menu-item-chevron{flex:none;display:inline-flex;color:var(--text-muted)}.cny-menu-item[data-highlighted]{background:color-mix(in srgb, var(--color-primary) 10%, var(--bg-surface-low));color:var(--text-primary)}.cny-menu-item[data-highlighted] .cny-menu-item-icon,.cny-menu-item[data-highlighted] .cny-menu-item-chevron{color:var(--color-primary)}.cny-menu-item[data-disabled]{color:var(--text-disabled);cursor:not-allowed;pointer-events:none}.cny-menu-item.is-destructive{color:var(--color-danger)}.cny-menu-item.is-destructive .cny-menu-item-icon{color:var(--color-danger)}.cny-menu-item.is-destructive[data-highlighted]{background:color-mix(in srgb, var(--color-danger) 10%, var(--bg-surface-low));color:var(--color-danger)}.cny-menu-label{padding:8px 10px 4px;font-size:.6875rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.cny-menu-separator{height:1px;background:var(--hairline-color);margin:4px -1px}@media(prefers-reduced-motion: reduce){.cny-menu-content{animation:none}}@keyframes cny-tooltip-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}.cny-tooltip-content{z-index:1020;padding:5px 9px;background:var(--text-primary);color:var(--bg-surface-lowest);border-radius:var(--radius-xs);font-family:var(--font-body);font-size:.75rem;font-weight:500;line-height:1.35;letter-spacing:-0.005em;max-width:240px;box-shadow:0 6px 18px -6px rgba(0,0,0,.25);animation:cny-tooltip-in 120ms cubic-bezier(0.2, 0.8, 0.2, 1);user-select:none;pointer-events:none}.cny-tooltip-content[data-side=top]{transform-origin:bottom center}.cny-tooltip-content[data-side=bottom]{transform-origin:top center}.cny-tooltip-content[data-side=left]{transform-origin:right center}.cny-tooltip-content[data-side=right]{transform-origin:left center}.cny-tooltip-arrow{fill:var(--text-primary)}@media(prefers-reduced-motion: reduce){.cny-tooltip-content{animation:none}}@keyframes cny-popover-in{from{opacity:0;transform:translateY(-4px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-popover-content{z-index:1010;padding:14px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 rgba(15,23,42,.04),0 12px 28px -12px rgba(15,23,42,.22);font-family:var(--font-body);color:var(--text-primary);outline:none;animation:cny-popover-in 160ms cubic-bezier(0.2, 0.8, 0.2, 1);max-width:calc(100vw - 16px)}.cny-popover-content[data-side=top]{transform-origin:bottom}.cny-popover-content[data-side=bottom]{transform-origin:top}.cny-popover-content[data-side=left]{transform-origin:right}.cny-popover-content[data-side=right]{transform-origin:left}.cny-popover-arrow{fill:var(--bg-surface-lowest);stroke:var(--border-color);stroke-width:1px}@media(prefers-reduced-motion: reduce){.cny-popover-content{animation:none}}.cny-chip{--chip-color: var(--text-secondary);--chip-bg: var(--bg-surface-low);--chip-border: var(--hairline-color);display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-family:var(--font-body);font-size:.75rem;font-weight:550;letter-spacing:-0.005em;white-space:nowrap;background:var(--chip-bg);color:var(--chip-color);border:1px solid var(--chip-border);transition:background-color 140ms ease,border-color 140ms ease,transform 140ms ease;user-select:none}.cny-chip.sm{height:22px;padding:0 8px;font-size:.6875rem;gap:4px}.cny-chip-icon,.cny-chip-avatar{display:inline-flex;align-items:center;flex:none}.cny-chip-avatar{margin-left:-4px}.cny-chip-label{line-height:1}.cny-chip-delete{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:-4px;background:rgba(0,0,0,0);border:0;border-radius:50%;color:currentColor;opacity:.6;cursor:pointer;transition:opacity 120ms ease,background-color 120ms ease}.cny-chip-delete:hover{opacity:1;background:color-mix(in srgb, var(--chip-color) 15%, transparent)}.cny-chip-delete:focus-visible{outline:2px solid var(--chip-color);outline-offset:1px}.sm .cny-chip-delete{width:14px;height:14px;margin-right:-3px}.cny-chip.is-interactive{cursor:pointer}.cny-chip.is-interactive:hover{transform:translateY(-1px)}.cny-chip.is-interactive:active{transform:translateY(0)}.cny-chip.is-interactive:focus-visible{outline:2px solid color-mix(in srgb, var(--chip-color) 60%, transparent);outline-offset:2px}.cny-chip.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.cny-chip.primary{--chip-color: var(--color-primary);--chip-bg: color-mix(in srgb, var(--color-primary) 10%, transparent);--chip-border: color-mix(in srgb, var(--color-primary) 22%, transparent)}.cny-chip.success{--chip-color: var(--color-success);--chip-bg: color-mix(in srgb, var(--color-success) 10%, transparent);--chip-border: color-mix(in srgb, var(--color-success) 24%, transparent)}.cny-chip.info{--chip-color: var(--color-info);--chip-bg: color-mix(in srgb, var(--color-info) 10%, transparent);--chip-border: color-mix(in srgb, var(--color-info) 24%, transparent)}.cny-chip.warning{--chip-color: var(--color-warning);--chip-bg: color-mix(in srgb, var(--color-warning) 12%, transparent);--chip-border: color-mix(in srgb, var(--color-warning) 26%, transparent)}.cny-chip.danger{--chip-color: var(--color-danger);--chip-bg: color-mix(in srgb, var(--color-danger) 10%, transparent);--chip-border: color-mix(in srgb, var(--color-danger) 26%, transparent)}.cny-chip.outline{background:rgba(0,0,0,0)}.cny-chip.solid.primary{background:var(--color-primary);color:var(--color-primary-on, #fff);border-color:var(--color-primary)}.cny-chip.solid.success{background:var(--color-success);color:var(--color-success-on, #fff);border-color:var(--color-success)}.cny-chip.solid.info{background:var(--color-info);color:var(--color-info-on, #fff);border-color:var(--color-info)}.cny-chip.solid.warning{background:var(--color-warning);color:var(--color-warning-on, #fff);border-color:var(--color-warning)}.cny-chip.solid.danger{background:var(--color-danger);color:var(--color-danger-on, #fff);border-color:var(--color-danger)}.cny-chip.solid.default{background:var(--text-primary);color:var(--bg-surface-lowest);border-color:var(--text-primary)}.cny-badge{position:relative;display:inline-flex;vertical-align:middle}.cny-badge-standalone{display:inline-flex}.cny-badge-indicator{--badge-bg: var(--color-danger);--badge-fg: var(--color-danger-on);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;font-family:var(--font-body);font-size:.6875rem;font-weight:600;line-height:1;color:var(--badge-fg);background:var(--badge-bg)}.cny-badge-dot{min-width:8px;width:8px;height:8px;padding:0}.cny-badge-top-right{position:absolute;top:0;right:0;transform:translate(50%, -50%)}.cny-badge-top-left{position:absolute;top:0;left:0;transform:translate(-50%, -50%)}.cny-badge-bottom-right{position:absolute;bottom:0;right:0;transform:translate(50%, 50%)}.cny-badge-bottom-left{position:absolute;bottom:0;left:0;transform:translate(-50%, 50%)}.cny-badge-primary{--badge-bg: var(--color-primary);--badge-fg: var(--color-primary-on)}.cny-badge-success{--badge-bg: var(--color-success);--badge-fg: var(--color-success-on)}.cny-badge-warning{--badge-bg: var(--color-warning);--badge-fg: var(--color-warning-on)}.cny-badge-danger{--badge-bg: var(--color-danger);--badge-fg: var(--color-danger-on)}.cny-badge-info{--badge-bg: var(--color-info);--badge-fg: var(--color-info-on)}.cny-badge-neutral{--badge-bg: var(--color-neutral);--badge-fg: var(--color-neutral-on)}.cny-timeline{--tl-dot: 14px;--tl-dot-icon: 24px;--tl-glyph: 14px;--tl-line: 2px;--tl-font: 0.875rem;list-style:none;margin:0;padding:0}.cny-timeline-sm{--tl-dot: 10px;--tl-dot-icon: 20px;--tl-glyph: 12px;--tl-line: 2px;--tl-font: 0.8125rem}.cny-timeline-lg{--tl-dot: 18px;--tl-dot-icon: 30px;--tl-glyph: 18px;--tl-line: 3px;--tl-font: 0.9375rem}.cny-timeline-item{display:flex;align-items:stretch;gap:12px;min-height:44px}.cny-timeline-separator{display:flex;flex-direction:column;align-items:center;flex:none}.cny-timeline-dot{--dot-color: var(--color-neutral);--dot-soft: var(--bg-surface-low);display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--tl-dot);height:var(--tl-dot);border-radius:9999px;color:var(--text-on-solid);font-size:.7rem;font-weight:600}.cny-timeline-dot-icon{width:var(--tl-dot-icon);height:var(--tl-dot-icon)}.cny-timeline-dot-icon svg{width:var(--tl-glyph);height:var(--tl-glyph)}.cny-timeline-dot-filled{background:var(--dot-color)}.cny-timeline-dot-outlined{background:rgba(0,0,0,0);border:2px solid var(--dot-color);color:var(--dot-color)}.cny-timeline-dot-soft{background:var(--dot-soft);color:var(--dot-color)}.cny-timeline-dot-primary{--dot-color: var(--color-primary);--dot-soft: var(--color-primary-soft)}.cny-timeline-dot-success{--dot-color: var(--color-success);--dot-soft: var(--color-success-soft)}.cny-timeline-dot-warning{--dot-color: var(--color-warning);--dot-soft: var(--color-warning-soft)}.cny-timeline-dot-danger{--dot-color: var(--color-danger);--dot-soft: var(--color-danger-soft)}.cny-timeline-dot-info{--dot-color: var(--color-info);--dot-soft: var(--color-info-soft)}.cny-timeline-dot-neutral{--dot-color: var(--color-neutral);--dot-soft: var(--bg-surface-low)}.cny-timeline-dot-active{animation:cny-timeline-pulse 1.8s ease-out infinite}@keyframes cny-timeline-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--dot-color) 45%, transparent)}70%,100%{box-shadow:0 0 0 9px color-mix(in srgb, var(--dot-color) 0%, transparent)}}@media(prefers-reduced-motion: reduce){.cny-timeline-dot-active{animation:none;box-shadow:0 0 0 4px var(--dot-soft)}}.cny-timeline-connector{--conn-color: var(--hairline-color);flex:1 1 auto;width:var(--tl-line);min-height:12px;margin:4px 0;border-radius:9999px;background:var(--conn-color)}.cny-timeline-connector-primary{--conn-color: var(--color-primary)}.cny-timeline-connector-success{--conn-color: var(--color-success)}.cny-timeline-connector-warning{--conn-color: var(--color-warning)}.cny-timeline-connector-danger{--conn-color: var(--color-danger)}.cny-timeline-connector-info{--conn-color: var(--color-info)}.cny-timeline-connector-neutral{--conn-color: var(--color-neutral)}.cny-timeline-connector-dashed{border-radius:0;background:repeating-linear-gradient(to bottom, var(--conn-color) 0 5px, transparent 5px 9px)}.cny-timeline-connector-dotted{border-radius:0;background:repeating-linear-gradient(to bottom, var(--conn-color) 0 2px, transparent 2px 6px)}.cny-timeline-content{flex:1;min-width:0;padding-bottom:16px;font-family:var(--font-body);font-size:var(--tl-font);color:var(--text-primary)}.cny-timeline-content-card{padding:12px 16px;margin-bottom:16px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-surface-lowest)}.cny-timeline-content-elevated{border-color:rgba(0,0,0,0);box-shadow:var(--shadow-md)}.cny-timeline-content-accent{--accent: var(--color-neutral);border-inline-start:3px solid var(--accent)}.cny-timeline-content-accent-primary{--accent: var(--color-primary)}.cny-timeline-content-accent-success{--accent: var(--color-success)}.cny-timeline-content-accent-warning{--accent: var(--color-warning)}.cny-timeline-content-accent-danger{--accent: var(--color-danger)}.cny-timeline-content-accent-info{--accent: var(--color-info)}.cny-timeline-content-accent-neutral{--accent: var(--color-neutral)}.cny-timeline-opposite-content{flex:1;min-width:0;padding-bottom:16px;font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted);text-align:right}.cny-timeline-item:last-child .cny-timeline-connector{display:none}.cny-timeline-item:has(.cny-timeline-content-card) .cny-timeline-separator{padding-top:12px}.cny-timeline-left .cny-timeline-item{flex-direction:row-reverse}.cny-timeline-left .cny-timeline-opposite-content{text-align:left}.cny-timeline-alternate .cny-timeline-item:nth-child(even){flex-direction:row-reverse}.cny-timeline-alternate .cny-timeline-item:nth-child(even) .cny-timeline-opposite-content{text-align:left}.cny-timeline-alternate .cny-timeline-item:not(:has(.cny-timeline-opposite-content))::before{content:"";flex:1;min-width:0}.cny-timeline-horizontal{display:flex;flex-direction:row;align-items:flex-start;width:100%}.cny-timeline-horizontal .cny-timeline-item{flex:1 1 0;flex-direction:column;align-items:center;text-align:center;min-height:0}.cny-timeline-horizontal .cny-timeline-separator{position:relative;flex-direction:row;align-items:center;justify-content:center;width:100%}.cny-timeline-horizontal .cny-timeline-dot{position:relative;z-index:1;width:calc(var(--tl-dot-icon) + 4px);height:calc(var(--tl-dot-icon) + 4px);font-size:.8rem}.cny-timeline-horizontal .cny-timeline-dot.cny-timeline-dot-icon svg{width:calc(var(--tl-glyph) + 2px);height:calc(var(--tl-glyph) + 2px)}.cny-timeline-horizontal .cny-timeline-connector{position:absolute;top:50%;left:calc(50% + var(--tl-dot-icon)/2 + 6px);width:calc(100% - var(--tl-dot-icon) - 12px);height:var(--tl-line);min-height:0;margin:0;transform:translateY(-50%)}.cny-timeline-horizontal .cny-timeline-connector-dashed{background:repeating-linear-gradient(to right, var(--conn-color) 0 5px, transparent 5px 9px)}.cny-timeline-horizontal .cny-timeline-connector-dotted{background:repeating-linear-gradient(to right, var(--conn-color) 0 2px, transparent 2px 6px)}.cny-timeline-horizontal .cny-timeline-content{max-width:16ch;margin-inline:auto;padding:12px 8px 0;font-size:var(--tl-font);line-height:1.35;text-wrap:balance}.cny-timeline-horizontal .cny-timeline-content-card{max-width:none;text-align:start}.cny-timeline-horizontal .cny-timeline-opposite-content{max-width:16ch;margin-inline:auto;padding:0 8px 8px;text-align:center}.cny-tree{list-style:none;margin:0;padding:0;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary)}.cny-tree-group{list-style:none;margin:0;padding:0;padding-inline-start:16px;animation:cny-tree-reveal 150ms ease}@keyframes cny-tree-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion: reduce){.cny-tree-group{animation:none}}.cny-tree-item{outline:none}.cny-tree-row{display:flex;align-items:center;gap:4px;height:30px;padding:0 6px;border-radius:5px;cursor:pointer;user-select:none;color:var(--text-secondary);transition:background-color 120ms ease,color 120ms ease}.cny-tree-row:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-tree-row.is-selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:550}.cny-tree-item:focus-visible>.cny-tree-row{outline:2px solid var(--color-primary);outline-offset:-2px}.cny-tree-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;padding:0;border:0;border-radius:3px;background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer}.cny-tree-toggle:hover{color:var(--text-primary)}.cny-tree-toggle svg{transition:transform 140ms ease}.cny-tree-toggle.is-open svg{transform:rotate(90deg)}.cny-tree-toggle-spacer{display:inline-block;flex:none;width:18px;height:18px}.cny-tree-icon{display:inline-flex;align-items:center;flex:none;color:var(--text-muted)}.cny-tree-icon svg{width:16px;height:16px}.cny-tree-row.is-selected .cny-tree-icon{color:inherit}.cny-tree-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cny-uploader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;box-sizing:border-box;padding:clamp(16px,4vw,32px) clamp(12px,3vw,24px);text-align:center;border:1.5px dashed var(--border-color-strong);border-radius:10px;background:var(--bg-surface-low);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:border-color 140ms ease,background-color 140ms ease,color 140ms ease}.cny-uploader:hover:not(.is-disabled){border-color:var(--color-primary);color:var(--text-primary)}.cny-uploader:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cny-uploader.is-dragging{border-color:var(--color-primary);border-style:solid;background:var(--color-primary-soft);color:var(--color-primary)}.cny-uploader.is-disabled{cursor:not-allowed;opacity:.55}.cny-uploader-md{min-height:150px}.cny-uploader-sm{gap:8px;padding:clamp(12px,2.5vw,16px);min-height:0}.cny-uploader-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary)}.cny-uploader-icon svg{width:clamp(24px,6vw,34px);height:clamp(24px,6vw,34px)}.cny-uploader-sm .cny-uploader-icon svg{width:22px;height:22px}.cny-uploader-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cny-uploader-label{font-size:clamp(.8125rem,2.5vw,.9375rem);font-weight:550;line-height:1.35;color:var(--text-primary);text-wrap:balance}.cny-uploader-hint{font-size:clamp(.6875rem,2vw,.8125rem);color:var(--text-muted);text-wrap:balance}@media(min-width: 420px){.cny-uploader-sm{flex-direction:row;justify-content:center;text-align:start}.cny-uploader-sm .cny-uploader-text{align-items:flex-start}}.cny-panel-group{display:flex;flex-direction:row;width:100%;height:100%;overflow:hidden}.cny-panel-group.is-vertical{flex-direction:column}.cny-panel{position:relative;min-width:0;min-height:0;overflow:auto}.cny-panel-handle{position:relative;flex:none;align-self:stretch;background:var(--hairline-color);transition:background-color 120ms ease;touch-action:none;z-index:1}.cny-panel-handle::before{content:"";position:absolute;inset:-4px}.cny-panel-handle:hover,.cny-panel-handle:focus-visible{background:var(--color-primary);outline:none}.cny-panel-handle-h{width:5px;cursor:col-resize}.cny-panel-handle-v{height:5px;cursor:row-resize}.cny-panel-handle[aria-disabled=true]{cursor:default}.cny-panel-handle[aria-disabled=true]:hover{background:var(--hairline-color)}.cny-dt{display:flex;flex-direction:column;width:100%;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-surface-lowest);overflow:hidden;font-family:var(--font-body)}.cny-dt-scroll{width:100%;overflow-x:auto}.cny-dt-table{width:100%;border-collapse:collapse;font-size:.875rem;color:var(--text-primary)}.cny-dt-table th,.cny-dt-table td{padding:12px 16px;text-align:left;vertical-align:middle;white-space:nowrap}.cny-dt-table thead th{position:sticky;top:0;z-index:1;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-surface-low);border-bottom:1px solid var(--border-color)}.cny-dt-table tbody td{border-bottom:1px solid var(--hairline-color)}.cny-dt-table tbody tr:last-child td{border-bottom:0}.cny-dt-left{text-align:left}.cny-dt-center{text-align:center}.cny-dt-right{text-align:right}.cny-dt-th-inner{display:inline-flex;align-items:center;gap:4px}.cny-dt-right .cny-dt-th-inner{flex-direction:row-reverse}.cny-dt-center .cny-dt-th-inner{justify-content:center}.cny-dt-sortable{cursor:pointer;user-select:none;transition:color 120ms ease}.cny-dt-sortable:hover{color:var(--text-primary)}.cny-dt-sortable.is-sorted{color:var(--color-primary)}.cny-dt-sort-icon{display:inline-flex;align-items:center;opacity:.5}.cny-dt-resizer{position:absolute;top:0;right:0;width:9px;height:100%;cursor:col-resize;user-select:none;touch-action:none}.cny-dt-resizer::after{content:"";position:absolute;top:20%;right:4px;width:2px;height:60%;border-radius:2px;background:rgba(0,0,0,0);transition:background-color 120ms ease}.cny-dt-resizer:hover::after{background:var(--color-primary)}.cny-dt-sortable.is-sorted .cny-dt-sort-icon{opacity:1}.cny-dt-row{transition:background-color 120ms ease}.cny-dt-row.is-clickable{cursor:pointer}.cny-dt-row:hover{background:var(--bg-surface-low)}.cny-dt-row.is-selected{background:var(--color-primary-soft)}.cny-dt-checkbox-cell{width:1%;white-space:nowrap;text-align:center}.cny-dt-empty{padding:32px 16px;text-align:center;color:var(--text-muted)}.cny-dt-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-surface-low)}.cny-dt-count{font-size:.8125rem;color:var(--text-muted)}.cny-chart{width:100%;font-family:var(--font-body)}.cny-chart-responsive{display:block}.cny-chart-grid{stroke:var(--hairline-color);stroke-width:1}.cny-chart-axis{fill:var(--text-muted);font-size:.6875rem}.cny-chart-bar{transition:opacity 120ms ease}.cny-chart-bar:hover{opacity:.85}.cny-chart-line{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.cny-chart-area{opacity:.16}.cny-chart-dot{stroke:var(--bg-surface-lowest);stroke-width:1.5}.cny-chart-slice{stroke:var(--bg-surface-lowest);stroke-width:2;transition:opacity 120ms ease}.cny-chart-slice.is-active{opacity:.85}.cny-chart-center{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center;font-size:.875rem;font-weight:600;color:var(--text-primary)}.cny-chart-tooltip{position:absolute;transform:translate(-50%, calc(-100% - 8px));min-width:120px;padding:8px 12px;border-radius:7px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);box-shadow:var(--shadow-md);font-size:.75rem;color:var(--text-primary);pointer-events:none;z-index:2}.cny-chart-tooltip-title{font-weight:600;margin-bottom:4px}.cny-chart-tooltip-row{display:flex;align-items:center;gap:6px;line-height:1.6}.cny-chart-tooltip-label{color:var(--text-secondary)}.cny-chart-tooltip-value{margin-inline-start:auto;font-weight:600;font-variant-numeric:tabular-nums}.cny-chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-top:8px;font-size:.75rem;color:var(--text-secondary)}.cny-chart-legend-item{display:inline-flex;align-items:center;gap:6px}.cny-chart-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}.cny-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cny-list.bordered{border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-surface-lowest)}.cny-list.dividers .cny-list-item:not(:last-child),.cny-list.dividers>.cny-list-item-wrap:not(:last-child){border-bottom:1px solid var(--hairline-color)}.cny-list.bordered.dividers .cny-list-item:not(:last-child),.cny-list.bordered.dividers>.cny-list-item-wrap:not(:last-child){border-bottom:1px solid var(--hairline-color)}.cny-list-item-wrap{display:flex}.cny-list-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:rgba(0,0,0,0);color:var(--text-primary);text-decoration:none;border:0;font-family:var(--font-body);font-size:.875rem;text-align:left;transition:background-color 140ms ease,color 140ms ease}.cny-list.size-sm .cny-list-item{padding:8px 12px;font-size:.8125rem;gap:10px}.cny-list.size-lg .cny-list-item{padding:16px 18px;font-size:.9375rem;gap:14px}.cny-list-item-leading{flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.cny-list-item-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.cny-list-item-primary{font-weight:550;line-height:1.35;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-list-item-secondary{font-size:.8125rem;line-height:1.4;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-list-item-trailing{flex:none;display:inline-flex;align-items:center;color:var(--text-muted)}.cny-list-item.is-interactive{cursor:pointer}.cny-list-item.is-interactive:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-list-item.is-interactive:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.cny-list-item.is-active{background:color-mix(in srgb, var(--color-primary) 10%, var(--bg-surface-low));color:var(--color-primary)}.cny-list-item.is-active .cny-list-item-leading,.cny-list-item.is-active .cny-list-item-trailing{color:var(--color-primary)}.cny-list-item.is-active .cny-list-item-primary{color:var(--color-primary);font-weight:600}.cny-list-item.is-disabled{opacity:.55;pointer-events:none}.cny-list-separator{height:1px;background:var(--hairline-color);margin:4px 0}.cny-list-subheader{padding:10px 14px 6px;font-size:.6875rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.cny-tabs{display:flex;flex-direction:column;gap:16px}.cny-tabs[data-orientation=vertical]{flex-direction:row;align-items:flex-start;gap:24px}.cny-tabs-list{display:inline-flex;align-items:center;position:relative;flex-wrap:wrap}.cny-tabs[data-orientation=vertical] .cny-tabs-list{flex-direction:column;align-items:stretch;flex-wrap:nowrap}.cny-tabs-trigger{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,0);border:0;font-family:var(--font-body);font-size:.875rem;font-weight:550;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color 140ms ease,background-color 140ms ease,box-shadow 140ms ease}.cny-tabs-trigger-icon{display:inline-flex;align-items:center}.cny-tabs-trigger-badge{display:inline-flex;align-items:center}.cny-tabs-trigger:hover{color:var(--text-secondary)}.cny-tabs-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 60%, transparent);outline-offset:2px;border-radius:var(--radius-xs)}.cny-tabs-trigger:disabled,.cny-tabs-trigger[data-disabled]{opacity:.5;cursor:not-allowed}.cny-tabs.size-sm .cny-tabs-trigger{font-size:.8125rem}.cny-tabs.size-lg .cny-tabs-trigger{font-size:.9375rem}.cny-tabs.variant-line .cny-tabs-list{border-bottom:1px solid var(--hairline-color);gap:4px}.cny-tabs.variant-line .cny-tabs-trigger{padding:10px 14px;margin-bottom:-1px;border-bottom:2px solid rgba(0,0,0,0)}.cny-tabs.variant-line .cny-tabs-trigger[data-state=active]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cny-tabs.variant-line.size-sm .cny-tabs-trigger{padding:7px 10px}.cny-tabs.variant-line.size-lg .cny-tabs-trigger{padding:13px 18px}.cny-tabs.variant-line[data-orientation=vertical] .cny-tabs-list{border-bottom:0;border-right:1px solid var(--hairline-color)}.cny-tabs.variant-line[data-orientation=vertical] .cny-tabs-trigger{margin-bottom:0;margin-right:-1px;border-bottom:0;border-right:2px solid rgba(0,0,0,0);justify-content:flex-start;text-align:left}.cny-tabs.variant-line[data-orientation=vertical] .cny-tabs-trigger[data-state=active]{border-right-color:var(--color-primary);border-bottom:0}.cny-tabs.variant-pills .cny-tabs-list{gap:4px}.cny-tabs.variant-pills .cny-tabs-trigger{padding:7px 12px;border-radius:999px}.cny-tabs.variant-pills .cny-tabs-trigger:hover{background:var(--bg-surface-low)}.cny-tabs.variant-pills .cny-tabs-trigger[data-state=active]{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.cny-tabs.variant-pills.size-sm .cny-tabs-trigger{padding:5px 10px}.cny-tabs.variant-pills.size-lg .cny-tabs-trigger{padding:9px 14px}.cny-tabs.variant-segmented .cny-tabs-list{padding:4px;background:var(--bg-surface-low);border:1px solid var(--hairline-color);border-radius:999px;gap:2px}.cny-tabs.variant-segmented .cny-tabs-trigger{padding:6px 14px;border-radius:999px}.cny-tabs.variant-segmented .cny-tabs-trigger:hover{color:var(--text-primary)}.cny-tabs.variant-segmented .cny-tabs-trigger[data-state=active]{color:var(--text-primary);background:var(--bg-surface-lowest);box-shadow:0 1px 2px rgba(15,23,42,.06),inset 0 0 0 1px var(--hairline-color)}.cny-tabs.variant-segmented.size-sm .cny-tabs-trigger{padding:4px 10px}.cny-tabs.variant-segmented.size-lg .cny-tabs-trigger{padding:8px 18px}.cny-tabs-content{outline:none;flex:1 1 auto}.cny-tabs-content:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}@keyframes cny-ac-in{from{opacity:0;transform:translateY(-4px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-ac-trigger{display:inline-flex;align-items:center;gap:8px;width:100%;text-align:left;cursor:pointer;padding:0 12px}.cny-ac-trigger.is-open{border-color:var(--border-focus)}.cny-ac-trigger[disabled]{cursor:not-allowed;opacity:.6}.cny-ac-value{flex:1 1 auto;min-width:0;color:var(--text-primary);font-size:inherit;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cny-ac-value.is-placeholder{color:var(--text-muted)}.cny-ac-clear{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color 120ms ease,background-color 120ms ease}.cny-ac-clear:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-ac-chevron{flex:none;color:var(--text-muted)}.cny-ac-content{z-index:1010;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 rgba(15,23,42,.04),0 12px 28px -12px rgba(15,23,42,.22);overflow:hidden;font-family:var(--font-body);animation:cny-ac-in 140ms cubic-bezier(0.2, 0.8, 0.2, 1);outline:none}.cny-ac-cmdk{display:flex;flex-direction:column}.cny-ac-search{padding:8px 10px;border-bottom:1px solid var(--hairline-color)}.cny-ac-search [cmdk-input]{width:100%;border:0;background:rgba(0,0,0,0);font:inherit;font-size:.875rem;color:var(--text-primary);outline:none;padding:0}.cny-ac-search [cmdk-input]::placeholder{color:var(--text-muted)}.cny-ac-list{overflow-y:auto;max-height:280px;padding:6px;scrollbar-width:thin}.cny-ac-empty,.cny-ac-loading{padding:18px 12px;text-align:center;color:var(--text-muted);font-size:.875rem}.cny-ac-loading{display:flex;align-items:center;justify-content:center;gap:8px}.cny-ac-loading-spinner{animation:cny-ac-spin 1s linear infinite}@keyframes cny-ac-spin{to{transform:rotate(360deg)}}[cmdk-group-heading]{padding:8px 10px 4px;font-size:.6875rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.cny-ac-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-primary);font-size:.875rem;outline:none;user-select:none;position:relative}.cny-ac-item[data-selected=true]{background:color-mix(in srgb, var(--color-primary) 10%, var(--bg-surface-low))}.cny-ac-item[data-disabled=true]{color:var(--text-disabled);pointer-events:none}.cny-ac-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-ac-item-hint{flex:none;font-size:.75rem;color:var(--text-muted);margin-left:8px}.cny-ac-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--color-primary)}.cny-ac-checkbox{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--border-color);border-radius:var(--radius-xs);background:var(--bg-surface-lowest);color:var(--color-primary-on, white);transition:background-color 120ms ease,border-color 120ms ease}.cny-ac-checkbox.is-checked{background:var(--color-primary);border-color:var(--color-primary)}@media(prefers-reduced-motion: reduce){.cny-ac-content{animation:none}.cny-ac-loading-spinner{animation:none}}.cny-pagination{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body)}.cny-pagination-btn{min-width:32px;height:32px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);color:var(--text-secondary);border:1px solid rgba(0,0,0,0);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color 120ms ease,color 120ms ease,border-color 120ms ease}.cny-pagination-btn:hover:not(:disabled):not(.is-active){background:var(--bg-surface-low);color:var(--text-primary)}.cny-pagination-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.cny-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.cny-pagination-btn.is-active{background:var(--color-primary);color:var(--color-primary-on);border-color:var(--color-primary)}.cny-pagination-control{color:var(--text-muted)}.cny-pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:24px;color:var(--text-muted)}.cny-pagination-sm .cny-pagination-btn{min-width:28px;height:28px;font-size:.75rem;padding:0 6px}.cny-pagination-lg .cny-pagination-btn{min-width:36px;height:36px;font-size:.875rem;padding:0 10px}.cny-breadcrumb{font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted);line-height:1.4}.cny-breadcrumb-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cny-breadcrumb-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.cny-breadcrumb-link{color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-sm);padding:2px 4px;transition:color 120ms ease,background-color 120ms ease}.cny-breadcrumb-link:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-breadcrumb-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.cny-breadcrumb-label.is-current{color:var(--text-primary);font-weight:500}.cny-breadcrumb-sep{display:inline-flex;color:var(--text-muted);opacity:.7}.cny-breadcrumb-sm{font-size:.75rem}.cny-breadcrumb-sm .cny-breadcrumb-list{gap:4px}@keyframes cny-accordion-down{from{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes cny-accordion-up{from{height:var(--radix-accordion-content-height)}to{height:0}}.cny-accordion{font-family:var(--font-body);color:var(--text-primary);width:100%}.cny-accordion-item{border-bottom:1px solid var(--border-color)}.cny-accordion-item:last-child{border-bottom:0}.cny-accordion-header{all:unset;display:flex}.cny-accordion-trigger{flex:1;display:flex;align-items:center;gap:8px;width:100%;padding:12px 12px;background:rgba(0,0,0,0);border:0;color:var(--text-primary);font-size:.875rem;font-weight:550;text-align:left;cursor:pointer;transition:background-color 120ms ease}.cny-accordion-trigger:hover{background:var(--bg-surface-low)}.cny-accordion-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.cny-accordion-trigger-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-muted);flex:none}.cny-accordion-trigger-label{flex:1;min-width:0}.cny-accordion-trigger-chevron{flex:none;color:var(--text-muted);transition:transform 180ms ease}.cny-accordion-trigger[data-state=open] .cny-accordion-trigger-chevron{transform:rotate(180deg)}.cny-accordion-trigger[data-state=open] .cny-accordion-trigger-chevron{transform:rotate(180deg)}.cny-accordion-content{overflow:hidden;font-size:.8125rem;color:var(--text-secondary);line-height:1.55}.cny-accordion-content[data-state=open]{animation:cny-accordion-down 200ms ease-out}.cny-accordion-content[data-state=closed]{animation:cny-accordion-up 180ms ease-in}.cny-accordion-content-inner{padding:0 12px 12px}.cny-accordion-bordered{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface-lowest)}.cny-accordion-separated{display:flex;flex-direction:column;gap:8px}.cny-accordion-separated .cny-accordion-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface-lowest);overflow:hidden}@media(prefers-reduced-motion: reduce){.cny-accordion-content{animation:none !important}.cny-accordion-trigger-chevron{transition:none}}.cny-slider{--slider-accent: var(--color-primary);position:relative;display:flex;align-items:center;user-select:none;touch-action:none;width:100%;height:20px}.cny-slider-track{position:relative;flex:1;background:var(--bg-surface-low);border-radius:999px;height:4px;overflow:hidden}.cny-slider-range{position:absolute;background:var(--slider-accent);border-radius:999px;height:100%}.cny-slider-thumb{display:block;width:16px;height:16px;background:var(--bg-surface-lowest);border:2px solid var(--slider-accent);border-radius:50%;cursor:grab;transition:transform 120ms ease,box-shadow 120ms ease}.cny-slider-thumb:hover{transform:scale(1.08)}.cny-slider-thumb:active{cursor:grabbing}.cny-slider-thumb:focus-visible{outline:2px solid var(--slider-accent);outline-offset:2px}.cny-slider-bubble{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--text-primary);color:var(--bg-surface-lowest);font-size:11px;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 120ms ease}.cny-slider-thumb:hover .cny-slider-bubble,.cny-slider-thumb:focus-visible .cny-slider-bubble,.cny-slider-thumb[data-state=active] .cny-slider-bubble{opacity:1}.cny-slider[data-disabled]{opacity:.5}.cny-slider[data-disabled] .cny-slider-thumb{cursor:not-allowed}.cny-slider-sm{height:16px}.cny-slider-sm .cny-slider-track{height:3px}.cny-slider-sm .cny-slider-thumb{width:12px;height:12px}.cny-slider-lg{height:24px}.cny-slider-lg .cny-slider-track{height:6px}.cny-slider-lg .cny-slider-thumb{width:20px;height:20px}.cny-slider-success{--slider-accent: var(--color-success)}.cny-slider-warning{--slider-accent: var(--color-warning)}.cny-slider-danger{--slider-accent: var(--color-danger)}.cny-slider[data-orientation=vertical]{flex-direction:column;width:20px;height:100%;min-height:120px}.cny-slider[data-orientation=vertical] .cny-slider-track{width:4px;height:100%;flex:1}.cny-slider[data-orientation=vertical] .cny-slider-range{width:100%;height:auto}.cny-stepper{list-style:none;margin:0;padding:0;font-family:var(--font-body)}.cny-stepper-step{display:flex;align-items:center;min-width:0}.cny-stepper-step-row{display:flex;align-items:center;gap:8px;padding:0;background:rgba(0,0,0,0);border:0;color:inherit;text-align:left;cursor:default;border-radius:var(--radius-sm);min-width:0}.cny-stepper-step-row:not(:disabled){cursor:pointer}.cny-stepper-step-row:not(:disabled):hover .cny-stepper-label{color:var(--text-primary)}.cny-stepper-step-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cny-stepper-marker{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:600;border:1px solid var(--border-color);background:var(--bg-surface-lowest);color:var(--text-muted)}.cny-stepper-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.cny-stepper-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.cny-stepper-desc{font-size:.75rem;color:var(--text-muted)}.cny-stepper-connector{flex:1 1 auto;background:var(--border-color)}.cny-stepper-step.is-active .cny-stepper-marker{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-on)}.cny-stepper-step.is-active .cny-stepper-label{color:var(--text-primary);font-weight:600}.cny-stepper-step.is-complete .cny-stepper-marker{background:var(--color-success);border-color:var(--color-success);color:var(--color-success-on)}.cny-stepper-step.is-complete .cny-stepper-label{color:var(--text-primary)}.cny-stepper-step.is-complete+.cny-stepper-step .cny-stepper-connector,.cny-stepper-step.is-complete .cny-stepper-connector{background:var(--color-success)}.cny-stepper-horizontal{display:flex;align-items:center;gap:8px}.cny-stepper-horizontal .cny-stepper-step{flex:0 1 auto}.cny-stepper-horizontal .cny-stepper-step:not(:last-child){flex:1 1 0}.cny-stepper-horizontal .cny-stepper-connector{height:2px;margin:0 8px;min-width:12px}.cny-stepper-vertical{display:flex;flex-direction:column;gap:8px}.cny-stepper-vertical .cny-stepper-step{flex-direction:column;align-items:flex-start;gap:4px}.cny-stepper-vertical .cny-stepper-connector{width:2px;min-height:16px;margin-left:11px}.cny-stepper-sm .cny-stepper-marker{width:20px;height:20px;font-size:.7rem}.cny-stepper-sm .cny-stepper-label{font-size:.75rem}.cny-stepper-sm .cny-stepper-desc{font-size:.7rem}.p-0{padding:0}.m-0{margin:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.gap-0{gap:0}.gap-x-0{column-gap:0}.gap-y-0{row-gap:0}.p-1{padding:4px}.m-1{margin:4px}.px-1{padding-left:4px;padding-right:4px}.py-1{padding-top:4px;padding-bottom:4px}.mx-1{margin-left:4px;margin-right:4px}.my-1{margin-top:4px;margin-bottom:4px}.pt-1{padding-top:4px}.pr-1{padding-right:4px}.pb-1{padding-bottom:4px}.pl-1{padding-left:4px}.mt-1{margin-top:4px}.mr-1{margin-right:4px}.mb-1{margin-bottom:4px}.ml-1{margin-left:4px}.gap-1{gap:4px}.gap-x-1{column-gap:4px}.gap-y-1{row-gap:4px}.p-2{padding:8px}.m-2{margin:8px}.px-2{padding-left:8px;padding-right:8px}.py-2{padding-top:8px;padding-bottom:8px}.mx-2{margin-left:8px;margin-right:8px}.my-2{margin-top:8px;margin-bottom:8px}.pt-2{padding-top:8px}.pr-2{padding-right:8px}.pb-2{padding-bottom:8px}.pl-2{padding-left:8px}.mt-2{margin-top:8px}.mr-2{margin-right:8px}.mb-2{margin-bottom:8px}.ml-2{margin-left:8px}.gap-2{gap:8px}.gap-x-2{column-gap:8px}.gap-y-2{row-gap:8px}.p-3{padding:12px}.m-3{margin:12px}.px-3{padding-left:12px;padding-right:12px}.py-3{padding-top:12px;padding-bottom:12px}.mx-3{margin-left:12px;margin-right:12px}.my-3{margin-top:12px;margin-bottom:12px}.pt-3{padding-top:12px}.pr-3{padding-right:12px}.pb-3{padding-bottom:12px}.pl-3{padding-left:12px}.mt-3{margin-top:12px}.mr-3{margin-right:12px}.mb-3{margin-bottom:12px}.ml-3{margin-left:12px}.gap-3{gap:12px}.gap-x-3{column-gap:12px}.gap-y-3{row-gap:12px}.p-4{padding:16px}.m-4{margin:16px}.px-4{padding-left:16px;padding-right:16px}.py-4{padding-top:16px;padding-bottom:16px}.mx-4{margin-left:16px;margin-right:16px}.my-4{margin-top:16px;margin-bottom:16px}.pt-4{padding-top:16px}.pr-4{padding-right:16px}.pb-4{padding-bottom:16px}.pl-4{padding-left:16px}.mt-4{margin-top:16px}.mr-4{margin-right:16px}.mb-4{margin-bottom:16px}.ml-4{margin-left:16px}.gap-4{gap:16px}.gap-x-4{column-gap:16px}.gap-y-4{row-gap:16px}.p-5{padding:20px}.m-5{margin:20px}.px-5{padding-left:20px;padding-right:20px}.py-5{padding-top:20px;padding-bottom:20px}.mx-5{margin-left:20px;margin-right:20px}.my-5{margin-top:20px;margin-bottom:20px}.pt-5{padding-top:20px}.pr-5{padding-right:20px}.pb-5{padding-bottom:20px}.pl-5{padding-left:20px}.mt-5{margin-top:20px}.mr-5{margin-right:20px}.mb-5{margin-bottom:20px}.ml-5{margin-left:20px}.gap-5{gap:20px}.gap-x-5{column-gap:20px}.gap-y-5{row-gap:20px}.p-6{padding:24px}.m-6{margin:24px}.px-6{padding-left:24px;padding-right:24px}.py-6{padding-top:24px;padding-bottom:24px}.mx-6{margin-left:24px;margin-right:24px}.my-6{margin-top:24px;margin-bottom:24px}.pt-6{padding-top:24px}.pr-6{padding-right:24px}.pb-6{padding-bottom:24px}.pl-6{padding-left:24px}.mt-6{margin-top:24px}.mr-6{margin-right:24px}.mb-6{margin-bottom:24px}.ml-6{margin-left:24px}.gap-6{gap:24px}.gap-x-6{column-gap:24px}.gap-y-6{row-gap:24px}.p-8{padding:32px}.m-8{margin:32px}.px-8{padding-left:32px;padding-right:32px}.py-8{padding-top:32px;padding-bottom:32px}.mx-8{margin-left:32px;margin-right:32px}.my-8{margin-top:32px;margin-bottom:32px}.pt-8{padding-top:32px}.pr-8{padding-right:32px}.pb-8{padding-bottom:32px}.pl-8{padding-left:32px}.mt-8{margin-top:32px}.mr-8{margin-right:32px}.mb-8{margin-bottom:32px}.ml-8{margin-left:32px}.gap-8{gap:32px}.gap-x-8{column-gap:32px}.gap-y-8{row-gap:32px}.p-10{padding:40px}.m-10{margin:40px}.px-10{padding-left:40px;padding-right:40px}.py-10{padding-top:40px;padding-bottom:40px}.mx-10{margin-left:40px;margin-right:40px}.my-10{margin-top:40px;margin-bottom:40px}.pt-10{padding-top:40px}.pr-10{padding-right:40px}.pb-10{padding-bottom:40px}.pl-10{padding-left:40px}.mt-10{margin-top:40px}.mr-10{margin-right:40px}.mb-10{margin-bottom:40px}.ml-10{margin-left:40px}.gap-10{gap:40px}.gap-x-10{column-gap:40px}.gap-y-10{row-gap:40px}.p-12{padding:48px}.m-12{margin:48px}.px-12{padding-left:48px;padding-right:48px}.py-12{padding-top:48px;padding-bottom:48px}.mx-12{margin-left:48px;margin-right:48px}.my-12{margin-top:48px;margin-bottom:48px}.pt-12{padding-top:48px}.pr-12{padding-right:48px}.pb-12{padding-bottom:48px}.pl-12{padding-left:48px}.mt-12{margin-top:48px}.mr-12{margin-right:48px}.mb-12{margin-bottom:48px}.ml-12{margin-left:48px}.gap-12{gap:48px}.gap-x-12{column-gap:48px}.gap-y-12{row-gap:48px}.p-16{padding:64px}.m-16{margin:64px}.px-16{padding-left:64px;padding-right:64px}.py-16{padding-top:64px;padding-bottom:64px}.mx-16{margin-left:64px;margin-right:64px}.my-16{margin-top:64px;margin-bottom:64px}.pt-16{padding-top:64px}.pr-16{padding-right:64px}.pb-16{padding-bottom:64px}.pl-16{padding-left:64px}.mt-16{margin-top:64px}.mr-16{margin-right:64px}.mb-16{margin-bottom:64px}.ml-16{margin-left:64px}.gap-16{gap:64px}.gap-x-16{column-gap:64px}.gap-y-16{row-gap:64px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:auto}.flex-none{flex:none}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}@media(max-width: 900px){.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-7,.grid-cols-8,.grid-cols-9{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-10,.grid-cols-11,.grid-cols-12{grid-template-columns:repeat(6, minmax(0, 1fr))}}@media(max-width: 640px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-7,.grid-cols-8,.grid-cols-9{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-10,.grid-cols-11,.grid-cols-12{grid-template-columns:repeat(4, minmax(0, 1fr))}}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:fit-content}.cny-container{width:100%;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.cny-container.sm{max-width:640px}.cny-container.md{max-width:768px}.cny-container.lg{max-width:1024px}.cny-container.xl{max-width:1280px}.cny-container.full{max-width:none}.cny-divider{display:block;flex-shrink:0;background:var(--hairline-color);border:0}.cny-divider.horizontal{width:100%;height:1px}.cny-divider.vertical{width:1px;align-self:stretch}.cny-spacer{flex:1 1 auto}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--text-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.cny-label{font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:var(--track-wider);text-transform:uppercase;color:var(--text-muted)}.cny-mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1,"zero" 1;letter-spacing:-0.005em}.cny-rule{height:1px;width:100%;background:var(--hairline-color);border:0;margin:24px 0}.cny-index{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:var(--track-wide);color:var(--color-primary);margin-right:12px}.cny-index::after{content:" —";color:var(--text-muted);margin-left:.25em}.cny-grid-paper{background-image:linear-gradient(var(--hairline-color) 1px, transparent 1px),linear-gradient(90deg, var(--hairline-color) 1px, transparent 1px);background-size:4px 4px,4px 4px;background-position:-1px -1px}.cny-grain{position:relative;isolation:isolate}.cny-grain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.05 0 0 0 0 0.05 0 0 0 0 0.08 0 0 0 0.25 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>")}.cny-divide-top{box-shadow:0 -1px 0 0 var(--hairline-color)}.cny-divide-bottom{box-shadow:0 1px 0 0 var(--hairline-color)}@keyframes cny-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cny-rise{animation:cny-rise 400ms var(--ease-standard) both}.cny-stack{display:flex;flex-direction:column}.cny-row{display:flex;flex-direction:row;align-items:center}.cny-wrap{flex-wrap:wrap}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-neutral-soft);color:var(--text-secondary);font-family:var(--font-body);font-size:.6875rem;font-weight:500;line-height:1.4}.cny-badge.danger{background:var(--color-danger-soft);color:var(--color-danger)}.cny-badge.warning{background:var(--color-warning-soft);color:var(--color-warning)}.cny-badge.success{background:var(--color-success-soft);color:var(--color-success)}.cny-badge.info{background:var(--color-info-soft);color:var(--color-info)}.cny-badge.primary{background:var(--color-primary-soft);color:var(--color-primary)}
1
+ @import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Geist+Mono:wght@300..700&family=Geist:wght@300..700&display=swap";:root{--bg-base: #fafafa;--bg-surface-low: #f4f4f5;--bg-surface-lowest: #ffffff;--bg-surface-edge: #e4e4e7;--text-primary: #09090b;--text-secondary: #3f3f46;--text-muted: #71717a;--text-disabled: #a1a1aa;--text-on-solid: #ffffff;--text-accent: #3A73B3;--color-primary: #3A73B3;--color-primary-hover: #2F5C8F;--color-primary-active:#264A73;--color-primary-soft: rgba(58, 115, 179, 0.12);--color-primary-on: #ffffff;--color-neutral: #18181b;--color-neutral-hover: #27272a;--color-neutral-soft: #f4f4f5;--color-neutral-on: #ffffff;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-soft: #fef2f2;--color-danger-on: #ffffff;--color-warning: #d97706;--color-warning-hover: #b45309;--color-warning-soft: #fffbeb;--color-warning-on: #ffffff;--color-success: #059669;--color-success-hover: #047857;--color-success-soft: #ecfdf5;--color-success-on: #ffffff;--color-info: #0284c7;--color-info-hover: #0369a1;--color-info-soft: #f0f9ff;--color-info-on: #ffffff;--border-color: #e4e4e7;--border-color-strong: #d4d4d8;--border-focus: #3A73B3;--ring-color: rgba(58, 115, 179, 0.28);--ring-width: 3px;--shadow-xs: 0 1px 2px 0 rgba(9, 9, 11, 0.05);--shadow-sm: 0 1px 2px 0 rgba(9, 9, 11, 0.06), 0 1px 3px 0 rgba(9, 9, 11, 0.04);--shadow-md: 0 4px 6px -1px rgba(9, 9, 11, 0.07), 0 2px 4px -2px rgba(9, 9, 11, 0.05);--shadow-lg: 0 10px 15px -3px rgba(9, 9, 11, 0.08), 0 4px 6px -4px rgba(9, 9, 11, 0.05);--shadow-card: var(--shadow-sm);--shadow-lift: var(--shadow-lg);--shadow-ambient: 0 0 0 3px var(--ring-color);--ease-standard: cubic-bezier(0.2, 0, 0, 1);--transition-fast: 120ms var(--ease-standard);--transition-base: 180ms var(--ease-standard);--transition-slow: 260ms var(--ease-standard);--radius-xs: 3px;--radius-sm: 5px;--radius-md: 7px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 9999px;--font-body: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-display: 'Fraunces', Georgia, serif;--hairline-color: #e4e4e7;--hairline-strong: #d4d4d8;--text-xs: 0.75rem;--text-sm: 0.875rem;--text-base: 0.9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--track-tight: -0.015em;--track-normal: 0;--track-wide: 0.04em;--track-wider: 0.08em}@media(prefers-color-scheme: dark){:root:not(.cny-light){--bg-base: #09090b;--bg-surface-low: #18181b;--bg-surface-lowest: #27272a;--bg-surface-edge: #3f3f46;--text-primary: #fafafa;--text-secondary: #d4d4d8;--text-muted: #a1a1aa;--text-disabled: #52525b;--text-accent: #7BA5D6;--color-primary: #5B8FC9;--color-primary-hover: #7BA5D6;--color-primary-active:#4A7FB8;--color-primary-soft: rgba(91, 143, 201, 0.15);--color-neutral: #fafafa;--color-neutral-hover: #ffffff;--color-neutral-soft: #27272a;--color-neutral-on: #09090b;--color-danger-soft: rgba(220, 38, 38, 0.16);--color-warning-soft: rgba(217, 119, 6, 0.16);--color-success-soft: rgba(5, 150, 105, 0.16);--color-info-soft: rgba(2, 132, 199, 0.16);--border-color: #27272a;--border-color-strong: #3f3f46;--border-focus: #7BA5D6;--ring-color: rgba(91, 143, 201, 0.45);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4), 0 1px 3px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);--shadow-lg: 0 16px 32px -8px rgba(0, 0, 0, 0.6);--hairline-color: #27272a;--hairline-strong: #3f3f46}}.cny-dark{--bg-base: #09090b;--bg-surface-low: #18181b;--bg-surface-lowest: #27272a;--bg-surface-edge: #3f3f46;--text-primary: #fafafa;--text-secondary: #d4d4d8;--text-muted: #a1a1aa;--text-disabled: #52525b;--text-accent: #7BA5D6;--color-primary: #5B8FC9;--color-primary-hover: #7BA5D6;--color-primary-active:#4A7FB8;--color-primary-soft: rgba(91, 143, 201, 0.15);--color-neutral: #fafafa;--color-neutral-hover: #ffffff;--color-neutral-soft: #27272a;--color-neutral-on: #09090b;--color-danger-soft: rgba(220, 38, 38, 0.16);--color-warning-soft: rgba(217, 119, 6, 0.16);--color-success-soft: rgba(5, 150, 105, 0.16);--color-info-soft: rgba(2, 132, 199, 0.16);--border-color: #27272a;--border-color-strong: #3f3f46;--border-focus: #7BA5D6;--ring-color: rgba(91, 143, 201, 0.45);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4), 0 1px 3px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);--shadow-lg: 0 16px 32px -8px rgba(0, 0, 0, 0.6);--hairline-color: #27272a;--hairline-strong: #3f3f46}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-base);color:var(--text-primary)}.cny-app{font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;color:var(--text-primary);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.cny-app h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;letter-spacing:var(--track-tight);line-height:1.15;margin:0 0 20px;color:var(--text-primary)}.cny-app h2{font-family:var(--font-body);font-size:var(--text-2xl);font-weight:600;letter-spacing:var(--track-tight);line-height:1.2;margin:0 0 16px}.cny-app h3{font-family:var(--font-body);font-size:var(--text-xl);font-weight:600;letter-spacing:-0.005em;line-height:1.3;margin:0 0 12px}.cny-app h4{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;line-height:1.35;margin:0 0 8px}.cny-app p{margin:0 0 16px;max-width:72ch;color:var(--text-secondary)}.cny-app a:not([class]){color:var(--text-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--transition-fast)}.cny-app a:not([class]):hover{color:var(--color-primary-hover)}.cny-app small,.cny-app .cny-meta{font-size:var(--text-xs);color:var(--text-muted)}.cny-app code,.cny-app kbd,.cny-app pre,.cny-app samp{font-family:var(--font-mono);font-size:.92em}.cny-app .cny-tabular{font-variant-numeric:tabular-nums slashed-zero}.cny-display{font-family:var(--font-display);font-weight:400;font-variation-settings:"opsz" 144;letter-spacing:var(--track-tight)}.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;min-height:36px;border:0;border-radius:var(--radius-sm);background:rgba(0,0,0,0);color:var(--text-primary);text-decoration:none;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:-0.005em;line-height:1;cursor:pointer;user-select:none;white-space:nowrap;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow 180ms var(--ease-standard),color var(--transition-fast)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.btn .btn-content{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:inherit}.btn .btn-ripple{position:absolute;z-index:0;border-radius:50%;pointer-events:none;transform-origin:center;background:rgba(0,0,0,.18)}.btn.solid .btn-ripple,.btn.secondary .btn-ripple{background:hsla(0,0%,100%,.55)}@media(prefers-reduced-motion: reduce){.btn .btn-ripple{display:none}}.btn.solid{background:var(--color-primary);color:var(--color-primary-on);box-shadow:var(--shadow-xs)}.btn.solid:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn.solid:active:not(:disabled){background:var(--color-primary-active);box-shadow:var(--shadow-xs),inset 0 1px 0 0 rgba(0,0,0,.08)}.btn.solid.danger{background:var(--color-danger);color:var(--color-danger-on)}.btn.solid.danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn.solid.warning{background:var(--color-warning);color:var(--color-warning-on)}.btn.solid.warning:hover:not(:disabled){background:var(--color-warning-hover)}.btn.solid.success{background:var(--color-success);color:var(--color-success-on)}.btn.solid.success:hover:not(:disabled){background:var(--color-success-hover)}.btn.solid.info{background:var(--color-info);color:var(--color-info-on)}.btn.solid.info:hover:not(:disabled){background:var(--color-info-hover)}.btn.secondary{background:var(--color-neutral);color:var(--color-neutral-on);box-shadow:var(--shadow-xs)}.btn.secondary:hover:not(:disabled){background:var(--color-neutral-hover);box-shadow:var(--shadow-sm)}.btn.secondary:active:not(:disabled){box-shadow:var(--shadow-xs),inset 0 1px 0 0 rgba(0,0,0,.12)}.btn.outline{background:var(--bg-surface-lowest);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-color),var(--shadow-xs)}.btn.outline:hover:not(:disabled){background:var(--bg-surface-low);box-shadow:inset 0 0 0 1px var(--border-color-strong),var(--shadow-sm)}.btn.outline:active:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-color-strong),inset 0 1px 0 0 rgba(0,0,0,.04)}.btn.outline.danger{color:var(--color-danger)}.btn.outline.warning{color:var(--color-warning)}.btn.outline.success{color:var(--color-success)}.btn.outline.info{color:var(--color-info)}.btn.dashed{background:var(--bg-surface-lowest);color:var(--text-primary);border:1px dashed var(--border-color);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow 180ms var(--ease-standard)}.btn.dashed:hover:not(:disabled){background:var(--bg-surface-low);border-color:var(--color-primary);color:var(--color-primary)}.btn.dashed:active:not(:disabled){background:var(--bg-surface-edge);border-color:var(--color-primary-active)}.btn.dashed.danger:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.btn.dashed.warning:hover:not(:disabled){border-color:var(--color-warning);color:var(--color-warning)}.btn.dashed.success:hover:not(:disabled){border-color:var(--color-success);color:var(--color-success)}.btn.dashed.info:hover:not(:disabled){border-color:var(--color-info);color:var(--color-info)}.btn.ghost{background:rgba(0,0,0,0);color:var(--text-primary)}.btn.ghost:hover:not(:disabled){background:var(--bg-surface-low)}.btn.ghost:active:not(:disabled){background:var(--bg-surface-edge)}.btn.ghost.danger{color:var(--color-danger)}.btn.ghost.danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn.ghost.warning{color:var(--color-warning)}.btn.ghost.warning:hover:not(:disabled){background:var(--color-warning-soft)}.btn.ghost.success{color:var(--color-success)}.btn.ghost.success:hover:not(:disabled){background:var(--color-success-soft)}.btn.ghost.info{color:var(--color-info)}.btn.ghost.info:hover:not(:disabled){background:var(--color-info-soft)}.btn.soft{background:var(--color-primary-soft);color:var(--color-primary)}.btn.soft:hover:not(:disabled){background:var(--bg-surface-edge)}.btn.soft.danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn.soft.warning{background:var(--color-warning-soft);color:var(--color-warning)}.btn.soft.success{background:var(--color-success-soft);color:var(--color-success)}.btn.soft.info{background:var(--color-info-soft);color:var(--color-info)}.btn.link{overflow:visible;background:rgba(0,0,0,0);color:var(--text-accent);padding:0;min-height:auto;border-radius:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.btn.link:hover:not(:disabled){color:var(--color-primary-hover)}.btn.link .btn-ripple{display:none}.btn.sm{padding:0 12px;min-height:28px;font-size:.8125rem}.btn.lg{padding:0 20px;min-height:44px;font-size:.9375rem}.btn.icon{padding:0;width:36px}.btn.icon.sm{width:28px}.btn.icon.lg{width:44px}.btn.round{border-radius:999px}.btn.circle{padding:0;width:36px;border-radius:50%}.btn.circle.sm{width:28px}.btn.circle.lg{width:44px}.btn.block{display:flex;width:100%}.btn.loading{pointer-events:none;cursor:default}.btn[aria-pressed=true].ghost,.btn[data-state=on].ghost{background:var(--color-primary-soft);color:var(--color-primary)}.btn[aria-pressed=true].outline,.btn[data-state=on].outline{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary),var(--shadow-xs)}.btn[aria-pressed=true].soft,.btn[data-state=on].soft{background:var(--color-primary);color:var(--color-primary-on)}.btn[aria-pressed=true].dashed,.btn[data-state=on].dashed{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary)}.btn.fab{width:56px;min-height:56px;padding:0;border-radius:50%;box-shadow:var(--shadow-lg);font-weight:600}.btn.fab:hover:not(:disabled){box-shadow:0 12px 20px -6px rgba(9,9,11,.16),0 4px 8px -2px rgba(9,9,11,.08)}.btn.fab:active:not(:disabled){box-shadow:var(--shadow-md),inset 0 1px 0 0 rgba(0,0,0,.08)}.btn.fab.sm{width:40px;min-height:40px;font-size:.875rem}.btn.fab.lg{width:64px;min-height:64px;font-size:1rem}.btn.fab.extended{width:auto;border-radius:999px;padding:0 20px;gap:8px;min-width:80px}.btn.fab.extended.sm{padding:0 16px;min-width:64px}.btn.fab.extended.lg{padding:0 24px;min-width:96px}.btn.fab.fixed-bottom-right{position:fixed;bottom:24px;right:24px;z-index:50}.btn.fab.fixed-bottom-left{position:fixed;bottom:24px;left:24px;z-index:50}.btn.fab.fixed-top-right{position:fixed;top:24px;right:24px;z-index:50}.btn.fab.fixed-top-left{position:fixed;top:24px;left:24px;z-index:50}.btn-group{display:inline-flex;vertical-align:middle;isolation:isolate}.btn-group>.btn{border-radius:0;position:relative}.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.btn-group>.btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.btn-group>.btn:hover:not(:disabled),.btn-group>.btn:focus-visible,.btn-group>.btn[aria-pressed=true],.btn-group>.btn[data-state=on]{z-index:1}.btn-group.vertical{flex-direction:column}.btn-group.vertical>.btn:not(:first-child){margin-left:0;margin-top:-1px}.btn-group.vertical>.btn:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.btn-group.vertical>.btn:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.btn-group.spaced{gap:4px}.btn-group.spaced>.btn{border-radius:var(--radius-sm)}.btn-group.spaced>.btn:not(:first-child){margin-left:0}.btn-group.spaced>.btn:not(:last-child){margin-right:0}.btn-group.round>.btn:first-child{border-top-left-radius:999px;border-bottom-left-radius:999px;padding-left:20px}.btn-group.round>.btn:last-child{border-top-right-radius:999px;border-bottom-right-radius:999px;padding-right:20px}.btn-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:cny-btn-spin 700ms linear infinite;flex-shrink:0;vertical-align:-0.125em}@keyframes cny-btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion: reduce){.btn-spinner{animation-duration:1400ms}}@media(forced-colors: active){.btn{border:1px solid ButtonBorder;forced-color-adjust:none;color:ButtonText;background:ButtonFace}.btn:focus-visible{outline:2px solid SelectedItem;outline-offset:2px;box-shadow:none}.btn.solid,.btn.secondary{background:SelectedItem;color:SelectedItemText;border-color:SelectedItem}.btn[aria-pressed=true],.btn[data-state=on]{background:SelectedItem;color:SelectedItemText}.btn:disabled,.btn[aria-disabled=true]{color:GrayText;border-color:GrayText}.btn .btn-ripple{display:none}.btn-spinner{border-color:ButtonText;border-right-color:rgba(0,0,0,0)}}.input{display:block;width:100%;min-height:36px;padding:0 12px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;font-family:var(--font-body);font-size:.875rem;line-height:1.4;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--text-muted)}.input:hover:not(:disabled):not(:focus){border-color:var(--border-color-strong)}.input:focus{border-color:var(--border-focus);box-shadow:none}.input:disabled{background:var(--bg-surface-low);color:var(--text-disabled);cursor:not-allowed}.input.sm{min-height:28px;font-size:.8125rem;padding:0 8px}.input.lg{min-height:44px;font-size:.9375rem;padding:0 16px}.input.danger{border-color:var(--color-danger)}.input.danger:focus{border-color:var(--color-danger);box-shadow:none}.input.warning{border-color:var(--color-warning)}.input.warning:focus{border-color:var(--color-warning);box-shadow:none}.input.success{border-color:var(--color-success)}.input.success:focus{border-color:var(--color-success);box-shadow:none}textarea.input{min-height:88px;padding:8px 12px;line-height:1.55;resize:vertical}.input-label{display:block;font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.input-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:8px}.input-hint.danger{color:var(--color-danger)}.input-hint.warning{color:var(--color-warning)}.input-hint.success{color:var(--color-success)}.card{position:relative;background:var(--bg-surface-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.card.interactive{cursor:pointer}.card.interactive:hover{box-shadow:var(--shadow-lift)}.card.danger,.card.warning,.card.success,.card.info{overflow:hidden}.card.danger::before,.card.warning::before,.card.success::before,.card.info::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:2px;border-radius:1px}.card.danger::before{background:var(--color-danger)}.card.warning::before{background:var(--color-warning)}.card.success::before{background:var(--color-success)}.card.info::before{background:var(--color-info)}.card.flush{background:rgba(0,0,0,0);box-shadow:none;border-top:1px solid var(--hairline-color);border-radius:0;padding:20px 0}.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.card-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--hairline-color);display:flex;align-items:center;justify-content:space-between;gap:12px}@keyframes alert-rise{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.alert{--alert-accent: var(--color-info);--alert-accent-soft: var(--color-info-soft);--alert-accent-on: var(--color-info-on);position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;line-height:1.5;animation:alert-rise 180ms ease-out both}@media(prefers-reduced-motion: reduce){.alert{animation:none}}.alert-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:1px;border-radius:var(--radius-sm);background:var(--alert-accent-soft);color:var(--alert-accent)}.alert-content{flex:1 1 auto;min-width:0;padding-top:1px}.alert-title{font-weight:600;line-height:1.35;margin:0 0 2px;color:var(--text-primary)}.alert-body{color:var(--text-secondary);margin:0}.alert-action{flex:none;display:inline-flex;align-items:center;margin-left:8px;align-self:center}.alert-close{flex:none;margin-left:8px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:rgba(0,0,0,0);border:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);line-height:1;transition:color 120ms ease,background-color 120ms ease}.alert-close:hover{color:var(--text-primary);background:var(--bg-surface-low)}.alert-close:focus-visible{outline:2px solid var(--alert-accent);outline-offset:1px}.alert.info{--alert-accent: var(--color-info);--alert-accent-soft: var(--color-info-soft);--alert-accent-on: var(--color-info-on);background:var(--color-info-soft);border-color:color-mix(in srgb, var(--color-info) 22%, transparent)}.alert.info .alert-title{color:var(--color-info)}.alert.success{--alert-accent: var(--color-success);--alert-accent-soft: var(--color-success-soft);--alert-accent-on: var(--color-success-on);background:var(--color-success-soft);border-color:color-mix(in srgb, var(--color-success) 22%, transparent)}.alert.success .alert-title{color:var(--color-success)}.alert.warning{--alert-accent: var(--color-warning);--alert-accent-soft: var(--color-warning-soft);--alert-accent-on: var(--color-warning-on);background:var(--color-warning-soft);border-color:color-mix(in srgb, var(--color-warning) 24%, transparent)}.alert.warning .alert-title{color:var(--color-warning)}.alert.danger{--alert-accent: var(--color-danger);--alert-accent-soft: var(--color-danger-soft);--alert-accent-on: var(--color-danger-on);background:var(--color-danger-soft);border-color:color-mix(in srgb, var(--color-danger) 26%, transparent)}.alert.danger .alert-title{color:var(--color-danger)}.alert.solid{border:0;color:var(--alert-accent-on);background:var(--alert-accent)}.alert.solid .alert-title{color:var(--alert-accent-on)}.alert.solid .alert-body{color:var(--alert-accent-on);opacity:.88}.alert.solid .alert-icon{background:hsla(0,0%,100%,.18);color:var(--alert-accent-on)}.alert.solid .alert-close{color:var(--alert-accent-on);opacity:.78}.alert.solid .alert-close:hover{opacity:1;background:hsla(0,0%,100%,.14)}.alert.solid .alert-close:focus-visible{outline-color:hsla(0,0%,100%,.85)}.checkbox,.radio{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;margin:0;padding:0;background:var(--bg-surface-lowest);border:1px solid var(--border-color-strong);cursor:pointer;vertical-align:middle;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.checkbox:hover:not(:disabled):not([data-disabled]),.radio:hover:not(:disabled):not([data-disabled]){border-color:var(--color-primary)}.checkbox:focus-visible,.radio:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.checkbox:disabled,.checkbox[data-disabled],.radio:disabled,.radio[data-disabled]{opacity:.5;cursor:not-allowed}.checkbox{border-radius:var(--radius-xs)}.checkbox:not([data-state]):checked{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><path d='M3.5 8.5L6.5 11.5L12.5 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:center}.checkbox:not([data-state]):indeterminate{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='3' y='7' width='10' height='2' fill='white' rx='1'/></svg>");background-repeat:no-repeat;background-position:center}.checkbox[data-state=checked],.checkbox[data-state=indeterminate]{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox>*{display:inline-flex;align-items:center;justify-content:center;color:#fff;line-height:0}.radio{border-radius:50%;position:relative}.radio:checked,.radio[data-state=checked]{border-color:var(--color-primary);background-color:var(--bg-surface-lowest)}.radio:not([data-state]):checked{background-image:radial-gradient(circle, var(--color-primary) 0 4px, transparent 5px)}.radio>*{display:block;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.cny-radio-group{display:flex;flex-direction:column;gap:8px}.cny-radio-group-horizontal{flex-direction:row;gap:16px}.control{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);cursor:pointer;user-select:none}.control:has(:disabled){cursor:not-allowed;color:var(--text-disabled)}.switch{--switch-w: 36px;--switch-h: 20px;--switch-pad: 2px;--switch-thumb: calc(var(--switch-h) - var(--switch-pad) * 2);--switch-travel: calc(var(--switch-w) - var(--switch-thumb) - var(--switch-pad) * 2);appearance:none;-webkit-appearance:none;position:relative;display:inline-block;flex:none;width:var(--switch-w);height:var(--switch-h);margin:0;padding:0;background:var(--border-color-strong);border:0;border-radius:var(--radius-full);cursor:pointer;vertical-align:middle;transition:background-color var(--transition-fast)}.switch::before{content:"";position:absolute;top:var(--switch-pad);left:var(--switch-pad);width:var(--switch-thumb);height:var(--switch-thumb);background:#fff;border-radius:50%;box-shadow:var(--shadow-xs);transition:transform var(--transition-fast)}.switch:has(.switch-thumb)::before{content:none}.switch:checked{background:var(--color-primary)}.switch:checked::before{transform:translateX(var(--switch-travel))}.switch:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch[data-state=checked]{background:var(--color-primary)}.switch[data-disabled]{opacity:.5;cursor:not-allowed}.switch-thumb{display:block;width:var(--switch-thumb, 16px);height:var(--switch-thumb, 16px);margin:var(--switch-pad, 2px);background:#fff;border-radius:50%;box-shadow:var(--shadow-xs);transform:translateX(0);transition:transform var(--transition-fast);will-change:transform;pointer-events:none}.switch-thumb[data-state=checked]{transform:translateX(var(--switch-travel, 14px))}@media(prefers-reduced-motion: reduce){.switch,.switch::before,.switch-thumb{transition:none}}.select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:36px;padding:0 32px 0 12px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;line-height:1.4;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><path d='M4 6l4 4 4-4' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.select:hover:not(:disabled):not(:focus){border-color:var(--border-color-strong)}.select:focus{outline:none;border-color:var(--border-focus);box-shadow:none}.select:disabled{background-color:var(--bg-surface-low);color:var(--text-disabled);cursor:not-allowed}.select.sm{min-height:28px;font-size:.8125rem;padding:0 24px 0 8px}.select.lg{min-height:44px;font-size:.9375rem;padding:0 40px 0 16px}.table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);background:var(--bg-surface-lowest)}.table th,.table td{padding:12px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--hairline-color)}.table thead th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-surface-low);border-bottom:1px solid var(--border-color);white-space:nowrap}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:last-child td{border-bottom:0}.table.hoverable tbody tr:hover{background:var(--bg-surface-low)}.table.striped tbody tr:nth-child(odd){background:var(--bg-surface-low)}.table.compact th,.table.compact td{padding:8px 12px}.table.bordered{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.table.bordered th,.table.bordered td{border-right:1px solid var(--hairline-color)}.table.bordered th:last-child,.table.bordered td:last-child{border-right:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table.resizable{table-layout:fixed}.table.resizable thead th,.table.resizable tbody td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table.resizable thead th{position:relative}.table.resizable tbody td>.cny-row{min-width:0}.table.resizable .th-resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;user-select:none;touch-action:none;z-index:1;background:rgba(0,0,0,0);transition:background-color var(--transition-fast)}.table.resizable .th-resizer::after{content:"";position:absolute;top:20%;right:2px;width:1px;height:60%;background:var(--border-color);transition:background-color var(--transition-fast)}.table.resizable .th-resizer:hover::after,.table.resizable .th-resizer.resizing::after{background:var(--color-primary);width:2px}.table.resizable .th-resizer:hover,.table.resizable .th-resizer.resizing{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.table.resizable.is-resizing{cursor:col-resize;user-select:none}.table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface-lowest)}.table-wrap .table{background:rgba(0,0,0,0)}.table-wrap .table th,.table-wrap .table td{white-space:nowrap}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;background:var(--color-primary-soft);color:var(--color-primary);border-radius:50%;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:-0.01em;user-select:none}.avatar img,.avatar svg{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.avatar.online::after,.avatar.offline::after,.avatar.busy::after{content:"";position:absolute;bottom:0;right:0;width:30%;height:30%;min-width:8px;min-height:8px;border-radius:50%;transform:translate(15%, 15%);box-shadow:0 0 0 2px var(--bg-surface-lowest);z-index:1}.avatar.online::after{background:var(--color-success)}.avatar.offline::after{background:var(--text-muted)}.avatar.busy::after{background:var(--color-danger)}.avatar.xs{width:20px;height:20px;font-size:.625rem}.avatar.sm{width:24px;height:24px;font-size:.6875rem}.avatar.lg{width:40px;height:40px;font-size:.9375rem}.avatar.xl{width:56px;height:56px;font-size:1.125rem}.avatar.square{border-radius:var(--radius-sm)}.avatar-stack{display:inline-flex;isolation:isolate}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--bg-surface-lowest)}.avatar-stack .avatar+.avatar{margin-left:-8px}.avatar-stack .avatar:hover,.avatar-stack .avatar.online,.avatar-stack .avatar.offline,.avatar-stack .avatar.busy{z-index:2}.avatar-stack .avatar.xs+.avatar.xs{margin-left:-6px}.avatar-stack .avatar.sm+.avatar.sm{margin-left:-7px}.avatar-stack .avatar.lg+.avatar.lg{margin-left:-10px}.avatar-stack .avatar.xl+.avatar.xl{margin-left:-14px}.avatar-stack .avatar.online::after,.avatar-stack .avatar.offline::after,.avatar-stack .avatar.busy::after{box-shadow:0 0 0 2px var(--bg-surface-lowest)}.progress{position:relative;display:block;width:100%;height:6px;background:var(--bg-surface-edge);border-radius:var(--radius-full);overflow:hidden}.progress-bar{display:block;height:100%;width:var(--value, 0%);background:var(--color-primary);border-radius:inherit;transition:width var(--transition-base)}.progress.danger .progress-bar{background:var(--color-danger)}.progress.warning .progress-bar{background:var(--color-warning)}.progress.success .progress-bar{background:var(--color-success)}.progress.info .progress-bar{background:var(--color-info)}.progress.sm{height:4px}.progress.lg{height:10px}.progress.indeterminate .progress-bar{width:40%;animation:cny-progress-slide 1.4s var(--ease-standard) infinite}@keyframes cny-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}.progress-ring{--value: 0;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:conic-gradient(var(--color-primary) calc(var(--value) * 1%), var(--bg-surface-edge) 0);font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:var(--text-primary)}.progress-ring::before{content:"";grid-area:1/1;width:calc(100% - 6px);height:calc(100% - 6px);background:var(--bg-surface-lowest);border-radius:50%}.progress-ring>*{grid-area:1/1}.progress-ring.sm{width:28px;height:28px;font-size:.5625rem}.progress-ring.lg{width:56px;height:56px;font-size:.8125rem}.skeleton{display:block;background:var(--bg-surface-edge);border-radius:var(--radius-sm);position:relative;overflow:hidden;color:rgba(0,0,0,0);user-select:none}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.45) 50%, transparent 100%);animation:cny-skeleton-shimmer 1.6s infinite}.skeleton.text{height:.875rem;border-radius:var(--radius-xs);margin:4px 0}.skeleton.title{height:1.25rem;width:60%;border-radius:var(--radius-xs)}.skeleton.circle{border-radius:50%}.skeleton.button{height:36px;width:96px;border-radius:var(--radius-sm)}.skeleton.avatar{width:32px;height:32px;border-radius:50%}@keyframes cny-skeleton-shimmer{100%{transform:translateX(100%)}}@media(prefers-reduced-motion: reduce){.skeleton::after{animation:none}}.cny-dark .skeleton::after{background:linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.08) 50%, transparent 100%)}@media(prefers-color-scheme: dark){.skeleton::after{background:linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.08) 50%, transparent 100%)}}.has-tooltip{position:relative}.has-tooltip::before,.has-tooltip::after{position:absolute;left:50%;opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:50}.has-tooltip::before{content:attr(data-tooltip);bottom:calc(100% + 8px);transform:translate(-50%, 4px);padding:6px 10px;background:var(--color-neutral);color:var(--color-neutral-on);font-family:var(--font-body);font-size:.75rem;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-width:240px}.has-tooltip::after{content:"";bottom:calc(100% + 2px);transform:translate(-50%, 4px);border:4px solid rgba(0,0,0,0);border-top-color:var(--color-neutral)}.has-tooltip:hover::before,.has-tooltip:hover::after,.has-tooltip:focus-visible::before,.has-tooltip:focus-visible::after{opacity:1;transform:translate(-50%, 0)}.has-tooltip.tooltip-bottom::before{bottom:auto;top:calc(100% + 8px)}.has-tooltip.tooltip-bottom::after{bottom:auto;top:calc(100% + 2px);border-top-color:rgba(0,0,0,0);border-bottom-color:var(--color-neutral)}@media(prefers-reduced-motion: reduce){.has-tooltip::before,.has-tooltip::after{transition:opacity var(--transition-fast)}}.cny-scroll,.cny-scroll-region{scrollbar-width:thin;scrollbar-color:var(--border-color) rgba(0,0,0,0)}.cny-scroll::-webkit-scrollbar,.cny-scroll-region::-webkit-scrollbar{width:12px;height:12px}.cny-scroll::-webkit-scrollbar-track,.cny-scroll-region::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.cny-scroll::-webkit-scrollbar-thumb,.cny-scroll-region::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:var(--radius-full);border:3px solid rgba(0,0,0,0);background-clip:content-box;transition:background-color var(--transition-fast)}.cny-scroll::-webkit-scrollbar-thumb:hover,.cny-scroll-region::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted);background-clip:content-box}.cny-scroll::-webkit-scrollbar-thumb:active,.cny-scroll-region::-webkit-scrollbar-thumb:active{background-color:var(--text-secondary);background-clip:content-box}.cny-scroll::-webkit-scrollbar-corner,.cny-scroll-region::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.cny-scroll.subtle,.subtle.cny-scroll-region,.cny-scroll.overlay,.overlay.cny-scroll-region,.cny-scroll.expand,.expand.cny-scroll-region{scrollbar-width:auto;scrollbar-color:auto}.cny-scroll.subtle.primary,.subtle.primary.cny-scroll-region,.cny-scroll.overlay.primary,.overlay.primary.cny-scroll-region,.cny-scroll.expand.primary,.expand.primary.cny-scroll-region{scrollbar-color:auto}.cny-scroll.thin::-webkit-scrollbar,.thin.cny-scroll-region::-webkit-scrollbar{width:8px;height:8px}.cny-scroll.thin::-webkit-scrollbar-thumb,.thin.cny-scroll-region::-webkit-scrollbar-thumb{border-width:2px}.cny-scroll.subtle::-webkit-scrollbar-thumb,.subtle.cny-scroll-region::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0)}.cny-scroll.subtle:hover::-webkit-scrollbar-thumb,.subtle.cny-scroll-region:hover::-webkit-scrollbar-thumb,.cny-scroll.subtle:focus-within::-webkit-scrollbar-thumb,.subtle.cny-scroll-region:focus-within::-webkit-scrollbar-thumb{background-color:var(--border-color);background-clip:content-box}.cny-scroll.overlay::-webkit-scrollbar,.overlay.cny-scroll-region::-webkit-scrollbar{width:10px;height:10px}.cny-scroll.overlay::-webkit-scrollbar-track,.overlay.cny-scroll-region::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.cny-scroll.overlay::-webkit-scrollbar-thumb,.overlay.cny-scroll-region::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--text-muted) 40%, transparent);border-width:2px}.cny-scroll.overlay::-webkit-scrollbar-thumb:hover,.overlay.cny-scroll-region::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--text-muted) 70%, transparent);background-clip:content-box}.cny-scroll.expand::-webkit-scrollbar,.expand.cny-scroll-region::-webkit-scrollbar{width:16px;height:16px;background:rgba(0,0,0,0)}.cny-scroll.expand::-webkit-scrollbar-thumb,.expand.cny-scroll-region::-webkit-scrollbar-thumb{border-width:6px;background-color:var(--border-color-strong);transition:border-width .15s ease,background-color var(--transition-fast)}.cny-scroll.expand::-webkit-scrollbar-thumb:hover,.expand.cny-scroll-region::-webkit-scrollbar-thumb:hover,.cny-scroll.expand::-webkit-scrollbar-thumb:active,.expand.cny-scroll-region::-webkit-scrollbar-thumb:active{border-width:1px;background-color:var(--text-muted)}.cny-scroll.primary,.primary.cny-scroll-region{scrollbar-color:var(--color-primary) rgba(0,0,0,0)}.cny-scroll.primary::-webkit-scrollbar-thumb,.primary.cny-scroll-region::-webkit-scrollbar-thumb{background-color:var(--color-primary);background-clip:content-box}.cny-scroll.primary::-webkit-scrollbar-thumb:hover,.primary.cny-scroll-region::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary);background-clip:content-box}.cny-scroll-region{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface-lowest);overflow:auto;background:linear-gradient(var(--bg-surface-lowest) 30%, rgba(0, 0, 0, 0)) center top,linear-gradient(rgba(0, 0, 0, 0), var(--bg-surface-lowest) 70%) center bottom,radial-gradient(farthest-side at center top, var(--hairline-color), transparent) center top,radial-gradient(farthest-side at center bottom, var(--hairline-color), transparent) center bottom;background-repeat:no-repeat;background-size:100% 24px,100% 24px,100% 8px,100% 8px;background-attachment:local,local,scroll,scroll;background-color:var(--bg-surface-lowest)}.cny-navbar{display:flex;align-items:center;gap:16px;height:56px;padding:0 24px;background:color-mix(in srgb, var(--bg-base) 78%, transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--hairline-color);position:sticky;top:0;z-index:20;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.cny-navbar.solid{background:var(--bg-base);backdrop-filter:none;-webkit-backdrop-filter:none}.cny-navbar.bordered{border-bottom-color:var(--border-color)}.cny-navbar-brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary);font-weight:650;letter-spacing:-0.012em;font-size:.9375rem;line-height:1;padding:6px 8px;margin-left:-8px;border-radius:var(--radius-sm);flex-shrink:0;transition:background-color var(--transition-fast)}.cny-navbar-brand:hover{background:var(--bg-surface-low)}.cny-navbar-brand:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.cny-navbar-brand .brand-mark{position:relative;width:22px;height:22px;border-radius:6px;background:radial-gradient(120% 120% at 20% 0%, color-mix(in srgb, white 22%, transparent), transparent 55%),linear-gradient(135deg, var(--color-primary), color-mix(in srgb, var(--color-primary) 60%, black));box-shadow:inset 0 1px 0 color-mix(in srgb, white 25%, transparent),inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 40%, black),0 1px 2px rgba(0,0,0,.18);flex-shrink:0}.cny-navbar-nav{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.cny-navbar-nav::-webkit-scrollbar{display:none}.cny-navbar-item{position:relative;display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast)}.cny-navbar-item:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-navbar-item:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.cny-navbar-item.active{color:var(--text-primary);font-weight:550}.cny-navbar-item.active::after{content:"";position:absolute;left:12px;right:12px;bottom:-10px;height:2px;border-radius:2px 2px 0 0;background:var(--color-primary)}.cny-navbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.cny-navbar-divider{width:1px;height:20px;background:linear-gradient(180deg, transparent, var(--hairline-strong, var(--hairline-color)), transparent);margin:0 4px;flex-shrink:0}@media(max-width: 640px){.cny-navbar{height:52px;padding:0 16px;gap:8px}.cny-navbar-nav{display:none}}.cny-sidebar{display:flex;flex-direction:column;width:260px;flex-shrink:0;padding:20px;border-right:1px solid var(--hairline-color);background:var(--bg-base);overflow-y:auto}.cny-sidebar.sticky{position:sticky;top:52px;align-self:flex-start;max-height:calc(100vh - 52px)}.cny-sidebar.thin{width:220px}.cny-sidebar.wide{width:300px}.cny-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 16px;margin-bottom:8px;min-height:40px;font-size:.9375rem;font-weight:650;color:var(--text-primary)}.cny-sidebar-header>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-sidebar-footer{margin-top:auto;padding:16px 8px 4px;border-top:1px solid var(--hairline-color)}.cny-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background-color 160ms ease,color 160ms ease,transform 160ms ease}.cny-sidebar-toggle:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-sidebar-toggle:active{transform:scale(0.96)}.cny-sidebar-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cny-sidebar-toggle.collapsed svg{transform:rotate(180deg)}.cny-sidebar-section{margin-bottom:20px}.cny-sidebar-section:last-child{margin-bottom:0}.cny-sidebar-title{font-size:.75rem;font-weight:600;color:var(--text-muted);padding:0 8px;margin:0 0 8px}.cny-sidebar-nav{display:flex;flex-direction:column;gap:2px}.cny-sidebar-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:background-color 150ms ease,color 150ms ease,transform 150ms ease}.cny-sidebar-item:hover{background:var(--bg-surface-low);color:var(--text-primary);transform:translateX(1px)}.cny-sidebar-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px}.cny-sidebar-item.active{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.cny-sidebar-item.active .cny-sidebar-item-icon{opacity:1}.cny-sidebar-item.disabled{color:var(--text-muted);pointer-events:none;opacity:.55}.cny-sidebar-item .cny-sidebar-item-icon{width:18px;height:18px;flex-shrink:0;opacity:.7;transition:opacity 150ms ease}.cny-sidebar-item .cny-sidebar-item-badge{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 7px;line-height:1.4;border-radius:var(--radius-full);background:var(--bg-surface-low);color:var(--text-secondary)}.cny-sidebar{scrollbar-width:thin;scrollbar-color:var(--border-color) rgba(0,0,0,0)}.cny-sidebar::-webkit-scrollbar{width:6px}.cny-sidebar::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.cny-sidebar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.cny-sidebar::-webkit-scrollbar-thumb:hover{background:var(--border-color-strong)}.cny-sidebar.collapsed{width:68px;padding:20px 12px;align-items:center}.cny-sidebar.collapsed .cny-sidebar-header{justify-content:center;padding:4px 0 16px}.cny-sidebar.collapsed .cny-sidebar-footer{padding:16px 0 4px;border-top-color:rgba(0,0,0,0);display:flex;justify-content:center}.cny-sidebar.collapsed .cny-sidebar-title{display:none}.cny-sidebar.collapsed .cny-sidebar-item{justify-content:center;padding:10px}.cny-sidebar.collapsed .cny-sidebar-item span:not(.cny-sidebar-item-icon):not(.cny-sidebar-item-badge){display:none}.cny-sidebar.collapsed .cny-sidebar-item .cny-sidebar-item-badge{display:none}.cny-sidebar.collapsed .cny-sidebar-item:hover{transform:scale(1.05)}@media(max-width: 900px){.cny-sidebar.responsive{display:none}}.cny-text{font-family:var(--font-body);color:var(--text-primary);margin:0}.cny-text-display{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:500;line-height:1.05;letter-spacing:-0.03em}.cny-text-h1{font-family:var(--font-display);font-size:clamp(1.875rem,3.2vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-0.025em}.cny-text-h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:500;line-height:1.2;letter-spacing:-0.02em}.cny-text-h3{font-family:var(--font-body);font-size:1.25rem;font-weight:600;line-height:1.3;letter-spacing:-0.015em}.cny-text-h4{font-family:var(--font-body);font-size:1.0625rem;font-weight:600;line-height:1.35;letter-spacing:-0.01em}.cny-text-h5{font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-0.005em}.cny-text-h6{font-family:var(--font-body);font-size:.8125rem;font-weight:600;line-height:1.4;letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.cny-text-lead{font-family:var(--font-body);font-size:1.125rem;font-weight:400;line-height:1.55;color:var(--text-secondary)}.cny-text-body{font-family:var(--font-body);font-size:.9375rem;font-weight:400;line-height:1.6}.cny-text-small{font-family:var(--font-body);font-size:.8125rem;font-weight:400;line-height:1.5;color:var(--text-secondary)}.cny-text-caption{font-family:var(--font-body);font-size:.75rem;font-weight:400;line-height:1.5;color:var(--text-muted)}.cny-text-code{font-family:var(--font-mono);font-size:.8125rem;padding:.1em .35em;border-radius:var(--radius-xs);background:var(--bg-surface-low);color:var(--text-primary)}.cny-text-kbd{font-family:var(--font-mono);font-size:.75rem;padding:.1em .4em;border-radius:var(--radius-xs);background:var(--bg-surface-lowest);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-color),0 1px 0 0 var(--border-color)}.cny-weight-regular{font-weight:400}.cny-weight-medium{font-weight:500}.cny-weight-semibold{font-weight:600}.cny-weight-bold{font-weight:700}.cny-text-left{text-align:left}.cny-text-center{text-align:center}.cny-text-right{text-align:right}.cny-text-justify{text-align:justify}.cny-field{display:flex;flex-direction:column;gap:8px}.cny-field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cny-field-label{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.cny-field-label .cny-field-required{color:var(--color-danger);font-weight:500}.cny-field-label .cny-field-optional{font-size:.6875rem;font-weight:400;color:var(--text-muted);padding:1px 6px;border-radius:var(--radius-full);background:var(--bg-surface-low)}.cny-field-counter{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.cny-field-counter.danger{color:var(--color-danger)}.cny-field-hint{font-size:.75rem;color:var(--text-muted);line-height:1.5}.cny-field-hint.danger{color:var(--color-danger)}.cny-field-hint.warning{color:var(--color-warning)}.cny-field-hint.success{color:var(--color-success)}.cny-input-affix{position:relative;display:flex;align-items:stretch;width:100%}.cny-input-affix .cny-input-prefix,.cny-input-affix .cny-input-suffix{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none}.cny-input-affix .cny-input-prefix{left:12px}.cny-input-affix .cny-input-suffix{right:12px}.cny-input-affix .cny-input-action{position:absolute;top:50%;transform:translateY(-50%);right:6px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--radius-xs);background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer;transition:background-color 120ms,color 120ms}.cny-input-affix .cny-input-action:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-input-affix .cny-input-action:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring-color)}.cny-input-affix .cny-input-action+.cny-input-action{right:36px}.cny-input-affix.has-action:has(.cny-input-action+.cny-input-action)>.input{padding-right:62px}.cny-input-affix.has-prefix>.input{padding-left:calc(12px + 18px + 6px)}.cny-input-affix.has-suffix>.input{padding-right:calc(12px + 18px + 6px)}.cny-input-affix.has-action>.input{padding-right:32px}.cny-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;gap:8px;padding:0 12px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;line-height:1;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cny-select-trigger[data-placeholder]{color:var(--text-muted)}.cny-select-trigger:hover:not([data-disabled]){border-color:var(--border-color-strong)}.cny-select-trigger:focus-visible,.cny-select-trigger[data-state=open]{outline:none;border-color:var(--border-focus);box-shadow:none}.cny-select-trigger[data-disabled]{background:var(--bg-surface-low);color:var(--text-disabled);cursor:not-allowed}.cny-select-trigger.sm{min-height:28px;font-size:.8125rem;padding:0 8px}.cny-select-trigger.lg{min-height:44px;font-size:.9375rem;padding:0 16px}.cny-select-trigger.danger{border-color:var(--color-danger)}.cny-select-trigger.danger:focus-visible,.cny-select-trigger.danger[data-state=open]{border-color:var(--color-danger);box-shadow:none}.cny-select-trigger.warning{border-color:var(--color-warning)}.cny-select-trigger.warning:focus-visible,.cny-select-trigger.warning[data-state=open]{border-color:var(--color-warning);box-shadow:none}.cny-select-trigger.success{border-color:var(--color-success)}.cny-select-trigger.success:focus-visible,.cny-select-trigger.success[data-state=open]{border-color:var(--color-success);box-shadow:none}.cny-select-chevron{color:var(--text-muted);flex-shrink:0;transition:transform 150ms var(--ease-standard)}[data-state=open] .cny-select-chevron{transform:rotate(180deg)}.cny-select-content{z-index:60;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);padding:4px;border-radius:var(--radius-md);background:var(--bg-surface-lowest);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-color);overflow:hidden;animation:cny-select-pop 160ms cubic-bezier(0.2, 0, 0, 1)}@keyframes cny-select-pop{from{opacity:0;transform:translateY(-4px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-select-viewport{padding:2px}.cny-select-item{position:relative;display:flex;align-items:center;gap:8px;padding:6px 28px 6px 10px;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);cursor:pointer;user-select:none}.cny-select-item[data-highlighted]{outline:none;background:var(--bg-surface-low)}.cny-select-item[data-state=checked]{color:var(--color-primary);font-weight:500}.cny-select-item[data-disabled]{color:var(--text-disabled);cursor:not-allowed}.cny-select-indicator{position:absolute;right:8px;display:inline-flex;color:var(--color-primary)}.cny-select-group-label{padding:6px 10px 4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.cny-select-separator{height:1px;background:var(--hairline-color);margin:4px 0}.cny-multiselect-trigger{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;width:100%;min-height:36px;padding:3px 32px 3px 6px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;cursor:text;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cny-multiselect-trigger:hover:not([data-disabled]){border-color:var(--border-color-strong)}.cny-multiselect-trigger[data-state=open],.cny-multiselect-trigger:focus-within{border-color:var(--border-focus);box-shadow:none}.cny-multiselect-trigger[data-disabled]{background:var(--bg-surface-low);color:var(--text-disabled);cursor:not-allowed}.cny-multiselect-trigger.sm{min-height:28px;font-size:.8125rem}.cny-multiselect-trigger.lg{min-height:44px;font-size:.9375rem}.cny-multiselect-trigger.danger{border-color:var(--color-danger)}.cny-multiselect-trigger.danger:focus-within,.cny-multiselect-trigger.danger[data-state=open]{border-color:var(--color-danger);box-shadow:none}.cny-multiselect-trigger.warning{border-color:var(--color-warning)}.cny-multiselect-trigger.warning:focus-within,.cny-multiselect-trigger.warning[data-state=open]{border-color:var(--color-warning);box-shadow:none}.cny-multiselect-trigger.success{border-color:var(--color-success)}.cny-multiselect-trigger.success:focus-within,.cny-multiselect-trigger.success[data-state=open]{border-color:var(--color-success);box-shadow:none}.cny-multiselect-trigger .cny-multiselect-placeholder{color:var(--text-muted);padding:4px 6px}.cny-multiselect-trigger .cny-multiselect-input{flex:1 1 60px;min-width:60px;border:0;outline:none;background:rgba(0,0,0,0);color:inherit;font:inherit;padding:4px 6px}.cny-multiselect-trigger .cny-multiselect-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:transform 150ms var(--ease-standard)}.cny-multiselect-trigger[data-state=open] .cny-multiselect-chevron{transform:translateY(-50%) rotate(180deg)}.cny-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);font-size:.8125rem;line-height:1.3;max-width:100%}.cny-chip .cny-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-chip .cny-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;border-radius:3px;background:rgba(0,0,0,0);color:inherit;cursor:pointer;opacity:.7}.cny-chip .cny-chip-remove:hover{opacity:1;background:hsla(0,0%,100%,.4)}.cny-chip .cny-chip-remove:focus-visible{outline:none;box-shadow:0 0 0 2px currentColor}.cny-chip.danger{background:var(--color-danger-soft);color:var(--color-danger)}.cny-chip.warning{background:var(--color-warning-soft);color:var(--color-warning)}.cny-chip.success{background:var(--color-success-soft);color:var(--color-success)}.cny-chip.neutral{background:var(--bg-surface-low);color:var(--text-secondary)}.cny-popover{z-index:60;min-width:var(--radix-popover-trigger-width);max-width:min(max(var(--radix-popover-trigger-width),320px),var(--radix-popover-content-available-width));max-height:min(320px,var(--radix-popover-content-available-height));padding:4px;border-radius:var(--radius-md);background:var(--bg-surface-lowest);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-color);overflow:hidden;animation:cny-select-pop 160ms cubic-bezier(0.2, 0, 0, 1)}.cny-popover [cmdk-list]{max-height:280px;overflow-y:auto;scrollbar-width:thin;padding:2px}.cny-popover [cmdk-input]{width:100%;margin:2px 0 4px;padding:6px 10px;border:0;outline:none;background:rgba(0,0,0,0);color:var(--text-primary);font-size:.875rem;border-bottom:1px solid var(--hairline-color)}.cny-popover [cmdk-input]::placeholder{color:var(--text-muted)}.cny-popover [cmdk-item]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);cursor:pointer;user-select:none;min-width:0}.cny-popover [cmdk-item]>span:not(.cny-check){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-popover [cmdk-item][data-selected=true]{background:var(--bg-surface-low)}.cny-popover [cmdk-item] .cny-check{margin-left:auto;color:var(--color-primary)}.cny-popover [cmdk-empty]{padding:20px 12px;text-align:center;color:var(--text-muted);font-size:.875rem}.cny-popover [cmdk-group-heading]{padding:6px 10px 4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.cny-textarea-autogrow{display:block;width:100%;resize:none;overflow:hidden}@keyframes cny-dp-pop{from{opacity:0;transform:translateY(-4px) scale(0.985)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-datepicker{position:relative;display:inline-block;width:100%}.cny-datepicker.is-disabled{pointer-events:none}.cny-datepicker-trigger{display:inline-flex;align-items:center;gap:8px;width:100%;text-align:left;cursor:pointer;padding:0 12px}.cny-datepicker-trigger:focus,.cny-datepicker-trigger.is-open{border-color:var(--border-focus)}.cny-datepicker-trigger[disabled]{cursor:not-allowed}.cny-datepicker-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);flex:none;transition:color 140ms ease}.cny-datepicker-trigger:hover .cny-datepicker-icon,.cny-datepicker-trigger.is-open .cny-datepicker-icon{color:var(--border-focus)}.cny-datepicker-trigger.danger .cny-datepicker-icon{color:var(--color-danger)}.cny-datepicker-value{flex:1 1 auto;min-width:0;color:var(--text-primary);font-size:inherit;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.cny-datepicker-value.is-placeholder{color:var(--text-muted)}.cny-datepicker-clear{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color 120ms ease,background-color 120ms ease}.cny-datepicker-clear:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-datepicker-error{display:block;margin-top:6px;font-size:.75rem;color:var(--color-danger);line-height:1.4}.cny-datepicker-panel{position:fixed;z-index:1000;padding:10px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 rgba(15,23,42,.02),0 6px 18px -6px rgba(15,23,42,.14),0 14px 32px -16px rgba(15,23,42,.16);font-family:var(--font-body);color:var(--text-primary);animation:cny-dp-pop 140ms cubic-bezier(0.2, 0.8, 0.2, 1) both}.cny-datepicker-panel.is-date,.cny-datepicker-panel.is-month,.cny-datepicker-panel.is-year{width:264px}.cny-datepicker-panel.is-time{width:208px}.cny-datepicker-panel.is-datetime{width:264px}.cny-datepicker-panel{max-width:calc(100vw - 16px)}@media(prefers-reduced-motion: reduce){.cny-datepicker-panel{animation:none}}.cny-datepicker-body{display:flex;flex-direction:column;gap:8px}.cny-datepicker-header{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:2px}.cny-datepicker-title{font-weight:600;font-size:.8125rem;letter-spacing:-0.003em;color:var(--text-primary);flex:1 1 auto;text-align:center;font-variant-numeric:tabular-nums}.cny-datepicker-title.is-clickable{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:24px;padding:0 8px;background:rgba(0,0,0,0);border:0;border-radius:var(--radius-xs);color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;transition:background-color 120ms ease,color 120ms ease}.cny-datepicker-title.is-clickable::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.5;transition:opacity 120ms ease,transform 120ms ease}.cny-datepicker-title.is-clickable:hover{background:var(--bg-surface-low);color:var(--color-info)}.cny-datepicker-title.is-clickable:hover::after{opacity:1;transform:rotate(45deg) translateY(0)}.cny-datepicker-title.is-clickable:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-datepicker-nav{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;background:rgba(0,0,0,0);color:var(--text-secondary);border-radius:var(--radius-xs);cursor:pointer;transition:background-color 120ms ease,color 120ms ease}.cny-datepicker-nav:hover:not(:disabled){background:var(--bg-surface-low);color:var(--text-primary)}.cny-datepicker-nav:active:not(:disabled){transform:scale(0.92)}.cny-datepicker-nav:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-datepicker-nav:disabled{opacity:.35;cursor:not-allowed}.cny-datepicker-grid{display:grid;gap:1px}.cny-datepicker-weekdays,.cny-datepicker-row{display:grid;grid-template-columns:repeat(7, 1fr);gap:1px}.cny-datepicker-weekday{text-align:center;font-size:.625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:4px 0 6px;line-height:1}.cny-datepicker-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;height:30px;min-width:0;width:100%;border:0;background:rgba(0,0,0,0);color:var(--text-primary);font-size:.8125rem;font-variant-numeric:tabular-nums;border-radius:var(--radius-xs);cursor:pointer;transition:background-color 100ms ease,color 100ms ease}.cny-datepicker-cell:hover:not(:disabled):not(.is-selected){background:var(--bg-surface-low)}.cny-datepicker-cell:focus-visible{outline:2px solid var(--border-focus);outline-offset:-1px;z-index:1}.cny-datepicker-cell.is-outside{color:var(--text-muted);opacity:.5}.cny-datepicker-cell.is-today:not(.is-selected){color:var(--color-info);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-info) 35%, transparent)}.cny-datepicker-cell.is-today:not(.is-selected)::after{content:"";position:absolute;bottom:3px;left:50%;width:3px;height:3px;border-radius:50%;background:currentColor;transform:translateX(-50%)}.cny-datepicker-cell.is-selected{background:var(--color-info);color:var(--color-info-on);font-weight:600}.cny-datepicker-cell:disabled{color:var(--text-disabled);cursor:not-allowed;opacity:.4}.cny-datepicker-chip-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:4px;padding:2px 0}.cny-datepicker-chip{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 8px;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--text-primary);font-size:.8125rem;font-variant-numeric:tabular-nums;border-radius:var(--radius-xs);cursor:pointer;transition:background-color 120ms ease,color 120ms ease}.cny-datepicker-chip:hover:not(:disabled):not(.is-selected){background:var(--bg-surface-low)}.cny-datepicker-chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:-1px}.cny-datepicker-chip.is-outside{color:var(--text-muted);opacity:.55}.cny-datepicker-chip.is-current{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-info) 40%, transparent);color:var(--color-info);font-weight:600}.cny-datepicker-chip.is-selected{background:var(--color-info);color:var(--color-info-on);font-weight:600;box-shadow:none}.cny-datepicker-chip:disabled{color:var(--text-disabled);cursor:not-allowed;opacity:.4}.cny-dp-time{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0 2px}.cny-datepicker-panel.is-datetime .cny-dp-time{padding-top:8px;border-top:1px solid var(--hairline-color, var(--border-color))}.cny-dp-time-row{display:inline-flex;align-items:center;gap:4px}.cny-dp-time-sep{font-size:1rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;padding:0 1px;user-select:none;line-height:1;transform:translateY(-1px)}.cny-dp-timefield{display:inline-flex;align-items:stretch;height:30px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-xs);overflow:hidden;transition:border-color 120ms ease,box-shadow 120ms ease}.cny-dp-timefield:hover{border-color:var(--border-color-strong, var(--border-color))}.cny-dp-timefield:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--border-focus) 18%, transparent)}.cny-dp-timefield-input{width:32px;height:100%;padding:0 2px;text-align:center;font-family:var(--font-body);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);background:rgba(0,0,0,0);border:0;outline:none;line-height:1;-moz-appearance:textfield}.cny-dp-timefield-input::-webkit-outer-spin-button,.cny-dp-timefield-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cny-dp-timefield-input::selection{background:color-mix(in srgb, var(--color-info) 30%, transparent)}.cny-dp-timefield-controls{display:flex;flex-direction:column;border-left:1px solid var(--hairline-color, var(--border-color))}.cny-dp-timefield-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;width:18px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer;transition:background-color 100ms ease,color 100ms ease}.cny-dp-timefield-btn:first-child{border-bottom:1px solid var(--hairline-color, var(--border-color))}.cny-dp-timefield-btn:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-dp-timefield-btn:active{background:var(--bg-surface-edge, var(--bg-surface-low))}.cny-dp-ampm{display:inline-flex;align-items:center;margin-left:6px;padding:2px;background:var(--bg-surface-low);border:1px solid var(--hairline-color, var(--border-color));border-radius:var(--radius-xs)}.cny-dp-ampm-btn{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:26px;padding:0 6px;font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);background:rgba(0,0,0,0);border:0;border-radius:2px;cursor:pointer;transition:background-color 120ms ease,color 120ms ease}.cny-dp-ampm-btn:hover:not(.is-active){color:var(--text-primary)}.cny-dp-ampm-btn.is-active{background:var(--bg-surface-lowest);color:var(--color-info);box-shadow:0 1px 2px rgba(15,23,42,.08),inset 0 0 0 1px var(--hairline-color, var(--border-color))}.cny-dp-ampm-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-datepicker-footer{display:flex;align-items:center;gap:4px;margin-top:8px;padding-top:6px;border-top:1px solid var(--hairline-color, var(--border-color))}.cny-datepicker-footer-spacer{flex:1 1 auto}.cny-datepicker-action{border:0;background:rgba(0,0,0,0);color:var(--color-info);font-family:var(--font-body);font-size:.75rem;font-weight:500;padding:4px 8px;border-radius:var(--radius-xs);cursor:pointer;transition:background-color 120ms ease}.cny-datepicker-action:hover:not(:disabled){background:color-mix(in srgb, var(--color-info) 10%, transparent)}.cny-datepicker-action:disabled{color:var(--text-disabled);cursor:not-allowed}.cny-datepicker-action:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-datepicker-action.is-primary{background:var(--color-info);color:var(--color-info-on);padding:4px 10px;font-weight:600}.cny-datepicker-action.is-primary:hover:not(:disabled){background:var(--color-info-hover, var(--color-info));filter:brightness(1.05)}@keyframes cny-cmdk-fade{from{opacity:0}to{opacity:1}}@keyframes cny-cmdk-pop{from{opacity:0;transform:translate(-50%, 6px) scale(0.97)}to{opacity:1;transform:translate(-50%, 0) scale(1)}}.cny-cmdk-trigger{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 6px 0 14px;min-width:240px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-surface-low);color:var(--text-muted);font:inherit;font-size:.8125rem;cursor:pointer;transition:background-color 160ms,border-color 160ms,color 160ms,box-shadow 160ms}.cny-cmdk-trigger>svg{flex-shrink:0;opacity:.75}.cny-cmdk-trigger:hover{background:var(--bg-surface-edge);border-color:color-mix(in srgb, var(--color-primary) 24%, var(--border-color-strong, var(--border-color)));color:var(--text-secondary);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 6%, transparent)}.cny-cmdk-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 65%, transparent);outline-offset:2px}.cny-cmdk-trigger-label{flex:1;text-align:left}.cny-cmdk-trigger-kbd{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:999px;background:var(--bg-surface-lowest);color:var(--text-secondary);font-family:var(--font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.02em;box-shadow:inset 0 0 0 1px var(--hairline-color)}[cmdk-overlay],[data-cmdk-overlay]{position:fixed;inset:0;background:rgba(9,9,11,.55);z-index:1000;animation:cny-cmdk-fade 160ms ease-out;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.cny-dark [cmdk-overlay],.cny-dark [data-cmdk-overlay]{background:rgba(0,0,0,.7)}[cmdk-dialog],.cny-cmdk-content{position:fixed;top:12vh;left:50%;transform:translateX(-50%);width:min(580px,100vw - 32px);max-height:70vh;display:flex;flex-direction:column;border-radius:var(--radius-md);background:var(--bg-surface-lowest);box-shadow:var(--shadow-lg, 0 24px 60px -24px rgba(0, 0, 0, 0.45)),0 0 0 1px var(--border-color);z-index:1001;overflow:hidden;animation:cny-cmdk-pop 200ms cubic-bezier(0.2, 0, 0, 1)}.cny-cmdk-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hairline-color);color:var(--text-muted)}.cny-cmdk-header [cmdk-input]{flex:1;border:0;background:rgba(0,0,0,0);font:inherit;font-size:.9375rem;color:var(--text-primary);outline:none}.cny-cmdk-header [cmdk-input]::placeholder{color:var(--text-muted)}.cny-cmdk-esc{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;background:var(--bg-surface-low);color:var(--text-muted);font-family:var(--font-mono);font-size:.6875rem;box-shadow:inset 0 0 0 1px var(--border-color)}.cny-cmdk-list{overflow-y:auto;padding:8px;scrollbar-width:thin}.cny-cmdk-empty{padding:28px 12px;text-align:center;color:var(--text-muted);font-size:.875rem}.cny-cmdk-group{padding-bottom:8px}.cny-cmdk-group [cmdk-group-heading]{padding:8px 10px 6px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.cny-cmdk-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-primary);font-size:.875rem;transition:background-color 80ms;position:relative}.cny-cmdk-item-icon{display:inline-flex;align-items:center;color:var(--text-muted);flex-shrink:0}.cny-cmdk-item[data-selected=true]{background:color-mix(in srgb, var(--color-primary) 12%, var(--bg-surface-low))}.cny-cmdk-item[data-selected=true] .cny-cmdk-item-icon{color:var(--color-primary)}.cny-cmdk-item[data-selected=true]::after{content:"↵";position:absolute;right:14px;font-family:var(--font-mono);font-size:11px;color:var(--color-primary);opacity:.7}.cny-cmdk-item[data-disabled=true]{color:var(--text-disabled);pointer-events:none;opacity:.55}.cny-cmdk-item-label{flex:1}.cny-cmdk-item-hint{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);padding:2px 6px;border-radius:4px;background:var(--bg-surface-lowest)}.cny-cmdk-item[data-selected=true] .cny-cmdk-item-hint{display:none}.cny-cmdk-item-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.cny-cmdk-footer{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--hairline-color);color:var(--text-muted);font-size:.75rem}.cny-cmdk-footer kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:3px;background:var(--bg-surface-low);color:var(--text-secondary);font-family:var(--font-mono);font-size:.625rem;box-shadow:inset 0 0 0 1px var(--border-color)}@keyframes cny-toast-in-right{from{opacity:0;transform:translate(8px, 0)}to{opacity:1;transform:translate(0, 0)}}@keyframes cny-toast-in-left{from{opacity:0;transform:translate(-8px, 0)}to{opacity:1;transform:translate(0, 0)}}@keyframes cny-toast-in-top{from{opacity:0;transform:translate(0, -8px)}to{opacity:1;transform:translate(0, 0)}}@keyframes cny-toast-in-bottom{from{opacity:0;transform:translate(0, 10px) scale(0.985)}to{opacity:1;transform:translate(0, 0) scale(1)}}@keyframes cny-toast-out{from{opacity:1;transform:translate(0, 0)}to{opacity:0;transform:translate(0, -6px) scale(0.97)}}@keyframes cny-toast-spin{to{transform:rotate(360deg)}}.cny-toast-viewport{--cny-toast-offset: 1rem;position:fixed;z-index:1100;display:flex;flex-direction:column;gap:12px;padding:0;margin:0;list-style:none;pointer-events:none;width:min(360px,100vw - var(--cny-toast-offset)*2)}.cny-toast-viewport>*{pointer-events:auto}.cny-toast-viewport.pos-bottom-right{right:var(--cny-toast-offset);bottom:var(--cny-toast-offset);align-items:flex-end}.cny-toast-viewport.pos-bottom-left{left:var(--cny-toast-offset);bottom:var(--cny-toast-offset);align-items:flex-start}.cny-toast-viewport.pos-bottom-center{left:50%;bottom:var(--cny-toast-offset);transform:translateX(-50%);align-items:center}.cny-toast-viewport.pos-top-right{right:var(--cny-toast-offset);top:var(--cny-toast-offset);align-items:flex-end}.cny-toast-viewport.pos-top-left{left:var(--cny-toast-offset);top:var(--cny-toast-offset);align-items:flex-start}.cny-toast-viewport.pos-top-center{left:50%;top:var(--cny-toast-offset);transform:translateX(-50%);align-items:center}.cny-toast{--toast-accent: var(--color-primary);position:relative;display:flex;align-items:center;gap:14px;width:min(360px,100%);min-height:80px;padding:14px 16px 14px 28px;background:var(--bg-surface-lowest);color:var(--text-primary);border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);border-radius:10px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(149,157,165,.18);font-family:var(--font-body);font-size:.875rem;line-height:1.5;overflow:hidden;pointer-events:auto;transition:transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1),box-shadow 200ms cubic-bezier(0.2, 0.8, 0.2, 1);animation:cny-toast-in-bottom 220ms cubic-bezier(0.2, 0.8, 0.2, 1) both}.cny-toast:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(15,23,42,.04),0 14px 32px rgba(149,157,165,.24)}.cny-toast-viewport.pos-bottom-right .cny-toast,.cny-toast-viewport.pos-top-right .cny-toast{animation-name:cny-toast-in-right}.cny-toast-viewport.pos-bottom-left .cny-toast,.cny-toast-viewport.pos-top-left .cny-toast{animation-name:cny-toast-in-left}.cny-toast-viewport.pos-top-center .cny-toast,.cny-toast-viewport.pos-top-right .cny-toast,.cny-toast-viewport.pos-top-left .cny-toast{animation-name:cny-toast-in-top}.cny-toast.is-exiting{animation:cny-toast-out 200ms cubic-bezier(0.4, 0, 1, 1) both}@media(prefers-reduced-motion: reduce){.cny-toast{animation:none}.cny-toast.is-exiting{animation:none;opacity:0}}.cny-toast.success{--toast-accent: var(--color-success)}.cny-toast.info{--toast-accent: var(--color-info)}.cny-toast.warning{--toast-accent: var(--color-warning)}.cny-toast.danger{--toast-accent: var(--color-danger)}.cny-toast.loading{--toast-accent: var(--color-primary)}.cny-toast::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background-color:color-mix(in srgb, var(--toast-accent) 23%, transparent);mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' preserveAspectRatio='none'><path d='M0,0 L80,0 C20,20 20,60 80,80 L0,80 Z'/></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' preserveAspectRatio='none'><path d='M0,0 L80,0 C20,20 20,60 80,80 L0,80 Z'/></svg>");mask-repeat:repeat-y;-webkit-mask-repeat:repeat-y;mask-size:18px 80px;-webkit-mask-size:18px 80px;pointer-events:none}.cny-toast-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb, var(--toast-accent) 26%, transparent);color:var(--toast-accent);position:relative;z-index:1}.cny-toast-icon>svg{width:18px;height:18px}.cny-toast-spin{animation:cny-toast-spin 1s linear infinite}@media(prefers-reduced-motion: reduce){.cny-toast-spin{animation:none}}.cny-toast-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:1}.cny-toast-title{font-weight:700;letter-spacing:-0.01em;line-height:1.25;margin:0;color:var(--toast-accent);font-size:16px;text-align:center;cursor:default}.cny-toast-description{margin:4px 0 0;color:var(--text-muted);font-size:13.5px;line-height:1.45;text-align:center;cursor:default}.cny-toast-action{flex:none;display:inline-flex;align-items:center;align-self:center;position:relative;z-index:1}.cny-toast-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:rgba(0,0,0,0);border:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color 140ms ease,background-color 140ms ease,transform 140ms ease;position:relative;z-index:1}.cny-toast-close>svg{width:16px;height:16px}.cny-toast-close:hover{color:var(--text-primary);background:color-mix(in srgb, var(--toast-accent) 8%, var(--bg-surface-low));transform:scale(1.04)}.cny-toast-close:active{transform:scale(0.96)}.cny-toast-close:focus-visible{outline:2px solid var(--toast-accent);outline-offset:2px}@media(max-width: 480px){.cny-toast-viewport{--cny-toast-offset: 12px;width:calc(100vw - var(--cny-toast-offset)*2)}.cny-toast{width:100%;min-height:64px;padding:12px 14px 12px 26px;gap:12px;border-radius:9px}.cny-toast::before{width:14px;mask-size:14px 64px;-webkit-mask-size:14px 64px}.cny-toast-icon{width:32px;height:32px}.cny-toast-icon>svg{width:16px;height:16px}.cny-toast-title{font-size:15px}.cny-toast-description{font-size:12.5px}.cny-toast-close{width:24px;height:24px}.cny-toast-close>svg{width:14px;height:14px}}@keyframes cny-dialog-overlay-in{from{opacity:0}to{opacity:1}}@keyframes cny-dialog-content-in{from{opacity:0;transform:translate(-50%, -48%) scale(0.97)}to{opacity:1;transform:translate(-50%, -50%) scale(1)}}.cny-dialog-overlay{position:fixed;inset:0;background:rgba(9,9,11,.55);z-index:1000;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:cny-dialog-overlay-in 160ms ease-out}.cny-dark .cny-dialog-overlay{background:rgba(0,0,0,.7)}.cny-dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);z-index:1001;display:flex;flex-direction:column;max-height:calc(100vh - 32px);background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 24px 60px -24px rgba(0,0,0,.45),0 0 0 1px var(--border-color);font-family:var(--font-body);color:var(--text-primary);animation:cny-dialog-content-in 200ms cubic-bezier(0.2, 0, 0, 1);outline:none;overflow:hidden}.cny-dialog-content.size-sm{width:min(420px,100vw - 32px)}.cny-dialog-content.size-md{width:min(560px,100vw - 32px)}.cny-dialog-content.size-lg{width:min(760px,100vw - 32px)}.cny-dialog-content.size-xl{width:min(960px,100vw - 32px)}.cny-dialog-content.size-full{width:calc(100vw - 32px);height:calc(100vh - 32px)}.cny-dialog-header{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--hairline-color)}.cny-dialog-titles{flex:1 1 auto;min-width:0}.cny-dialog-title{margin:0;font-size:1rem;font-weight:650;letter-spacing:-0.005em;color:var(--text-primary)}.cny-dialog-description{margin:4px 0 0;font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.cny-dialog-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(0,0,0,0);border:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color 120ms ease,background-color 120ms ease}.cny-dialog-close:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-dialog-close:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-dialog-body{flex:1 1 auto;overflow-y:auto;padding:18px 20px;font-size:.9375rem;line-height:1.6;color:var(--text-secondary)}.cny-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--hairline-color);background:var(--bg-surface-lowest)}@media(prefers-reduced-motion: reduce){.cny-dialog-overlay,.cny-dialog-content{animation:none}}.cny-confirm-message{margin:0;font-family:var(--font-body);font-size:.875rem;line-height:1.5;color:var(--text-secondary)}@keyframes cny-drawer-overlay-in{from{opacity:0}to{opacity:1}}@keyframes cny-drawer-in-right{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes cny-drawer-in-left{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes cny-drawer-in-top{from{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes cny-drawer-in-bottom{from{transform:translateY(100%)}to{transform:translateY(0)}}.cny-drawer-overlay{position:fixed;inset:0;background:rgba(9,9,11,.55);z-index:1000;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:cny-drawer-overlay-in 160ms ease-out}.cny-dark .cny-drawer-overlay{background:rgba(0,0,0,.7)}.cny-drawer-content{position:fixed;z-index:1001;display:flex;flex-direction:column;background:var(--bg-surface-lowest);border:1px solid var(--border-color);box-shadow:0 24px 60px -24px rgba(0,0,0,.45);font-family:var(--font-body);color:var(--text-primary);outline:none}.cny-drawer-content.side-right{top:0;right:0;bottom:0;border-left:1px solid var(--border-color);animation:cny-drawer-in-right 240ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-drawer-content.side-right.size-sm{width:min(320px,90vw)}.cny-drawer-content.side-right.size-md{width:min(420px,90vw)}.cny-drawer-content.side-right.size-lg{width:min(560px,92vw)}.cny-drawer-content.side-right.size-xl{width:min(720px,96vw)}.cny-drawer-content.side-left{top:0;left:0;bottom:0;border-right:1px solid var(--border-color);animation:cny-drawer-in-left 240ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-drawer-content.side-left.size-sm{width:min(320px,90vw)}.cny-drawer-content.side-left.size-md{width:min(420px,90vw)}.cny-drawer-content.side-left.size-lg{width:min(560px,92vw)}.cny-drawer-content.side-left.size-xl{width:min(720px,96vw)}.cny-drawer-content.side-top{top:0;left:0;right:0;border-bottom:1px solid var(--border-color);animation:cny-drawer-in-top 240ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-drawer-content.side-top.size-sm{height:min(40vh,320px)}.cny-drawer-content.side-top.size-md{height:min(50vh,480px)}.cny-drawer-content.side-top.size-lg{height:min(60vh,640px)}.cny-drawer-content.side-top.size-xl{height:min(80vh,800px)}.cny-drawer-content.side-bottom{bottom:0;left:0;right:0;border-top:1px solid var(--border-color);animation:cny-drawer-in-bottom 240ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-drawer-content.side-bottom.size-sm{height:min(40vh,320px)}.cny-drawer-content.side-bottom.size-md{height:min(50vh,480px)}.cny-drawer-content.side-bottom.size-lg{height:min(60vh,640px)}.cny-drawer-content.side-bottom.size-xl{height:min(80vh,800px)}.cny-drawer-header{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--hairline-color)}.cny-drawer-titles{flex:1 1 auto;min-width:0}.cny-drawer-title{margin:0;font-size:1rem;font-weight:650;letter-spacing:-0.005em;color:var(--text-primary)}.cny-drawer-description{margin:4px 0 0;font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.cny-drawer-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(0,0,0,0);border:0;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color 120ms ease,background-color 120ms ease}.cny-drawer-close:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-drawer-close:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.cny-drawer-body{flex:1 1 auto;overflow-y:auto;padding:18px 20px;color:var(--text-secondary)}.cny-drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--hairline-color)}@media(prefers-reduced-motion: reduce){.cny-drawer-overlay,.cny-drawer-content{animation:none}}@keyframes cny-menu-in{from{opacity:0;transform:translateY(-4px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-menu-content{z-index:1010;display:flex;flex-direction:column;gap:1px;min-width:180px;padding:4px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 rgba(15,23,42,.04),0 8px 24px -8px rgba(15,23,42,.2);font-family:var(--font-body);outline:none;animation:cny-menu-in 140ms cubic-bezier(0.2, 0.8, 0.2, 1)}.cny-menu-content.size-sm{min-width:140px;padding:3px}.cny-menu-content[data-side=top]{transform-origin:bottom}.cny-menu-content[data-side=bottom]{transform-origin:top}.cny-menu-content[data-side=left]{transform-origin:right}.cny-menu-content[data-side=right]{transform-origin:left}.cny-menu-item{display:flex;align-items:center;gap:10px;padding:7px 10px;font-size:.875rem;color:var(--text-primary);border-radius:var(--radius-xs);cursor:pointer;outline:none;user-select:none;position:relative;white-space:nowrap}.cny-menu-content.size-sm .cny-menu-item{padding:6px 8px;font-size:.8125rem}.cny-menu-item-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-muted)}.cny-menu-item-label{flex:1 1 auto}.cny-menu-item-shortcut{flex:none;margin-left:16px;font-family:var(--font-mono);font-size:.6875rem;color:var(--text-muted);letter-spacing:.02em}.cny-menu-item-chevron{flex:none;display:inline-flex;color:var(--text-muted)}.cny-menu-item[data-highlighted]{background:color-mix(in srgb, var(--color-primary) 10%, var(--bg-surface-low));color:var(--text-primary)}.cny-menu-item[data-highlighted] .cny-menu-item-icon,.cny-menu-item[data-highlighted] .cny-menu-item-chevron{color:var(--color-primary)}.cny-menu-item[data-disabled]{color:var(--text-disabled);cursor:not-allowed;pointer-events:none}.cny-menu-item.is-destructive{color:var(--color-danger)}.cny-menu-item.is-destructive .cny-menu-item-icon{color:var(--color-danger)}.cny-menu-item.is-destructive[data-highlighted]{background:color-mix(in srgb, var(--color-danger) 10%, var(--bg-surface-low));color:var(--color-danger)}.cny-menu-label{padding:8px 10px 4px;font-size:.6875rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.cny-menu-separator{height:1px;background:var(--hairline-color);margin:4px -1px}@media(prefers-reduced-motion: reduce){.cny-menu-content{animation:none}}@keyframes cny-tooltip-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}.cny-tooltip-content{z-index:1020;padding:5px 9px;background:var(--text-primary);color:var(--bg-surface-lowest);border-radius:var(--radius-xs);font-family:var(--font-body);font-size:.75rem;font-weight:500;line-height:1.35;letter-spacing:-0.005em;max-width:240px;box-shadow:0 6px 18px -6px rgba(0,0,0,.25);animation:cny-tooltip-in 120ms cubic-bezier(0.2, 0.8, 0.2, 1);user-select:none;pointer-events:none}.cny-tooltip-content[data-side=top]{transform-origin:bottom center}.cny-tooltip-content[data-side=bottom]{transform-origin:top center}.cny-tooltip-content[data-side=left]{transform-origin:right center}.cny-tooltip-content[data-side=right]{transform-origin:left center}.cny-tooltip-arrow{fill:var(--text-primary)}@media(prefers-reduced-motion: reduce){.cny-tooltip-content{animation:none}}@keyframes cny-popover-in{from{opacity:0;transform:translateY(-4px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-popover-content{z-index:1010;padding:14px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 rgba(15,23,42,.04),0 12px 28px -12px rgba(15,23,42,.22);font-family:var(--font-body);color:var(--text-primary);outline:none;animation:cny-popover-in 160ms cubic-bezier(0.2, 0.8, 0.2, 1);max-width:calc(100vw - 16px)}.cny-popover-content[data-side=top]{transform-origin:bottom}.cny-popover-content[data-side=bottom]{transform-origin:top}.cny-popover-content[data-side=left]{transform-origin:right}.cny-popover-content[data-side=right]{transform-origin:left}.cny-popover-arrow{fill:var(--bg-surface-lowest);stroke:var(--border-color);stroke-width:1px}@media(prefers-reduced-motion: reduce){.cny-popover-content{animation:none}}.cny-chip{--chip-color: var(--text-secondary);--chip-bg: var(--bg-surface-low);--chip-border: var(--hairline-color);display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-family:var(--font-body);font-size:.75rem;font-weight:550;letter-spacing:-0.005em;white-space:nowrap;background:var(--chip-bg);color:var(--chip-color);border:1px solid var(--chip-border);transition:background-color 140ms ease,border-color 140ms ease,transform 140ms ease;user-select:none}.cny-chip.sm{height:22px;padding:0 8px;font-size:.6875rem;gap:4px}.cny-chip-icon,.cny-chip-avatar{display:inline-flex;align-items:center;flex:none}.cny-chip-avatar{margin-left:-4px}.cny-chip-label{line-height:1}.cny-chip-delete{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:-4px;background:rgba(0,0,0,0);border:0;border-radius:50%;color:currentColor;opacity:.6;cursor:pointer;transition:opacity 120ms ease,background-color 120ms ease}.cny-chip-delete:hover{opacity:1;background:color-mix(in srgb, var(--chip-color) 15%, transparent)}.cny-chip-delete:focus-visible{outline:2px solid var(--chip-color);outline-offset:1px}.sm .cny-chip-delete{width:14px;height:14px;margin-right:-3px}.cny-chip.is-interactive{cursor:pointer}.cny-chip.is-interactive:hover{transform:translateY(-1px)}.cny-chip.is-interactive:active{transform:translateY(0)}.cny-chip.is-interactive:focus-visible{outline:2px solid color-mix(in srgb, var(--chip-color) 60%, transparent);outline-offset:2px}.cny-chip.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.cny-chip.primary{--chip-color: var(--color-primary);--chip-bg: color-mix(in srgb, var(--color-primary) 10%, transparent);--chip-border: color-mix(in srgb, var(--color-primary) 22%, transparent)}.cny-chip.success{--chip-color: var(--color-success);--chip-bg: color-mix(in srgb, var(--color-success) 10%, transparent);--chip-border: color-mix(in srgb, var(--color-success) 24%, transparent)}.cny-chip.info{--chip-color: var(--color-info);--chip-bg: color-mix(in srgb, var(--color-info) 10%, transparent);--chip-border: color-mix(in srgb, var(--color-info) 24%, transparent)}.cny-chip.warning{--chip-color: var(--color-warning);--chip-bg: color-mix(in srgb, var(--color-warning) 12%, transparent);--chip-border: color-mix(in srgb, var(--color-warning) 26%, transparent)}.cny-chip.danger{--chip-color: var(--color-danger);--chip-bg: color-mix(in srgb, var(--color-danger) 10%, transparent);--chip-border: color-mix(in srgb, var(--color-danger) 26%, transparent)}.cny-chip.outline{background:rgba(0,0,0,0)}.cny-chip.solid.primary{background:var(--color-primary);color:var(--color-primary-on, #fff);border-color:var(--color-primary)}.cny-chip.solid.success{background:var(--color-success);color:var(--color-success-on, #fff);border-color:var(--color-success)}.cny-chip.solid.info{background:var(--color-info);color:var(--color-info-on, #fff);border-color:var(--color-info)}.cny-chip.solid.warning{background:var(--color-warning);color:var(--color-warning-on, #fff);border-color:var(--color-warning)}.cny-chip.solid.danger{background:var(--color-danger);color:var(--color-danger-on, #fff);border-color:var(--color-danger)}.cny-chip.solid.default{background:var(--text-primary);color:var(--bg-surface-lowest);border-color:var(--text-primary)}.cny-badge{position:relative;display:inline-flex;vertical-align:middle}.cny-badge-standalone{display:inline-flex}.cny-badge-indicator{--badge-bg: var(--color-danger);--badge-fg: var(--color-danger-on);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;font-family:var(--font-body);font-size:.6875rem;font-weight:600;line-height:1;color:var(--badge-fg);background:var(--badge-bg)}.cny-badge-dot{min-width:8px;width:8px;height:8px;padding:0}.cny-badge-top-right{position:absolute;top:0;right:0;transform:translate(50%, -50%)}.cny-badge-top-left{position:absolute;top:0;left:0;transform:translate(-50%, -50%)}.cny-badge-bottom-right{position:absolute;bottom:0;right:0;transform:translate(50%, 50%)}.cny-badge-bottom-left{position:absolute;bottom:0;left:0;transform:translate(-50%, 50%)}.cny-badge-primary{--badge-bg: var(--color-primary);--badge-fg: var(--color-primary-on)}.cny-badge-success{--badge-bg: var(--color-success);--badge-fg: var(--color-success-on)}.cny-badge-warning{--badge-bg: var(--color-warning);--badge-fg: var(--color-warning-on)}.cny-badge-danger{--badge-bg: var(--color-danger);--badge-fg: var(--color-danger-on)}.cny-badge-info{--badge-bg: var(--color-info);--badge-fg: var(--color-info-on)}.cny-badge-neutral{--badge-bg: var(--color-neutral);--badge-fg: var(--color-neutral-on)}.cny-timeline{--tl-dot: 14px;--tl-dot-icon: 24px;--tl-glyph: 14px;--tl-line: 2px;--tl-font: 0.875rem;list-style:none;margin:0;padding:0}.cny-timeline-sm{--tl-dot: 10px;--tl-dot-icon: 20px;--tl-glyph: 12px;--tl-line: 2px;--tl-font: 0.8125rem}.cny-timeline-lg{--tl-dot: 18px;--tl-dot-icon: 30px;--tl-glyph: 18px;--tl-line: 3px;--tl-font: 0.9375rem}.cny-timeline-item{display:flex;align-items:stretch;gap:12px;min-height:44px}.cny-timeline-separator{display:flex;flex-direction:column;align-items:center;flex:none}.cny-timeline-dot{--dot-color: var(--color-neutral);--dot-soft: var(--bg-surface-low);display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--tl-dot);height:var(--tl-dot);border-radius:9999px;color:var(--text-on-solid);font-size:.7rem;font-weight:600}.cny-timeline-dot-icon{width:var(--tl-dot-icon);height:var(--tl-dot-icon)}.cny-timeline-dot-icon svg{width:var(--tl-glyph);height:var(--tl-glyph)}.cny-timeline-dot-filled{background:var(--dot-color)}.cny-timeline-dot-outlined{background:rgba(0,0,0,0);border:2px solid var(--dot-color);color:var(--dot-color)}.cny-timeline-dot-soft{background:var(--dot-soft);color:var(--dot-color)}.cny-timeline-dot-primary{--dot-color: var(--color-primary);--dot-soft: var(--color-primary-soft)}.cny-timeline-dot-success{--dot-color: var(--color-success);--dot-soft: var(--color-success-soft)}.cny-timeline-dot-warning{--dot-color: var(--color-warning);--dot-soft: var(--color-warning-soft)}.cny-timeline-dot-danger{--dot-color: var(--color-danger);--dot-soft: var(--color-danger-soft)}.cny-timeline-dot-info{--dot-color: var(--color-info);--dot-soft: var(--color-info-soft)}.cny-timeline-dot-neutral{--dot-color: var(--color-neutral);--dot-soft: var(--bg-surface-low)}.cny-timeline-dot-active{animation:cny-timeline-pulse 1.8s ease-out infinite}@keyframes cny-timeline-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--dot-color) 45%, transparent)}70%,100%{box-shadow:0 0 0 9px color-mix(in srgb, var(--dot-color) 0%, transparent)}}@media(prefers-reduced-motion: reduce){.cny-timeline-dot-active{animation:none;box-shadow:0 0 0 4px var(--dot-soft)}}.cny-timeline-connector{--conn-color: var(--hairline-color);flex:1 1 auto;width:var(--tl-line);min-height:12px;margin:4px 0;border-radius:9999px;background:var(--conn-color)}.cny-timeline-connector-primary{--conn-color: var(--color-primary)}.cny-timeline-connector-success{--conn-color: var(--color-success)}.cny-timeline-connector-warning{--conn-color: var(--color-warning)}.cny-timeline-connector-danger{--conn-color: var(--color-danger)}.cny-timeline-connector-info{--conn-color: var(--color-info)}.cny-timeline-connector-neutral{--conn-color: var(--color-neutral)}.cny-timeline-connector-dashed{border-radius:0;background:repeating-linear-gradient(to bottom, var(--conn-color) 0 5px, transparent 5px 9px)}.cny-timeline-connector-dotted{border-radius:0;background:repeating-linear-gradient(to bottom, var(--conn-color) 0 2px, transparent 2px 6px)}.cny-timeline-content{flex:1;min-width:0;padding-bottom:16px;font-family:var(--font-body);font-size:var(--tl-font);color:var(--text-primary)}.cny-timeline-content-card{padding:12px 16px;margin-bottom:16px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-surface-lowest)}.cny-timeline-content-elevated{border-color:rgba(0,0,0,0);box-shadow:var(--shadow-md)}.cny-timeline-content-accent{--accent: var(--color-neutral);border-inline-start:3px solid var(--accent)}.cny-timeline-content-accent-primary{--accent: var(--color-primary)}.cny-timeline-content-accent-success{--accent: var(--color-success)}.cny-timeline-content-accent-warning{--accent: var(--color-warning)}.cny-timeline-content-accent-danger{--accent: var(--color-danger)}.cny-timeline-content-accent-info{--accent: var(--color-info)}.cny-timeline-content-accent-neutral{--accent: var(--color-neutral)}.cny-timeline-opposite-content{flex:1;min-width:0;padding-bottom:16px;font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted);text-align:right}.cny-timeline-item:last-child .cny-timeline-connector{display:none}.cny-timeline-item:has(.cny-timeline-content-card) .cny-timeline-separator{padding-top:12px}.cny-timeline-left .cny-timeline-item{flex-direction:row-reverse}.cny-timeline-left .cny-timeline-opposite-content{text-align:left}.cny-timeline-alternate .cny-timeline-item:nth-child(even){flex-direction:row-reverse}.cny-timeline-alternate .cny-timeline-item:nth-child(even) .cny-timeline-opposite-content{text-align:left}.cny-timeline-alternate .cny-timeline-item:not(:has(.cny-timeline-opposite-content))::before{content:"";flex:1;min-width:0}.cny-timeline-horizontal{display:flex;flex-direction:row;align-items:flex-start;width:100%}.cny-timeline-horizontal .cny-timeline-item{flex:1 1 0;flex-direction:column;align-items:center;text-align:center;min-height:0}.cny-timeline-horizontal .cny-timeline-separator{position:relative;flex-direction:row;align-items:center;justify-content:center;width:100%}.cny-timeline-horizontal .cny-timeline-dot{position:relative;z-index:1;width:calc(var(--tl-dot-icon) + 4px);height:calc(var(--tl-dot-icon) + 4px);font-size:.8rem}.cny-timeline-horizontal .cny-timeline-dot.cny-timeline-dot-icon svg{width:calc(var(--tl-glyph) + 2px);height:calc(var(--tl-glyph) + 2px)}.cny-timeline-horizontal .cny-timeline-connector{position:absolute;top:50%;left:calc(50% + var(--tl-dot-icon)/2 + 6px);width:calc(100% - var(--tl-dot-icon) - 12px);height:var(--tl-line);min-height:0;margin:0;transform:translateY(-50%)}.cny-timeline-horizontal .cny-timeline-connector-dashed{background:repeating-linear-gradient(to right, var(--conn-color) 0 5px, transparent 5px 9px)}.cny-timeline-horizontal .cny-timeline-connector-dotted{background:repeating-linear-gradient(to right, var(--conn-color) 0 2px, transparent 2px 6px)}.cny-timeline-horizontal .cny-timeline-content{max-width:16ch;margin-inline:auto;padding:12px 8px 0;font-size:var(--tl-font);line-height:1.35;text-wrap:balance}.cny-timeline-horizontal .cny-timeline-content-card{max-width:none;text-align:start}.cny-timeline-horizontal .cny-timeline-opposite-content{max-width:16ch;margin-inline:auto;padding:0 8px 8px;text-align:center}.cny-tree{list-style:none;margin:0;padding:0;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary)}.cny-tree-group{list-style:none;margin:0;padding:0;padding-inline-start:16px;animation:cny-tree-reveal 150ms ease}@keyframes cny-tree-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion: reduce){.cny-tree-group{animation:none}}.cny-tree-item{outline:none}.cny-tree-row{display:flex;align-items:center;gap:4px;height:30px;padding:0 6px;border-radius:5px;cursor:pointer;user-select:none;color:var(--text-secondary);transition:background-color 120ms ease,color 120ms ease}.cny-tree-row:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-tree-row.is-selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:550}.cny-tree-item:focus-visible>.cny-tree-row{outline:2px solid var(--color-primary);outline-offset:-2px}.cny-tree-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;padding:0;border:0;border-radius:3px;background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer}.cny-tree-toggle:hover{color:var(--text-primary)}.cny-tree-toggle svg{transition:transform 140ms ease}.cny-tree-toggle.is-open svg{transform:rotate(90deg)}.cny-tree-toggle-spacer{display:inline-block;flex:none;width:18px;height:18px}.cny-tree-icon{display:inline-flex;align-items:center;flex:none;color:var(--text-muted)}.cny-tree-icon svg{width:16px;height:16px}.cny-tree-row.is-selected .cny-tree-icon{color:inherit}.cny-tree-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cny-uploader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;box-sizing:border-box;padding:clamp(16px,4vw,32px) clamp(12px,3vw,24px);text-align:center;border:1.5px dashed var(--border-color-strong);border-radius:10px;background:var(--bg-surface-low);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:border-color 140ms ease,background-color 140ms ease,color 140ms ease}.cny-uploader:hover:not(.is-disabled){border-color:var(--color-primary);color:var(--text-primary)}.cny-uploader:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cny-uploader.is-dragging{border-color:var(--color-primary);border-style:solid;background:var(--color-primary-soft);color:var(--color-primary)}.cny-uploader.is-disabled{cursor:not-allowed;opacity:.55}.cny-uploader-md{min-height:150px}.cny-uploader-sm{gap:8px;padding:clamp(12px,2.5vw,16px);min-height:0}.cny-uploader-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary)}.cny-uploader-icon svg{width:clamp(24px,6vw,34px);height:clamp(24px,6vw,34px)}.cny-uploader-sm .cny-uploader-icon svg{width:22px;height:22px}.cny-uploader-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cny-uploader-label{font-size:clamp(.8125rem,2.5vw,.9375rem);font-weight:550;line-height:1.35;color:var(--text-primary);text-wrap:balance}.cny-uploader-hint{font-size:clamp(.6875rem,2vw,.8125rem);color:var(--text-muted);text-wrap:balance}@media(min-width: 420px){.cny-uploader-sm{flex-direction:row;justify-content:center;text-align:start}.cny-uploader-sm .cny-uploader-text{align-items:flex-start}}.cny-panel-group{display:flex;flex-direction:row;width:100%;height:100%;overflow:hidden}.cny-panel-group.is-vertical{flex-direction:column}.cny-panel{position:relative;min-width:0;min-height:0;overflow:auto}.cny-panel-handle{position:relative;flex:none;align-self:stretch;background:var(--hairline-color);transition:background-color 120ms ease;touch-action:none;z-index:1}.cny-panel-handle::before{content:"";position:absolute;inset:-4px}.cny-panel-handle:hover,.cny-panel-handle:focus-visible{background:var(--color-primary);outline:none}.cny-panel-handle-h{width:5px;cursor:col-resize}.cny-panel-handle-v{height:5px;cursor:row-resize}.cny-panel-handle[aria-disabled=true]{cursor:default}.cny-panel-handle[aria-disabled=true]:hover{background:var(--hairline-color)}.cny-dt{display:flex;flex-direction:column;width:100%;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-surface-lowest);overflow:hidden;font-family:var(--font-body)}.cny-dt-scroll{width:100%;overflow-x:auto}.cny-dt-table{width:100%;border-collapse:collapse;font-size:.875rem;color:var(--text-primary)}.cny-dt-table th,.cny-dt-table td{padding:12px 16px;text-align:left;vertical-align:middle;white-space:nowrap}.cny-dt-table thead th{position:sticky;top:0;z-index:1;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-surface-low);border-bottom:1px solid var(--border-color)}.cny-dt-table tbody td{border-bottom:1px solid var(--hairline-color)}.cny-dt-table tbody tr:last-child td{border-bottom:0}.cny-dt-left{text-align:left}.cny-dt-center{text-align:center}.cny-dt-right{text-align:right}.cny-dt-th-inner{display:inline-flex;align-items:center;gap:4px}.cny-dt-right .cny-dt-th-inner{flex-direction:row-reverse}.cny-dt-center .cny-dt-th-inner{justify-content:center}.cny-dt-sortable{user-select:none;transition:color 120ms ease}.cny-dt-sortable.is-sorted{color:var(--color-primary)}.cny-dt-sortbtn{appearance:none;display:inline-flex;align-items:center;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-xs);transition:color 120ms ease}.cny-dt-sortbtn:hover{color:var(--text-primary)}.cny-dt-sortbtn:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.cny-dt-sort-icon{display:inline-flex;align-items:center;opacity:.5}.cny-dt-resizer{position:absolute;top:0;right:0;width:9px;height:100%;cursor:col-resize;user-select:none;touch-action:none}.cny-dt-resizer::after{content:"";position:absolute;top:20%;right:4px;width:2px;height:60%;border-radius:2px;background:rgba(0,0,0,0);transition:background-color 120ms ease}.cny-dt-resizer:hover::after{background:var(--color-primary)}.cny-dt-sortable.is-sorted .cny-dt-sort-icon{opacity:1}.cny-dt-row{transition:background-color 120ms ease}.cny-dt-row.is-clickable{cursor:pointer}.cny-dt-row.is-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.cny-dt-row:hover{background:var(--bg-surface-low)}.cny-dt-row.is-selected{background:var(--color-primary-soft)}.cny-dt-checkbox-cell{width:1%;white-space:nowrap;text-align:center}.cny-dt-empty{padding:32px 16px;text-align:center;color:var(--text-muted)}.cny-dt-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-surface-low)}.cny-dt-count{font-size:.8125rem;color:var(--text-muted)}.cny-chart{width:100%;font-family:var(--font-body)}.cny-chart-responsive{display:block}.cny-chart-grid{stroke:var(--hairline-color);stroke-width:1}.cny-chart-axis{fill:var(--text-muted);font-size:.6875rem}.cny-chart-bar{transition:opacity 120ms ease}.cny-chart-bar:hover{opacity:.85}.cny-chart-line{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.cny-chart-area{opacity:.16}.cny-chart-dot{stroke:var(--bg-surface-lowest);stroke-width:1.5}.cny-chart-slice{stroke:var(--bg-surface-lowest);stroke-width:2;transition:opacity 120ms ease}.cny-chart-slice.is-active{opacity:.85}.cny-chart-slice:focus-visible{outline:none;opacity:.85}.cny-chart-hit{outline:none}.cny-chart-hit:focus-visible{stroke:var(--color-primary);stroke-width:1.5}.cny-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cny-chart-center{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center;font-size:.875rem;font-weight:600;color:var(--text-primary)}.cny-chart-tooltip{position:absolute;transform:translate(-50%, calc(-100% - 8px));min-width:120px;padding:8px 12px;border-radius:7px;background:var(--bg-surface-lowest);border:1px solid var(--border-color);box-shadow:var(--shadow-md);font-size:.75rem;color:var(--text-primary);pointer-events:none;z-index:2}.cny-chart-tooltip-title{font-weight:600;margin-bottom:4px}.cny-chart-tooltip-row{display:flex;align-items:center;gap:6px;line-height:1.6}.cny-chart-tooltip-label{color:var(--text-secondary)}.cny-chart-tooltip-value{margin-inline-start:auto;font-weight:600;font-variant-numeric:tabular-nums}.cny-chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-top:8px;font-size:.75rem;color:var(--text-secondary)}.cny-chart-legend-item{display:inline-flex;align-items:center;gap:6px}.cny-chart-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}.cny-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cny-list.bordered{border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-surface-lowest)}.cny-list.dividers .cny-list-item:not(:last-child),.cny-list.dividers>.cny-list-item-wrap:not(:last-child){border-bottom:1px solid var(--hairline-color)}.cny-list.bordered.dividers .cny-list-item:not(:last-child),.cny-list.bordered.dividers>.cny-list-item-wrap:not(:last-child){border-bottom:1px solid var(--hairline-color)}.cny-list-item-wrap{display:flex}.cny-list-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:rgba(0,0,0,0);color:var(--text-primary);text-decoration:none;border:0;font-family:var(--font-body);font-size:.875rem;text-align:left;transition:background-color 140ms ease,color 140ms ease}.cny-list.size-sm .cny-list-item{padding:8px 12px;font-size:.8125rem;gap:10px}.cny-list.size-lg .cny-list-item{padding:16px 18px;font-size:.9375rem;gap:14px}.cny-list-item-leading{flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.cny-list-item-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.cny-list-item-primary{font-weight:550;line-height:1.35;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-list-item-secondary{font-size:.8125rem;line-height:1.4;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-list-item-trailing{flex:none;display:inline-flex;align-items:center;color:var(--text-muted)}.cny-list-item.is-interactive{cursor:pointer}.cny-list-item.is-interactive:hover{background:var(--bg-surface-low);color:var(--text-primary)}.cny-list-item.is-interactive:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.cny-list-item.is-active{background:color-mix(in srgb, var(--color-primary) 10%, var(--bg-surface-low));color:var(--color-primary)}.cny-list-item.is-active .cny-list-item-leading,.cny-list-item.is-active .cny-list-item-trailing{color:var(--color-primary)}.cny-list-item.is-active .cny-list-item-primary{color:var(--color-primary);font-weight:600}.cny-list-item.is-disabled{opacity:.55;pointer-events:none}.cny-list-separator{height:1px;background:var(--hairline-color);margin:4px 0}.cny-list-subheader{padding:10px 14px 6px;font-size:.6875rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.cny-tabs{display:flex;flex-direction:column;gap:16px}.cny-tabs[data-orientation=vertical]{flex-direction:row;align-items:flex-start;gap:24px}.cny-tabs-list{display:inline-flex;align-items:center;position:relative;flex-wrap:wrap}.cny-tabs[data-orientation=vertical] .cny-tabs-list{flex-direction:column;align-items:stretch;flex-wrap:nowrap}.cny-tabs-trigger{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,0);border:0;font-family:var(--font-body);font-size:.875rem;font-weight:550;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color 140ms ease,background-color 140ms ease,box-shadow 140ms ease}.cny-tabs-trigger-icon{display:inline-flex;align-items:center}.cny-tabs-trigger-badge{display:inline-flex;align-items:center}.cny-tabs-trigger:hover{color:var(--text-secondary)}.cny-tabs-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 60%, transparent);outline-offset:2px;border-radius:var(--radius-xs)}.cny-tabs-trigger:disabled,.cny-tabs-trigger[data-disabled]{opacity:.5;cursor:not-allowed}.cny-tabs.size-sm .cny-tabs-trigger{font-size:.8125rem}.cny-tabs.size-lg .cny-tabs-trigger{font-size:.9375rem}.cny-tabs.variant-line .cny-tabs-list{border-bottom:1px solid var(--hairline-color);gap:4px}.cny-tabs.variant-line .cny-tabs-trigger{padding:10px 14px;margin-bottom:-1px;border-bottom:2px solid rgba(0,0,0,0)}.cny-tabs.variant-line .cny-tabs-trigger[data-state=active]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cny-tabs.variant-line.size-sm .cny-tabs-trigger{padding:7px 10px}.cny-tabs.variant-line.size-lg .cny-tabs-trigger{padding:13px 18px}.cny-tabs.variant-line[data-orientation=vertical] .cny-tabs-list{border-bottom:0;border-right:1px solid var(--hairline-color)}.cny-tabs.variant-line[data-orientation=vertical] .cny-tabs-trigger{margin-bottom:0;margin-right:-1px;border-bottom:0;border-right:2px solid rgba(0,0,0,0);justify-content:flex-start;text-align:left}.cny-tabs.variant-line[data-orientation=vertical] .cny-tabs-trigger[data-state=active]{border-right-color:var(--color-primary);border-bottom:0}.cny-tabs.variant-pills .cny-tabs-list{gap:4px}.cny-tabs.variant-pills .cny-tabs-trigger{padding:7px 12px;border-radius:999px}.cny-tabs.variant-pills .cny-tabs-trigger:hover{background:var(--bg-surface-low)}.cny-tabs.variant-pills .cny-tabs-trigger[data-state=active]{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.cny-tabs.variant-pills.size-sm .cny-tabs-trigger{padding:5px 10px}.cny-tabs.variant-pills.size-lg .cny-tabs-trigger{padding:9px 14px}.cny-tabs.variant-segmented .cny-tabs-list{padding:4px;background:var(--bg-surface-low);border:1px solid var(--hairline-color);border-radius:999px;gap:2px}.cny-tabs.variant-segmented .cny-tabs-trigger{padding:6px 14px;border-radius:999px}.cny-tabs.variant-segmented .cny-tabs-trigger:hover{color:var(--text-primary)}.cny-tabs.variant-segmented .cny-tabs-trigger[data-state=active]{color:var(--text-primary);background:var(--bg-surface-lowest);box-shadow:0 1px 2px rgba(15,23,42,.06),inset 0 0 0 1px var(--hairline-color)}.cny-tabs.variant-segmented.size-sm .cny-tabs-trigger{padding:4px 10px}.cny-tabs.variant-segmented.size-lg .cny-tabs-trigger{padding:8px 18px}.cny-tabs-content{outline:none;flex:1 1 auto}.cny-tabs-content:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}@keyframes cny-ac-in{from{opacity:0;transform:translateY(-4px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cny-ac-trigger{display:inline-flex;align-items:center;gap:8px;width:100%;text-align:left;cursor:pointer;padding:0 12px}.cny-ac-trigger.is-open{border-color:var(--border-focus)}.cny-ac-trigger[disabled]{cursor:not-allowed;opacity:.6}.cny-ac-value{flex:1 1 auto;min-width:0;color:var(--text-primary);font-size:inherit;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cny-ac-value.is-placeholder{color:var(--text-muted)}.cny-ac-clear{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:color 120ms ease,background-color 120ms ease}.cny-ac-clear:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-ac-clear:focus-visible{outline:none;box-shadow:0 0 0 var(--ring-width) var(--ring-color)}.cny-ac-chevron{flex:none;color:var(--text-muted)}.cny-ac-content{z-index:1010;background:var(--bg-surface-lowest);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 1px 0 rgba(15,23,42,.04),0 12px 28px -12px rgba(15,23,42,.22);overflow:hidden;font-family:var(--font-body);animation:cny-ac-in 140ms cubic-bezier(0.2, 0.8, 0.2, 1);outline:none}.cny-ac-cmdk{display:flex;flex-direction:column}.cny-ac-search{padding:8px 10px;border-bottom:1px solid var(--hairline-color)}.cny-ac-search [cmdk-input]{width:100%;border:0;background:rgba(0,0,0,0);font:inherit;font-size:.875rem;color:var(--text-primary);outline:none;padding:0}.cny-ac-search [cmdk-input]::placeholder{color:var(--text-muted)}.cny-ac-list{overflow-y:auto;max-height:280px;padding:6px;scrollbar-width:thin}.cny-ac-empty,.cny-ac-loading{padding:18px 12px;text-align:center;color:var(--text-muted);font-size:.875rem}.cny-ac-loading{display:flex;align-items:center;justify-content:center;gap:8px}.cny-ac-loading-spinner{animation:cny-ac-spin 1s linear infinite}@keyframes cny-ac-spin{to{transform:rotate(360deg)}}[cmdk-group-heading]{padding:8px 10px 4px;font-size:.6875rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.cny-ac-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-primary);font-size:.875rem;outline:none;user-select:none;position:relative}.cny-ac-item[data-selected=true]{background:color-mix(in srgb, var(--color-primary) 10%, var(--bg-surface-low))}.cny-ac-item[data-disabled=true]{color:var(--text-disabled);pointer-events:none}.cny-ac-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-ac-item-hint{flex:none;font-size:.75rem;color:var(--text-muted);margin-left:8px}.cny-ac-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--color-primary)}.cny-ac-checkbox{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--border-color);border-radius:var(--radius-xs);background:var(--bg-surface-lowest);color:var(--color-primary-on, white);transition:background-color 120ms ease,border-color 120ms ease}.cny-ac-checkbox.is-checked{background:var(--color-primary);border-color:var(--color-primary)}@media(prefers-reduced-motion: reduce){.cny-ac-content{animation:none}.cny-ac-loading-spinner{animation:none}}.cny-pagination{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body)}.cny-pagination-btn{min-width:32px;height:32px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);color:var(--text-secondary);border:1px solid rgba(0,0,0,0);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color 120ms ease,color 120ms ease,border-color 120ms ease}.cny-pagination-btn:hover:not(:disabled):not(.is-active){background:var(--bg-surface-low);color:var(--text-primary)}.cny-pagination-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.cny-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.cny-pagination-btn.is-active{background:var(--color-primary);color:var(--color-primary-on);border-color:var(--color-primary)}.cny-pagination-control{color:var(--text-muted)}.cny-pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:24px;color:var(--text-muted)}.cny-pagination-sm .cny-pagination-btn{min-width:28px;height:28px;font-size:.75rem;padding:0 6px}.cny-pagination-lg .cny-pagination-btn{min-width:36px;height:36px;font-size:.875rem;padding:0 10px}.cny-breadcrumb{font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted);line-height:1.4}.cny-breadcrumb-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cny-breadcrumb-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.cny-breadcrumb-link{color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-sm);padding:2px 4px;transition:color 120ms ease,background-color 120ms ease}.cny-breadcrumb-link:hover{color:var(--text-primary);background:var(--bg-surface-low)}.cny-breadcrumb-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.cny-breadcrumb-label.is-current{color:var(--text-primary);font-weight:500}.cny-breadcrumb-sep{display:inline-flex;color:var(--text-muted);opacity:.7}.cny-breadcrumb-sm{font-size:.75rem}.cny-breadcrumb-sm .cny-breadcrumb-list{gap:4px}@keyframes cny-accordion-down{from{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes cny-accordion-up{from{height:var(--radix-accordion-content-height)}to{height:0}}.cny-accordion{font-family:var(--font-body);color:var(--text-primary);width:100%}.cny-accordion-item{border-bottom:1px solid var(--border-color)}.cny-accordion-item:last-child{border-bottom:0}.cny-accordion-header{all:unset;display:flex}.cny-accordion-trigger{flex:1;display:flex;align-items:center;gap:8px;width:100%;padding:12px 12px;background:rgba(0,0,0,0);border:0;color:var(--text-primary);font-size:.875rem;font-weight:550;text-align:left;cursor:pointer;transition:background-color 120ms ease}.cny-accordion-trigger:hover{background:var(--bg-surface-low)}.cny-accordion-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.cny-accordion-trigger-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-muted);flex:none}.cny-accordion-trigger-label{flex:1;min-width:0}.cny-accordion-trigger-chevron{flex:none;color:var(--text-muted);transition:transform 180ms ease}.cny-accordion-trigger[data-state=open] .cny-accordion-trigger-chevron{transform:rotate(180deg)}.cny-accordion-trigger[data-state=open] .cny-accordion-trigger-chevron{transform:rotate(180deg)}.cny-accordion-content{overflow:hidden;font-size:.8125rem;color:var(--text-secondary);line-height:1.55}.cny-accordion-content[data-state=open]{animation:cny-accordion-down 200ms ease-out}.cny-accordion-content[data-state=closed]{animation:cny-accordion-up 180ms ease-in}.cny-accordion-content-inner{padding:0 12px 12px}.cny-accordion-bordered{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface-lowest)}.cny-accordion-separated{display:flex;flex-direction:column;gap:8px}.cny-accordion-separated .cny-accordion-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface-lowest);overflow:hidden}@media(prefers-reduced-motion: reduce){.cny-accordion-content{animation:none !important}.cny-accordion-trigger-chevron{transition:none}}.cny-slider{--slider-accent: var(--color-primary);position:relative;display:flex;align-items:center;user-select:none;touch-action:none;width:100%;height:20px}.cny-slider-track{position:relative;flex:1;background:var(--bg-surface-low);border-radius:999px;height:4px;overflow:hidden}.cny-slider-range{position:absolute;background:var(--slider-accent);border-radius:999px;height:100%}.cny-slider-thumb{display:block;width:16px;height:16px;background:var(--bg-surface-lowest);border:2px solid var(--slider-accent);border-radius:50%;cursor:grab;transition:transform 120ms ease,box-shadow 120ms ease}.cny-slider-thumb:hover{transform:scale(1.08)}.cny-slider-thumb:active{cursor:grabbing}.cny-slider-thumb:focus-visible{outline:2px solid var(--slider-accent);outline-offset:2px}.cny-slider-bubble{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--text-primary);color:var(--bg-surface-lowest);font-size:11px;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 120ms ease}.cny-slider-thumb:hover .cny-slider-bubble,.cny-slider-thumb:focus-visible .cny-slider-bubble,.cny-slider-thumb[data-state=active] .cny-slider-bubble{opacity:1}.cny-slider[data-disabled]{opacity:.5}.cny-slider[data-disabled] .cny-slider-thumb{cursor:not-allowed}.cny-slider-sm{height:16px}.cny-slider-sm .cny-slider-track{height:3px}.cny-slider-sm .cny-slider-thumb{width:12px;height:12px}.cny-slider-lg{height:24px}.cny-slider-lg .cny-slider-track{height:6px}.cny-slider-lg .cny-slider-thumb{width:20px;height:20px}.cny-slider-success{--slider-accent: var(--color-success)}.cny-slider-warning{--slider-accent: var(--color-warning)}.cny-slider-danger{--slider-accent: var(--color-danger)}.cny-slider[data-orientation=vertical]{flex-direction:column;width:20px;height:100%;min-height:120px}.cny-slider[data-orientation=vertical] .cny-slider-track{width:4px;height:100%;flex:1}.cny-slider[data-orientation=vertical] .cny-slider-range{width:100%;height:auto}.cny-stepper{list-style:none;margin:0;padding:0;font-family:var(--font-body)}.cny-stepper-step{display:flex;align-items:center;min-width:0}.cny-stepper-step-row{display:flex;align-items:center;gap:8px;padding:0;background:rgba(0,0,0,0);border:0;color:inherit;text-align:left;cursor:default;border-radius:var(--radius-sm);min-width:0}.cny-stepper-step-row:not(:disabled){cursor:pointer}.cny-stepper-step-row:not(:disabled):hover .cny-stepper-label{color:var(--text-primary)}.cny-stepper-step-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cny-stepper-marker{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:600;border:1px solid var(--border-color);background:var(--bg-surface-lowest);color:var(--text-muted)}.cny-stepper-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.cny-stepper-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.cny-stepper-desc{font-size:.75rem;color:var(--text-muted)}.cny-stepper-connector{flex:1 1 auto;background:var(--border-color)}.cny-stepper-step.is-active .cny-stepper-marker{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-on)}.cny-stepper-step.is-active .cny-stepper-label{color:var(--text-primary);font-weight:600}.cny-stepper-step.is-complete .cny-stepper-marker{background:var(--color-success);border-color:var(--color-success);color:var(--color-success-on)}.cny-stepper-step.is-complete .cny-stepper-label{color:var(--text-primary)}.cny-stepper-step.is-complete+.cny-stepper-step .cny-stepper-connector,.cny-stepper-step.is-complete .cny-stepper-connector{background:var(--color-success)}.cny-stepper-horizontal{display:flex;align-items:center;gap:8px}.cny-stepper-horizontal .cny-stepper-step{flex:0 1 auto}.cny-stepper-horizontal .cny-stepper-step:not(:last-child){flex:1 1 0}.cny-stepper-horizontal .cny-stepper-connector{height:2px;margin:0 8px;min-width:12px}.cny-stepper-vertical{display:flex;flex-direction:column;gap:8px}.cny-stepper-vertical .cny-stepper-step{flex-direction:column;align-items:flex-start;gap:4px}.cny-stepper-vertical .cny-stepper-connector{width:2px;min-height:16px;margin-left:11px}.cny-stepper-sm .cny-stepper-marker{width:20px;height:20px;font-size:.7rem}.cny-stepper-sm .cny-stepper-label{font-size:.75rem}.cny-stepper-sm .cny-stepper-desc{font-size:.7rem}.p-0{padding:0}.m-0{margin:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.gap-0{gap:0}.gap-x-0{column-gap:0}.gap-y-0{row-gap:0}.p-1{padding:4px}.m-1{margin:4px}.px-1{padding-left:4px;padding-right:4px}.py-1{padding-top:4px;padding-bottom:4px}.mx-1{margin-left:4px;margin-right:4px}.my-1{margin-top:4px;margin-bottom:4px}.pt-1{padding-top:4px}.pr-1{padding-right:4px}.pb-1{padding-bottom:4px}.pl-1{padding-left:4px}.mt-1{margin-top:4px}.mr-1{margin-right:4px}.mb-1{margin-bottom:4px}.ml-1{margin-left:4px}.gap-1{gap:4px}.gap-x-1{column-gap:4px}.gap-y-1{row-gap:4px}.p-2{padding:8px}.m-2{margin:8px}.px-2{padding-left:8px;padding-right:8px}.py-2{padding-top:8px;padding-bottom:8px}.mx-2{margin-left:8px;margin-right:8px}.my-2{margin-top:8px;margin-bottom:8px}.pt-2{padding-top:8px}.pr-2{padding-right:8px}.pb-2{padding-bottom:8px}.pl-2{padding-left:8px}.mt-2{margin-top:8px}.mr-2{margin-right:8px}.mb-2{margin-bottom:8px}.ml-2{margin-left:8px}.gap-2{gap:8px}.gap-x-2{column-gap:8px}.gap-y-2{row-gap:8px}.p-3{padding:12px}.m-3{margin:12px}.px-3{padding-left:12px;padding-right:12px}.py-3{padding-top:12px;padding-bottom:12px}.mx-3{margin-left:12px;margin-right:12px}.my-3{margin-top:12px;margin-bottom:12px}.pt-3{padding-top:12px}.pr-3{padding-right:12px}.pb-3{padding-bottom:12px}.pl-3{padding-left:12px}.mt-3{margin-top:12px}.mr-3{margin-right:12px}.mb-3{margin-bottom:12px}.ml-3{margin-left:12px}.gap-3{gap:12px}.gap-x-3{column-gap:12px}.gap-y-3{row-gap:12px}.p-4{padding:16px}.m-4{margin:16px}.px-4{padding-left:16px;padding-right:16px}.py-4{padding-top:16px;padding-bottom:16px}.mx-4{margin-left:16px;margin-right:16px}.my-4{margin-top:16px;margin-bottom:16px}.pt-4{padding-top:16px}.pr-4{padding-right:16px}.pb-4{padding-bottom:16px}.pl-4{padding-left:16px}.mt-4{margin-top:16px}.mr-4{margin-right:16px}.mb-4{margin-bottom:16px}.ml-4{margin-left:16px}.gap-4{gap:16px}.gap-x-4{column-gap:16px}.gap-y-4{row-gap:16px}.p-5{padding:20px}.m-5{margin:20px}.px-5{padding-left:20px;padding-right:20px}.py-5{padding-top:20px;padding-bottom:20px}.mx-5{margin-left:20px;margin-right:20px}.my-5{margin-top:20px;margin-bottom:20px}.pt-5{padding-top:20px}.pr-5{padding-right:20px}.pb-5{padding-bottom:20px}.pl-5{padding-left:20px}.mt-5{margin-top:20px}.mr-5{margin-right:20px}.mb-5{margin-bottom:20px}.ml-5{margin-left:20px}.gap-5{gap:20px}.gap-x-5{column-gap:20px}.gap-y-5{row-gap:20px}.p-6{padding:24px}.m-6{margin:24px}.px-6{padding-left:24px;padding-right:24px}.py-6{padding-top:24px;padding-bottom:24px}.mx-6{margin-left:24px;margin-right:24px}.my-6{margin-top:24px;margin-bottom:24px}.pt-6{padding-top:24px}.pr-6{padding-right:24px}.pb-6{padding-bottom:24px}.pl-6{padding-left:24px}.mt-6{margin-top:24px}.mr-6{margin-right:24px}.mb-6{margin-bottom:24px}.ml-6{margin-left:24px}.gap-6{gap:24px}.gap-x-6{column-gap:24px}.gap-y-6{row-gap:24px}.p-8{padding:32px}.m-8{margin:32px}.px-8{padding-left:32px;padding-right:32px}.py-8{padding-top:32px;padding-bottom:32px}.mx-8{margin-left:32px;margin-right:32px}.my-8{margin-top:32px;margin-bottom:32px}.pt-8{padding-top:32px}.pr-8{padding-right:32px}.pb-8{padding-bottom:32px}.pl-8{padding-left:32px}.mt-8{margin-top:32px}.mr-8{margin-right:32px}.mb-8{margin-bottom:32px}.ml-8{margin-left:32px}.gap-8{gap:32px}.gap-x-8{column-gap:32px}.gap-y-8{row-gap:32px}.p-10{padding:40px}.m-10{margin:40px}.px-10{padding-left:40px;padding-right:40px}.py-10{padding-top:40px;padding-bottom:40px}.mx-10{margin-left:40px;margin-right:40px}.my-10{margin-top:40px;margin-bottom:40px}.pt-10{padding-top:40px}.pr-10{padding-right:40px}.pb-10{padding-bottom:40px}.pl-10{padding-left:40px}.mt-10{margin-top:40px}.mr-10{margin-right:40px}.mb-10{margin-bottom:40px}.ml-10{margin-left:40px}.gap-10{gap:40px}.gap-x-10{column-gap:40px}.gap-y-10{row-gap:40px}.p-12{padding:48px}.m-12{margin:48px}.px-12{padding-left:48px;padding-right:48px}.py-12{padding-top:48px;padding-bottom:48px}.mx-12{margin-left:48px;margin-right:48px}.my-12{margin-top:48px;margin-bottom:48px}.pt-12{padding-top:48px}.pr-12{padding-right:48px}.pb-12{padding-bottom:48px}.pl-12{padding-left:48px}.mt-12{margin-top:48px}.mr-12{margin-right:48px}.mb-12{margin-bottom:48px}.ml-12{margin-left:48px}.gap-12{gap:48px}.gap-x-12{column-gap:48px}.gap-y-12{row-gap:48px}.p-16{padding:64px}.m-16{margin:64px}.px-16{padding-left:64px;padding-right:64px}.py-16{padding-top:64px;padding-bottom:64px}.mx-16{margin-left:64px;margin-right:64px}.my-16{margin-top:64px;margin-bottom:64px}.pt-16{padding-top:64px}.pr-16{padding-right:64px}.pb-16{padding-bottom:64px}.pl-16{padding-left:64px}.mt-16{margin-top:64px}.mr-16{margin-right:64px}.mb-16{margin-bottom:64px}.ml-16{margin-left:64px}.gap-16{gap:64px}.gap-x-16{column-gap:64px}.gap-y-16{row-gap:64px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:auto}.flex-none{flex:none}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr))}.grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr))}.grid-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr))}.grid-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr))}.grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}@media(max-width: 900px){.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-7,.grid-cols-8,.grid-cols-9{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-10,.grid-cols-11,.grid-cols-12{grid-template-columns:repeat(6, minmax(0, 1fr))}}@media(max-width: 640px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-7,.grid-cols-8,.grid-cols-9{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-10,.grid-cols-11,.grid-cols-12{grid-template-columns:repeat(4, minmax(0, 1fr))}}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:fit-content}.cny-container{width:100%;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.cny-container.sm{max-width:640px}.cny-container.md{max-width:768px}.cny-container.lg{max-width:1024px}.cny-container.xl{max-width:1280px}.cny-container.full{max-width:none}.cny-divider{display:block;flex-shrink:0;background:var(--hairline-color);border:0}.cny-divider.horizontal{width:100%;height:1px}.cny-divider.vertical{width:1px;align-self:stretch}.cny-spacer{flex:1 1 auto}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--text-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.cny-label{font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:var(--track-wider);text-transform:uppercase;color:var(--text-muted)}.cny-mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1,"zero" 1;letter-spacing:-0.005em}.cny-rule{height:1px;width:100%;background:var(--hairline-color);border:0;margin:24px 0}.cny-index{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:var(--track-wide);color:var(--color-primary);margin-right:12px}.cny-index::after{content:" —";color:var(--text-muted);margin-left:.25em}.cny-grid-paper{background-image:linear-gradient(var(--hairline-color) 1px, transparent 1px),linear-gradient(90deg, var(--hairline-color) 1px, transparent 1px);background-size:4px 4px,4px 4px;background-position:-1px -1px}.cny-grain{position:relative;isolation:isolate}.cny-grain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.05 0 0 0 0 0.05 0 0 0 0 0.08 0 0 0 0.25 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>")}.cny-divide-top{box-shadow:0 -1px 0 0 var(--hairline-color)}.cny-divide-bottom{box-shadow:0 1px 0 0 var(--hairline-color)}@keyframes cny-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cny-rise{animation:cny-rise 400ms var(--ease-standard) both}.cny-stack{display:flex;flex-direction:column}.cny-row{display:flex;flex-direction:row;align-items:center}.cny-wrap{flex-wrap:wrap}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cny-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-neutral-soft);color:var(--text-secondary);font-family:var(--font-body);font-size:.6875rem;font-weight:500;line-height:1.4}.cny-badge.danger{background:var(--color-danger-soft);color:var(--color-danger)}.cny-badge.warning{background:var(--color-warning-soft);color:var(--color-warning)}.cny-badge.success{background:var(--color-success-soft);color:var(--color-success)}.cny-badge.info{background:var(--color-info-soft);color:var(--color-info)}.cny-badge.primary{background:var(--color-primary-soft);color:var(--color-primary)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "canny-ui",
3
- "version": "6.1.1",
3
+ "version": "6.2.1",
4
4
  "description": "Pure CSS foundation for the Canny-UI design system — tokens, layout utilities, and a battery of enterprise components, shipped as one flat stylesheet.",
5
5
  "main": "dist/canny-ui.min.css",
6
6
  "style": "dist/canny-ui.min.css",
@@ -48,6 +48,10 @@
48
48
  transition: color 120ms ease, background-color 120ms ease;
49
49
 
50
50
  &:hover { color: var(--text-primary); background: var(--bg-surface-low); }
51
+ &:focus-visible {
52
+ outline: none;
53
+ box-shadow: 0 0 0 var(--ring-width) var(--ring-color);
54
+ }
51
55
  }
52
56
 
53
57
  .cny-ac-chevron {
@@ -52,6 +52,34 @@
52
52
  &.is-active {
53
53
  opacity: 0.85;
54
54
  }
55
+
56
+ &:focus-visible {
57
+ outline: none;
58
+ opacity: 0.85;
59
+ }
60
+ }
61
+
62
+ // transparent hover/focus hit areas over each bar/line category
63
+ .cny-chart-hit {
64
+ outline: none;
65
+
66
+ &:focus-visible {
67
+ stroke: var(--color-primary);
68
+ stroke-width: 1.5;
69
+ }
70
+ }
71
+
72
+ // visually hidden but available to assistive tech (chart data tables)
73
+ .cny-sr-only {
74
+ position: absolute;
75
+ width: 1px;
76
+ height: 1px;
77
+ padding: 0;
78
+ margin: -1px;
79
+ overflow: hidden;
80
+ clip: rect(0 0 0 0);
81
+ white-space: nowrap;
82
+ border: 0;
55
83
  }
56
84
 
57
85
  .cny-chart-center {
@@ -80,16 +80,37 @@
80
80
  }
81
81
 
82
82
  .cny-dt-sortable {
83
- cursor: pointer;
84
83
  user-select: none;
85
84
  transition: color 120ms ease;
86
85
 
86
+ &.is-sorted {
87
+ color: var(--color-primary);
88
+ }
89
+ }
90
+
91
+ // keyboard-operable sort control inside sortable header cells
92
+ .cny-dt-sortbtn {
93
+ appearance: none;
94
+ display: inline-flex;
95
+ align-items: center;
96
+ width: 100%;
97
+ margin: 0;
98
+ padding: 0;
99
+ border: 0;
100
+ background: none;
101
+ font: inherit;
102
+ color: inherit;
103
+ cursor: pointer;
104
+ border-radius: var(--radius-xs);
105
+ transition: color 120ms ease;
106
+
87
107
  &:hover {
88
108
  color: var(--text-primary);
89
109
  }
90
110
 
91
- &.is-sorted {
92
- color: var(--color-primary);
111
+ &:focus-visible {
112
+ outline: none;
113
+ box-shadow: 0 0 0 var(--ring-width) var(--ring-color);
93
114
  }
94
115
  }
95
116
 
@@ -136,6 +157,11 @@
136
157
 
137
158
  &.is-clickable {
138
159
  cursor: pointer;
160
+
161
+ &:focus-visible {
162
+ outline: 2px solid var(--color-primary);
163
+ outline-offset: -2px;
164
+ }
139
165
  }
140
166
 
141
167
  &:hover {
@@ -112,6 +112,12 @@
112
112
  }
113
113
  }
114
114
 
115
+ // Two stacked actions (clear + password toggle): shift the trailing one left.
116
+ .cny-input-action + .cny-input-action { right: 36px; }
117
+
118
+ // …and widen the input's right padding to fit both.
119
+ &.has-action:has(.cny-input-action + .cny-input-action) > .input { padding-right: 62px; }
120
+
115
121
  // Adjust input padding when affix slots are present
116
122
  &.has-prefix > .input { padding-left: calc(#{$space-3} + 18px + 6px); }
117
123
  &.has-suffix > .input { padding-right: calc(#{$space-3} + 18px + 6px); }
@@ -103,6 +103,19 @@
103
103
  }
104
104
  }
105
105
 
106
+ // RadioGroup container (canny-ui-react RadioGroup) — vertical stack by default,
107
+ // horizontal row with the modifier.
108
+ .cny-radio-group {
109
+ display: flex;
110
+ flex-direction: column;
111
+ gap: $space-2;
112
+ }
113
+
114
+ .cny-radio-group-horizontal {
115
+ flex-direction: row;
116
+ gap: $space-4;
117
+ }
118
+
106
119
  // Label wrapper: <label class="control"><input class="checkbox"/> Label</label>
107
120
  .control {
108
121
  display: inline-flex;
@@ -44,6 +44,35 @@
44
44
  background: transparent;
45
45
  }
46
46
 
47
+ // ── Variants that live in the WebKit pseudo-elements ───────────
48
+ // Chromium drops every ::-webkit-scrollbar-* rule on an element whose
49
+ // scrollbar-width OR scrollbar-color is non-`auto`, and the base sets both.
50
+ // These three variants exist only as those rules, so both are reset here or
51
+ // none of them render. Firefox has no pseudo-element styling and falls back
52
+ // to a native scrollbar — these variants are a Chromium enhancement.
53
+ //
54
+ // `.thin` is deliberately NOT in this list: its look comes from the standard
55
+ // `scrollbar-width: thin`, the one path that works in Firefox too. Resetting
56
+ // it to `auto` would trade a close-enough 10px bar in Chromium for a
57
+ // full-width one in Firefox.
58
+ //
59
+ // @supports can't be used to split the two engines: Firefox parses
60
+ // `selector(::-webkit-scrollbar)` as valid and reports true, despite not
61
+ // implementing it.
62
+ &.subtle,
63
+ &.overlay,
64
+ &.expand {
65
+ scrollbar-width: auto;
66
+ scrollbar-color: auto;
67
+
68
+ // .primary re-declares scrollbar-color further down; this higher-specificity
69
+ // guard keeps WebKit alive when the two are combined, and the thumb rules
70
+ // below carry the colour instead.
71
+ &.primary {
72
+ scrollbar-color: auto;
73
+ }
74
+ }
75
+
47
76
  // ── Thin ───────────────────────────────────────────────────────
48
77
  &.thin {
49
78
  &::-webkit-scrollbar {
@@ -93,19 +122,8 @@
93
122
 
94
123
  // ── Expand: slim thumb that fattens when the pointer is on the scrollbar ─
95
124
  &.expand {
96
- // Chromium drops every ::-webkit-scrollbar-* rule on an element whose
97
- // scrollbar-width OR scrollbar-color is non-`auto`. The base sets both, so
98
- // both must be reset here or none of the rules below render at all.
99
- // Firefox has no pseudo-element hover, so it keeps its native look.
100
- scrollbar-width: auto;
101
- scrollbar-color: auto;
102
-
103
- // .primary re-declares scrollbar-color; keep webkit styling alive when the
104
- // two modifiers are combined and let the thumb rule below carry the color.
105
- &.primary {
106
- scrollbar-color: auto;
107
- }
108
-
125
+ // The standard-property reset this variant needs is shared with
126
+ // .subtle/.overlay above.
109
127
  &::-webkit-scrollbar {
110
128
  width: 16px;
111
129
  height: 16px;
@@ -1,14 +1,15 @@
1
1
  @use '../tokens/primitives' as *;
2
2
 
3
3
  // ── Sidebar ───────────────────────────────────────────────────
4
- // A vertical navigation rail. Composes into sections with titles and items.
4
+ // Pill-style admin rail. Rounded items, soft active surface,
5
+ // sticky header/footer, and a collapse toggle.
5
6
 
6
7
  .cny-sidebar {
7
8
  display: flex;
8
9
  flex-direction: column;
9
- width: 240px;
10
+ width: 260px;
10
11
  flex-shrink: 0;
11
- padding: $space-6 $space-5;
12
+ padding: $space-5;
12
13
  border-right: 1px solid var(--hairline-color);
13
14
  background: var(--bg-base);
14
15
  overflow-y: auto;
@@ -20,14 +21,65 @@
20
21
  max-height: calc(100vh - 52px);
21
22
  }
22
23
 
23
- &.thin {
24
- width: 200px;
25
- padding: $space-5 $space-4;
24
+ &.thin { width: 220px; }
25
+ &.wide { width: 300px; }
26
+ }
27
+
28
+ .cny-sidebar-header {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: space-between;
32
+ gap: $space-2;
33
+ padding: $space-1 $space-2 $space-4;
34
+ margin-bottom: $space-2;
35
+ min-height: 40px;
36
+ font-size: 0.9375rem;
37
+ font-weight: 650;
38
+ color: var(--text-primary);
39
+
40
+ > * {
41
+ overflow: hidden;
42
+ text-overflow: ellipsis;
43
+ white-space: nowrap;
44
+ }
45
+ }
46
+
47
+ .cny-sidebar-footer {
48
+ margin-top: auto;
49
+ padding: $space-4 $space-2 $space-1;
50
+ border-top: 1px solid var(--hairline-color);
51
+ }
52
+
53
+ .cny-sidebar-toggle {
54
+ display: inline-flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ width: 28px;
58
+ height: 28px;
59
+ border-radius: var(--radius-md);
60
+ border: 1px solid transparent;
61
+ background: transparent;
62
+ color: var(--text-muted);
63
+ cursor: pointer;
64
+ flex-shrink: 0;
65
+ transition:
66
+ background-color 160ms ease,
67
+ color 160ms ease,
68
+ transform 160ms ease;
69
+
70
+ &:hover {
71
+ background: var(--bg-surface-low);
72
+ color: var(--text-primary);
26
73
  }
27
74
 
28
- &.wide {
29
- width: 280px;
75
+ &:active { transform: scale(0.96); }
76
+
77
+ &:focus-visible {
78
+ outline: 2px solid var(--color-primary);
79
+ outline-offset: 2px;
30
80
  }
81
+
82
+ &.collapsed svg { transform: rotate(180deg); }
31
83
  }
32
84
 
33
85
  .cny-sidebar-section {
@@ -39,77 +91,50 @@
39
91
  }
40
92
 
41
93
  .cny-sidebar-title {
42
- display: flex;
43
- align-items: center;
44
- gap: 8px;
45
- font-size: 0.6875rem;
46
- font-weight: 650;
47
- letter-spacing: 0.1em;
48
- text-transform: uppercase;
94
+ font-size: 0.75rem;
95
+ font-weight: 600;
49
96
  color: var(--text-muted);
50
- padding: 0 10px;
51
- margin: 0 0 10px;
52
-
53
- &::before {
54
- content: '';
55
- width: 3px;
56
- height: 3px;
57
- border-radius: 50%;
58
- background: currentColor;
59
- opacity: 0.55;
60
- flex-shrink: 0;
61
- }
97
+ padding: 0 $space-2;
98
+ margin: 0 0 $space-2;
62
99
  }
63
100
 
64
101
  .cny-sidebar-nav {
65
102
  display: flex;
66
103
  flex-direction: column;
67
- gap: 1px;
104
+ gap: 2px;
68
105
  }
69
106
 
70
107
  .cny-sidebar-item {
71
108
  display: flex;
72
109
  align-items: center;
73
- gap: $space-2;
74
- padding: 7px 10px;
75
- border-radius: var(--radius-sm);
76
- font-size: 0.8125rem;
110
+ gap: $space-3;
111
+ padding: 8px $space-3;
112
+ border-radius: var(--radius-md);
113
+ font-size: 0.875rem;
114
+ font-weight: 500;
77
115
  color: var(--text-secondary);
78
116
  text-decoration: none;
79
- position: relative;
80
117
  transition:
81
- background-color 160ms ease,
82
- color 160ms ease,
83
- transform 160ms ease;
118
+ background-color 150ms ease,
119
+ color 150ms ease,
120
+ transform 150ms ease;
84
121
 
85
122
  &:hover {
86
123
  background: var(--bg-surface-low);
87
124
  color: var(--text-primary);
125
+ transform: translateX(1px);
88
126
  }
89
127
 
90
- &:active { transform: translateX(0.5px); }
128
+ &:focus-visible {
129
+ outline: 2px solid var(--color-primary);
130
+ outline-offset: -1px;
131
+ }
91
132
 
92
133
  &.active {
93
134
  color: var(--color-primary);
94
- font-weight: 550;
95
- background: linear-gradient(
96
- 90deg,
97
- color-mix(in srgb, var(--color-primary) 13%, transparent),
98
- color-mix(in srgb, var(--color-primary) 4%, transparent)
99
- );
100
-
101
- &::before {
102
- content: '';
103
- position: absolute;
104
- left: 0;
105
- top: 50%;
106
- transform: translateY(-50%);
107
- width: 3px;
108
- height: 14px;
109
- background: var(--color-primary);
110
- border-radius: 0 2px 2px 0;
111
- box-shadow: 0 0 8px color-mix(in srgb, var(--color-primary) 50%, transparent);
112
- }
135
+ background: color-mix(in srgb, var(--color-primary) 10%, transparent);
136
+
137
+ .cny-sidebar-item-icon { opacity: 1; }
113
138
  }
114
139
 
115
140
  &.disabled {
@@ -119,20 +144,23 @@
119
144
  }
120
145
 
121
146
  .cny-sidebar-item-icon {
122
- width: 14px;
123
- height: 14px;
147
+ width: 18px;
148
+ height: 18px;
124
149
  flex-shrink: 0;
125
- opacity: 0.75;
150
+ opacity: 0.7;
151
+ transition: opacity 150ms ease;
126
152
  }
127
153
 
128
154
  .cny-sidebar-item-badge {
129
155
  margin-left: auto;
130
- font-size: 9.5px;
156
+ font-size: 10px;
131
157
  font-weight: 700;
132
- letter-spacing: 0.04em;
133
- padding: 1px 6px;
158
+ letter-spacing: 0.02em;
159
+ padding: 2px 7px;
134
160
  line-height: 1.4;
135
- text-transform: lowercase;
161
+ border-radius: var(--radius-full);
162
+ background: var(--bg-surface-low);
163
+ color: var(--text-secondary);
136
164
  }
137
165
  }
138
166
 
@@ -154,20 +182,32 @@
154
182
 
155
183
  // Collapsed variant: icons only
156
184
  .cny-sidebar.collapsed {
157
- width: 60px;
158
- padding: $space-5 $space-2;
185
+ width: 68px;
186
+ padding: $space-5 $space-3;
159
187
  align-items: center;
160
188
 
189
+ .cny-sidebar-header {
190
+ justify-content: center;
191
+ padding: $space-1 0 $space-4;
192
+ }
193
+
194
+ .cny-sidebar-footer {
195
+ padding: $space-4 0 $space-1;
196
+ border-top-color: transparent;
197
+ display: flex;
198
+ justify-content: center;
199
+ }
200
+
161
201
  .cny-sidebar-title { display: none; }
162
202
 
163
203
  .cny-sidebar-item {
164
204
  justify-content: center;
165
- padding: 8px;
205
+ padding: 10px;
166
206
 
167
207
  span:not(.cny-sidebar-item-icon):not(.cny-sidebar-item-badge) { display: none; }
168
208
  .cny-sidebar-item-badge { display: none; }
169
209
 
170
- &.active::before { left: -#{$space-2}; }
210
+ &:hover { transform: scale(1.05); }
171
211
  }
172
212
  }
173
213
 
@@ -13,13 +13,13 @@
13
13
  --text-muted: #{$zinc-500};
14
14
  --text-disabled: #{$zinc-400};
15
15
  --text-on-solid: #ffffff;
16
- --text-accent: #{$indigo-600};
16
+ --text-accent: #3A73B3;
17
17
 
18
18
  // ── Brand (primary) ───────────────────────────────────────────────────
19
- --color-primary: #{$indigo-600};
20
- --color-primary-hover: #{$indigo-700};
21
- --color-primary-active:#{$indigo-800};
22
- --color-primary-soft: #{$indigo-50};
19
+ --color-primary: #3A73B3;
20
+ --color-primary-hover: #2F5C8F;
21
+ --color-primary-active:#264A73;
22
+ --color-primary-soft: rgba(58, 115, 179, 0.12);
23
23
  --color-primary-on: #ffffff;
24
24
 
25
25
  // ── Neutral solid (secondary button) ──────────────────────────────────
@@ -52,10 +52,10 @@
52
52
  // ── Borders (enterprise uses real borders, unlike the paper edition) ──
53
53
  --border-color: #{$zinc-200};
54
54
  --border-color-strong: #{$zinc-300};
55
- --border-focus: #{$indigo-500};
55
+ --border-focus: #3A73B3;
56
56
 
57
57
  // ── Ring (focus halo) ─────────────────────────────────────────────────
58
- --ring-color: rgba(79, 70, 229, 0.28);
58
+ --ring-color: rgba(58, 115, 179, 0.28);
59
59
  --ring-width: 3px;
60
60
 
61
61
  // ── Shadows — subtle, predictable ─────────────────────────────────────
@@ -125,12 +125,12 @@
125
125
  --text-secondary: #{$zinc-300};
126
126
  --text-muted: #{$zinc-400};
127
127
  --text-disabled: #{$zinc-600};
128
- --text-accent: #{$indigo-400};
128
+ --text-accent: #7BA5D6;
129
129
 
130
- --color-primary: #{$indigo-500};
131
- --color-primary-hover: #{$indigo-400};
132
- --color-primary-active:#{$indigo-600};
133
- --color-primary-soft: rgba(99, 102, 241, 0.15);
130
+ --color-primary: #5B8FC9;
131
+ --color-primary-hover: #7BA5D6;
132
+ --color-primary-active:#4A7FB8;
133
+ --color-primary-soft: rgba(91, 143, 201, 0.15);
134
134
 
135
135
  --color-neutral: #{$zinc-50};
136
136
  --color-neutral-hover: #ffffff;
@@ -144,8 +144,8 @@
144
144
 
145
145
  --border-color: #{$zinc-800};
146
146
  --border-color-strong: #{$zinc-700};
147
- --border-focus: #{$indigo-400};
148
- --ring-color: rgba(99, 102, 241, 0.45);
147
+ --border-focus: #7BA5D6;
148
+ --ring-color: rgba(91, 143, 201, 0.45);
149
149
 
150
150
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
151
151
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4),
@@ -168,12 +168,12 @@
168
168
  --text-secondary: #{$zinc-300};
169
169
  --text-muted: #{$zinc-400};
170
170
  --text-disabled: #{$zinc-600};
171
- --text-accent: #{$indigo-400};
171
+ --text-accent: #7BA5D6;
172
172
 
173
- --color-primary: #{$indigo-500};
174
- --color-primary-hover: #{$indigo-400};
175
- --color-primary-active:#{$indigo-600};
176
- --color-primary-soft: rgba(99, 102, 241, 0.15);
173
+ --color-primary: #5B8FC9;
174
+ --color-primary-hover: #7BA5D6;
175
+ --color-primary-active:#4A7FB8;
176
+ --color-primary-soft: rgba(91, 143, 201, 0.15);
177
177
 
178
178
  --color-neutral: #{$zinc-50};
179
179
  --color-neutral-hover: #ffffff;
@@ -187,8 +187,8 @@
187
187
 
188
188
  --border-color: #{$zinc-800};
189
189
  --border-color-strong: #{$zinc-700};
190
- --border-focus: #{$indigo-400};
191
- --ring-color: rgba(99, 102, 241, 0.45);
190
+ --border-focus: #7BA5D6;
191
+ --ring-color: rgba(91, 143, 201, 0.45);
192
192
 
193
193
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
194
194
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4),