.bg {color:#e6edf3;background-color:#0d1117} .chroma {color:#e6edf3;background-color:#0d1117;-webkit-text-size-adjust:none} .chroma .err {color:#f85149} .chroma .lnlinks {outline:none;text-decoration:none;color:inherit} .chroma .lntd {vertical-align:top;padding:0;margin:0;border:0} .chroma .lntable {border-spacing:0;padding:0;margin:0;border:0} .chroma .hl {background-color:#6e7681} .chroma .lnt {white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679} .chroma .ln {white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681} .chroma .line {display:flex} .chroma .k {color:#ff7b72} .chroma .kc {color:#79c0ff} .chroma .kd {color:#ff7b72} .chroma .kn {color:#ff7b72} .chroma .kp {color:#79c0ff} .chroma .kr {color:#ff7b72} .chroma .kt {color:#ff7b72} .chroma .nc {color:#f0883e;font-weight:bold} .chroma .no {color:#79c0ff;font-weight:bold} .chroma .nd {color:#d2a8ff;font-weight:bold} .chroma .ni {color:#ffa657} .chroma .ne {color:#f0883e;font-weight:bold} .chroma .nl {color:#79c0ff;font-weight:bold} .chroma .nn {color:#ff7b72} .chroma .py {color:#79c0ff} .chroma .nt {color:#7ee787} .chroma .nv {color:#79c0ff} .chroma .vc {color:#79c0ff} .chroma .vg {color:#79c0ff} .chroma .vi {color:#79c0ff} .chroma .vm {color:#79c0ff} .chroma .nf {color:#d2a8ff;font-weight:bold} .chroma .fm {color:#d2a8ff;font-weight:bold} .chroma .l {color:#a5d6ff} .chroma .ld {color:#79c0ff} .chroma .s {color:#a5d6ff} .chroma .sa {color:#79c0ff} .chroma .sb {color:#a5d6ff} .chroma .sc {color:#a5d6ff} .chroma .dl {color:#79c0ff} .chroma .sd {color:#a5d6ff} .chroma .s2 {color:#a5d6ff} .chroma .se {color:#79c0ff} .chroma .sh {color:#79c0ff} .chroma .si {color:#a5d6ff} .chroma .sx {color:#a5d6ff} .chroma .sr {color:#79c0ff} .chroma .s1 {color:#a5d6ff} .chroma .ss {color:#a5d6ff} .chroma .m {color:#a5d6ff} .chroma .mb {color:#a5d6ff} .chroma .mf {color:#a5d6ff} .chroma .mh {color:#a5d6ff} .chroma .mi {color:#a5d6ff} .chroma .il {color:#a5d6ff} .chroma .mo {color:#a5d6ff} .chroma .o {color:#ff7b72;font-weight:bold} .chroma .ow {color:#ff7b72;font-weight:bold} .chroma .or {color:#ff7b72;font-weight:bold} .chroma .c {color:#8b949e;font-style:italic} .chroma .ch {color:#8b949e;font-style:italic} .chroma .cm {color:#8b949e;font-style:italic} .chroma .c1 {color:#8b949e;font-style:italic} .chroma .cs {color:#8b949e;font-weight:bold;font-style:italic} .chroma .cp {color:#8b949e;font-weight:bold;font-style:italic} .chroma .cpf {color:#8b949e;font-weight:bold;font-style:italic} .chroma .gd {color:#ffa198;background-color:#490202} .chroma .ge {font-style:italic} .chroma .gr {color:#ffa198} .chroma .gh {color:#79c0ff;font-weight:bold} .chroma .gi {color:#56d364;background-color:#0f5323} .chroma .go {color:#8b949e} .chroma .gp {color:#8b949e} .chroma .gs {font-weight:bold} .chroma .gu {color:#79c0ff} .chroma .gt {color:#ff7b72} .chroma .gl {text-decoration:underline} .chroma .w {color:#6e7681} :where(:root) {color-scheme:light dark;--krate-font:'Inter', system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI', roboto, sans-serif;--krate-radius-sm:6px;--krate-radius:8px;--krate-radius-lg:12px;--krate-gap:8px;--krate-primary:#f97316;--krate-primary-hover:color-mix(in srgb, var(--krate-primary) 85%, black);--krate-primary-fg:#fff;--krate-focus-ring:var(--krate-primary);--krate-danger:#ef4444;--krate-danger-hover:color-mix(in srgb, var(--krate-danger) 85%, black);--krate-success:#22c55e;--krate-warning:#f59e0b;--krate-fg:#09090b;--krate-muted:#71717a;--krate-bg:#fff;--krate-bg-subtle:#fafafa;--krate-surface:#f4f4f5;--krate-surface-hover:#e4e4e7;--krate-border:#e4e4e7;--krate-border-strong:#d4d4d8;--krate-overlay:rgba(9, 9, 11, 0.4);--krate-text:var(--krate-fg);--krate-text-muted:var(--krate-muted);--krate-card-bg:var(--krate-bg);--krate-code-bg:#18181b;--krate-code-text:#fafafa;--krate-shadow-xs:0 1px 2px rgba(24, 24, 27, 0.06);--krate-shadow-sm:0 1px 2px rgba(24, 24, 27, 0.06), 0 2px 6px -2px rgba(24, 24, 27, 0.08);--krate-shadow-md:0 2px 4px rgba(24, 24, 27, 0.05), 0 10px 24px -8px rgba(24, 24, 27, 0.12);--krate-shadow-lg:0 4px 10px rgba(24, 24, 27, 0.06), 0 24px 48px -16px rgba(24, 24, 27, 0.16);--krate-hairline:none;--krate-ease-out:cubic-bezier(0.22, 1, 0.36, 1);--krate-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1)} @media (prefers-color-scheme: dark) { :where(:root) {--krate-fg:#fafafa;--krate-muted:#a1a1aa;--krate-bg:#09090b;--krate-bg-subtle:#0f0f11;--krate-surface:#18181b;--krate-surface-hover:#27272a;--krate-border:#27272a;--krate-border-strong:#3f3f46;--krate-card-bg:#18181b;--krate-overlay:rgba(0, 0, 0, 0.6);--krate-shadow-xs:0 1px 2px rgba(0, 0, 0, 0.4);--krate-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4), 0 2px 8px -2px rgba(0, 0, 0, 0.5);--krate-shadow-md:0 2px 6px rgba(0, 0, 0, 0.4), 0 14px 32px -10px rgba(0, 0, 0, 0.55);--krate-shadow-lg:0 6px 14px rgba(0, 0, 0, 0.45), 0 30px 60px -20px rgba(0, 0, 0, 0.65);--krate-hairline:inset 0 1px 0 rgba(255, 255, 255, 0.045)} } :where(:root[data-theme='dark']) {--krate-fg:#fafafa;--krate-muted:#a1a1aa;--krate-bg:#09090b;--krate-bg-subtle:#0f0f11;--krate-surface:#18181b;--krate-surface-hover:#27272a;--krate-border:#27272a;--krate-border-strong:#3f3f46;--krate-card-bg:#18181b;--krate-overlay:rgba(0, 0, 0, 0.6);--krate-shadow-xs:0 1px 2px rgba(0, 0, 0, 0.4);--krate-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4), 0 2px 8px -2px rgba(0, 0, 0, 0.5);--krate-shadow-md:0 2px 6px rgba(0, 0, 0, 0.4), 0 14px 32px -10px rgba(0, 0, 0, 0.55);--krate-shadow-lg:0 6px 14px rgba(0, 0, 0, 0.45), 0 30px 60px -20px rgba(0, 0, 0, 0.65);--krate-hairline:inset 0 1px 0 rgba(255, 255, 255, 0.045)} :where(:root[data-theme='light']) {--krate-fg:#09090b;--krate-muted:#71717a;--krate-bg:#fff;--krate-bg-subtle:#fafafa;--krate-surface:#f4f4f5;--krate-surface-hover:#e4e4e7;--krate-border:#e4e4e7;--krate-border-strong:#d4d4d8;--krate-card-bg:#fff;--krate-overlay:rgba(9, 9, 11, 0.4)} @media (prefers-reduced-motion: reduce) { .krate-button, .krate-tabs-trigger, .krate-switch, .krate-switch-thumb, .krate-accordion-trigger-icon, .krate-collapsible-trigger-icon {transition:none !important} } .krate-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--krate-radius-sm, 6px);font-weight:600;font-size:0.9rem;font-family:inherit;line-height:1;border:1px solid transparent;cursor:pointer;white-space:nowrap;user-select:none;background:transparent;color:var(--krate-text, #09090b);transition:background-color 0.16s var(--krate-ease-in-out, ease), border-color 0.16s var(--krate-ease-in-out, ease), color 0.16s var(--krate-ease-in-out, ease), box-shadow 0.16s var(--krate-ease-in-out, ease), transform 0.16s var(--krate-ease-out, ease)} .krate-button:active {transform:translateY(1px) scale(0.99)} .krate-button:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-button:disabled, .krate-button[aria-disabled='true'] {opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none} .krate-button-sm {padding:4px 12px;font-size:0.8rem} .krate-button-md {padding:8px 16px;font-size:0.9rem} .krate-button-lg {padding:12px 24px;font-size:1rem} .krate-button-icon {width:36px;height:36px;padding:0} .krate-button-primary {background:var(--krate-primary, #3b82f6);color:var(--krate-primary-fg, #fff);box-shadow:var(--krate-shadow-xs, 0 1px 2px rgba(24, 24, 27, 0.06))} .krate-button-primary:hover {background:var(--krate-primary-hover, #2563eb);color:var(--krate-primary-fg, #fff);box-shadow:0 8px 20px -8px color-mix(in srgb, var(--krate-primary, #3b82f6) 65%, transparent)} .krate-button-secondary {background:var(--krate-surface, #f4f4f5);color:var(--krate-text, #09090b);border-color:var(--krate-border, #e4e4e7)} .krate-button-secondary:hover {background:var(--krate-surface-hover, #e4e4e7);border-color:var(--krate-border-strong, #d4d4d8)} .krate-button-outline {background:transparent;color:var(--krate-text, #09090b);border-color:var(--krate-border, #e4e4e7)} .krate-button-outline:hover {background:var(--krate-surface-hover, #e4e4e7);border-color:var(--krate-border-strong, #d4d4d8)} .krate-button-ghost {background:transparent;color:var(--krate-text, #09090b)} .krate-button-ghost:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-button-destructive {background:var(--krate-danger, #ef4444);color:#fff;box-shadow:var(--krate-shadow-xs, 0 1px 2px rgba(24, 24, 27, 0.06))} .krate-button-destructive:hover {background:var(--krate-danger-hover, #dc2626);box-shadow:0 8px 20px -8px color-mix(in srgb, var(--krate-danger, #ef4444) 60%, transparent)} .krate-button-link {background:transparent;color:var(--krate-primary, #3b82f6);text-decoration:underline;text-underline-offset:4px;padding:0} .krate-button-link:hover {color:var(--krate-primary-hover, #2563eb)} .krate-card {margin:24px 0;border:1px solid var(--krate-border, #e4e4e7);border-radius:var(--krate-radius-lg, 12px);overflow:hidden;background:var(--krate-card-bg, #fff);box-shadow:var(--krate-shadow-xs, 0 1px 2px rgba(24, 24, 27, 0.06)), var(--krate-hairline, none);transition:box-shadow 0.2s var(--krate-ease-in-out, ease), border-color 0.2s var(--krate-ease-in-out, ease)} .krate-card:hover {border-color:var(--krate-border-strong, #d4d4d8);box-shadow:var(--krate-shadow-md, 0 2px 4px rgba(24, 24, 27, 0.05), 0 10px 24px -8px rgba(24, 24, 27, 0.12)), var(--krate-hairline, none)} .krate-card-title {padding:12px 16px;font-weight:600;font-size:0.95rem;border-bottom:1px solid var(--krate-border, #e4e4e7);color:var(--krate-text, #09090b)} .krate-card-body {padding:16px;color:var(--krate-text-muted, #71717a);line-height:1.6} .krate-card-grid {display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:16px;margin:24px 0} .krate-card-grid .krate-card, .krate-card-grid .krate-link-card {margin:0} .krate-link-card {display:flex;align-items:center;justify-content:space-between;margin:24px 0;padding:16px 20px;border:1px solid var(--krate-border, #e4e4e7);border-radius:8px;background:var(--krate-card-bg, #fff);text-decoration:none;color:inherit;transition:border-color 0.2s, box-shadow 0.2s} .krate-link-card:hover {border-color:var(--krate-primary, #3b82f6);box-shadow:0 4px 12px rgba(59, 130, 246, 0.1)} .krate-link-card-content {flex:1} .krate-link-card-title {font-weight:600;font-size:0.95rem;color:var(--krate-text, #09090b);margin-top:4px;margin-bottom:8px} .krate-link-card-description {font-size:0.85rem;color:var(--krate-text-muted, #71717a);line-height:1.5} .krate-link-card-description p, div.krate-link-card .krate-link-card-description p {margin:0;margin-bottom:4px} .krate-link-card-icon {margin-left:12px;color:var(--krate-text-muted, #71717a)} .krate-link-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 20px;border-radius:6px;font-weight:500;font-size:0.9rem;text-decoration:none;transition:background 0.15s, transform 0.1s, box-shadow 0.15s;cursor:pointer;white-space:nowrap;user-select:none} .krate-link-button:active {transform:scale(0.97)} .krate-link-button:focus-visible {outline:2px solid var(--krate-primary, #3b82f6);outline-offset:2px} .krate-link-button-sm {padding:4px 12px;font-size:0.8rem} .krate-link-button-md {padding:8px 20px;font-size:0.9rem} .krate-link-button-lg {padding:12px 28px;font-size:1rem} .krate-link-button-primary {background:var(--krate-primary, #3b82f6);color:#fff} .krate-link-button-primary:hover {background:var(--krate-primary-hover, #2563eb);box-shadow:0 2px 8px rgba(59, 130, 246, 0.3)} .krate-link-button-secondary {background:var(--krate-surface-hover, #e4e4e7);color:var(--krate-text, #09090b);border:1px solid var(--krate-border, #e4e4e7)} .krate-link-button-secondary:hover {background:rgba(255, 255, 255, 0.1);border-color:var(--krate-text-muted, #71717a)} .krate-link-button-ghost {background:transparent;color:var(--krate-text, #09090b)} .krate-link-button-ghost:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-link-button-destructive {background:var(--krate-danger, #ef4444);color:#fff} .krate-link-button-destructive:hover {background:#dc2626;box-shadow:0 2px 8px rgba(239, 68, 68, 0.3)} .krate-code-block {margin:20px 0;border-radius:8px;overflow:hidden;background:var(--krate-code-bg, #0d1117);border:1px solid var(--krate-border, #e4e4e7)} .krate-code-header {display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--krate-code-title-bg, #161b22);border-bottom:1px solid var(--krate-border, #e4e4e7);min-height:36px} .krate-code-title {color:var(--krate-code-title-text, #8b949e);font-size:0.8rem;font-family:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace} .krate-code-copy {all:unset;display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:4px;color:var(--krate-code-title-text, #8b949e);cursor:pointer;font-size:0.8rem;transition:background 0.15s, color 0.15s} .krate-code-copy:hover {background:rgba(255, 255, 255, 0.1);color:var(--krate-text, #09090b)} .krate-code-copy:focus-visible {outline:2px solid var(--krate-primary, #3b82f6);outline-offset:-2px} .krate-code-block pre, div.krate-code-block pre {margin:0;padding:16px;overflow-x:auto;border-radius:0 0 8px 8px;border:0;white-space:pre} .krate-code-block code, div.krate-code-block code {color:var(--krate-code-text, #e6edf3);font-family:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;font-size:0.875rem;line-height:1.6;white-space:pre;display:block;overflow-x:auto} .krate-badge {display:inline-flex;align-items:center;gap:4px;border-radius:9999px;font-weight:600;font-size:0.75rem;line-height:1;padding:4px 10px;border:1px solid transparent;white-space:nowrap} .krate-badge-sm {font-size:0.6875rem;padding:2px 8px} .krate-badge-default {background:var(--krate-primary, #3b82f6);color:#fff} .krate-badge-secondary {background:var(--krate-surface-hover, #e4e4e7);color:var(--krate-text, #09090b)} .krate-badge-outline {background:transparent;border-color:var(--krate-border, #e4e4e7);color:var(--krate-text-muted, #71717a)} .krate-badge-success {background:rgba(34, 197, 94, 0.15);color:#22c55e} .krate-badge-warning {background:rgba(234, 179, 8, 0.15);color:#eab308} .krate-badge-destructive {background:rgba(239, 68, 68, 0.15);color:#ef4444} .krate-input {display:block;width:100%;box-sizing:border-box;padding:8px 12px;font-size:0.9rem;font-family:inherit;color:var(--krate-text, #09090b);background:var(--krate-surface, #f4f4f5);border:1px solid var(--krate-border, #e4e4e7);border-radius:6px;transition:border-color 0.15s, box-shadow 0.15s} .krate-input::placeholder {color:var(--krate-text-muted, #71717a)} .krate-input:focus {outline:none;border-color:var(--krate-primary, #3b82f6);box-shadow:0 0 0 3px rgba(59, 130, 246, 0.15)} .krate-input:disabled {opacity:0.5;cursor:not-allowed} .krate-input[aria-invalid="true"] {border-color:var(--krate-danger, #ef4444)} .krate-textarea {display:block;width:100%;box-sizing:border-box;padding:8px 12px;font-size:0.9rem;font-family:inherit;line-height:1.5;color:var(--krate-text, #09090b);background:var(--krate-surface, #f4f4f5);border:1px solid var(--krate-border, #e4e4e7);border-radius:6px;resize:vertical;transition:border-color 0.15s, box-shadow 0.15s} .krate-textarea::placeholder {color:var(--krate-text-muted, #71717a)} .krate-textarea:focus {outline:none;border-color:var(--krate-primary, #3b82f6);box-shadow:0 0 0 3px rgba(59, 130, 246, 0.15)} .krate-textarea:disabled {opacity:0.5;cursor:not-allowed} .krate-skeleton {display:block;border-radius:6px;background:linear-gradient( 90deg, rgba(255, 255, 255, 0.05) 25%, rgba(255, 255, 255, 0.1) 37%, rgba(255, 255, 255, 0.05) 63% );background-size:400% 100%;animation:krate-skeleton-shimmer 1.4s ease infinite;min-height:1rem} @keyframes krate-skeleton-shimmer { 0% {background-position:100% 50%} 100% {background-position:0 50%} } @media (prefers-reduced-motion: reduce) { .krate-skeleton {animation:none} } .krate-alert {display:flex;gap:12px;padding:14px 16px;border-radius:8px;border:1px solid var(--krate-border, #e4e4e7);background:var(--krate-surface, #f4f4f5);color:var(--krate-text, #09090b);font-size:0.9rem} .krate-alert-icon {flex:none;display:flex;margin-top:1px;color:var(--krate-text-muted, #71717a)} .krate-alert-body {min-width:0} .krate-alert-title {font-weight:600;margin-bottom:2px} .krate-alert-description {color:var(--krate-text-muted, #71717a);line-height:1.5} .krate-alert-info {border-color:rgba(59, 130, 246, 0.4);background:rgba(59, 130, 246, 0.08)} .krate-alert-info .krate-alert-icon {color:#3b82f6} .krate-alert-success {border-color:rgba(34, 197, 94, 0.4);background:rgba(34, 197, 94, 0.08)} .krate-alert-success .krate-alert-icon {color:#22c55e} .krate-alert-warning {border-color:rgba(234, 179, 8, 0.4);background:rgba(234, 179, 8, 0.08)} .krate-alert-warning .krate-alert-icon {color:#eab308} .krate-alert-destructive {border-color:rgba(239, 68, 68, 0.4);background:rgba(239, 68, 68, 0.08)} .krate-alert-destructive .krate-alert-icon {color:#ef4444} .krate-table-wrap {width:100%;overflow-x:auto;border:1px solid var(--krate-border, #e4e4e7);border-radius:8px} .krate-table {width:100%;border-collapse:collapse;font-size:0.875rem;color:var(--krate-text, #09090b)} .krate-table-caption {caption-side:bottom;padding:8px;color:var(--krate-text-muted, #71717a);font-size:0.8rem} .krate-table-head {text-align:left;padding:10px 14px;font-weight:600;color:var(--krate-text-muted, #71717a);border-bottom:1px solid var(--krate-border, #e4e4e7);white-space:nowrap} .krate-table-cell {padding:10px 14px;border-bottom:1px solid var(--krate-border, #e4e4e7);vertical-align:middle} .krate-table-row:last-child .krate-table-cell {border-bottom:none} .krate-table-body .krate-table-row:hover {background:var(--krate-surface, #f4f4f5)} .krate-table-footer .krate-table-cell {font-weight:600;background:rgba(255, 255, 255, 0.02)} .krate-breadcrumb {font-size:0.85rem} .krate-breadcrumb-list {display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;margin:0;padding:0} .krate-breadcrumb-item {display:inline-flex;align-items:center} .krate-breadcrumb-link {color:var(--krate-text-muted, #71717a);text-decoration:none;transition:color 0.15s} .krate-breadcrumb-link:hover {color:var(--krate-text, #09090b)} .krate-breadcrumb-page {color:var(--krate-text, #09090b);font-weight:500} .krate-breadcrumb-separator {color:var(--krate-text-muted, #71717a);user-select:none} .krate-pagination {display:flex;align-items:center;justify-content:center;gap:4px;font-size:0.875rem} .krate-pagination-list {display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0} .krate-pagination-link, .krate-pagination-page {display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:6px;border:1px solid transparent;color:var(--krate-text, #fafafa);text-decoration:none;transition:background 0.15s, border-color 0.15s} .krate-pagination-link:hover, .krate-pagination-page:hover {background:rgba(255, 255, 255, 0.06)} .krate-pagination-active {background:var(--krate-primary, #3b82f6);color:#fff;font-weight:600} .krate-pagination-disabled {opacity:0.4;pointer-events:none} .krate-pagination-link:focus-visible, .krate-pagination-page:focus-visible {outline:2px solid var(--krate-primary, #3b82f6);outline-offset:2px} .krate-sheet {display:inline-block} .krate-sheet-trigger {cursor:pointer} .krate-sheet-content {position:fixed;z-index:1001;width:320px;max-width:85vw;height:100%;top:0;padding:24px;background:var(--krate-card-bg, #fff);border-inline-start:1px solid var(--krate-border, #e4e4e7);box-shadow:0 16px 48px rgba(0, 0, 0, 0.2);overflow-y:auto} .krate-sheet-content[data-side='right'] {inset-inline-end:0} .krate-sheet-content[data-side='left'] {inset-inline-start:0} .krate-sheet-content[data-side='top'] {inset-inline:0;top:0;height:auto;max-height:85vh} .krate-sheet-content[data-side='bottom'] {inset-inline:0;top:auto;bottom:0;height:auto;max-height:85vh} .krate-sheet-title {font-size:1.1rem;font-weight:600;color:var(--krate-text, #09090b);margin:0 0 4px} .krate-sheet-description {font-size:0.9rem;color:var(--krate-text-muted, #71717a);line-height:1.5} .krate-sheet-close {position:absolute;top:16px;inset-inline-end:16px;cursor:pointer;background:transparent;border:0;color:var(--krate-text-muted, #71717a)} .krate-sheet-close {display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;border:1px solid var(--krate-border, #e4e4e7);background:var(--krate-surface, #f4f4f5);color:var(--krate-text, #09090b);font-size:0.875rem;font-family:inherit;cursor:pointer} .krate-sheet-close:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-command {display:flex;flex-direction:column;width:100%;max-width:520px;border:1px solid var(--krate-border, #e4e4e7);border-radius:10px;background:var(--krate-card-bg, #fff);overflow:hidden} .krate-command-input {border:none;border-bottom:1px solid var(--krate-border, #e4e4e7);background:transparent;color:var(--krate-text, #09090b);font-family:inherit;font-size:0.95rem;padding:12px 16px;outline:none} .krate-command-input::placeholder {color:var(--krate-text-muted, #71717a)} .krate-command-list {list-style:none;margin:0;padding:6px;max-height:320px;overflow-y:auto} .krate-command-item {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:6px;font-size:0.875rem;color:var(--krate-text, #09090b);cursor:pointer} .krate-command-item[aria-selected="true"] {background:rgba(59, 130, 246, 0.15)} .krate-command-group {font-size:0.75rem;color:var(--krate-text-muted, #71717a)} .krate-command-empty {padding:16px;text-align:center;color:var(--krate-text-muted, #71717a);font-size:0.875rem} .krate-file-tree {font-family:var(--krate-font, ui-monospace, monospace);font-size:0.85rem;color:var(--krate-text, #09090b);padding:8px;border:1px solid var(--krate-border, #e4e4e7);border-radius:8px;background:var(--krate-card-bg, #fff)} .krate-file-tree-item, .krate-file-tree-folder-header {display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;list-style:none;cursor:default} .krate-file-tree-folder-header {cursor:pointer} .krate-file-tree-folder-header::-webkit-details-marker {display:none} .krate-file-tree-folder-header:hover, .krate-file-tree-item:hover {background:var(--krate-surface, #f4f4f5)} .krate-file-tree-chevron {display:inline-flex;color:var(--krate-text-muted, #71717a);transition:transform 0.15s ease} .krate-file-tree-folder[open] > .krate-file-tree-folder-header > .krate-file-tree-chevron {transform:rotate(90deg)} .krate-file-tree-icon {display:inline-flex;color:var(--krate-text-muted, #71717a)} .krate-file-tree-name {flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .krate-file-tree-children {padding-inline-start:18px} .krate-steps {margin:24px 0;padding-left:0;counter-reset:krate-step;border-left:2px solid var(--krate-border, #e4e4e7)} .krate-step {position:relative;padding:0 0 32px 32px;counter-increment:krate-step} .krate-step:last-child {padding-bottom:0} .krate-step-header {display:flex;align-items:center;gap:12px;margin-bottom:12px} .krate-step-number {position:absolute;left:-16px;top:0;width:30px;height:30px;border-radius:50%;background:var(--krate-card-bg, #fff);color:var(--krate-text, #09090b);border:1px solid var(--krate-border, #e4e4e7);display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700} .krate-step-number::after {content:counter(krate-step)} .krate-step-title {font-weight:600;font-size:1.05rem;color:var(--krate-text, #09090b)} .krate-step-content {color:var(--krate-text-muted, #71717a);line-height:1.6} .krate-tabs {margin:24px 0;border:1px solid var(--krate-border, #e4e4e7);border-radius:8px;overflow:hidden;background:var(--krate-card-bg, #fff)} .krate-tabs-list {display:flex;border-bottom:1px solid var(--krate-border, #e4e4e7);background:var(--krate-surface, #f4f4f5);padding:0 8px} .krate-tabs-trigger {display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-size:0.875rem;font-weight:500;color:var(--krate-text-muted, #71717a);cursor:pointer;border-bottom:2px solid var(--krate-active-color, transparent);transition:color 0.2s, border-color 0.2s;white-space:nowrap;user-select:none} .krate-tabs-trigger:hover {color:var(--krate-text, #09090b)} .krate-tabs-trigger:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:-2px} .krate-tabs-content {padding:16px;color:var(--krate-text-muted, #71717a);line-height:1.6} .krate-aside {--krate-aside-accent:var(--krate-primary, #f97316);margin:24px 0;padding:12px 18px;border-radius:var(--krate-radius, 8px);border:1px solid color-mix(in srgb, var(--krate-aside-accent) 32%, var(--krate-border, #e4e4e7));background:color-mix(in srgb, var(--krate-aside-accent) 8%, var(--krate-bg, #fff));color:var(--krate-text, #09090b)} .krate-aside-title {display:flex;align-items:center;gap:8px;font-weight:600;font-size:0.9rem;margin-bottom:8px;color:var(--krate-text, #09090b)} .krate-aside-title svg {flex:0 0 auto;color:var(--krate-aside-accent)} .krate-aside-content {color:var(--krate-text-muted, #71717a);line-height:1.6} .krate-aside-content p, div.krate-aside .krate-aside-content p {margin:0;margin-bottom:4px} .krate-aside-note {--krate-aside-accent:var(--krate-muted, #71717a)} .krate-aside-tip {--krate-aside-accent:#10b981} .krate-aside-warning {--krate-aside-accent:#f59e0b} .krate-aside-danger {--krate-aside-accent:#ef4444} .krate-aside-caution {--krate-aside-accent:#f97316} .krate-visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;word-wrap:normal} .krate-accordion {width:100%;margin:24px 0} .krate-accordion-item {border:1px solid var(--krate-border, #e4e4e7);border-radius:8px;overflow:hidden;margin-bottom:8px;background:var(--krate-card-bg, #fff)} .krate-accordion-item:last-child {margin-bottom:0} .krate-accordion-trigger {display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px;font-size:0.95rem;font-weight:500;color:var(--krate-text, #09090b);cursor:pointer;transition:background 0.15s;box-sizing:border-box} .krate-accordion-trigger:hover {background:var(--krate-surface, #f4f4f5)} .krate-accordion-trigger:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:-2px} .krate-accordion-trigger-text {flex:1;text-align:start} .krate-accordion-trigger-icon {display:inline-flex;transition:transform 0.2s ease;color:var(--krate-text-muted, #71717a);transform:rotate(calc(var(--krate-active, 0) * 180deg))} .krate-accordion-content {overflow:hidden} .krate-accordion-content-inner {padding:0 16px 16px;color:var(--krate-text-muted, #71717a);line-height:1.6} .krate-alert-dialog {display:inline-block} .krate-alert-dialog-trigger {cursor:pointer} .krate-alert-dialog-content {position:fixed;inset:0;margin:auto;z-index:1001;width:90vw;max-width:420px;height:fit-content;padding:24px;border-radius:12px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 16px 48px rgba(0, 0, 0, 0.2)} .krate-alert-dialog-title {font-size:1.1rem;font-weight:600;color:var(--krate-text, #09090b);margin:0 0 4px} .krate-alert-dialog-description {font-size:0.9rem;color:var(--krate-text-muted, #71717a);line-height:1.5;margin:0 0 20px} .krate-alert-dialog-action, .krate-alert-dialog-cancel {cursor:pointer} .krate-alert-dialog-action, .krate-alert-dialog-cancel {display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:6px;border:1px solid transparent;font-size:0.875rem;font-weight:500;font-family:inherit;cursor:pointer} .krate-alert-dialog-action {background:var(--krate-primary, #3b82f6);color:var(--krate-primary-fg, #fff)} .krate-alert-dialog-action:hover {background:var(--krate-primary-hover, #2563eb)} .krate-alert-dialog-cancel {background:var(--krate-surface, #f4f4f5);color:var(--krate-text, #09090b);border-color:var(--krate-border, #e4e4e7)} .krate-alert-dialog-cancel:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-alert-dialog-action:focus-visible, .krate-alert-dialog-cancel:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-alert-dialog-content {display:flex;flex-direction:column;gap:8px} .krate-aspect-ratio {width:100%;overflow:hidden} .krate-aspect-ratio-content {position:absolute;inset:0} .krate-aspect-ratio-content > img, .krate-aspect-ratio-content > video, .krate-aspect-ratio-content > iframe {width:100%;height:100%;object-fit:cover} .krate-avatar {position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--krate-avatar-bg, var(--krate-surface-hover, #e4e4e7));color:var(--krate-avatar-text, #a1a1aa);flex-shrink:0} .krate-avatar-sm {width:32px;height:32px;font-size:0.75rem} .krate-avatar-md {width:40px;height:40px;font-size:0.875rem} .krate-avatar-lg {width:56px;height:56px;font-size:1.1rem} .krate-avatar-image {width:100%;height:100%;object-fit:cover} .krate-avatar-fallback {display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:600;text-transform:uppercase;background:linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(139, 92, 246, 0.2))} .krate-checkbox {all:unset;display:inline-flex;align-items:center;gap:10px;cursor:pointer} .krate-checkbox-box {display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;border:1.5px solid var(--krate-text-muted, #71717a);background:transparent;color:transparent;transition:background 0.15s, border-color 0.15s, color 0.15s;box-sizing:border-box;flex-shrink:0} .krate-checkbox:hover .krate-checkbox-box {border-color:var(--krate-text, #09090b)} .krate-checkbox:focus-visible .krate-checkbox-box {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-checkbox:has(input:checked) .krate-checkbox-box {background:var(--krate-primary, #3b82f6);border-color:var(--krate-primary, #3b82f6);color:#fff} .krate-checkbox-label {font-size:0.875rem;color:var(--krate-text, #09090b);user-select:none} .krate-collapsible {width:100%} .krate-collapsible-trigger {display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--krate-text, #09090b)} .krate-collapsible-trigger:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-collapsible-content {padding-top:8px;color:var(--krate-text-muted, #71717a);line-height:1.6} .krate-context-menu {position:relative;display:inline-block} .krate-context-menu-trigger {cursor:default} .krate-context-menu-content {position:fixed;left:var(--cm-x, 0);top:var(--cm-y, 0);min-width:180px;padding:4px;border-radius:8px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 8px 24px rgba(0, 0, 0, 0.3);z-index:9999} .krate-context-menu[data-state="closed"] > .krate-context-menu-content {display:none} .krate-context-menu-label {padding:6px 8px;font-size:0.75rem;font-weight:600;color:var(--krate-text-muted, #71717a);text-transform:uppercase;letter-spacing:0.05em} .krate-context-menu-item {display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:0.875rem;color:var(--krate-text, #09090b);cursor:pointer;transition:background 0.1s;outline:none} .krate-context-menu-item:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-context-menu-item-disabled {opacity:0.4;pointer-events:none} .krate-context-menu-separator {height:1px;margin:4px 0;background:var(--krate-border, #e4e4e7)} .krate-dialog {display:inline-block} .krate-dialog-trigger {cursor:pointer} .krate-dialog-content {position:fixed;inset:0;margin:auto;z-index:1001;width:90vw;max-width:520px;height:fit-content;max-height:85vh;padding:24px;border-radius:12px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 16px 48px rgba(0, 0, 0, 0.2);overflow-y:auto;animation:krate-dialog-scale-in 0.15s ease} .krate-dialog-title {font-size:1.15rem;font-weight:600;color:var(--krate-text, #09090b);margin:0 0 4px} .krate-dialog-description {font-size:0.9rem;color:var(--krate-text-muted, #71717a);line-height:1.5;margin:0 0 20px} .krate-dialog-close {position:absolute;top:16px;inset-inline-end:16px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:var(--krate-text-muted, #71717a);cursor:pointer} .krate-dialog-close:hover {background:var(--krate-surface, #f4f4f5);color:var(--krate-text, #09090b)} .krate-dialog-close:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} @keyframes krate-dialog-scale-in { from {opacity:0;transform:scale(0.96)} to {opacity:1;transform:scale(1)} } .krate-dialog-close {width:auto;min-width:28px;height:auto;padding:6px 10px} .krate-dialog-content {display:flex;flex-direction:column;gap:8px} .krate-dropdown-menu {position:relative;display:inline-block} .krate-dropdown-menu-trigger {display:inline-flex;align-items:center;justify-content:center;cursor:pointer} .krate-dropdown-menu-trigger:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-dropdown-menu-content {position:absolute;top:100%;inset-inline-start:0;z-index:1000;min-width:180px;padding:4px;margin-top:4px;border-radius:8px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12)} .krate-dropdown-menu-label {padding:6px 8px;font-size:0.75rem;font-weight:600;color:var(--krate-text-muted, #71717a);text-transform:uppercase;letter-spacing:0.05em} .krate-dropdown-menu-item {display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:0.875rem;color:var(--krate-text, #09090b);cursor:pointer} .krate-dropdown-menu-item:hover {background:var(--krate-surface, #f4f4f5)} .krate-dropdown-menu-item:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:-2px} .krate-dropdown-menu-separator {height:1px;margin:4px 0;background:var(--krate-border, #e4e4e7)} .krate-dropdown-menu-content {padding:6px} .krate-dropdown-menu-item {padding:8px 10px} .krate-dropdown-menu-label {padding:8px 10px 4px} .krate-form {display:flex;flex-direction:column;gap:16px;max-width:520px} .krate-form-field {display:flex;flex-direction:column;gap:4px} .krate-form-field-label {display:flex;flex-direction:column;gap:6px;font-size:0.85rem;font-weight:500;color:var(--krate-text, #09090b)} .krate-form-required {color:var(--krate-danger, #ef4444)} .krate-form-field-control {display:block} .krate-form-field-description {margin:0;font-size:0.8rem;color:var(--krate-text-muted, #71717a)} .krate-form-field-error {margin:0;font-size:0.8rem;color:var(--krate-danger, #ef4444)} .krate-hover-card {position:relative;display:inline-block} .krate-hover-card-trigger {display:inline-block} .krate-hover-card-content {position:absolute;top:calc(100% + 8px);inset-inline-start:50%;transform:translateX(-50%);z-index:1000;width:320px;padding:16px;border-radius:8px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);color:var(--krate-text-muted, #71717a);font-size:0.875rem;line-height:1.5;opacity:0;visibility:hidden;transition:opacity 0.12s ease} .krate-hover-card:hover > .krate-hover-card-content, .krate-hover-card:focus-within > .krate-hover-card-content {opacity:1;visibility:visible} .krate-label {display:inline-block;font-size:0.875rem;font-weight:500;color:var(--krate-text, #09090b);cursor:default;user-select:none;line-height:1.4} .krate-label-disabled {opacity:0.5;cursor:not-allowed} .krate-label-required {color:var(--krate-danger, #ef4444);margin-left:2px} .krate-menu-bar {position:relative;display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--krate-border, #e4e4e7);border-radius:8px;background:var(--krate-card-bg, #fff)} .krate-menu-bar-trigger {display:inline-flex;align-items:center;padding:6px 12px;border:0;border-radius:6px;background:var(--krate-active-bg, transparent);color:var(--krate-text, #09090b);font-size:0.875rem;font-family:inherit;cursor:pointer} .krate-menu-bar-trigger:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-menu-bar-trigger:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:-2px} .krate-menu-bar-content {position:absolute;top:100%;inset-inline-start:4px;z-index:1000;min-width:180px;padding:4px;margin-top:4px;border-radius:8px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12)} .krate-menu-bar-item {display:flex;width:100%;padding:6px 8px;border:0;border-radius:4px;background:transparent;color:var(--krate-text, #09090b);font-size:0.875rem;font-family:inherit;text-align:start;cursor:pointer} .krate-menu-bar-item:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-menu-bar-separator {height:1px;margin:4px 0;background:var(--krate-border, #e4e4e7)} .krate-menu-bar-label {padding:6px 8px;font-size:0.75rem;font-weight:600;color:var(--krate-text-muted, #71717a);text-transform:uppercase;letter-spacing:0.05em} .krate-menu-bar-content {padding:6px} .krate-menu-bar-item {padding:8px 10px} .krate-menu-bar-trigger {padding:8px 14px} .krate-navigation-menu {position:relative;display:inline-flex;align-items:center;gap:4px} .krate-navigation-menu-trigger {display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:0;border-radius:6px;background:var(--krate-active-bg, transparent);color:var(--krate-text, #09090b);font-size:0.875rem;font-family:inherit;cursor:pointer} .krate-navigation-menu-trigger:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-navigation-menu-trigger:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:-2px} .krate-navigation-menu-content {position:absolute;top:100%;inset-inline-start:0;z-index:1000;min-width:220px;padding:8px;margin-top:4px;border-radius:8px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12)} .krate-navigation-menu-link {display:block;padding:8px 10px;border-radius:6px;color:var(--krate-text, #09090b);font-size:0.875rem;text-decoration:none} .krate-navigation-menu-link:hover {background:var(--krate-surface, #f4f4f5)} .krate-navigation-menu-content {padding:10px} .krate-navigation-menu-link {padding:10px 12px} .krate-otp-field {display:flex;gap:8px;align-items:center} .krate-otp-field-input {all:unset;display:flex;align-items:center;justify-content:center;width:44px;height:52px;text-align:center;font-size:1.25rem;font-weight:600;font-family:"SF Mono", "Fira Code", monospace;color:var(--krate-text, #09090b);background:var(--krate-surface, #f4f4f5);border:1.5px solid var(--krate-border, #e4e4e7);border-radius:8px;transition:border-color 0.15s, box-shadow 0.15s;caret-color:var(--krate-primary, #3b82f6)} .krate-otp-field-input:focus {outline:none;border-color:var(--krate-primary, #3b82f6);box-shadow:0 0 0 2px rgba(59, 130, 246, 0.15)} .krate-otp-field-input:disabled {opacity:0.5;cursor:not-allowed} .krate-password-toggle-field {position:relative;display:flex;align-items:center;width:100%} .krate-password-toggle-input {all:unset;display:block;width:100%;padding:8px 40px 8px 12px;border-radius:6px;border:1px solid var(--krate-border, #e4e4e7);background:var(--krate-surface, #f4f4f5);color:var(--krate-text, #09090b);font-size:0.875rem;font-family:inherit;transition:border-color 0.15s, box-shadow 0.15s;box-sizing:border-box} .krate-password-toggle-input::placeholder {color:var(--krate-text-muted, #71717a)} .krate-password-toggle-input:focus {outline:none;border-color:var(--krate-primary, #3b82f6);box-shadow:0 0 0 2px rgba(59, 130, 246, 0.15)} .krate-password-toggle-button {all:unset;position:absolute;right:4px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;color:var(--krate-text-muted, #71717a);cursor:pointer;transition:color 0.15s, background 0.15s} .krate-password-toggle-button:hover {color:var(--krate-text, #09090b);background:var(--krate-surface-hover, #e4e4e7)} .krate-password-toggle-button:focus-visible {outline:2px solid var(--krate-primary, #3b82f6);outline-offset:2px} .krate-popover {position:relative;display:inline-block} .krate-popover-trigger {display:inline-flex;align-items:center;justify-content:center;cursor:pointer} .krate-popover-trigger:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-popover-content {position:absolute;top:calc(100% + 8px);inset-inline-start:50%;transform:translateX(-50%);z-index:1000;min-width:260px;padding:16px;border-radius:8px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);color:var(--krate-text, #09090b)} :dir(rtl) .krate-popover-content {transform:translateX(50%)} .krate-popover-close {cursor:pointer;background:none;border:0;color:var(--krate-text-muted, #71717a)} .krate-progress {appearance:none;-webkit-appearance:none;display:block;width:100%;height:8px;border:0;border-radius:9999px;overflow:hidden;background:var(--krate-surface-hover, #e4e4e7)} .krate-progress::-webkit-progress-bar {background:var(--krate-surface-hover, #e4e4e7);border-radius:9999px} .krate-progress::-webkit-progress-value {background:var(--krate-primary, #3b82f6);border-radius:9999px;transition:width 0.3s ease} .krate-progress::-moz-progress-bar {background:var(--krate-primary, #3b82f6);border-radius:9999px} .krate-radio-group {display:flex;flex-direction:column;gap:8px} .krate-radio-item {display:inline-flex;align-items:center;gap:10px;cursor:pointer} .krate-radio-indicator {display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--krate-active-color, var(--krate-border, #e4e4e7));background:transparent;transition:border-color 0.15s, box-shadow 0.15s;box-sizing:border-box;flex-shrink:0} .krate-radio-indicator::after {content:'';width:10px;height:10px;border-radius:50%;background:var(--krate-active-color, var(--krate-primary, #3b82f6));transform:scale(var(--krate-active, 0));transition:transform 0.15s ease} .krate-radio-item:hover .krate-radio-indicator {border-color:var(--krate-text-muted, #71717a)} .krate-radio-item:focus-visible .krate-radio-indicator {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-radio-label {font-size:0.875rem;color:var(--krate-text, #09090b);user-select:none} .krate-scroll-area {border-radius:6px;scrollbar-width:thin;scrollbar-color:var(--krate-border, #e4e4e7) transparent} .krate-scroll-area-vertical {overflow-y:auto;overflow-x:hidden} .krate-scroll-area-horizontal {overflow-x:auto;overflow-y:hidden} .krate-scroll-area-both {overflow:auto} .krate-scroll-area:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-scroll-area::-webkit-scrollbar {width:8px;height:8px} .krate-scroll-area::-webkit-scrollbar-thumb {background:var(--krate-border, #e4e4e7);border-radius:8px} .krate-native-select {display:block;width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--krate-border, #e4e4e7);background:var(--krate-bg, #fff);color:var(--krate-text, #09090b);font-size:0.875rem;font-family:inherit;cursor:pointer;box-sizing:border-box} .krate-native-select:hover {border-color:var(--krate-text-muted, #71717a)} .krate-native-select:focus-visible {outline:none;border-color:var(--krate-primary, #3b82f6);box-shadow:0 0 0 2px color-mix(in srgb, var(--krate-primary, #3b82f6) 20%, transparent)} .krate-native-select:disabled {opacity:0.5;cursor:not-allowed} .krate-select {position:relative;width:100%} .krate-select-trigger {display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--krate-border, #e4e4e7);background:var(--krate-bg, #fff);color:var(--krate-text, #09090b);font-size:0.875rem;font-family:inherit;cursor:pointer;box-sizing:border-box} .krate-select-trigger:hover {border-color:var(--krate-text-muted, #71717a)} .krate-select-trigger:focus-visible {outline:none;border-color:var(--krate-primary, #3b82f6);box-shadow:0 0 0 2px color-mix(in srgb, var(--krate-primary, #3b82f6) 20%, transparent)} .krate-select-value {flex:1;text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .krate-select-icon {display:inline-flex;margin-inline-start:8px;color:var(--krate-text-muted, #71717a)} .krate-select-content {position:absolute;top:calc(100% + 4px);inset-inline:0;z-index:1000;padding:4px;border-radius:8px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 8px 24px rgba(0, 0, 0, 0.15)} .krate-select-filter-wrapper {padding:4px;border-bottom:1px solid var(--krate-border, #e4e4e7);margin-bottom:4px} .krate-select-filter {display:block;width:100%;padding:6px 8px;font-size:0.85rem;font-family:inherit;color:var(--krate-text, #09090b);background:var(--krate-surface, #f4f4f5);border:1px solid var(--krate-border, #e4e4e7);border-radius:4px;box-sizing:border-box} .krate-select-filter:focus {outline:none;border-color:var(--krate-primary, #3b82f6)} .krate-select-viewport {max-height:240px;overflow-y:auto} .krate-select-item {display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:4px;font-size:0.875rem;color:var(--krate-text, #09090b);cursor:pointer} .krate-select-item:hover, .krate-select-item-selected {background:var(--krate-surface, #f4f4f5)} .krate-select-item-disabled {opacity:0.4;pointer-events:none} .krate-select-item-text {flex:1} .krate-select-item-indicator {display:inline-flex;color:var(--krate-primary, #3b82f6)} .krate-select-empty {padding:8px 12px;font-size:0.85rem;color:var(--krate-text-muted, #71717a)} .krate-select-content {padding:6px} .krate-select-item {padding:9px 10px} .krate-separator {flex-shrink:0;background:var(--krate-border, #e4e4e7)} .krate-separator-horizontal {height:1px;width:100%} .krate-separator-vertical {width:1px;height:100%;align-self:stretch} .krate-slider {width:100%;height:20px;margin:0;cursor:pointer;accent-color:var(--krate-primary, #3b82f6)} .krate-slider:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-slider:disabled {opacity:0.5;cursor:not-allowed} .krate-switch {all:unset;display:inline-flex;align-items:center;gap:8px;width:42px;height:24px;border-radius:9999px;background:var(--krate-surface-hover, #e4e4e7);border:1px solid var(--krate-border, #e4e4e7);padding:2px;cursor:pointer;transition:background 0.2s, border-color 0.2s;box-sizing:border-box;flex-shrink:0} .krate-switch:hover {border-color:var(--krate-text-muted, #71717a)} .krate-switch:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:2px} .krate-switch:has(input:checked) {background:var(--krate-primary, #3b82f6);border-color:var(--krate-primary, #3b82f6)} .krate-switch-thumb {display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);transition:transform 0.2s ease} .krate-switch:has(input:checked) > .krate-switch-thumb {transform:translateX(18px)} :root[dir='rtl'] .krate-switch:has(input:checked) > .krate-switch-thumb, [dir='rtl'] .krate-switch:has(input:checked) > .krate-switch-thumb {transform:translateX(-18px)} .krate-toast {display:flex;align-items:flex-start;gap:12px;min-width:280px;max-width:420px;padding:14px 16px;border-radius:8px;background:var(--krate-card-bg, #fff);border:1px solid var(--krate-border, #e4e4e7);box-shadow:0 8px 24px rgba(0, 0, 0, 0.15);color:var(--krate-text, #09090b)} .krate-toast[data-variant='destructive'] {border-color:var(--krate-danger, #ef4444)} .krate-toast[data-variant='success'] {border-color:var(--krate-success, #22c55e)} .krate-toast-body {flex:1} .krate-toast-title {font-size:0.9rem;font-weight:600} .krate-toast-description {font-size:0.85rem;color:var(--krate-text-muted, #71717a);margin-top:2px} .krate-toast-close {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:var(--krate-text-muted, #71717a);cursor:pointer} .krate-toast-close:hover {background:var(--krate-surface, #f4f4f5);color:var(--krate-text, #09090b)} .krate-toggle {display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:6px;font-size:0.875rem;font-weight:500;font-family:inherit;color:var(--krate-text, #09090b);cursor:pointer;border:1px solid transparent;transition:background 0.15s, color 0.15s, border-color 0.15s} .krate-toggle:where(:hover) {background:var(--krate-surface-hover, #e4e4e7)} .krate-toggle[data-variant='default'] {background:var(--krate-active-bg, var(--krate-surface, #f4f4f5));border-color:var(--krate-active-color, transparent)} .krate-toggle[data-variant='outline'] {border-color:var(--krate-active-color, var(--krate-border, #e4e4e7));background:var(--krate-active-bg, transparent)} .krate-toggle:focus-visible {outline:2px solid var(--krate-focus-ring, #f97316);outline-offset:2px} .krate-toggle[data-size='sm'] {padding:4px 10px;font-size:0.8rem} .krate-toggle[data-size='lg'] {padding:12px 18px;font-size:1rem} .krate-toggle-group {display:inline-flex;align-items:center;gap:1px;border-radius:8px;background:var(--krate-surface, #f4f4f5);border:1px solid var(--krate-border, #e4e4e7);padding:2px} .krate-toggle-group-item {display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;font-size:0.875rem;font-weight:500;color:var(--krate-text-muted, #71717a);background:var(--krate-active-bg, transparent);cursor:pointer;transition:background 0.15s, color 0.15s;min-height:32px} .krate-toggle-group-item:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-toggle-group-item:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:-2px} .krate-toolbar {display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--krate-border, #e4e4e7);border-radius:8px;background:var(--krate-card-bg, #fff)} .krate-toolbar-group {display:inline-flex;align-items:center;gap:2px} .krate-toolbar-button, .krate-toolbar-link {display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--krate-text, #09090b);font-size:0.875rem;font-family:inherit;text-decoration:none;cursor:pointer} .krate-toolbar-button:hover, .krate-toolbar-link:hover {background:var(--krate-surface-hover, #e4e4e7)} .krate-toolbar-button:focus-visible, .krate-toolbar-link:focus-visible {outline:2px solid var(--krate-focus-ring, #3b82f6);outline-offset:-2px} .krate-toolbar-separator {width:1px;height:20px;margin:0 4px;background:var(--krate-border, #e4e4e7)} .krate-tooltip {position:relative;display:inline-block} .krate-tooltip-trigger {display:inline-block} .krate-tooltip-content {position:absolute;bottom:calc(100% + 6px);inset-inline-start:50%;transform:translateX(-50%);z-index:1000;padding:6px 12px;border-radius:6px;background:var(--krate-fg, #09090b);color:var(--krate-bg, #fff);font-size:0.8rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.12s ease} .krate-tooltip:hover > .krate-tooltip-content, .krate-tooltip:focus-within > .krate-tooltip-content {opacity:1;visibility:visible}