@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400&display=swap";@layer reset,base,components,page,utilities,overrides;@layer reset{*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--border)}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-inline-size:100%;block-size:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-weight:inherit}ol,ul,menu{list-style:none}table{border-collapse:collapse;border-spacing:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer base{:root{--neutral-50: #fafafa;--neutral-100: #f5f5f5;--neutral-200: #ebebeb;--neutral-300: #e0e0e0;--neutral-400: #a1a1a1;--neutral-500: #888888;--neutral-600: #666666;--neutral-700: #4d4d4d;--neutral-800: #333333;--neutral-900: #171717;--neutral-950: #0a0a0a;--background: #000000;--foreground: #ffffff;--card: #1e1e1e;--card-foreground: #ffffff;--popover: #262626;--popover-foreground: #ffffff;--primary: #1890ff;--primary-foreground: #ffffff;--primary-hover: #34a1ff;--secondary: #303030;--secondary-foreground: #ffffff;--secondary-hover: #3a3a3a;--muted: #1e1e1e;--muted-foreground: #737373;--accent: #303030;--accent-hover: #3a3a3a;--accent-foreground: #ffffff;--destructive: #d32029;--destructive-foreground: #ffffff;--destructive-hover: #e23b43;--success: #1890ff;--success-foreground: #ffffff;--success-hover: #34a1ff;--warning: #f5a623;--warning-foreground: #0a0a0a;--warning-hover: #f7b955;--info: #1890ff;--info-foreground: #ffffff;--info-hover: #34a1ff;--border: #404040;--input: #404040;--ring: #1890ff;--link: #1890ff;--link-hover: #34a1ff;--link-bg-soft: #0a2540;--violet: #7928ca;--cyan: #50e3c2;--highlight-pink: #ff0080;--grad-develop-start: #007cf0;--grad-develop-end: #00dfd8;--grad-preview-start: #7928ca;--grad-preview-end: #ff0080;--grad-ship-start: #ff4d4d;--grad-ship-end: #f9cb28;--sidebar: #1e1e1e;--sidebar-foreground: #ffffff;--sidebar-primary: #1890ff;--sidebar-primary-foreground: #ffffff;--sidebar-accent: #303030;--sidebar-accent-foreground: #ffffff;--sidebar-border: #404040;--sidebar-ring: #1890ff;--sidebar-width: 16rem;--sidebar-mobile-width: 18rem;--radius: .375rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-pill: 100px;--focus-ring: 0 0 0 2px var(--background), 0 0 0 4px color-mix(in srgb, var(--ring) 60%, transparent);--shadow-sm: 0 1px 1px rgba(0,0,0,.02), 0 2px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 2px rgba(0,0,0,.04), 0 8px 16px -4px rgba(0,0,0,.04);--shadow-lg: 0 1px 1px rgba(0,0,0,.02), 0 8px 16px -4px rgba(0,0,0,.04), 0 24px 32px -8px rgba(0,0,0,.06);--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: linear(0, .62 18%, .96 32%, 1.04 45%, 1.01 60%, 1 75%, 1);--dur: .15s;--dur-press: .09s;--dur-slow: .2s;--dur-slower: .3s;--foreground-soft: color-mix(in oklab, var(--foreground), var(--background) 20%);--foreground-dim: color-mix(in oklab, var(--foreground), var(--background) 42%);--destructive-soft: color-mix(in oklab, var(--destructive), var(--background) 84%);--color-fg-disabled: color-mix(in srgb, #ffffff 38%, transparent);--scrollbar-track: transparent;--scrollbar-thumb: #333333;--scrollbar-width: 6px;--scrollbar-radius: 9999px;--swatch-border: color-mix(in srgb, var(--foreground) 18%, transparent);--chevron-down-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23888888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>');--chevron-down-icon-50: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%2388888880" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>');--check-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23888888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>');color-scheme:dark}:root{--dark-background: #000000;--dark-foreground: #ffffff;--dark-card: #1e1e1e;--dark-card-foreground: #ffffff;--dark-popover: #262626;--dark-popover-foreground: #ffffff;--dark-primary: #1890ff;--dark-primary-foreground: #ffffff;--dark-primary-hover: #34a1ff;--dark-secondary: #303030;--dark-secondary-foreground: #ffffff;--dark-secondary-hover: #3a3a3a;--dark-muted: #1e1e1e;--dark-muted-foreground: #737373;--dark-accent: #303030;--dark-accent-hover: #3a3a3a;--dark-accent-foreground: #ffffff;--dark-destructive: #d32029;--dark-destructive-foreground: #ffffff;--dark-destructive-hover: #e23b43;--dark-success: #1890ff;--dark-success-foreground: #ffffff;--dark-success-hover: #34a1ff;--dark-warning: #f5a623;--dark-warning-foreground: #0a0a0a;--dark-warning-hover: #f7b955;--dark-info: #1890ff;--dark-info-foreground: #ffffff;--dark-info-hover: #34a1ff;--dark-border: #404040;--dark-input: #404040;--dark-ring: #1890ff;--dark-sidebar: #1e1e1e;--dark-sidebar-foreground: #ffffff;--dark-sidebar-accent: #303030;--dark-sidebar-accent-foreground: #ffffff;--dark-sidebar-border: #404040;--dark-sidebar-ring: #1890ff;--dark-focus-ring: 0 0 0 2px #000000, 0 0 0 4px #1890ff;--dark-scrollbar-thumb: #333333;--dark-shadow-sm: 0 1px 1px rgba(0,0,0,.3), 0 2px 2px rgba(0,0,0,.2);--dark-shadow-md: 0 2px 2px rgba(0,0,0,.3), 0 8px 16px -4px rgba(0,0,0,.3);--dark-shadow-lg: 0 1px 1px rgba(0,0,0,.3), 0 8px 16px -4px rgba(0,0,0,.3), 0 24px 32px -8px rgba(0,0,0,.4);--dark-chevron-down-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23a1a1a1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>');--dark-chevron-down-icon-50: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23a1a1a180" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>');--dark-check-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23a1a1a1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>')}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--background: var(--dark-background);--foreground: var(--dark-foreground);--card: var(--dark-card);--card-foreground: var(--dark-card-foreground);--popover: var(--dark-popover);--popover-foreground: var(--dark-popover-foreground);--primary: var(--dark-primary);--primary-foreground: var(--dark-primary-foreground);--primary-hover: var(--dark-primary-hover);--secondary: var(--dark-secondary);--secondary-foreground: var(--dark-secondary-foreground);--secondary-hover: var(--dark-secondary-hover);--muted: var(--dark-muted);--muted-foreground: var(--dark-muted-foreground);--accent: var(--dark-accent);--accent-hover: var(--dark-accent-hover);--accent-foreground: var(--dark-accent-foreground);--destructive: var(--dark-destructive);--destructive-foreground: var(--dark-destructive-foreground);--destructive-hover: var(--dark-destructive-hover);--success: var(--dark-success);--success-foreground: var(--dark-success-foreground);--success-hover: var(--dark-success-hover);--warning: var(--dark-warning);--warning-foreground: var(--dark-warning-foreground);--warning-hover: var(--dark-warning-hover);--info: var(--dark-info);--info-foreground: var(--dark-info-foreground);--info-hover: var(--dark-info-hover);--border: var(--dark-border);--input: var(--dark-input);--ring: var(--dark-ring);--sidebar: var(--dark-sidebar);--sidebar-foreground: var(--dark-sidebar-foreground);--sidebar-accent: var(--dark-sidebar-accent);--sidebar-accent-foreground: var(--dark-sidebar-accent-foreground);--sidebar-border: var(--dark-sidebar-border);--sidebar-ring: var(--dark-sidebar-ring);--focus-ring: var(--dark-focus-ring);--scrollbar-thumb: var(--dark-scrollbar-thumb);--shadow-sm: var(--dark-shadow-sm);--shadow-md: var(--dark-shadow-md);--shadow-lg: var(--dark-shadow-lg);--chevron-down-icon: var(--dark-chevron-down-icon);--chevron-down-icon-50: var(--dark-chevron-down-icon-50);--check-icon: var(--dark-check-icon)}}:root[data-theme=dark]{color-scheme:dark;--background: var(--dark-background);--foreground: var(--dark-foreground);--card: var(--dark-card);--card-foreground: var(--dark-card-foreground);--popover: var(--dark-popover);--popover-foreground: var(--dark-popover-foreground);--primary: var(--dark-primary);--primary-foreground: var(--dark-primary-foreground);--primary-hover: var(--dark-primary-hover);--secondary: var(--dark-secondary);--secondary-foreground: var(--dark-secondary-foreground);--secondary-hover: var(--dark-secondary-hover);--muted: var(--dark-muted);--muted-foreground: var(--dark-muted-foreground);--accent: var(--dark-accent);--accent-hover: var(--dark-accent-hover);--accent-foreground: var(--dark-accent-foreground);--destructive: var(--dark-destructive);--destructive-foreground: var(--dark-destructive-foreground);--destructive-hover: var(--dark-destructive-hover);--success: var(--dark-success);--success-foreground: var(--dark-success-foreground);--success-hover: var(--dark-success-hover);--warning: var(--dark-warning);--warning-foreground: var(--dark-warning-foreground);--warning-hover: var(--dark-warning-hover);--info: var(--dark-info);--info-foreground: var(--dark-info-foreground);--info-hover: var(--dark-info-hover);--border: var(--dark-border);--input: var(--dark-input);--ring: var(--dark-ring);--sidebar: var(--dark-sidebar);--sidebar-foreground: var(--dark-sidebar-foreground);--sidebar-accent: var(--dark-sidebar-accent);--sidebar-accent-foreground: var(--dark-sidebar-accent-foreground);--sidebar-border: var(--dark-sidebar-border);--sidebar-ring: var(--dark-sidebar-ring);--focus-ring: var(--dark-focus-ring);--scrollbar-thumb: var(--dark-scrollbar-thumb);--shadow-sm: var(--dark-shadow-sm);--shadow-md: var(--dark-shadow-md);--shadow-lg: var(--dark-shadow-lg);--chevron-down-icon: var(--dark-chevron-down-icon);--chevron-down-icon-50: var(--dark-chevron-down-icon-50);--check-icon: var(--dark-check-icon)}:root[data-theme=light]{color-scheme:light;--background: color-mix(in oklab, #ffffff, #737373 7%);--foreground: #0a0a0a;--card: #ffffff;--card-foreground: #0a0a0a;--popover: #ffffff;--popover-foreground: #0a0a0a;--secondary: color-mix(in oklab, #ffffff, #000000 4%);--secondary-foreground: #0a0a0a;--secondary-hover: color-mix(in oklab, #ffffff, #000000 8%);--muted: color-mix(in oklab, #ffffff, #000000 4%);--muted-foreground: #737373;--accent: color-mix(in oklab, #ffffff, #000000 6%);--accent-hover: color-mix(in oklab, #ffffff, #000000 10%);--accent-foreground: #0a0a0a;--border: color-mix(in oklab, #ffffff, #000000 11%);--input: color-mix(in oklab, #ffffff, #000000 11%);--link-bg-soft: color-mix(in oklab, var(--primary), #ffffff 86%);--color-fg-disabled: color-mix(in srgb, #0a0a0a 38%, transparent);--sidebar: #ffffff;--sidebar-foreground: #0a0a0a;--sidebar-accent: color-mix(in oklab, #ffffff, #000000 6%);--sidebar-accent-foreground: #0a0a0a;--sidebar-border: color-mix(in oklab, #ffffff, #000000 11%);--scrollbar-thumb: #c4c4c4;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 2px 4px rgba(0,0,0,.06), 0 8px 16px -4px rgba(0,0,0,.08);--shadow-lg: 0 1px 2px rgba(0,0,0,.06), 0 8px 16px -4px rgba(0,0,0,.08), 0 24px 32px -8px rgba(0,0,0,.1);--chevron-down-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23737373" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>');--chevron-down-icon-50: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%2373737380" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>');--check-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23737373" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>')}@theme{ --radius-sm: var(--radius-sm); --radius-md: var(--radius-md); --radius-lg: var(--radius-lg); --radius-xl: var(--radius-xl); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-primary-hover: var(--primary-hover); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-secondary-hover: var(--secondary-hover); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-accent-hover: var(--accent-hover); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-destructive-hover: var(--destructive-hover); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-success-hover: var(--success-hover); --color-warning: var(--warning); --color-warning-foreground: var(--warning-foreground); --color-warning-hover: var(--warning-hover); --color-info: var(--info); --color-info-foreground: var(--info-foreground); --color-info-hover: var(--info-hover); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }html{font-family:Geist,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-block-size:100vh;line-height:1.5}code,kbd,samp,pre,.font-mono{font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,monospace}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.1;letter-spacing:-.04em;color:var(--foreground)}input,textarea{caret-color:var(--primary)}::placeholder{transition:opacity var(--dur) var(--ease)}:is(input,textarea):focus::placeholder{opacity:.55}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::selection{background:color-mix(in srgb,#1890ff 40%,transparent);color:#fff}:root[data-theme=dark] ::selection{background:#ededed;color:#0a0a0a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) ::selection{background:#ededed;color:#0a0a0a}}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--scrollbar-radius);transition:background-color var(--dur) var(--ease)}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--scrollbar-thumb),var(--foreground) 25%)}}@layer components{.alert,.alert-destructive{position:relative;width:100%;border-width:1px;border-color:var(--border);background-color:var(--card);font-size:.875rem;line-height:1.25rem;color:var(--card-foreground);display:grid;grid-template-columns:0 1fr;align-items:start;gap:2px 0;padding:.75rem 1rem;border-radius:var(--radius-md)}.alert:has(>svg),.alert-destructive:has(>svg){grid-template-columns:1rem 1fr;column-gap:.75rem}.alert>svg,.alert-destructive>svg{width:1rem;height:1rem;color:currentColor;transform:translateY(1px)}.alert>:is(h2,h3,h4,h5,h6,strong,[data-title]),.alert-destructive>:is(h2,h3,h4,h5,h6,strong,[data-title]){grid-column-start:2;min-height:1rem;font-size:.875rem;font-weight:600;line-height:1.25rem;letter-spacing:-.0125em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert>section,.alert-destructive>section{grid-column-start:2;display:grid;justify-items:start;gap:.25rem;margin-top:.125rem;font-size:.8125rem;color:var(--muted-foreground)}.alert>section p,.alert-destructive>section p{line-height:1.625}.alert>section ul,.alert-destructive>section ul{list-style:disc inside;font-size:.8125rem}.alert-destructive{border-color:color-mix(in srgb,var(--destructive) 50%,transparent);background:color-mix(in oklab,var(--destructive),var(--background) 84%);color:var(--destructive)}.alert-destructive>svg{color:var(--destructive)}.alert-destructive>section{color:var(--destructive)}.alert-info,.alert.info{border-color:color-mix(in srgb,var(--primary) 50%,transparent);background:var(--link-bg-soft);color:var(--primary)}:is(.alert-info,.alert.info)>svg{color:var(--primary)}.button-group{width:fit-content;display:inline-flex;align-items:stretch}.button-group>*:focus-visible,.button-group>:is(.dropdown-menu,.popover,.select)>button:focus-visible{position:relative;z-index:10}.button-group>[aria-pressed=true],.button-group>[data-state=on],.button-group>:is(.dropdown-menu,.popover,.select)>button[aria-pressed=true]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,transparent);position:relative;z-index:1}.button-group>hr[role=separator]{margin:0;width:0;height:auto;flex-shrink:0;align-self:stretch;border-width:1px;border-color:var(--input)}.button-group:not([data-orientation=vertical]){flex-direction:row}.button-group:not([data-orientation=vertical])>*:not(:first-child),.button-group:not([data-orientation=vertical])>:is(.dropdown-menu,.popover,.select):not(:first-child)>button{border-left-width:0px;border-top-left-radius:0;border-bottom-left-radius:0}.button-group:not([data-orientation=vertical])>*:not(:last-child),.button-group:not([data-orientation=vertical])>:is(.dropdown-menu,.popover,.select):not(:last-child)>button{border-top-right-radius:0;border-bottom-right-radius:0}.button-group[data-orientation=vertical]{flex-direction:column}.button-group[data-orientation=vertical]>hr[role=separator]{width:auto;height:1px}.button-group[data-orientation=vertical]>*:not(:first-child),.button-group[data-orientation=vertical]>:is(.dropdown-menu,.popover,.select):not(:first-child)>button{border-top-width:0px;border-top-left-radius:0;border-top-right-radius:0}.button-group[data-orientation=vertical]>*:not(:last-child),.button-group[data-orientation=vertical]>:is(.dropdown-menu,.popover,.select):not(:last-child)>button{border-bottom-left-radius:0;border-bottom-right-radius:0}:is(.form,.field) input[type=checkbox]:not([role=switch]),.input[type=checkbox]:not([role=switch]){-webkit-appearance:none;appearance:none;border-width:1px;border-color:var(--input);border-radius:var(--radius-sm);background-color:var(--card);color:var(--primary);width:1rem;height:1rem;flex-shrink:0;cursor:pointer;display:inline-grid;place-content:center;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}:is(:is(.form,.field) input[type=checkbox]:not([role=switch]),.input[type=checkbox]:not([role=switch])):hover:not(:disabled):not(:checked){border-color:color-mix(in srgb,var(--input),var(--foreground) 30%)}:is(:is(.form,.field) input[type=checkbox]:not([role=switch]),.input[type=checkbox]:not([role=switch])):focus-visible{box-shadow:var(--focus-ring)}:is(:is(.form,.field) input[type=checkbox]:not([role=switch]),.input[type=checkbox]:not([role=switch])):after{content:"";display:block;width:.75rem;height:.75rem;background-color:var(--primary-foreground);-webkit-mask-image:var(--check-icon);mask-image:var(--check-icon);-webkit-mask-size:.875rem;mask-size:.875rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:0;scale:.5;transition:opacity var(--dur-press) var(--ease),scale var(--dur-slow) var(--ease-spring)}:is(:is(.form,.field) input[type=checkbox]:not([role=switch]),.input[type=checkbox]:not([role=switch])):checked:after{opacity:1;scale:1}:is(.form,.field) input[type=checkbox]:not([role=switch]):focus-visible,.input[type=checkbox]:not([role=switch]):focus-visible{outline:2px solid transparent;outline-offset:2px}:is(.form,.field) input[type=checkbox]:not([role=switch]):disabled,.input[type=checkbox]:not([role=switch]):disabled{cursor:not-allowed;opacity:.5}:is(.form,.field) input[type=checkbox]:not([role=switch]):checked,.input[type=checkbox]:not([role=switch]):checked{border-color:var(--primary);background-color:var(--primary)}details summary{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem}details>summary::-webkit-details-marker{display:none}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow-y:clip;opacity:0;transition:content-visibility var(--dur-slow) allow-discrete,opacity var(--dur-slow) var(--ease),block-size var(--dur-slow) var(--ease)}details[open]::details-content{block-size:auto;opacity:1}}.accordion{overflow:hidden;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card)}.accordion>details{border-bottom-width:1px;border-color:var(--border)}.accordion>details:last-child{border-bottom-width:0px}.accordion>details>summary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--foreground);border-radius:var(--radius);transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease);outline:none}.accordion>details>summary:hover{background-color:var(--accent)}.accordion>details>summary:focus-visible{box-shadow:var(--focus-ring)}.accordion-icon{width:1rem;height:1rem;flex-shrink:0;color:var(--muted-foreground);transition:transform var(--dur-slow) var(--ease)}.accordion>details[open]>summary .accordion-icon{transform:rotate(180deg);color:var(--primary)}.accordion-content{padding-left:1rem;padding-right:1rem;padding-bottom:1rem;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);line-height:1.5}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);word-break:break-word}.breadcrumb a{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-radius:var(--radius-sm);outline:none}.breadcrumb a:hover{color:var(--foreground)}.breadcrumb a:focus-visible{color:var(--foreground);box-shadow:var(--focus-ring)}.breadcrumb [aria-current=page]{color:var(--foreground);font-weight:500}.breadcrumb svg{width:.875rem;height:.875rem;flex-shrink:0;opacity:.6}.theme-icon-sun{display:none}.theme-icon-moon{display:block}:root[data-theme=light] .theme-icon-sun{display:block}:root[data-theme=light] .theme-icon-moon{display:none}.dialog,.dialog::backdrop{position:fixed}.dialog{position:fixed;inset:0;margin:auto;border-width:1px;border-color:var(--border);background-color:var(--card);padding:0;color:var(--card-foreground);width:95%;max-width:600px;max-height:90vh;z-index:50;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-behavior:allow-discrete;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.dialog:is([open],:popover-open){opacity:1}.dialog:is([open],:popover-open)::backdrop{opacity:1}.dialog:is([open],:popover-open)>*{--un-scale-x:1;--un-scale-y:1;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));translate:0 0}@starting-style{.dialog:is([open],:popover-open){@apply opacity-0;}.dialog:is([open],:popover-open)::backdrop{opacity:0}.dialog:is([open],:popover-open)>*{--un-scale-x:.95;--un-scale-y:.95;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));translate:0 .625rem}}.dialog>*{width:100%;height:100%;display:flex;flex-direction:column;padding:1.5rem;transition:transform var(--dur-slow) var(--ease-out),translate var(--dur-slow) var(--ease-out)}.dialog[open]{display:flex;flex-direction:column}.dialog::backdrop{background-color:#0009;opacity:0;--un-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-behavior:allow-discrete}.dialog>header{margin-bottom:1rem;display:flex;flex-direction:column;gap:.375rem;border-bottom-width:1px;border-color:var(--border);padding-bottom:1rem}.dialog>header>h2{font-size:1.125rem;line-height:1.75rem;font-weight:600;line-height:1;letter-spacing:-.025em}.dialog>header>p{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);line-height:1.5}.dialog>form{flex:1 1 0%;overflow-y:auto;padding-right:.5rem}.dialog>footer{margin-top:1rem;display:flex;flex-direction:column-reverse;gap:.5rem;border-top-width:1px;border-color:var(--border);padding-top:1rem}@media(min-width:640px){.dialog>footer{flex-direction:row;justify-content:flex-end}}.dialog>section{flex:1 1 0%}.dialog>button,.dialog>form[method=dialog]{position:absolute;top:1rem;right:1rem}.dialog>button,.dialog>form[method=dialog]>button{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--muted-foreground);opacity:.7;transition:opacity var(--dur) var(--ease),color var(--dur) var(--ease),background-color var(--dur) var(--ease);outline:none}.dialog>button:disabled,.dialog>form[method=dialog]>button:disabled{pointer-events:none}.dialog>button svg,.dialog>form[method=dialog]>button svg{pointer-events:none;width:1rem;height:1rem;flex-shrink:0}.dialog>button:hover,.dialog>form[method=dialog]>button:hover{background-color:var(--accent);color:var(--foreground);opacity:1}.dialog>button:focus-visible,.dialog>form[method=dialog]>button:focus-visible{opacity:1;box-shadow:var(--focus-ring)}.dialog label{font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:500}.dropdown-menu{position:relative;display:inline-flex}.dropdown-menu [data-popover]{border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--popover);padding:.25rem;color:var(--popover-foreground);min-width:anchor-size(width);box-shadow:var(--shadow-lg)}.dropdown-menu [data-popover] [role=menuitem],.dropdown-menu [data-popover] [role=menuitemcheckbox],.dropdown-menu [data-popover] [role=menuitemradio]{position:relative;display:flex;cursor:default;align-items:center;gap:.5rem;border-radius:var(--radius-sm);padding:.375rem .5rem;font-size:.875rem;line-height:1.25rem;outline-style:hidden;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}:is(.dropdown-menu [data-popover] [role=menuitem],.dropdown-menu [data-popover] [role=menuitemcheckbox],.dropdown-menu [data-popover] [role=menuitemradio]):not([aria-disabled=true]):focus-visible{background-color:var(--accent);color:var(--accent-foreground)}:is(.dropdown-menu [data-popover] [role=menuitem],.dropdown-menu [data-popover] [role=menuitemcheckbox],.dropdown-menu [data-popover] [role=menuitemradio]).active{background-color:var(--accent);color:var(--accent-foreground)}.dropdown-menu [data-popover] [role=menuitem]:disabled,.dropdown-menu [data-popover] [role=menuitemcheckbox]:disabled,.dropdown-menu [data-popover] [role=menuitemradio]:disabled{pointer-events:none;opacity:.5}.dropdown-menu [data-popover] [role=menuitem][aria-disabled=true],.dropdown-menu [data-popover] [role=menuitemcheckbox][aria-disabled=true],.dropdown-menu [data-popover] [role=menuitemradio][aria-disabled=true]{pointer-events:none;opacity:.5}.dropdown-menu [data-popover] [role=menuitem] svg,.dropdown-menu [data-popover] [role=menuitemcheckbox] svg,.dropdown-menu [data-popover] [role=menuitemradio] svg{width:1rem;height:1rem;flex-shrink:0}.dropdown-menu [data-popover] [role=menuitem][aria-hidden=true],.dropdown-menu [data-popover] [role=menuitemcheckbox][aria-hidden=true],.dropdown-menu [data-popover] [role=menuitemradio][aria-hidden=true]{display:none}.dropdown-menu [data-popover] [role=menuitem] svg,.dropdown-menu [data-popover] [role=menuitemcheckbox] svg,.dropdown-menu [data-popover] [role=menuitemradio] svg{color:var(--muted-foreground)}.dropdown-menu [data-popover] [role=menu] [role=heading]{display:flex;padding:.375rem .5rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.dropdown-menu [data-popover] [role=separator]{margin:.25rem -.25rem;height:1px;border-color:var(--border);background-color:var(--border)}:scope:not([data-dropdown-menu-initialized]) .dropdown-menu [data-popover] [role=menuitem]:hover,:scope:not([data-dropdown-menu-initialized]) .dropdown-menu [data-popover] [role=menuitemcheckbox]:hover,:scope:not([data-dropdown-menu-initialized]) .dropdown-menu [data-popover] [role=menuitemradio]:hover{background-color:var(--accent);color:var(--accent-foreground)}.fieldset{display:flex;flex-direction:column;gap:1.5rem}.fieldset>legend{margin-bottom:.75rem;font-size:1rem;line-height:1.5rem;font-weight:500}.field{width:100%;display:flex;flex-direction:column;gap:.5rem}.field>label{font-size:13px;font-weight:600;line-height:1;color:var(--foreground-soft)}.field h2,.field h3{width:fit-content;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;line-height:1.375}.field [role=alert]{font-size:.75rem;line-height:1rem;color:var(--destructive);font-weight:400}.field [role=alert] ul{margin-left:1rem;display:flex;flex-direction:column;list-style-type:disc;gap:.25rem}.field section{display:flex;flex:1 1 0%;flex-direction:column;gap:.375rem;line-height:1.375}.field[data-orientation=horizontal]{flex-direction:row;align-items:center}.field[data-orientation=horizontal]:has(undefined){margin-top:1px}.field[data-orientation=horizontal]>label{flex:1 1 auto}.field[data-orientation=horizontal]:has(>section){align-items:flex-start}.field[data-orientation=horizontal] p{text-wrap:balance}.field[data-invalid=true]{color:var(--destructive)}.field>*{width:100%}.field>.sr-only{width:auto}.fieldset legend+p,.field>p,.field section>p{font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:400;line-height:1.5}.fieldset legend+p>a:hover,.field>p>a:hover,.field section>p>a:hover{color:var(--primary)}.fieldset legend+p>a,.field>p>a,.field section>p>a{text-decoration-line:underline;text-underline-offset:4px}.fieldset legend+p{margin-top:-.375rem}.field>p:last-child{margin-top:0}.field>p:nth-last-child(2){margin-top:-.25rem}:is(.form,.field) input[type=text]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)),:is(.form,.field) input[type=email],:is(.form,.field) input[type=password],:is(.form,.field) input[type=number],:is(.form,.field) input[type=file],:is(.form,.field) input[type=tel],:is(.form,.field) input[type=url],:is(.form,.field) input[type=search]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)),:is(.form,.field) input[type=date],:is(.form,.field) input[type=datetime-local],:is(.form,.field) input[type=month],:is(.form,.field) input[type=week],:is(.form,.field) input[type=time],.input[type=text],.input[type=email],.input[type=password],.input[type=number],.input[type=file],.input[type=tel],.input[type=url],.input[type=search],.input[type=date],.input[type=datetime-local],.input[type=month],.input[type=week],.input[type=time],input.input:not([type]){-webkit-appearance:none;appearance:none;border-width:1px;border-color:var(--input);border-radius:var(--radius-md);background-color:var(--card);color:var(--foreground);height:2.25rem;width:100%;min-width:0;display:flex;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s;@apply aria-invalid:border-destructive;box-shadow:var(--shadow-sm)}:is(:is(.form,.field) input[type=text]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)),:is(.form,.field) input[type=email],:is(.form,.field) input[type=password],:is(.form,.field) input[type=number],:is(.form,.field) input[type=file],:is(.form,.field) input[type=tel],:is(.form,.field) input[type=url],:is(.form,.field) input[type=search]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)),:is(.form,.field) input[type=date],:is(.form,.field) input[type=datetime-local],:is(.form,.field) input[type=month],:is(.form,.field) input[type=week],:is(.form,.field) input[type=time],.input[type=text],.input[type=email],.input[type=password],.input[type=number],.input[type=file],.input[type=tel],.input[type=url],.input[type=search],.input[type=date],.input[type=datetime-local],.input[type=month],.input[type=week],.input[type=time],input.input:not([type])):hover:not(:disabled):not(:focus-visible){border-color:color-mix(in srgb,var(--input),var(--foreground) 30%)}:is(:is(.form,.field) input[type=text]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)),:is(.form,.field) input[type=email],:is(.form,.field) input[type=password],:is(.form,.field) input[type=number],:is(.form,.field) input[type=file],:is(.form,.field) input[type=tel],:is(.form,.field) input[type=url],:is(.form,.field) input[type=search]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)),:is(.form,.field) input[type=date],:is(.form,.field) input[type=datetime-local],:is(.form,.field) input[type=month],:is(.form,.field) input[type=week],:is(.form,.field) input[type=time],.input[type=text],.input[type=email],.input[type=password],.input[type=number],.input[type=file],.input[type=tel],.input[type=url],.input[type=search],.input[type=date],.input[type=datetime-local],.input[type=month],.input[type=week],.input[type=time],input.input:not([type])):focus-visible{outline:none;border-color:var(--ring);box-shadow:var(--focus-ring)}:is(:is(.form,.field) input[type=text]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)),:is(.form,.field) input[type=email],:is(.form,.field) input[type=password],:is(.form,.field) input[type=number],:is(.form,.field) input[type=file],:is(.form,.field) input[type=tel],:is(.form,.field) input[type=url],:is(.form,.field) input[type=search]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)),:is(.form,.field) input[type=date],:is(.form,.field) input[type=datetime-local],:is(.form,.field) input[type=month],:is(.form,.field) input[type=week],:is(.form,.field) input[type=time],.input[type=text],.input[type=email],.input[type=password],.input[type=number],.input[type=file],.input[type=tel],.input[type=url],.input[type=search],.input[type=date],.input[type=datetime-local],.input[type=month],.input[type=week],.input[type=time],input.input:not([type]))[aria-invalid=true]:focus-visible{border-color:var(--destructive);box-shadow:0 0 0 2px var(--background),0 0 0 4px color-mix(in srgb,var(--destructive) 45%,transparent)}:is(.form,.field) input[type=text]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)):disabled,:is(.form,.field) input[type=email]:disabled,:is(.form,.field) input[type=password]:disabled,:is(.form,.field) input[type=number]:disabled,:is(.form,.field) input[type=file]:disabled,:is(.form,.field) input[type=tel]:disabled,:is(.form,.field) input[type=url]:disabled,:is(.form,.field) input[type=search]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input)):disabled,:is(.form,.field) input[type=date]:disabled,:is(.form,.field) input[type=datetime-local]:disabled,:is(.form,.field) input[type=month]:disabled,:is(.form,.field) input[type=week]:disabled,:is(.form,.field) input[type=time]:disabled,.input[type=text]:disabled,.input[type=email]:disabled,.input[type=password]:disabled,.input[type=number]:disabled,.input[type=file]:disabled,.input[type=tel]:disabled,.input[type=url]:disabled,.input[type=search]:disabled,.input[type=date]:disabled,.input[type=datetime-local]:disabled,.input[type=month]:disabled,.input[type=week]:disabled,.input[type=time]:disabled,input.input:not([type]):disabled{pointer-events:none;cursor:not-allowed;opacity:.5}:is(.form,.field) input[type=text]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input))::placeholder,:is(.form,.field) input[type=email]::placeholder,:is(.form,.field) input[type=password]::placeholder,:is(.form,.field) input[type=number]::placeholder,:is(.form,.field) input[type=file]::placeholder,:is(.form,.field) input[type=tel]::placeholder,:is(.form,.field) input[type=url]::placeholder,:is(.form,.field) input[type=search]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input))::placeholder,:is(.form,.field) input[type=date]::placeholder,:is(.form,.field) input[type=datetime-local]::placeholder,:is(.form,.field) input[type=month]::placeholder,:is(.form,.field) input[type=week]::placeholder,:is(.form,.field) input[type=time]::placeholder,.input[type=text]::placeholder,.input[type=email]::placeholder,.input[type=password]::placeholder,.input[type=number]::placeholder,.input[type=file]::placeholder,.input[type=tel]::placeholder,.input[type=url]::placeholder,.input[type=search]::placeholder,.input[type=date]::placeholder,.input[type=datetime-local]::placeholder,.input[type=month]::placeholder,.input[type=week]::placeholder,.input[type=time]::placeholder,input.input:not([type])::placeholder{color:var(--muted-foreground)}:is(.form,.field) input[type=text]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input))::file-selector-button,:is(.form,.field) input[type=email]::file-selector-button,:is(.form,.field) input[type=password]::file-selector-button,:is(.form,.field) input[type=number]::file-selector-button,:is(.form,.field) input[type=file]::file-selector-button,:is(.form,.field) input[type=tel]::file-selector-button,:is(.form,.field) input[type=url]::file-selector-button,:is(.form,.field) input[type=search]:not(:is(.select [data-popover]>header input[role=combobox],.command>header input,.dialog>*>header input))::file-selector-button,:is(.form,.field) input[type=date]::file-selector-button,:is(.form,.field) input[type=datetime-local]::file-selector-button,:is(.form,.field) input[type=month]::file-selector-button,:is(.form,.field) input[type=week]::file-selector-button,:is(.form,.field) input[type=time]::file-selector-button,.input[type=text]::file-selector-button,.input[type=email]::file-selector-button,.input[type=password]::file-selector-button,.input[type=number]::file-selector-button,.input[type=file]::file-selector-button,.input[type=tel]::file-selector-button,.input[type=url]::file-selector-button,.input[type=search]::file-selector-button,.input[type=date]::file-selector-button,.input[type=datetime-local]::file-selector-button,.input[type=month]::file-selector-button,.input[type=week]::file-selector-button,.input[type=time]::file-selector-button,input.input:not([type])::file-selector-button{height:1.75rem;display:inline-flex;border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.kbd{pointer-events:none;height:1.25rem;width:fit-content;min-width:1.25rem;display:inline-flex;border-radius:var(--radius-sm);background-color:var(--muted);color:var(--muted-foreground);align-items:center;justify-content:center;gap:.25rem;padding-left:.25rem;padding-right:.25rem;font-size:.75rem;line-height:1rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;-webkit-user-select:none;user-select:none;border-width:1px;border-bottom-width:2px;border-color:var(--border);line-height:1;vertical-align:middle}.kbd svg:not([class*=size-]){width:.75rem;height:.75rem}[data-popover]{position:absolute;z-index:50;overflow-x:hidden;overflow-y:auto;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--popover);color:var(--popover-foreground);visibility:visible;min-width:100%;width:max-content;--pop-align-x: 0px;--pop-align-y: 0px;--pop-slide-x: 0px;--pop-slide-y: 0px;--pop-scale: 1;opacity:1;box-shadow:var(--shadow-lg);transform:translate(calc(var(--pop-align-x) + var(--pop-slide-x)),calc(var(--pop-align-y) + var(--pop-slide-y))) scale(var(--pop-scale));transform-origin:var(--pop-origin, top center);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility var(--dur) var(--ease)}[data-popover][aria-hidden=true]{visibility:hidden;opacity:0;transition-duration:var(--dur-press);--pop-scale: .95}[data-popover][aria-hidden=true]:not([data-side]),[data-popover][aria-hidden=true][data-side=bottom]{--pop-slide-y: -.5rem}[data-popover][aria-hidden=true][data-side=top]{--pop-slide-y: .5rem}[data-popover][aria-hidden=true][data-side=left]{--pop-slide-x: .5rem}[data-popover][aria-hidden=true][data-side=right]{--pop-slide-x: -.5rem}[data-popover]:not([data-side]),[data-popover][data-side=bottom]{top:100%;margin-top:.25rem;--pop-origin: top center}[data-popover][data-side=top]{bottom:100%;margin-bottom:.25rem;--pop-origin: bottom center}[data-popover][data-side=left]{right:100%;margin-right:.25rem;--pop-origin: center right}[data-popover][data-side=right]{left:100%;margin-left:.25rem;--pop-origin: center left}:is([data-popover]:not([data-side]),[data-popover][data-side=bottom],[data-popover][data-side=top]):not([data-align]),:is([data-popover]:not([data-side]),[data-popover][data-side=bottom],[data-popover][data-side=top])[data-align=start]{left:0}:is([data-popover]:not([data-side]),[data-popover][data-side=bottom],[data-popover][data-side=top])[data-align=end]{right:0}:is([data-popover]:not([data-side]),[data-popover][data-side=bottom],[data-popover][data-side=top])[data-align=center]{left:50%;--pop-align-x: -50%}:is([data-popover][data-side=left],[data-popover][data-side=right]):not([data-align]),:is([data-popover][data-side=left],[data-popover][data-side=right])[data-align=start]{top:0}:is([data-popover][data-side=left],[data-popover][data-side=right])[data-align=end]{bottom:0}:is([data-popover][data-side=left],[data-popover][data-side=right])[data-align=center]{top:50%;--pop-align-y: -50%}.popover{position:relative;display:inline-flex}.popover [data-popover]{padding:1rem}:is(.form,.field) input[type=radio],.input[type=radio]{-webkit-appearance:none;appearance:none;border-width:1px;border-color:var(--input);border-radius:9999px;background-color:var(--card);color:var(--primary);position:relative;aspect-ratio:1/1;width:1rem;height:1rem;flex-shrink:0;cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease);outline:none}:is(:is(.form,.field) input[type=radio],.input[type=radio]):hover:not(:disabled):not(:checked){border-color:color-mix(in srgb,var(--input),var(--foreground) 30%)}:is(:is(.form,.field) input[type=radio],.input[type=radio]):focus-visible{box-shadow:var(--focus-ring)}:is(:is(.form,.field) input[type=radio],.input[type=radio]):checked{border-color:var(--primary);background-color:var(--primary)}:is(:is(.form,.field) input[type=radio],.input[type=radio]):before{content:"";position:absolute;width:.5rem;height:.5rem;border-radius:9999px;background-color:var(--primary-foreground);top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;scale:.4;transition:opacity var(--dur-press) var(--ease),scale var(--dur-slow) var(--ease-spring)}:is(:is(.form,.field) input[type=radio],.input[type=radio]):checked:before{opacity:1;scale:1}:is(.form,.field) input[type=radio]:disabled,.input[type=radio]:disabled{cursor:not-allowed;opacity:.5}:is(.form,.field) input[type=range],.input[type=range]{width:100%;display:flex;cursor:pointer;-webkit-appearance:none;appearance:none;align-items:center;padding:0;outline:2px solid transparent;outline-offset:2px;height:1.25rem;background:transparent;border:0;--slider-value: 20%;--slider-track: linear-gradient( to right, var(--foreground) 0 var(--slider-value), color-mix(in srgb, var(--foreground) 16%, var(--background)) var(--slider-value) 100% )}:is(:is(.form,.field) input[type=range],.input[type=range])::-webkit-slider-thumb{display:block;width:1rem;height:1rem;flex-shrink:0;cursor:pointer;-webkit-appearance:none;appearance:none;border-width:1px;border-radius:9999px;background-color:var(--card);border-color:var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);margin-top:-5px}:is(:is(.form,.field) input[type=range],.input[type=range])::-webkit-slider-runnable-track{height:.375rem;width:100%;-webkit-appearance:none;appearance:none;border-radius:9999px;background:var(--slider-track)}:is(:is(.form,.field) input[type=range],.input[type=range])::-moz-range-thumb{display:block;width:1rem;height:1rem;flex-shrink:0;cursor:pointer;-webkit-appearance:none;appearance:none;border-width:1px;border-radius:9999px;background-color:var(--card);border-color:var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}:is(:is(.form,.field) input[type=range],.input[type=range])::-moz-range-track{height:.375rem;width:100%;-webkit-appearance:none;appearance:none;border-radius:9999px;background:var(--slider-track)}:is(:is(.form,.field) input[type=range],.input[type=range]):hover::-webkit-slider-thumb{border-color:var(--foreground);box-shadow:var(--shadow-md)}:is(:is(.form,.field) input[type=range],.input[type=range]):hover::-moz-range-thumb{border-color:var(--foreground);box-shadow:var(--shadow-md)}:is(:is(.form,.field) input[type=range],.input[type=range]):active::-webkit-slider-thumb{transform:scale(1.1)}:is(:is(.form,.field) input[type=range],.input[type=range]):active::-moz-range-thumb{transform:scale(1.1)}:is(:is(.form,.field) input[type=range],.input[type=range]):focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--background),0 0 0 4px color-mix(in srgb,var(--ring) 60%,transparent)}:is(:is(.form,.field) input[type=range],.input[type=range]):focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--background),0 0 0 4px color-mix(in srgb,var(--ring) 60%,transparent)}:is(:is(.form,.field) input[type=range],.input[type=range]):disabled{cursor:not-allowed;opacity:.5}:is(:is(.form,.field) input[type=range],.input[type=range]):disabled::-webkit-slider-thumb{cursor:not-allowed}:is(:is(.form,.field) input[type=range],.input[type=range]):disabled::-moz-range-thumb{cursor:not-allowed}:is(.form,.field) select,select.select{-webkit-appearance:none;appearance:none;border-width:1px;border-color:var(--input);border-radius:var(--radius-md);background-color:var(--card);color:var(--foreground);width:fit-content;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;height:2.25rem;cursor:pointer;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s;background-image:var(--chevron-down-icon-50);background-repeat:no-repeat;background-position:center right .75rem;background-size:1rem}:is(:is(.form,.field) select,select.select):hover:not(:disabled):not(:focus-visible){border-color:color-mix(in srgb,var(--input),var(--foreground) 30%)}:is(:is(.form,.field) select,select.select):focus-visible{border-color:var(--ring);box-shadow:var(--focus-ring)}:is(:is(.form,.field) select,select.select) option,:is(:is(.form,.field) select,select.select) optgroup{background-color:var(--popover);color:var(--popover-foreground)}:is(.form,.field) select:focus-visible,select.select:focus-visible{outline:2px solid transparent;outline-offset:2px}:is(.form,.field) select:disabled,select.select:disabled{cursor:not-allowed;opacity:.5}*:not(select).select{position:relative;display:inline-flex}*:not(select).select>button{justify-content:space-between;font-weight:400}*:not(select).select>button[aria-invalid=true]{border-color:var(--destructive)}*:not(select).select [data-popover]{border-radius:var(--radius-lg);padding:.25rem;box-shadow:var(--shadow-md)}*:not(select).select [data-popover] [role=option]{position:relative;display:flex;cursor:default;align-items:center;gap:.5rem;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;padding:.375rem 2rem .375rem .5rem;font-size:.875rem;line-height:1.25rem;outline-style:hidden;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}*:not(select).select [data-popover] [role=option][aria-selected=true]:after{content:"";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);pointer-events:none;display:block;width:.875rem;height:.875rem;background-color:var(--primary);-webkit-mask-image:var(--check-icon);mask-image:var(--check-icon);-webkit-mask-size:.875rem;mask-size:.875rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}*:not(select).select [data-popover] [role=option].active,*:not(select).select [data-popover] [role=option]:focus-visible{background-color:var(--accent);color:var(--accent-foreground)}*:not(select).select [data-popover] [role=option]:disabled{pointer-events:none;opacity:.5}*:not(select).select [data-popover] [role=option][aria-disabled=true]{pointer-events:none;opacity:.5}*:not(select).select [data-popover] [role=option] svg{width:1rem;height:1rem;flex-shrink:0}*:not(select).select [data-popover] [role=option][aria-hidden=true]{display:none}*:not(select).select [data-popover] [role=option] svg{color:var(--muted-foreground)}*:not(select).select [data-popover] [role=listbox] [role=heading]{display:flex;padding:.375rem .5rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground)}*:not(select).select [data-popover] [role=listbox] [role=group]:not(:has([role=option]:not([aria-hidden=true]))){display:none}*:not(select).select [data-popover] [role=separator]{margin:.25rem -.25rem;height:1px;border-color:var(--border);background-color:var(--border)}*:not(select).select [data-popover]>header{margin:-.25rem -.25rem .25rem;height:2.25rem;display:flex;align-items:center;gap:.5rem;border-bottom-width:1px;border-color:var(--border);padding-left:.75rem;padding-right:.75rem}*:not(select).select [data-popover]>header svg{width:1rem;height:1rem;flex-shrink:0;opacity:.5}*:not(select).select [data-popover]>header input[role=combobox]{height:2.25rem;width:100%;min-width:0;display:flex;flex:1 1 0%;background-color:transparent;padding-top:0;padding-bottom:0;font-size:.875rem;line-height:1.25rem;outline-style:hidden}*:not(select).select [data-popover]>header input[role=combobox]::placeholder{color:var(--muted-foreground)}*:not(select).select [data-popover] [role=listbox]:not(:has([data-value]:not([aria-hidden=true]))):before{display:flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1.5rem;font-size:.875rem;line-height:1.25rem}*:not(select).select [data-popover] [role=listbox][data-empty]:not(:has([data-value]:not([aria-hidden=true]))):before{content:attr(data-empty)}*:not(select).select [data-popover] [role=listbox]:not([data-empty]):not(:has([data-value]:not([aria-hidden=true]))):before{content:"No results found"}*:not(select).select [data-popover]:has(>header input:not(:placeholder-shown)) [role=separator]{display:none}*:not(select).select:not([data-select-initialized]) [data-popover] [role=option]:hover{background-color:var(--accent);color:var(--accent-foreground)}@media(max-width:767.9px){.sidebar:not([data-sidebar-initialized]){display:none}}@media(max-width:767.9px){.sidebar:not([aria-hidden]),.sidebar[aria-hidden=false]{position:fixed;inset:0;z-index:40;background-color:#00000080}}.sidebar nav{display:flex;flex-direction:column;background-color:var(--sidebar);color:var(--sidebar-foreground);position:fixed;top:0;bottom:0;z-index:50;border-right-width:1px;border-color:var(--sidebar-border);transition-property:transform;transition-duration:.15s;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--sidebar-mobile-width)}@media(min-width:768px){.sidebar nav{width:var(--sidebar-width)}}.sidebar+*{transition-property:margin;transition-duration:.15s;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:is(.sidebar:not([data-side]),.sidebar[data-side=left]) nav{left:0;transform:translate(0)}:is(.sidebar:not([data-side]),.sidebar[data-side=left])+*{position:relative}:is(.sidebar:not([data-side]),.sidebar[data-side=left])[aria-hidden=true] nav{transform:translate(-100%)}@media(min-width:768px){:is(.sidebar:not([data-side]),.sidebar[data-side=left])[aria-hidden=true]+*{margin-left:0}}.sidebar[data-side=right] nav{right:0;border-right-width:0px;border-left-width:1px;transform:translate(0)}.sidebar[data-side=right]+*{position:relative}.sidebar[data-side=right][aria-hidden=true] nav{transform:translate(100%)}@media(min-width:768px){.sidebar[data-side=right][aria-hidden=true]+*{margin-right:0}}.sidebar nav>header,.sidebar nav>footer{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.sidebar nav>header{min-height:3rem;justify-content:center}.sidebar nav>header h2{font-size:.875rem;line-height:1.25rem;font-weight:600;letter-spacing:-.025em}.sidebar nav [role=separator]{margin-left:.5rem;margin-right:.5rem;width:auto;border-color:var(--sidebar-border)}.sidebar nav>section{min-height:0;display:flex;flex:1 1 0%;flex-direction:column;gap:.5rem;overflow-y:auto}.sidebar nav>section>[role=group]{position:relative;width:100%;min-width:0;display:flex;flex-direction:column;padding:.5rem}.sidebar nav>section h3{height:2rem;display:flex;flex-shrink:0;align-items:center;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem;font-weight:500;--un-ring-color:var(--sidebar-ring) ;outline-style:hidden;transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s;transition-timing-function:linear;color:color-mix(in srgb,var(--sidebar-foreground) 60%,transparent)}.sidebar nav>section h3>svg{width:1rem;height:1rem;flex-shrink:0}.sidebar nav>section ul{width:100%;min-width:0;display:flex;flex-direction:column;gap:.25rem}.sidebar nav>section ul li{position:relative}.sidebar nav>section ul a,.sidebar nav>section ul summary{width:100%;display:flex;align-items:center;gap:.5rem;overflow:hidden;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:400;-webkit-user-select:none;user-select:none;color:var(--sidebar-foreground);height:2rem;border-radius:var(--radius);cursor:pointer;outline:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}:is(.sidebar nav>section ul a,.sidebar nav>section ul summary)>svg,:is(.sidebar nav>section ul a,.sidebar nav>section ul summary) svg{width:1.25rem;height:1.25rem;flex-shrink:0}:is(.sidebar nav>section ul a,.sidebar nav>section ul summary) span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar nav>section ul a svg,.sidebar nav>section ul summary svg{color:color-mix(in srgb,var(--sidebar-foreground) 70%,transparent)}.sidebar nav>section ul a:hover,.sidebar nav>section ul summary:hover{background-color:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.sidebar nav>section ul a:active,.sidebar nav>section ul summary:active{background-color:color-mix(in srgb,var(--sidebar-accent) 70%,var(--sidebar-border))}.sidebar nav>section ul a:focus-visible,.sidebar nav>section ul summary:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--sidebar-ring) 60%,transparent)}.sidebar nav>section ul a[aria-current=page]{background-color:var(--sidebar-primary);color:var(--sidebar-primary-foreground);font-weight:500}.sidebar nav>section ul a[aria-current=page] svg{color:inherit}.sidebar nav>section ul a[aria-current=page]:hover{background-color:color-mix(in srgb,var(--sidebar-primary) 92%,#fff);color:var(--sidebar-primary-foreground)}.sidebar nav>section ul details summary{list-style:none}.sidebar nav>section ul details summary::-webkit-details-marker{display:none}.sidebar nav>section ul details summary:after{content:"";width:1rem;height:1rem;margin-left:auto;flex-shrink:0;background-color:currentColor;opacity:.6;-webkit-mask:var(--chevron-down-icon) center / contain no-repeat;mask:var(--chevron-down-icon) center / contain no-repeat;transition:transform var(--dur-slow) var(--ease)}.sidebar nav>section ul details[open]>summary:after{transform:rotate(180deg)}.sidebar nav>section ul details>ul{margin-top:.25rem;gap:.125rem;padding-left:1rem;margin-left:.625rem;border-left:1px solid var(--sidebar-border)}.sidebar nav>section ul details>ul a{padding-left:.75rem;height:1.875rem}:is(.form,.field) input[type=checkbox][role=switch],.input[type=checkbox][role=switch]{-webkit-appearance:none;appearance:none;border-width:1px;border-color:var(--input);border-radius:9999px;height:1.5rem;width:2.75rem;display:inline-flex;flex-shrink:0;cursor:pointer;align-items:center;outline:2px solid transparent;outline-offset:2px;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);background-color:var(--border);position:relative}:is(:is(.form,.field) input[type=checkbox][role=switch],.input[type=checkbox][role=switch]):hover:not(:disabled):not(:checked){border-color:color-mix(in srgb,var(--input),var(--foreground) 30%)}:is(:is(.form,.field) input[type=checkbox][role=switch],.input[type=checkbox][role=switch]):before{content:"";pointer-events:none;display:block;width:1.25rem;height:1.25rem;border-radius:9999px;background:#fff;box-shadow:var(--shadow-sm);transform:translate(2px);transition:transform var(--dur-slower) var(--ease-spring),scale var(--dur-press) var(--ease)}:is(:is(.form,.field) input[type=checkbox][role=switch],.input[type=checkbox][role=switch]):checked:before{transform:translate(22px)}:is(:is(.form,.field) input[type=checkbox][role=switch],.input[type=checkbox][role=switch]):active:not(:disabled):before{scale:.88}:is(:is(.form,.field) input[type=checkbox][role=switch],.input[type=checkbox][role=switch]):focus-visible{box-shadow:var(--focus-ring)}:is(.form,.field) input[type=checkbox][role=switch]:disabled,.input[type=checkbox][role=switch]:disabled{cursor:not-allowed;opacity:.5}:is(.form,.field) input[type=checkbox][role=switch]:checked,.input[type=checkbox][role=switch]:checked{background-color:var(--primary)}.table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}.table thead{border-color:var(--border)}.table thead tr{border-bottom-width:1px}.table tbody tr:last-child{border-width:0px}.table tfoot{border-top-width:1px;border-color:var(--border);background-color:var(--muted);font-weight:500}.table tfoot:last-child>tr{border-bottom-width:0px}.table tr{border-bottom-width:1px;border-color:var(--border);transition:background-color var(--dur) var(--ease)}.table tbody tr:hover{background-color:color-mix(in srgb,var(--accent) 50%,transparent)}.table th{height:2.5rem;white-space:nowrap;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-size:.75rem;line-height:1rem;color:var(--foreground);color:var(--muted-foreground);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.table td{white-space:nowrap;padding:.75rem 1rem;vertical-align:middle;font-size:.875rem;line-height:1.25rem;color:var(--foreground-soft)}.table tbody th,.table tfoot th{padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:500;text-transform:none;height:auto;letter-spacing:normal}.table caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.tabs{display:flex;flex-direction:column;gap:.5rem}.tabs [role=tablist]{height:2.25rem;width:fit-content;display:inline-flex;align-items:center;justify-content:center;gap:.125rem;border-radius:var(--radius-md);background-color:var(--muted);padding:.125rem;color:var(--muted-foreground)}.tabs [role=tablist] [role=tab]{height:100%;display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;color:var(--muted-foreground);gap:.375rem;white-space:nowrap;border-radius:var(--radius-sm);padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:600;border:1px solid transparent;transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.tabs [role=tablist] [role=tab]:hover:not([aria-selected=true]):not(:disabled){color:var(--foreground)}.tabs [role=tablist] [role=tab]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tabs [role=tablist] [role=tab][aria-selected=true]{background-color:var(--card);color:var(--foreground);border-color:var(--border);box-shadow:var(--shadow-sm)}.tabs [role=tablist] [role=tab]:disabled{pointer-events:none;opacity:.5}.tabs [role=tablist] [role=tab] svg{width:1rem;height:1rem;flex-shrink:0}.tabs [role=tabpanel]{flex:1 1 0%;outline:2px solid transparent;outline-offset:2px}:is(.form,.field) textarea,.textarea{-webkit-appearance:none;appearance:none;border-width:1px;border-color:var(--input);border-radius:var(--radius-md);background-color:var(--card);color:var(--foreground);min-height:5rem;width:100%;display:flex;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;line-height:1.5;field-sizing:content;resize:vertical;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s;@apply aria-invalid:border-destructive;box-shadow:var(--shadow-sm)}:is(.form,.field) textarea:disabled,.textarea:disabled{cursor:not-allowed;opacity:.5}:is(.form,.field) textarea::placeholder,.textarea::placeholder{color:var(--muted-foreground)}:is(.form,.field) textarea:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--input),var(--foreground) 30%)}:is(.form,.field) textarea:focus-visible,.textarea:focus-visible{outline:none;border-color:var(--ring);box-shadow:var(--focus-ring)}.toaster{pointer-events:none;position:fixed;bottom:0;z-index:50;width:100%;display:flex;flex-direction:column-reverse;padding:1rem}.toaster:not([data-align]),.toaster[data-align=end]{right:0}.toaster[data-align=start]{left:0}.toaster[data-align=center]{left:50%;transform:translate(-50%)}.toaster .toast{pointer-events:auto;display:grid;grid-template-rows:1fr;margin-top:1rem;width:100%;transition:opacity var(--dur-slower) var(--ease-out),transform var(--dur-slower) var(--ease-out),grid-template-rows var(--dur-slower) var(--ease),margin var(--dur-slower) var(--ease),padding var(--dur-slower) var(--ease)}@starting-style{.toaster .toast:not([aria-hidden=true]){opacity:0;transform:translateY(.75rem)}}.toaster .toast .toast-content{display:flex;align-items:center;gap:.625rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:.75rem;font-size:.875rem;line-height:1.25rem;color:var(--foreground);box-shadow:var(--shadow-lg)}.toaster .toast .toast-content svg{width:1rem;height:1rem;flex-shrink:0}.toaster .toast .toast-content>svg{animation:gc-pop-in var(--dur-slower) var(--ease-out) 60ms backwards}.toaster .toast .toast-content section h2{font-size:.875rem;line-height:1.25rem;font-weight:600;letter-spacing:-.025em}.toaster .toast .toast-content section p{overflow-wrap:break-word;color:var(--muted-foreground)}.toaster .toast .toast-content footer{margin-left:auto;display:flex;flex-direction:column;gap:.5rem}.toaster .toast .toast-content footer [data-toast-action],.toaster .toast .toast-content footer [data-toast-cancel]{height:1.5rem;padding-left:.625rem;padding-right:.625rem;font-size:.75rem;line-height:1rem}.toaster .toast[data-category=success] .toast-content>svg{color:var(--success)}.toaster .toast[data-category=error] .toast-content>svg{color:var(--destructive)}.toaster .toast[data-category=warning] .toast-content>svg{color:var(--warning)}.toaster .toast[data-category=info] .toast-content>svg{color:var(--info)}.toaster .toast[aria-hidden=true]{grid-template-rows:0fr;margin:0;overflow:hidden;border-width:0px;padding:0;opacity:0}.toaster .toast[aria-hidden=true] .toast-content{border-width:0px;box-shadow:none}@media(min-width:640px){.toaster{max-width:24rem}}[data-tooltip]{position:relative}[data-tooltip]:before{pointer-events:none;position:absolute;z-index:60;max-width:20rem;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.25rem .5rem;font-size:.75rem;content:attr(data-tooltip);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);line-height:1rem;font-weight:500;visibility:hidden;opacity:0;transform:var(--tt-tx, 0) var(--tt-ty, 0);transition:opacity var(--dur-press) var(--ease),transform var(--dur-press) var(--ease),visibility var(--dur-press) var(--ease)}[data-tooltip]:hover:before,[data-tooltip]:focus-visible:before{visibility:visible;opacity:1;transition-duration:var(--dur);--tt-ty: 0;--tt-tx: var(--tt-tx-rest, 0)}[data-tooltip]:hover:not(:focus-visible):before{transition-delay:.35s}[data-tooltip]:not([data-side]):before,[data-tooltip][data-side=top]:before{bottom:100%;margin-bottom:.375rem;--tt-ty: translateY(4px)}[data-tooltip][data-side=bottom]:before{top:100%;margin-top:.375rem;--tt-ty: translateY(-4px)}:is([data-tooltip]:not([data-side]),[data-tooltip][data-side=top],[data-tooltip][data-side=bottom])[data-align=start]:before{left:0}:is([data-tooltip]:not([data-side]),[data-tooltip][data-side=top],[data-tooltip][data-side=bottom])[data-align=end]:before{right:0}:is([data-tooltip]:not([data-side]),[data-tooltip][data-side=top],[data-tooltip][data-side=bottom]):not([data-align]):before,:is([data-tooltip]:not([data-side]),[data-tooltip][data-side=top],[data-tooltip][data-side=bottom])[data-align=center]:before{left:50%;--tt-tx: translateX(-50%);--tt-tx-rest: translateX(-50%)}[data-tooltip][data-side=left]:before{right:100%;margin-right:.375rem;--tt-tx: translateX(8px)}[data-tooltip][data-side=right]:before{left:100%;margin-left:.375rem;--tt-tx: translateX(-8px)}:is([data-tooltip][data-side=left],[data-tooltip][data-side=right])[data-align=start]:before{top:0}:is([data-tooltip][data-side=left],[data-tooltip][data-side=right])[data-align=end]:before{bottom:0}:is([data-tooltip][data-side=left],[data-tooltip][data-side=right]):not([data-align]):before,:is([data-tooltip][data-side=left],[data-tooltip][data-side=right])[data-align=center]:before{top:50%;--tt-ty: translateY(-50%);--tt-ty-rest: translateY(-50%)}[data-tooltip][data-side=left]:hover:before,[data-tooltip][data-side=left]:focus-visible:before,[data-tooltip][data-side=right]:hover:before,[data-tooltip][data-side=right]:focus-visible:before{--tt-tx: 0;--tt-ty: var(--tt-ty-rest, 0)}.command-dialog{top:0;bottom:0;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-behavior:allow-discrete}.command-dialog:is([open],:popover-open){opacity:1}.command-dialog:is([open],:popover-open)::backdrop{opacity:1}.command-dialog:is([open],:popover-open)>*{--un-scale-x:1;--un-scale-y:1;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@starting-style{.command-dialog:is([open],:popover-open){@apply opacity-0;}.command-dialog:is([open],:popover-open)::backdrop{opacity:0}.command-dialog:is([open],:popover-open)>*{--un-scale-x:.95;--un-scale-y:.95;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}}.command-dialog::backdrop{background-color:#0009;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-behavior:allow-discrete}.command-dialog>*{position:fixed;top:50%;left:50%;z-index:50;width:100%;max-width:calc(100% - 2rem);display:flex;flex-direction:column;--un-translate-x:-50%;--un-translate-y:-50%;background-color:var(--card);max-height:min(640px,calc(100% - 2rem));overflow:hidden;border-width:1px;border-color:var(--border);border-radius:var(--radius-xl);--un-scale-x:.95;--un-scale-y:.95;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;box-shadow:var(--shadow-lg)}.command-dialog>*>button,.command-dialog>*>form[method=dialog]{position:absolute;top:1rem;right:1rem}.command-dialog>*>button,.command-dialog>*>form[method=dialog]>button{border-radius:9999px;opacity:.7;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.command-dialog>*>button:hover,.command-dialog>*>form[method=dialog]>button:hover{opacity:1}.command-dialog>*>button:disabled,.command-dialog>*>form[method=dialog]>button:disabled{pointer-events:none}.command-dialog>*>button svg,.command-dialog>*>form[method=dialog]>button svg{pointer-events:none;flex-shrink:0}@media(min-width:640px){.command-dialog>*{max-width:32rem}}.command-dialog .command{border:0;border-radius:0;box-shadow:none;background:transparent}.command-dialog .command>header input{height:3rem}.command-dialog .command [role=menu]{padding-left:.5rem;padding-right:.5rem}.command-dialog .command [role=menu] [role=menuitem]{padding:.75rem .5rem}.command-dialog .command [role=menu] [role=menuitem] svg{width:1.25rem;height:1.25rem}.command-dialog .command [role=menu] [role=heading]{padding:.375rem .5rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500;letter-spacing:.025em;text-transform:uppercase}.command{animation:gc-pop-in var(--dur-slow) var(--ease-out);display:flex;flex-direction:column;overflow:hidden;border-width:1px;border-color:var(--border);background-color:var(--popover);color:var(--popover-foreground);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.command>header{display:flex;align-items:center;gap:.5rem;border-bottom-width:1px;border-color:var(--border);padding-left:.75rem;padding-right:.75rem}.command>header svg{width:1rem;height:1rem;flex-shrink:0;opacity:.5}.command>header input{height:2.75rem;width:100%;display:flex;background-color:transparent;padding-top:.75rem;padding-bottom:.75rem;font-size:.875rem;line-height:1.25rem;outline-style:hidden}.command>header input:disabled{cursor:not-allowed;opacity:.5}.command>header input::placeholder{color:var(--muted-foreground)}.command [role=menu]{max-height:300px;overflow-y:auto;overflow-x:hidden;padding:.25rem}.command [role=menu] [role=menuitem]{position:relative;display:flex;cursor:default;align-items:center;gap:.5rem;border-radius:var(--radius-sm);padding:.375rem .5rem;font-size:.875rem;line-height:1.25rem;outline-style:hidden;width:100%;-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.command [role=menu] [role=menuitem].active{background-color:var(--accent);color:var(--accent-foreground)}.command [role=menu] [role=menuitem][aria-hidden=true]{display:none}.command [role=menu] [role=menuitem][aria-disabled=true]{pointer-events:none;opacity:.5}.command [role=menu] [role=menuitem] svg:not([class*=size-]){width:1rem;height:1rem}.command [role=menu] [role=menuitem] svg{pointer-events:none;flex-shrink:0}.command [role=menu] [role=menuitem] svg:not([class*=text-]){color:var(--muted-foreground)}.command [role=menu] [role=heading]{display:flex;padding:.375rem .5rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.command [role=menu] [role=group]:not(:has([role=menuitem]:not([aria-hidden=true]))){display:none}.command [role=menu] [role=separator]{margin:.25rem -.25rem;height:1px;border-color:var(--border);background-color:var(--border)}.command [role=menu]:not(:has([role=menuitem]:not([aria-hidden=true]))):before{margin:-.25rem;display:flex;align-items:center;justify-content:center;padding:1.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.command [role=menu][data-empty]:not(:has([role=menuitem]:not([aria-hidden=true]))):before{content:attr(data-empty)}.command [role=menu]:not([data-empty]):not(:has([role=menuitem]:not([aria-hidden=true]))):before{content:"No results found"}.command:not([data-command-initialized]) [role=menuitem]:hover{background-color:var(--accent);color:var(--accent-foreground)}.command:has(>header input:not(:placeholder-shown)) [role=separator]{display:none}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius);background-color:var(--muted)}.skeleton:has(+*){margin-bottom:.5rem}.skeleton:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--foreground) 6%,transparent) 50%,transparent 100%);animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:skeleton-pulse 1.6s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}}.spinner{display:inline-block;width:1rem;height:1rem;border-radius:9999px;border:2px solid color-mix(in srgb,var(--muted-foreground) 20%,transparent);border-top-color:var(--primary);animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.item{display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-md);padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.item>[data-slot=item-title]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;font-weight:500}.item>svg{width:1rem;height:1rem;flex-shrink:0;color:var(--muted-foreground)}.item>[data-slot=item-description]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.item-interactive{cursor:pointer;border-radius:var(--radius-md);outline:none}.item-interactive:hover{background-color:var(--accent)}.item-interactive:active{background-color:var(--accent-hover)}.item-interactive:focus-visible{box-shadow:var(--focus-ring)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1.5rem;text-align:center;border:1px dashed var(--border);background-color:var(--card);border-radius:var(--radius-md)}.empty>div:first-child:has(>svg){margin-bottom:.5rem}.empty>.ill{margin-bottom:.5rem;height:54px;width:54px;display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--muted);border:1px solid var(--border);color:var(--muted-foreground)}.empty>.ill>svg{width:26px;height:26px}.empty>h3{font-size:1rem;line-height:1.5rem;font-weight:600;letter-spacing:-.025em}.empty>h4{font-size:1rem;line-height:1.5rem;font-weight:600;letter-spacing:-.025em}.empty>p{max-width:28rem;text-wrap:balance;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.empty>.cluster{margin-top:.5rem}.empty>.text-link{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}.empty>svg{width:3rem;height:3rem;color:var(--muted-foreground)}.avatar{position:relative;width:2.5rem;height:2.5rem;display:flex;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:9999px;font-size:.875rem;line-height:1.25rem;font-weight:700;border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.avatar>img,.avatar>svg{aspect-ratio:1/1;width:100%;height:100%;object-fit:cover}.avatar>.avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.875rem;line-height:1.25rem;font-weight:700;color:var(--primary)}.avatar-sm{width:2rem;height:2rem}.avatar-lg{width:3rem;height:3rem}.avatar-stack{display:flex}.avatar-stack>.avatar{margin-left:-10px;box-shadow:0 0 0 2px var(--background)}.avatar-stack>.avatar:first-child{margin-left:0}.pagination{display:flex;align-items:center;justify-content:center;gap:.25rem}.pagination>button,.pagination>a{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:.875rem;line-height:1.25rem;font-weight:500;cursor:pointer;border-width:1px;border-color:transparent;color:var(--foreground);text-decoration:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;outline:none}:is(.pagination>button,.pagination>a):focus-visible{box-shadow:var(--focus-ring);position:relative;z-index:1}:is(.pagination>button,.pagination>a)[aria-current=page]{border-color:var(--primary);background-color:var(--primary);color:var(--primary-foreground)}:is(.pagination>button,.pagination>a)[aria-current=page]:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}:is(.pagination>button,.pagination>a)[disabled],:is(.pagination>button,.pagination>a)[aria-disabled=true]{opacity:.35;pointer-events:none}.pagination>button:hover,.pagination>a:hover{border-color:var(--border);background-color:var(--accent);color:var(--accent-foreground)}.progress{position:relative;display:block;height:.5rem;width:100%;overflow:hidden;border-radius:9999px;background-color:var(--muted);appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid var(--border);color:var(--primary)}.progress::-webkit-progress-bar{background-color:var(--muted);border-radius:var(--radius-pill)}.progress::-webkit-progress-value{background-color:var(--primary);border-radius:var(--radius-pill);transition:width var(--dur-slower) var(--ease)}.progress::-moz-progress-bar{background-color:var(--primary);border-radius:var(--radius-pill)}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress>.progress-bar{height:100%;border-radius:9999px;background-color:var(--primary);transition:width var(--dur-slower) var(--ease)}.progress:indeterminate{background-color:var(--muted);background-image:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 45%,transparent),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:gc-slide 1.4s var(--ease) infinite}.progress:indeterminate::-webkit-progress-bar{background:transparent}.form{display:flex;flex-direction:column;gap:1rem}.input-group{position:relative;display:flex;align-items:center}.input-group>input{padding-inline-start:2.5rem}.input-group>svg,.input-group>.input-icon{pointer-events:none;position:absolute;left:.75rem;width:1rem;height:1rem;color:var(--muted-foreground);top:50%;transform:translateY(-50%)}.input-group>.input-addon{position:absolute;right:.75rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);top:50%;transform:translateY(-50%)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group>label{font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:500}.form-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.75rem;border-top-width:1px;border-color:var(--border);padding-top:1rem}.calendar{display:inline-flex;flex-direction:column;gap:.75rem;padding:.75rem;font-size:.875rem;line-height:1.25rem;width:17.5rem;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.calendar .calendar__header{display:flex;align-items:center;justify-content:space-between}.calendar .calendar__label{font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--foreground)}.calendar .calendar__nav{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;color:var(--muted-foreground);background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.calendar .calendar__nav:hover{background:var(--secondary-hover);color:var(--foreground)}.calendar .calendar__nav:focus-visible{outline:none;box-shadow:var(--focus-ring)}.calendar .calendar__nav>svg{display:block}.calendar .calendar__weekdays,.calendar .calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.125rem}.calendar .calendar__weekdays{font-weight:400;font-size:.6875rem;color:var(--muted-foreground)}.calendar .calendar__weekdays>span{display:flex;align-items:center;justify-content:center;height:2rem}.calendar .calendar__pad{display:block}.calendar .calendar__day{display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;line-height:1.25rem;font-weight:400;width:2.25rem;height:2.25rem;color:var(--foreground);background:transparent;border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.calendar .calendar__day:hover{background:var(--accent);color:var(--accent-foreground)}.calendar .calendar__day:focus-visible{outline:none;box-shadow:var(--focus-ring)}.calendar .calendar__day[data-today]:not([aria-selected=true]){font-weight:600;color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.calendar .calendar__day[aria-selected=true]{background:var(--primary);color:var(--primary-foreground);font-weight:500}.calendar .calendar__day[aria-selected=true]:hover{background:var(--primary-hover);color:var(--primary-foreground)}.calendar .calendar__day:disabled,.calendar .calendar__day[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.context-menu{position:fixed;z-index:50;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--popover);padding:.25rem;color:var(--popover-foreground);min-width:12.5rem;box-shadow:var(--shadow-md);outline:none;transform-origin:top left;animation:gc-pop-in var(--dur) var(--ease-out)}.context-menu [role=menuitem],.context-menu [role=menuitemcheckbox],.context-menu [role=menuitemradio]{position:relative;display:flex;cursor:default;align-items:center;gap:.5rem;border-radius:var(--radius-sm);padding:.375rem .5rem;font-size:.875rem;line-height:1.25rem;outline-style:hidden;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}:is(.context-menu [role=menuitem],.context-menu [role=menuitemcheckbox],.context-menu [role=menuitemradio]):not([aria-disabled=true]):hover{background-color:var(--accent);color:var(--accent-foreground)}:is(.context-menu [role=menuitem],.context-menu [role=menuitemcheckbox],.context-menu [role=menuitemradio]):not([aria-disabled=true]):focus-visible{background-color:var(--accent);color:var(--accent-foreground)}:is(.context-menu [role=menuitem],.context-menu [role=menuitemcheckbox],.context-menu [role=menuitemradio]).active{background-color:var(--accent);color:var(--accent-foreground)}.context-menu [role=menuitem]:disabled,.context-menu [role=menuitemcheckbox]:disabled,.context-menu [role=menuitemradio]:disabled{pointer-events:none;opacity:.5}.context-menu [role=menuitem][aria-disabled=true],.context-menu [role=menuitemcheckbox][aria-disabled=true],.context-menu [role=menuitemradio][aria-disabled=true]{pointer-events:none;opacity:.5}.context-menu [role=menuitem] svg,.context-menu [role=menuitemcheckbox] svg,.context-menu [role=menuitemradio] svg{width:1rem;height:1rem;flex-shrink:0}.context-menu [role=menuitem][aria-hidden=true],.context-menu [role=menuitemcheckbox][aria-hidden=true],.context-menu [role=menuitemradio][aria-hidden=true]{display:none}.context-menu [role=menuitem] svg,.context-menu [role=menuitemcheckbox] svg,.context-menu [role=menuitemradio] svg{color:var(--muted-foreground)}.context-menu [role=heading]{display:flex;padding:.375rem .5rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.context-menu [role=separator]{margin:.25rem -.25rem;height:1px;border-color:var(--border);background-color:var(--border)}.date-picker{position:relative;width:100%;max-width:100%;display:inline-flex;flex-direction:column}.date-picker>.input{width:100%;padding-right:2.25rem;cursor:pointer}.date-picker>.input:disabled{cursor:not-allowed}.date-picker>.date-picker-icon{position:absolute;right:.75rem;color:var(--muted-foreground);top:50%;transform:translateY(-50%);pointer-events:none}.date-picker>.date-picker-trigger{width:100%;justify-content:flex-start;gap:.5rem;font-weight:400}.date-picker>.date-picker-trigger .date-picker-value{flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.875rem;line-height:1.25rem}.date-picker>[data-popover]{width:auto;padding:.75rem}.date-picker[aria-disabled=true]{opacity:.5;pointer-events:none}.hover-card{position:relative;display:inline-flex}.hover-card-trigger{cursor:pointer;color:var(--link);text-underline-offset:4px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-weight:500;text-decoration-line:underline;text-underline-offset:2px;border-radius:var(--radius);outline:none;text-decoration-color:color-mix(in srgb,var(--link) 40%,transparent);transition:color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease)}.hover-card-trigger:hover{text-decoration-line:underline}.hover-card-trigger:hover{color:var(--link-hover)}.hover-card-trigger:focus-visible{box-shadow:var(--focus-ring)}.hover-card-content{position:absolute;z-index:50;width:18rem;display:flex;flex-direction:column;gap:.75rem;padding:1rem;font-size:.875rem;line-height:1.25rem;color:var(--popover-foreground);background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-md);--hc-align-x: 0px;--hc-align-y: 0px;--hc-slide-x: 0px;--hc-slide-y: 0px;--hc-scale: 1;opacity:1;visibility:visible;box-shadow:var(--shadow-lg);transform:translate(calc(var(--hc-align-x) + var(--hc-slide-x)),calc(var(--hc-align-y) + var(--hc-slide-y))) scale(var(--hc-scale));transform-origin:var(--hc-origin, top center);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility var(--dur) var(--ease)}.hover-card-content[aria-hidden=true]{visibility:hidden;opacity:0;transition-duration:var(--dur-press);--hc-scale: .95}.hover-card-content[aria-hidden=true]:not([data-side]),.hover-card-content[aria-hidden=true][data-side=bottom]{--hc-slide-y: -.5rem}.hover-card-content[aria-hidden=true][data-side=top]{--hc-slide-y: .5rem}.hover-card-content[aria-hidden=true][data-side=left]{--hc-slide-x: .5rem}.hover-card-content[aria-hidden=true][data-side=right]{--hc-slide-x: -.5rem}.hover-card-content:not([data-side]),.hover-card-content[data-side=bottom]{top:100%;margin-top:.5rem;--hc-origin: top center}.hover-card-content[data-side=top]{bottom:100%;margin-bottom:.5rem;--hc-origin: bottom center}.hover-card-content[data-side=left]{right:100%;margin-right:.5rem;--hc-origin: center right}.hover-card-content[data-side=right]{left:100%;margin-left:.5rem;--hc-origin: center left}:is(.hover-card-content:not([data-side]),.hover-card-content[data-side=bottom],.hover-card-content[data-side=top]):not([data-align]),:is(.hover-card-content:not([data-side]),.hover-card-content[data-side=bottom],.hover-card-content[data-side=top])[data-align=start]{left:0}:is(.hover-card-content:not([data-side]),.hover-card-content[data-side=bottom],.hover-card-content[data-side=top])[data-align=end]{right:0}:is(.hover-card-content:not([data-side]),.hover-card-content[data-side=bottom],.hover-card-content[data-side=top])[data-align=center]{left:50%;--hc-align-x: -50%}:is(.hover-card-content[data-side=left],.hover-card-content[data-side=right]):not([data-align]),:is(.hover-card-content[data-side=left],.hover-card-content[data-side=right])[data-align=start]{top:0}:is(.hover-card-content[data-side=left],.hover-card-content[data-side=right])[data-align=end]{bottom:0}:is(.hover-card-content[data-side=left],.hover-card-content[data-side=right])[data-align=center]{top:50%;--hc-align-y: -50%}.hover-card-header{display:flex;align-items:center;gap:.75rem}.hover-card-title{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1}.hover-card-subtitle{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.hover-card-body{font-size:.875rem;line-height:1.25rem;line-height:1.625}.hover-card-meta{font-size:.75rem;line-height:1rem;color:var(--muted-foreground)}.resizable{width:100%;display:flex;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card)}.resizable[data-direction=vertical]{flex-direction:column}.resizable-panel{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:1rem;font-size:.875rem;line-height:1.25rem;color:var(--card-foreground)}.resizable-handle{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;background:var(--border);transition:background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.resizable-handle:hover{background:var(--ring)}.resizable-handle:hover:after{background:var(--ring)}.resizable-handle:focus-visible{outline:none;box-shadow:var(--focus-ring);z-index:1}.resizable-handle:after{content:"";border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted-foreground) 55%,transparent);transition:background-color var(--dur) var(--ease)}.resizable:not([data-direction=vertical])>.resizable-handle{width:1px;cursor:col-resize;touch-action:none;margin-inline:-3px;padding-inline:3px;background-clip:content-box}.resizable:not([data-direction=vertical])>.resizable-handle:after{width:3px;height:1.75rem}.resizable[data-direction=vertical]>.resizable-handle{height:1px;cursor:row-resize;touch-action:none;margin-block:-3px;padding-block:3px;background-clip:content-box}.resizable[data-direction=vertical]>.resizable-handle:after{height:3px;width:1.75rem}.resizable[data-resizing]{-webkit-user-select:none;user-select:none}.resizable[data-resizing]>.resizable-handle{background-clip:content-box}.resizable[data-resizing]>.resizable-handle{background:var(--ring)}.resizable[data-resizing]>.resizable-handle:after{background:var(--ring)}.scroll-area{position:relative;overflow:auto;border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.scroll-area::-webkit-scrollbar{width:8px;height:8px}.scroll-area::-webkit-scrollbar-track{background:transparent}.scroll-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px;border:2px solid transparent;background-clip:padding-box}.scroll-area::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground);background-clip:padding-box}.scroll-area::-webkit-scrollbar-corner{background:transparent}.scroll-area:focus-visible{outline:none;box-shadow:var(--focus-ring)}.scroll-area--bordered{border:1px solid var(--border);background:var(--card)}@supports (animation-timeline: scroll(self)){.scroll-area:before,.scroll-area:after{content:"";position:sticky;display:block;left:0;right:0;height:.75rem;flex:none;pointer-events:none;z-index:1}.scroll-area:before{top:0;margin-bottom:-.75rem;background:linear-gradient(to bottom,color-mix(in srgb,var(--foreground) 14%,transparent),transparent);animation:gc-fade-in linear both;animation-timeline:scroll(self);animation-range:0 1.5rem}.scroll-area:after{bottom:0;margin-top:-.75rem;background:linear-gradient(to top,color-mix(in srgb,var(--foreground) 14%,transparent),transparent);animation:gc-fade-out linear both;animation-timeline:scroll(self);animation-range:calc(100% - 1.5rem) 100%}}.separator{display:block;flex-shrink:0;background:var(--border);width:100%;height:1px;margin:1rem 0;border:0}.separator[data-orientation=vertical]{width:1px;height:100%;margin:0 1rem}.sheet{position:fixed;inset:0;z-index:50;margin:0;max-width:none;max-height:none;width:100%;height:100%;border-width:0px;background-color:transparent;padding:0;color:var(--card-foreground);overflow:hidden;transition:overlay var(--dur-slow) allow-discrete,display var(--dur-slow) allow-discrete}.sheet::backdrop{background-color:#0009;--un-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);opacity:0;transition:opacity var(--dur-slow) var(--ease),overlay var(--dur-slow) allow-discrete,display var(--dur-slow) allow-discrete}.sheet[open]::backdrop{opacity:1}@starting-style{.sheet[open]::backdrop{opacity:0}}.sheet>*{position:fixed;display:flex;flex-direction:column;gap:1rem;border-color:var(--border);background-color:var(--card);padding:1.5rem;color:var(--card-foreground);box-shadow:var(--shadow-lg);transition:transform var(--dur-slow) var(--ease)}.sheet[data-side=right]>*{top:0;bottom:0;right:0;height:100%;width:75%;max-width:24rem;border-left-width:1px;transform:translate(100%)}.sheet[data-side=left]>*{top:0;bottom:0;left:0;height:100%;width:75%;max-width:24rem;border-right-width:1px;transform:translate(-100%)}.sheet[data-side=top]>*{left:0;right:0;top:0;width:100%;border-bottom-width:1px;transform:translateY(-100%)}.sheet[data-side=bottom]>*{left:0;right:0;bottom:0;width:100%;border-top-width:1px;transform:translateY(100%)}.sheet[open]>*{transform:translate(0) translateY(0)}@starting-style{.sheet[open][data-side=right]>*{transform:translate(100%)}.sheet[open][data-side=left]>*{transform:translate(-100%)}.sheet[open][data-side=top]>*{transform:translateY(-100%)}.sheet[open][data-side=bottom]>*{transform:translateY(100%)}}.sheet>*>header{position:relative;display:flex;flex-direction:column;gap:.375rem;border-bottom-width:1px;border-color:var(--border);padding-bottom:1rem}.sheet>*>header>h2{font-size:1.125rem;line-height:1.75rem;font-weight:600;line-height:1;letter-spacing:-.025em}.sheet>*>header>p{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);line-height:1.5}.sheet>*>section{flex:1 1 0%;overflow-y:auto}.sheet>*>footer{display:flex;flex-direction:column-reverse;gap:.5rem;border-top-width:1px;border-color:var(--border);padding-top:1rem}@media(min-width:640px){.sheet>*>footer{flex-direction:row;justify-content:flex-end}}.sheet label{font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:500}.sheet>*>header>[data-sheet-close]{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--muted-foreground);opacity:.7;transition:opacity var(--dur) var(--ease),color var(--dur) var(--ease),background-color var(--dur) var(--ease);outline:none}.sheet>*>header>[data-sheet-close] svg{pointer-events:none;width:1rem;height:1rem;flex-shrink:0}.sheet>*>header>[data-sheet-close]:hover{background-color:var(--accent);color:var(--foreground);opacity:1}.sheet>*>header>[data-sheet-close]:focus-visible{opacity:1;box-shadow:var(--focus-ring)}.toggle{display:inline-flex;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;gap:.5rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;height:2.25rem;min-width:2.25rem;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--foreground);cursor:pointer;outline:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.toggle>svg{width:1rem;height:1rem;flex-shrink:0}.toggle:hover{background:var(--accent);color:var(--accent-foreground)}.toggle:focus-visible{box-shadow:var(--focus-ring)}.toggle[aria-pressed=true]{background:var(--accent);color:var(--accent-foreground)}.toggle[aria-pressed=true]:hover{background:var(--accent-hover)}.toggle-sm{height:2rem;min-width:2rem;padding-left:.625rem;padding-right:.625rem;font-size:.75rem;line-height:1rem}.toggle-lg{height:2.5rem;min-width:2.5rem;padding-left:1rem;padding-right:1rem}.toggle:disabled,.toggle[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.toggle-group{display:inline-flex;align-items:stretch}.toggle-group .toggle-group-item{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;-webkit-user-select:none;user-select:none;white-space:nowrap;height:2.25rem;min-width:2.25rem;background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:0;cursor:pointer;outline:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.toggle-group .toggle-group-item:not(:first-child){margin-left:-1px}.toggle-group .toggle-group-item:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.toggle-group .toggle-group-item:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.toggle-group .toggle-group-item:hover:not(:disabled):not([aria-disabled=true]){background:var(--accent);color:var(--accent-foreground)}.toggle-group .toggle-group-item[aria-checked=true],.toggle-group .toggle-group-item[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);position:relative;z-index:1}.toggle-group .toggle-group-item:focus-visible{position:relative;z-index:2;box-shadow:var(--focus-ring)}.toggle-group .toggle-group-item:disabled,.toggle-group .toggle-group-item[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.form-label{font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:500}}@layer page{.footer{border-top-width:1px;border-color:var(--border);padding:4rem 1.5rem}.footer-grid{display:grid;margin-left:auto;margin-right:auto;max-width:72rem;gap:1.75rem;grid-template-columns:1.6fr repeat(3,1fr)}.fcol h6{margin-bottom:.75rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:600;text-transform:uppercase;letter-spacing:.12em}.fcol a{display:block;padding-top:.25rem;padding-bottom:.25rem;font-size:.875rem;line-height:1.25rem;text-decoration:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--foreground-soft);outline:none}.fcol a:hover{color:var(--primary)}.fcol a:focus-visible{color:var(--primary);box-shadow:var(--focus-ring)}.fcol-brand .nav-brand{margin-bottom:.75rem}.fcol-brand p{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);max-width:30ch}.legal{margin-left:auto;margin-right:auto;max-width:72rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1.75rem;border-top-width:1px;border-color:var(--border);padding-top:1.25rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground)}.legal-links{display:flex;gap:1rem}.legal-links a{text-decoration:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--muted-foreground)}.legal-links a:hover{color:var(--foreground)}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.footer-grid{grid-template-columns:1fr}}.nav{border-bottom-width:1px;border-color:var(--border);background-color:var(--card);padding-left:1rem;padding-right:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}@media(min-width:640px){.nav{padding-left:1.5rem;padding-right:1.5rem}}.nav-brand{font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:600;letter-spacing:-.025em;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-radius:var(--radius);outline:none}.nav-brand:hover{color:var(--muted-foreground)}.nav-brand:focus-visible{box-shadow:var(--focus-ring)}.nav-brand-mark{display:inline-grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:var(--radius-md);background-color:var(--primary);font-size:.875rem;line-height:1.25rem;color:var(--primary-foreground);font-weight:800;letter-spacing:-.04em}.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem}.nav-links a{display:inline-flex;align-items:center;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);font-weight:500;text-decoration:none;height:2rem;border-radius:var(--radius-sm);padding-left:.75rem;padding-right:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;outline:none}.nav-links a:hover{background-color:var(--accent);color:var(--foreground)}.nav-links a:focus-visible{color:var(--foreground);box-shadow:var(--focus-ring)}.nav-links a[aria-current=page]{background-color:var(--accent);color:var(--foreground)}.nav-auth{display:flex;align-items:center;gap:.5rem}.nav-collapse{display:contents}.nav-burger{display:none;margin-left:auto;width:38px;height:38px;flex-direction:column;gap:4px;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius);background:transparent}.nav-burger span{display:block;width:16px;height:2px;background:var(--foreground);border-radius:2px}@media(max-width:860px){.nav-burger{display:inline-flex;align-items:center;justify-content:center}.nav-collapse{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:8px;order:5;padding-bottom:8px}.nav:has(.nav-burger[aria-expanded=true]) .nav-collapse{display:flex}.nav-links{flex-direction:column;align-items:stretch;gap:2px}.nav-links a{padding:10px 12px}.nav-auth{gap:8px}}.hero{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 1.5rem;text-align:center;flex:1 1 0%;container-type:inline-size;container-name:hero}.hero:before{content:"";position:absolute;inset:0 0 auto;height:65%;z-index:-1;pointer-events:none;opacity:.55;background:radial-gradient(38% 50% at 18% 8%,color-mix(in srgb,var(--grad-develop-start) 55%,transparent),transparent 72%),radial-gradient(34% 46% at 46% 0%,color-mix(in srgb,var(--cyan) 48%,transparent),transparent 72%),radial-gradient(36% 50% at 62% 6%,color-mix(in srgb,var(--grad-preview-end) 48%,transparent),transparent 72%),radial-gradient(42% 54% at 84% 12%,color-mix(in srgb,var(--grad-ship-end) 45%,transparent),transparent 72%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,transparent 100%)}:root[data-theme=dark] .hero:before,.dashboard-page .hero:before{opacity:.4}.hero-badge{height:1.75rem;display:inline-flex;align-items:center;gap:.5rem;border-width:1px;border-color:var(--border);border-radius:9999px;background-color:var(--card);padding-left:.75rem;padding-right:.75rem;color:var(--muted-foreground);margin-bottom:2rem;font-size:.875rem;line-height:1.25rem;font-weight:500;box-shadow:var(--shadow-sm)}.hero-badge:before{content:"";width:.375rem;height:.375rem;border-radius:9999px;background:linear-gradient(90deg,var(--grad-develop-start),var(--grad-preview-end))}.hero h1,.hero h2{margin-bottom:1.25rem;max-width:48rem;font-size:40px;font-weight:600;line-height:1.05;letter-spacing:-.05em;color:var(--foreground)}@media(min-width:640px){.hero h1,.hero h2{font-size:48px;line-height:48px}}.hero-subtitle{margin-left:auto;margin-right:auto;margin-bottom:2.5rem;max-width:36rem;text-wrap:balance;font-size:1.125rem;color:var(--muted-foreground);line-height:1.75rem}.cta-button{height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;background-color:var(--primary);padding-left:1.5rem;padding-right:1.5rem;color:var(--primary-foreground);-webkit-user-select:none;user-select:none;border-width:1px;border-color:transparent;font-size:1rem;line-height:1.5rem;font-weight:500;text-decoration:none;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;box-shadow:var(--shadow-sm);cursor:pointer;outline:none}.cta-button:hover{background-color:var(--primary-hover)}.cta-button:active{transform:translateY(1px)}.cta-button:focus-visible{box-shadow:var(--focus-ring)}.cta-button svg{width:1rem;height:1rem;transition:transform var(--dur-slow) var(--ease)}.cta-button:hover svg{transform:translate(3px)}.text-gradient,.text-gradient-develop,.text-gradient-preview,.text-gradient-ship{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.text-gradient,.text-gradient-develop{background-image:linear-gradient(90deg,var(--grad-develop-start),var(--grad-develop-end))}.text-gradient-preview{background-image:linear-gradient(90deg,var(--grad-preview-start),var(--grad-preview-end))}.text-gradient-ship{background-image:linear-gradient(90deg,var(--grad-ship-start),var(--grad-ship-end))}.landing-page{position:relative;min-height:100vh;display:flex;flex-direction:column;background-color:var(--background)}.features{position:relative;z-index:10;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-left:auto;margin-right:auto;max-width:72rem;gap:1.5rem;padding:6rem 1.5rem}.feature-card{display:flex;flex-direction:column;gap:1.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:1.5rem;color:var(--card-foreground);cursor:default;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.feature-card:hover{border-color:var(--primary)}.feature-icon{margin-bottom:1rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.feature-icon svg{width:1.25rem;height:1.25rem}.feature-card h3{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;color:var(--foreground);font-weight:600;letter-spacing:-.025em}.feature-badge{margin-left:.375rem;vertical-align:middle;font-size:10px;font-weight:600;letter-spacing:.025em;text-transform:uppercase;border-radius:9999px;padding:.125rem .375rem;background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.feature-card p{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);line-height:1.625}.cta-band{margin-left:auto;margin-right:auto;max-width:72rem;padding:5rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;background:var(--muted);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.cta-band h2{font-size:1.5rem;line-height:2rem;color:var(--foreground);font-weight:600;letter-spacing:-.03em}@media(min-width:640px){.cta-band h2{font-size:1.875rem;line-height:2.25rem}}.cta-band p{max-width:28rem;font-size:1rem;line-height:1.5rem;color:var(--muted-foreground)}.alpha-banner{position:sticky;top:0;z-index:50;width:100%;padding:.375rem 1rem;text-align:center;font-size:.75rem;line-height:1rem;background:var(--link-bg-soft);color:var(--primary);border-bottom:1px solid color-mix(in srgb,var(--primary) 40%,transparent)}@supports (animation-timeline: scroll()){.alpha-banner{animation:gc-banner-shadow linear both;animation-timeline:scroll();animation-range:0 3rem}}.alpha-banner strong{font-weight:600;letter-spacing:.025em;text-transform:uppercase}@media(min-width:640px){.alpha-banner{font-size:.875rem;line-height:1.25rem}}.about-page{min-height:100vh;background-color:var(--background);padding:4rem 1rem}@media(min-width:640px){.about-page{padding-left:2rem;padding-right:2rem}}.about-hero{margin-bottom:3rem;padding-top:2rem;text-align:center}.about-hero h1{font-size:1.875rem;line-height:2.25rem;color:var(--foreground);font-weight:600;letter-spacing:-.03em}@media(min-width:640px){.about-hero h1{font-size:2.25rem;line-height:2.5rem}}.about-hero .hero-subtitle{margin-top:.75rem;font-size:1rem;line-height:1.5rem;color:var(--muted-foreground)}.about-content{margin-left:auto;margin-right:auto;max-width:48rem;display:flex;flex-direction:column;gap:1.5rem}.about-section{display:flex;flex-direction:column;gap:1.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:1.5rem;color:var(--card-foreground)}.about-section h2{margin-bottom:.75rem;font-size:1.125rem;line-height:1.75rem;color:var(--foreground);font-weight:600}.about-section p{color:var(--foreground);line-height:1.625}.about-section a{color:var(--primary);font-weight:500}.about-section a:hover{text-decoration-line:underline}.pricing-page{min-height:100vh;background-color:var(--background);padding:4rem 1rem}@media(min-width:640px){.pricing-page{padding-left:2rem;padding-right:2rem}}.pricing-hero{margin-bottom:3rem;padding-top:2rem;text-align:center}.pricing-hero h1{font-size:1.875rem;line-height:2.25rem;color:var(--foreground);font-weight:600;letter-spacing:-.03em}@media(min-width:640px){.pricing-hero h1{font-size:2.25rem;line-height:2.5rem}}.pricing-hero .hero-subtitle{margin-top:.75rem;font-size:1rem;line-height:1.5rem;color:var(--muted-foreground)}.pricing-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-left:auto;margin-right:auto;max-width:64rem;gap:1.5rem;padding-top:.75rem}.pricing-card{position:relative;display:flex;flex-direction:column;gap:1.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:1.5rem;color:var(--card-foreground)}.pricing-card h3{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em}.pricing-card.featured{background:var(--primary);color:var(--primary-foreground);border-color:transparent;box-shadow:var(--shadow-lg)}.pricing-card.featured h3,.pricing-card.featured .price{color:var(--primary-foreground)}.pricing-card.featured .price span,.pricing-card.featured .features-list li{color:color-mix(in srgb,var(--primary-foreground) 72%,transparent)}.pricing-card.featured .features-list li{border-color:color-mix(in srgb,var(--primary-foreground) 14%,transparent)}.pricing-card.featured .features-list li:before{background:var(--primary-foreground)}.pricing-card.featured .btn-primary,.pricing-card.featured .cta-button{background:var(--primary-foreground);color:var(--primary)}:is(.pricing-card.featured .btn-primary,.pricing-card.featured .cta-button):hover{background:color-mix(in srgb,var(--primary-foreground) 90%,#000)}.pricing-card .badge{position:absolute;top:-.75rem;left:50%;z-index:10;--un-translate-x:-50%;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));background:var(--card);color:var(--foreground);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.pricing-card .price{margin-bottom:1.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em}.pricing-card .price span{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);font-weight:400}.features-list{margin-bottom:1.5rem;flex:1 1 0%;list-style-type:none;padding:0}.features-list li{display:flex;align-items:center;gap:.5rem;border-bottom-width:1px;border-color:var(--border);padding-top:.5rem;padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem}.features-list li:before{content:"";width:.375rem;height:.375rem;flex-shrink:0;border-radius:9999px;background-color:var(--success)}.features-list li:last-child{border-bottom-width:0px}.auth-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--background)}.auth-container{margin:auto;width:100%;max-width:24rem;display:flex;flex-direction:column;gap:1.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:1.5rem;color:var(--card-foreground);padding:2rem}.auth-container h1{margin-bottom:1.5rem;text-align:center;font-size:1.25rem;line-height:1.75rem;color:var(--foreground);font-weight:600;letter-spacing:-.025em}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-link{margin-top:1.5rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.auth-link a{color:var(--primary);font-weight:500}.auth-link a:hover{text-decoration-line:underline}.dashboard-page{min-height:100vh;background-color:var(--background);padding:2rem 1rem}@media(min-width:640px){.dashboard-page{padding-left:2rem;padding-right:2rem}}.dashboard-header{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.dashboard-header h1{margin:0;font-size:1.25rem;line-height:1.75rem;color:var(--foreground);font-weight:600;letter-spacing:-.025em}.dashboard-content{display:flex;flex-direction:column;gap:1.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);color:var(--card-foreground);padding:1.5rem}@media(min-width:640px){.dashboard-content{padding:2rem}}.dashboard-actions{display:flex;align-items:center;gap:.5rem}.dash-tabs{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.create-team-form{margin-top:1rem;display:flex;justify-content:center;gap:.5rem}.create-team-form input{max-width:18rem}.maps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;container-type:inline-size;container-name:maps}.map-card{display:flex;flex-direction:column;gap:1.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:1.5rem;color:var(--card-foreground);cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.map-card h3{font-size:1rem;line-height:1.5rem;font-weight:500}.map-card p{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.map-card:hover{border-color:var(--primary)}.map-card-content{display:flex;flex-direction:column;gap:.5rem}.map-card-actions{margin-top:.5rem;display:flex;gap:.5rem;border-top-width:1px;border-color:var(--border);padding-top:1rem}.empty-state{@apply empty;}.modal{max-width:42rem;width:90%;border-width:1px;border-color:var(--border);border-radius:var(--radius-xl);background-color:var(--card);padding:0;color:var(--foreground)}.modal::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{padding:1.5rem}.modal-content>header{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between}.modal-content>header h2{font-size:1.25rem;line-height:1.75rem;font-weight:700;letter-spacing:-.025em}@media(min-width:640px){.modal-content{padding:2rem}}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-icon{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border-width:1px;border-color:transparent;font-size:1.25rem;line-height:1.75rem;line-height:1;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.btn-icon:hover{background-color:var(--accent)}.btn-minimize{display:flex;align-items:center;justify-content:center;padding:.25rem}.btn-minimize svg{width:.875rem;height:.875rem}.btn-danger{height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem;font-weight:500;cursor:pointer;background-color:var(--destructive);color:var(--destructive-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-danger:hover{background-color:var(--destructive-hover)}.basemap-grid{margin-bottom:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.form-label-sm{margin-bottom:.375rem;display:block;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500}.layer-block{margin-bottom:1rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--muted);padding:1rem}.layer-block-header{margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between}.layer-block-header h4{font-size:.875rem;line-height:1.25rem;font-weight:500}.layer-specific-fields{margin-top:.75rem;border-top-width:1px;border-color:var(--border);padding-top:.75rem}.color-input{width:2.5rem;height:2rem;cursor:pointer;border-width:1px;border-color:var(--border);border-radius:var(--radius);background-color:var(--card);padding:.125rem}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none}.template-page{min-height:100vh;background-color:var(--background)}.template-header{border-bottom-width:1px;border-color:var(--border);padding:1.5rem 1rem}.template-header h1{margin-bottom:1rem;font-size:1.5rem;line-height:2rem;font-weight:700}@media(min-width:640px){.template-header{padding-left:2rem;padding-right:2rem}}.template-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.template-search{width:100%}@media(min-width:640px){.template-search{width:16rem}}.template-tabs{display:flex;flex-wrap:wrap;gap:.25rem}.template-tabs button{border-radius:var(--radius-md);padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s;color:var(--muted-foreground)}.template-tabs button.tab-active{background-color:var(--primary);color:var(--primary-foreground);font-weight:500}.template-tabs button:hover{background-color:var(--muted);color:var(--foreground)}.template-main{min-height:calc(100vh - 14rem);display:flex;flex-direction:column;gap:0}@media(min-width:1024px){.template-main{flex-direction:row}}.template-catalog{width:100%;flex-shrink:0;overflow-y:auto;border-right-width:1px;border-color:var(--border);padding:1rem;max-height:70vh}@media(min-width:1024px){.template-catalog{width:18rem}}@media(min-width:1280px){.template-catalog{width:20rem}}@media(min-width:1024px){.template-catalog{position:sticky;top:0;max-height:calc(100vh - 14rem)}}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}@media(min-width:640px){.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.template-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.template-card{width:100%;display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-md);padding:.625rem .75rem;text-align:left;border-width:1px;border-color:transparent;background-color:var(--card);color:var(--foreground);cursor:pointer;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.template-card.selected{border-color:var(--primary);--un-ring-width:1px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);--un-ring-color:var(--primary) ;background:color-mix(in srgb,var(--primary) 8%,transparent)}.template-card:hover{border-color:var(--border);background-color:var(--muted)}.template-card-name{flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:500}.template-card-badge{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius);padding:.125rem .375rem;background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.template-editor{min-width:0;flex:1 1 0%}.template-loading{height:12rem;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground)}.editor-layout{height:100%;min-height:calc(100vh - 14rem);display:flex;flex-direction:column}@media(min-width:1024px){.editor-layout{flex-direction:row}}.editor-pane{min-width:0;display:flex;flex:1 1 0%;flex-direction:column;border-right-width:1px;border-color:var(--border)}.editor-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:var(--border);padding:.75rem 1rem}.editor-header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:600}.editor-actions{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.code-editor{width:100%;flex:1 1 0%;overflow:auto;padding:1rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;outline:2px solid transparent;outline-offset:2px;min-height:300px;white-space:pre-wrap;word-break:break-word;tab-size:2;background:#0f1117;color:#e6edf3;caret-color:#e6edf3}@media(min-width:1024px){.code-editor{min-height:0}}.code-editor .tok-tag{color:#7ee787}.code-editor .tok-attr{color:#79c0ff}.code-editor .tok-str{color:#a5d6ff}.code-editor .tok-comment{color:#8b949e;font-style:italic}.preview-pane{width:100%;display:flex;flex-direction:column;background-color:var(--muted)}@media(min-width:1024px){.preview-pane{width:50%}}@media(min-width:1280px){.preview-pane{width:60%}}.preview-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:var(--border);padding:.75rem 1rem}.preview-header h3{font-size:.875rem;line-height:1.25rem;font-weight:500}.preview-frame{flex:1 1 0%;overflow:auto;padding:1rem}.preview-iframe{width:100%;height:100%;min-height:400px;border-width:0px;border-radius:var(--radius-lg);background:var(--background);box-shadow:var(--shadow-sm)}.template-import{margin-left:auto;margin-right:auto;width:100%;max-width:42rem;padding:1.5rem}.import-panel h2{font-size:1.125rem;line-height:1.75rem;font-weight:600}.import-panel>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(1rem * var(--un-space-y-reverse))}.template-import-textarea{min-height:120px;font-size:.875rem;line-height:1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.import-preview{max-height:16rem;overflow:auto;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:1rem}.template-subtitle{margin-bottom:1rem;margin-top:-.5rem;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.template-subtitle code{border-radius:var(--radius);background-color:var(--muted);padding:.125rem .25rem;font-size:.75rem;line-height:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.template-kind-filter{margin-top:.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.template-kind-label{margin-right:.25rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500}.kind-chip{border-width:1px;border-color:var(--border);border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;line-height:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;cursor:pointer;color:var(--muted-foreground)}.kind-chip.kind-chip-active{border-color:var(--foreground);background-color:var(--foreground);color:var(--background);font-weight:500}.kind-chip:hover{background-color:var(--muted);color:var(--foreground)}.template-card-kind{flex-shrink:0;border-radius:var(--radius);padding:.125rem .375rem;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.template-card-kind.kind-markup{background-color:var(--muted);color:var(--muted-foreground)}.template-card-kind.kind-render{background:color-mix(in srgb,var(--link) 16%,transparent);color:color-mix(in oklab,var(--link),var(--foreground) 35%)}.template-card-kind.kind-behavior{background:color-mix(in srgb,var(--cyan) 16%,transparent);color:color-mix(in oklab,var(--cyan),var(--foreground) 45%)}.template-card-kind.kind-core{background:color-mix(in srgb,var(--violet) 16%,transparent);color:color-mix(in oklab,var(--violet),var(--foreground) 45%)}.editor-root{height:100%;min-height:calc(100vh - 14rem);display:flex;flex-direction:column}.editor-title{min-width:0;display:flex;align-items:center;gap:.5rem}.editor-title h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:600}.editor-subhead{border-bottom-width:1px;border-color:var(--border);padding:.5rem 1rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500}.js-docs{border-bottom-width:1px;border-color:var(--border);background-color:var(--muted);padding:1rem}.js-docs>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(.75rem * var(--un-space-y-reverse))}.js-docs-summary{font-size:.875rem;line-height:1.25rem;color:var(--foreground)}.js-docs-meta>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(.375rem * var(--un-space-y-reverse))}.js-docs-row{display:flex;align-items:baseline;gap:.75rem;font-size:.875rem;line-height:1.25rem}.js-docs-row dt{width:5rem;flex-shrink:0;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.js-docs-row dd{min-width:0}.js-docs-row code{word-break:break-all;border-width:1px;border-color:var(--border);border-radius:var(--radius);background-color:var(--card);padding:.125rem .375rem;font-size:.75rem;line-height:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.js-usage{overflow:hidden;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card)}.js-usage-head{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:var(--border);padding:.375rem .75rem;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.js-usage-code{overflow:auto;padding:.75rem;font-size:.75rem;line-height:1rem;line-height:1.625}.js-usage-code code{white-space:pre;color:var(--foreground);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.js-only-note{display:flex;flex:1 1 0%;align-items:center;justify-content:center;padding:2rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.app-shell{display:flex;flex-direction:column;width:100vw;height:100vh;overflow:hidden}.hg-top1,.hg-top2{flex:none}.hg-top1{height:48px}.hg-top2{height:36px}.dock-mid{display:flex;flex:1;min-height:0}.dock-left,.dock-right{display:flex;flex-direction:row}.dock-top,.dock-bottom{display:flex;flex-direction:column}.hg-top1{display:flex;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem;border-bottom-width:1px;border-color:var(--border);background-color:var(--card);z-index:100}.hg-brand{border-radius:var(--radius-md);padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:700;background-color:var(--primary);color:var(--primary-foreground);text-decoration:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.hg-brand:hover{background-color:var(--primary-hover)}.hg-top1-center{display:flex;flex:1 1 0%;justify-content:center}.hg-map-title{max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:500}.hg-top1-actions{display:flex;align-items:center;gap:.5rem}.hg-upload-status{min-width:80px;text-align:right;font-size:.75rem;line-height:1rem;color:var(--muted-foreground)}.hg-btn{cursor:pointer;border-radius:var(--radius-md);padding:.375rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;border-width:1px;border-color:var(--border);background-color:var(--card);color:var(--foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hg-btn:hover{background-color:var(--accent)}.hg-btn-primary{border-color:transparent;background-color:var(--primary);color:var(--primary-foreground)}.hg-btn-primary:hover{background-color:var(--primary-hover)}.hg-btn-primary:disabled{cursor:not-allowed;opacity:.5}.hg-top2{display:flex;align-items:center;justify-content:space-between;padding-left:.5rem;padding-right:.5rem;border-bottom-width:1px;border-color:var(--border);background-color:var(--card);z-index:99}.hg-top2-left,.hg-top2-right{display:flex;align-items:center;gap:.25rem}.hg-top2-center{display:flex;flex:1 1 0%;justify-content:center}.hg-tool{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;cursor:pointer;border-radius:var(--radius);padding:.25rem .5rem;border-width:0px;background-color:transparent;color:var(--muted-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hg-tool:hover{background-color:var(--accent);color:var(--foreground)}.hg-select{cursor:pointer;border-radius:var(--radius);padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;border-width:1px;border-color:var(--border);background-color:transparent;color:var(--muted-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hg-select:hover{background-color:var(--accent);color:var(--foreground)}.panel{position:relative;display:flex;overflow:hidden;background-color:var(--card);flex:none}.panel[data-edge=left]{flex-basis:var(--panel-size, 240px);border-right-width:1px;border-color:var(--border)}.panel[data-edge=right]{flex-basis:var(--panel-size, 240px);border-left-width:1px;border-color:var(--border)}.panel[data-edge=bottom]{flex-basis:var(--panel-size, 300px);border-top-width:1px;border-color:var(--border)}.panel[data-edge=top]{flex-basis:var(--panel-size, 200px);border-bottom-width:1px;border-color:var(--border)}.panel[hidden]{display:none}.panel-main{flex:1;min-width:0;min-height:0}.hg-sidebar-inner{height:100%;display:flex;flex-direction:column;overflow:hidden}.hg-sidebar-header{display:flex;flex-shrink:0;align-items:center;gap:.5rem;border-bottom-width:1px;border-color:var(--border);padding:.5rem .75rem}.hg-sidebar-header h3{flex:1 1 0%;font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:600;letter-spacing:-.025em}.hg-collapse-btn{width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;border-width:0px;background-color:transparent;color:var(--muted-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hg-collapse-btn:hover{background-color:var(--accent);color:var(--foreground)}.hg-layer-list{display:flex;flex:1 1 0%;flex-direction:column;overflow-y:auto;padding-top:.25rem;padding-bottom:.25rem}.hg-collapsed-indicator{height:100%;width:100%;display:flex;cursor:pointer;align-items:center;justify-content:center;background-color:var(--muted);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hg-collapsed-indicator:hover{background-color:var(--accent)}.hg-vertical-label{font-size:10px;color:var(--muted-foreground);font-weight:600;letter-spacing:.1em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.panel[data-collapsed]{flex-basis:36px}.panel[data-collapsed] .panel-main{display:none}.panel:not([data-collapsed])>.panel-strip{display:none}.panel-strip{flex:1}.panel[data-edge=bottom] .panel-strip,.panel[data-edge=top] .panel-strip{gap:.5rem}.dock-center{position:relative;overflow:hidden;flex:1;min-width:0;background:var(--neutral-900)}#map{width:100%;height:100%}#layer-name-display{flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500}.hg-sidebar-scroll{flex:1 1 0%;overflow-y:auto;padding:.5rem .75rem}.panel-form-wrap{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.hg-bottom1{position:absolute;bottom:2rem;left:0;right:0;height:2.25rem;display:flex;align-items:center;padding-left:.75rem;padding-right:.75rem;border-top-width:1px;border-color:var(--border);background-color:var(--card);--un-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);z-index:50;pointer-events:none}.hg-bottom1>*{pointer-events:auto}.hg-bar-label{margin-right:.75rem;font-size:10px;color:var(--muted-foreground);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.hg-presence-slot{min-width:0;display:flex;flex:1 1 0%;align-items:center;gap:.5rem}.hg-bottom2{position:absolute;bottom:0;left:0;right:0;height:2rem;display:flex;align-items:center;justify-content:space-between;padding-left:.75rem;padding-right:.75rem;border-top-width:1px;border-color:var(--border);background-color:var(--muted);--un-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);z-index:50;pointer-events:none}.hg-bottom2>*{pointer-events:auto}.hg-bottom4{position:absolute;left:0;right:0;display:flex;border-top-width:1px;border-bottom-width:1px;border-color:var(--border);background-color:var(--card);--un-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);bottom:4.25rem;z-index:50;pointer-events:none}.hg-bottom4>*{pointer-events:auto}.hg-bottom4 .tp-active{height:2.5rem;min-width:0;display:flex;flex:1 1 0%;align-items:center;gap:.75rem;padding-left:.75rem;padding-right:.75rem}.hg-bottom4 .tp-time{overflow:hidden;white-space:nowrap;text-align:right;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-overflow:ellipsis;flex:0 1 auto;min-width:0}#bottom-bar-4 #tp-slider{flex:1 1 4rem;min-width:3rem}.tp-modes{display:inline-flex;flex-shrink:0;align-items:center;overflow:hidden;border-width:1px;border-color:var(--border);border-radius:var(--radius-md)}.tp-mode{height:1.75rem;cursor:pointer;border-width:0px;background-color:transparent;padding-left:.625rem;padding-right:.625rem;font-size:.75rem;line-height:1rem;font-weight:500;color:var(--muted-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tp-mode:hover{background-color:var(--accent);color:var(--foreground)}.tp-mode+.tp-mode{border-left-width:1px;border-color:var(--border)}.tp-mode.tp-on{background-color:var(--primary);color:var(--primary-foreground)}.tp-controls{min-width:0;flex:1 1 0%;align-items:center;gap:.375rem}.tp-controls>button{flex:none}.hg-bottom4[data-collapsed] .tp-active{display:none}.hg-bottom4:not([data-collapsed]) #time-player-bar{display:none}#time-player-bar.hg-collapsed-indicator{height:2rem;display:flex;flex:1 1 0%;cursor:pointer;align-items:center;justify-content:center;gap:.5rem;background-color:var(--muted);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#time-player-bar.hg-collapsed-indicator:hover{background-color:var(--accent)}.hg-bottom3-content{flex:1 1 0%;overflow:auto}.panel-resize{position:absolute;z-index:6}.panel[data-edge=left] .panel-resize{top:0;bottom:0;right:0;width:8px;cursor:col-resize}.panel[data-edge=right] .panel-resize{top:0;bottom:0;left:0;width:8px;cursor:col-resize}.panel[data-edge=bottom] .panel-resize{left:0;right:0;top:0;height:8px;cursor:row-resize}.panel[data-edge=top] .panel-resize{left:0;right:0;bottom:0;height:8px;cursor:row-resize}.panel-resize:after{content:"";position:absolute;background:transparent;transition:background-color var(--dur) var(--ease)}.panel[data-edge=left] .panel-resize:after,.panel[data-edge=right] .panel-resize:after{inset:0 3px}.panel[data-edge=bottom] .panel-resize:after,.panel[data-edge=top] .panel-resize:after{inset:3px 0}.panel-resize:hover:after,[data-resizing-panels] .panel-resize:after{background:var(--primary)}.panel[data-collapsed] .panel-resize{display:none}[data-resizing-panels]{-webkit-user-select:none;user-select:none}.data-table{width:100%;font-size:.75rem;line-height:1rem;color:var(--foreground);border-collapse:collapse;font-variant-numeric:tabular-nums}.data-table-th{position:sticky;top:0;z-index:10;background-color:var(--muted);text-align:left;font-weight:600;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom-width:1px;border-color:var(--border);padding:.375rem .625rem;font-size:.6875rem;letter-spacing:.03em;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.data-table-th:hover,.data-table-th.sort-asc,.data-table-th.sort-desc{background-color:var(--accent)}.sort-indicator{margin-left:.25rem;font-size:.625rem}.data-table-td{border-bottom-width:1px;border-color:var(--border);padding:.25rem .625rem;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table-row{cursor:pointer}.data-table-row:hover{background-color:var(--accent)}.data-table-row-num{border-bottom-width:1px;border-color:var(--border);background-color:var(--muted);padding:.25rem .5rem;text-align:right;color:var(--muted-foreground);font-size:.6875rem;width:44px}.data-table-num{text-align:right;font-variant-numeric:tabular-nums}.data-table-null{color:var(--muted-foreground);font-style:italic}.data-table-status{flex-shrink:0;border-top-width:1px;border-color:var(--border);padding:.25rem 1rem;color:var(--muted-foreground);font-size:.6875rem}.data-table-error{padding:1rem;font-size:.875rem;line-height:1.25rem;color:var(--destructive, #dc2626)}.hg-tool.active{background-color:var(--accent);color:var(--accent-foreground)}.input-sm{padding:.25rem .5rem;font-size:.75rem;line-height:1rem}.hg-viewport{width:100%;display:flex;align-items:center;justify-content:space-between}.hg-viewport-fields{display:flex;align-items:center;gap:.75rem}.hg-viewport-fields label{display:flex;cursor:pointer;align-items:center;gap:.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hg-viewport-fields label:hover{color:var(--primary)}.hg-viewport-fields label>span:first-child{font-size:9px;color:var(--muted-foreground);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.hg-viewport-fields label>span:last-child{font-size:.75rem;line-height:1rem;color:var(--foreground);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.hg-viewport-scale{display:flex;align-items:center;gap:.5rem}#vc-scale-bar{height:.125rem;border-radius:9999px;background-color:var(--foreground);min-width:20px}#vc-scale-label{font-size:10px;color:var(--muted-foreground);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.layer-item{margin-left:.25rem;margin-right:.25rem;display:flex;flex-direction:column;cursor:pointer;gap:.25rem;border-radius:var(--radius-sm);padding:.375rem .5rem;border-left-width:2px;border-color:transparent;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.layer-item:hover{background:color-mix(in srgb,var(--foreground) 4%,transparent)}.layer-item.selected{border-left-color:var(--primary);background:color-mix(in srgb,var(--foreground) 8%,transparent)}.layer-item.dragging{opacity:.4}.layer-item.drag-over{border-top-width:2px;border-color:var(--primary)}.layer-item .vis-btn svg{vertical-align:middle}.layer-item .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;color:var(--foreground)}.layer-item .layer-row{display:flex;align-items:center;gap:.375rem}.layer-item .layer-row .legend-compact{margin-right:auto}.layer-item .zoom-btn,.layer-item .vis-btn,.layer-item .export-btn,.layer-item .remove-btn{border-width:1px;border-color:var(--border);border-radius:var(--radius-sm);background-color:var(--card);padding:.125rem .25rem;font-size:.75rem;line-height:1rem;color:var(--foreground);line-height:1;cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}:is(.layer-item .zoom-btn,.layer-item .vis-btn,.layer-item .export-btn,.layer-item .remove-btn):hover{background-color:var(--accent)}:is(.layer-item .zoom-btn,.layer-item .vis-btn,.layer-item .export-btn,.layer-item .remove-btn):disabled{cursor:not-allowed;opacity:.3}:is(.layer-item .zoom-btn,.layer-item .vis-btn,.layer-item .export-btn,.layer-item .remove-btn):disabled:hover{background-color:var(--card)}.layer-item .remove-btn{padding-left:.375rem;padding-right:.375rem;font-weight:700}.legend-item{display:flex;align-items:center;gap:.5rem;border-bottom-width:1px;border-color:var(--border);padding:.375rem .5rem}.legend-item:last-child{border-bottom-width:0px}.legend-item.legend-hidden{opacity:.45}.legend-visuals{display:flex;flex-shrink:0;align-items:center;gap:.25rem}.legend-name{flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem}.legend-type-badge{flex-shrink:0;border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.625rem;letter-spacing:.05em;text-transform:uppercase;background-color:var(--muted);color:var(--muted-foreground)}.legend-swatch{display:inline-block;flex-shrink:0}.legend-fill{width:1rem;height:1rem;border-width:1px;border-radius:var(--radius-sm);border-color:var(--swatch-border)}.legend-line{display:inline-block;width:1.25rem;height:0}.legend-icon{object-fit:contain}.legend-tile{width:1rem;height:1rem;border-width:1px;border-radius:var(--radius-sm);border-color:var(--swatch-border)}.legend-heatmap,.legend-hexbin{width:2.5rem;height:.625rem;border-width:1px;border-radius:var(--radius-sm);border-color:var(--swatch-border)}.legend-more{white-space:nowrap;font-size:.625rem;color:var(--muted-foreground)}.legend-compact{margin-left:.25rem;display:inline-flex;flex-shrink:0;align-items:center;gap:.125rem}.legend-compact-item.legend-fill{width:.625rem;height:.625rem}.legend-compact-item.legend-line{width:.75rem}.legend-compact-item.legend-icon{width:.75rem;height:.75rem}.legend-ramp{height:.75rem;width:4rem;display:inline-flex;flex-shrink:0;overflow:hidden;border-width:1px;border-radius:var(--radius-sm);border-color:var(--swatch-border)}.legend-ramp-compact{margin-left:.25rem;height:.625rem;width:2.5rem}.legend-ramp-seg{height:100%;flex:1 1 0%}.legend-graduated{flex-direction:column;align-items:stretch;gap:.375rem}.legend-graduated .legend-ramp{width:100%}.legend-graduated-header{width:100%;display:flex;align-items:center;gap:.5rem}.legend-keys{display:flex;flex-wrap:wrap;column-gap:.75rem;row-gap:.25rem}.legend-key{display:inline-flex;align-items:center;gap:.25rem}.legend-key-dot{width:.75rem;height:.75rem;flex-shrink:0;border-width:1px;border-radius:var(--radius-sm);border-color:var(--swatch-border)}.legend-key-label{white-space:nowrap;font-size:.6875rem;color:var(--muted-foreground)}.export-format-btn{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.75rem 1rem;text-align:left;font-size:.875rem;line-height:1.25rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.export-format-btn:hover{border-color:var(--primary);background-color:var(--accent)}.export-format-btn strong{color:var(--foreground)}.no-selection-msg{padding-top:1.5rem;padding-bottom:1.5rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.presence-panel{min-width:0;display:flex;flex:1 1 0%;align-items:center;gap:.5rem}.presence-status-dot{width:.625rem;height:.625rem;flex-shrink:0;border-radius:9999px;background-color:var(--success)}.presence-peer-list{min-width:0;display:flex;flex:1 1 0%;align-items:center;gap:.25rem;overflow-x:auto}.presence-empty{font-size:.75rem;line-height:1rem;color:var(--muted-foreground)}.presence-peer{display:flex;flex-shrink:0;align-items:center;gap:.375rem;border-width:1px;border-color:var(--border);border-radius:9999px;padding:.125rem .5rem}.presence-peer-dot{width:.5rem;height:.5rem;flex-shrink:0;border-radius:9999px}.presence-peer-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--foreground)}.presence-following-badge{white-space:nowrap;background-color:transparent;padding:0;font-size:9px;color:var(--success)}.presence-follow-btn{border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:9px;font-weight:500;cursor:pointer;border-width:1px;border-color:var(--border);background-color:var(--card);color:var(--foreground);white-space:nowrap;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.presence-follow-btn:hover{background-color:var(--accent)}.icons-page{min-height:100vh;background-color:var(--background);padding:2rem 1rem}@media(min-width:640px){.icons-page{padding-left:2rem;padding-right:2rem}}.icons-header{margin-bottom:1.5rem}.icons-header h1{font-size:1.5rem;line-height:2rem;color:var(--foreground);font-weight:700;letter-spacing:-.025em}.icons-subtitle{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.icon-browser{display:flex;flex-direction:column;gap:1.5rem}.icon-controls{flex-direction:column;gap:1.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:1.5rem;color:var(--card-foreground);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.icon-search-wrap{position:relative;min-width:240px;flex:1 1 0%}.icon-search-wrap>svg{pointer-events:none;position:absolute;left:.75rem;top:50%;width:1rem;height:1rem;--un-translate-y:-50%;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));color:var(--muted-foreground)}.icon-search-input{display:flex;border-width:1px;border-color:var(--input);border-radius:var(--radius-md);background-color:var(--card);padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:var(--foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s;width:100%;padding:.5rem .75rem .5rem 2.5rem}.icon-search-input:disabled{cursor:not-allowed;opacity:.5}.icon-search-input::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.icon-search-input::placeholder{color:var(--muted-foreground)}.icon-search-input:focus-visible{outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);--un-ring-offset-width:2px;--un-ring-color:var(--ring) }.icon-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.icon-style-toggle,.icon-weight-toggle{display:inline-flex;overflow:hidden;border-width:1px;border-color:var(--border);border-radius:var(--radius-md)}:is(.icon-style-toggle,.icon-weight-toggle) .variant-btn{height:2rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem;font-weight:500;border-width:0px;border-right-width:1px;border-color:var(--border);cursor:pointer;background-color:var(--card);color:var(--foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}:is(.icon-style-toggle,.icon-weight-toggle) .variant-btn:hover{background-color:var(--accent)}:is(.icon-style-toggle,.icon-weight-toggle) .variant-btn.active{background-color:var(--primary);color:var(--primary-foreground)}:is(.icon-style-toggle,.icon-weight-toggle) .variant-btn:last-child{border-right-width:0px}.icon-appearance{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.icon-part{height:2rem;display:inline-flex;align-items:center;gap:.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding-left:.75rem;padding-right:.375rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.icon-part.active{border-color:var(--primary)}.icon-part-toggle{height:100%;font-size:.75rem;line-height:1rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background-color:transparent;color:var(--muted-foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.icon-part-toggle:not(:disabled):hover{color:var(--foreground)}.icon-part-toggle:disabled{cursor:default}.icon-part.active .icon-part-toggle{color:var(--foreground)}.icon-part-swatch{display:block;width:1.25rem;height:1.25rem;cursor:pointer;border-width:1px;border-color:var(--border);border-radius:var(--radius)}.icon-size-label{height:2rem;display:inline-flex;align-items:center;gap:.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding-left:.75rem;padding-right:.75rem}.icon-size-label .icon-size-label-text{font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.icon-size-input{width:6rem;cursor:pointer}.icon-size-value{width:1.5rem;text-align:right;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.icon-results-info{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.icon-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));container-type:inline-size;container-name:icon-grid;--icon-size: 28px}.icon-item{display:flex;flex-direction:column;cursor:pointer;align-items:center;justify-content:flex-start;gap:.375rem;border-radius:var(--radius-md);padding:.5rem;text-align:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.icon-item:hover{background-color:var(--accent)}.icon-item.copied{background-color:color-mix(in srgb,var(--primary) 14%,transparent)}.icon-svg-wrap{display:flex;flex-shrink:0;align-items:center;justify-content:center;height:var(--icon-size)}.icon-svg-wrap svg{width:var(--icon-size);height:var(--icon-size)}.icon-label{overflow-wrap:break-word;font-size:.75rem;line-height:1rem;color:var(--muted-foreground);line-height:1.25}.icon-load-more-wrap{text-align:center}.icon-load-more-btn{height:2.25rem;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:var(--radius-sm);background-color:var(--muted);padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:600;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-width:1px;border-color:var(--border);background-color:var(--secondary);color:var(--secondary-foreground)}.icon-load-more-btn:disabled{pointer-events:none;opacity:.5}.icon-load-more-btn svg{width:1rem;height:1rem;flex-shrink:0}.icon-load-more-btn:hover{background-color:var(--accent-hover);background-color:var(--secondary-hover)}.icon-load-more-btn:active{background-color:var(--secondary-hover)}.icon-load-more-btn:focus-visible{outline:2px solid transparent;outline-offset:2px}.point-icon-card{display:grid;gap:.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:.5rem}.point-icon-row{display:flex;align-items:center;gap:.5rem}.point-icon-preview{width:2rem;height:2rem;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;border-width:1px;border-color:var(--border);border-radius:var(--radius);background:var(--muted)}.point-icon-preview img{display:block;width:1.5rem;height:1.5rem}.point-icon-name{min-width:0;flex:1 1 0%}.point-icon-detail{border-top-width:1px;border-color:var(--border);padding-top:.5rem}.point-icon-ctl{display:flex;align-items:center;gap:.5rem}.point-icon-ctl-label{width:4rem;flex-shrink:0}.point-icon-swatch{width:2rem;height:1.5rem;flex-shrink:0;cursor:pointer;border-width:1px;border-color:var(--border);border-radius:var(--radius);padding:0}.point-icon-swatch:disabled{cursor:not-allowed;opacity:.4}}@layer base{.skip-link{position:absolute;top:.5rem;left:.5rem;z-index:100;border-radius:var(--radius-md);padding:.5rem .75rem;background-color:var(--primary);font-size:.875rem;line-height:1.25rem;color:var(--primary-foreground);font-weight:500;border-width:1px;border-color:var(--primary);text-decoration:none;transform:translateY(-200%);transition:transform var(--dur) var(--ease)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}}@layer components{.btn{height:2.25rem;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-width:1px;border-color:var(--border);border-radius:var(--radius-sm);background-color:var(--muted);padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:600;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:disabled{pointer-events:none;opacity:.5}.btn svg{width:1rem;height:1rem;flex-shrink:0}.btn:hover{background-color:var(--accent-hover)}.btn:active{background-color:var(--secondary-hover)}.btn:focus-visible{outline:2px solid transparent;outline-offset:2px}.btn-primary{border-color:transparent;background-color:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{border-width:1px;border-color:var(--border);background-color:var(--secondary);color:var(--secondary-foreground)}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-outline{background-color:transparent;color:var(--foreground)}.btn-outline:hover{background-color:var(--accent)}.btn-ghost{border-color:transparent;background-color:transparent;color:var(--muted-foreground)}.btn-ghost:hover{background-color:var(--accent);color:var(--foreground)}.btn-destructive{border-color:transparent;background-color:var(--destructive);color:var(--destructive-foreground)}.btn-destructive:hover{background-color:var(--destructive-hover)}.btn-success{border-color:transparent;background-color:var(--success);color:var(--success-foreground)}.btn-success:hover{background-color:var(--success-hover)}.btn-link{height:auto;border-width:0px;background-color:transparent;padding-left:0;padding-right:0;color:var(--primary);text-underline-offset:4px}.btn-link:hover{text-decoration-line:underline}.btn-sm{height:2rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem}.btn-md{height:2.5rem;padding-left:1rem;padding-right:1rem;font-size:.875rem;line-height:1.25rem}.btn-lg{height:3rem;padding-left:1.5rem;padding-right:1.5rem;font-size:1rem;line-height:1.5rem}.btn-xl{height:3.5rem;padding-left:2rem;padding-right:2rem;font-size:1.125rem;line-height:1.75rem}.btn-icon-ghost{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-width:1px;border-color:transparent;border-radius:var(--radius-md);color:var(--foreground);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.btn-icon-ghost:hover{background-color:var(--accent)}.btn-pill{height:2.75rem;border-color:transparent;border-radius:9999px;padding-left:1.25rem;padding-right:1.25rem;font-size:1rem;line-height:1.5rem}.btn.primary{border-color:transparent;background-color:var(--primary);color:var(--primary-foreground)}.btn.primary:hover{background-color:var(--primary-hover)}.btn.secondary{border-width:1px;border-color:var(--border);background-color:var(--secondary);color:var(--secondary-foreground)}.btn.secondary:hover{background-color:var(--secondary-hover)}.btn.outline{background-color:transparent;color:var(--foreground)}.btn.outline:hover{background-color:var(--accent)}.btn.ghost{border-color:transparent;background-color:transparent;color:var(--muted-foreground)}.btn.ghost:hover{background-color:var(--accent);color:var(--foreground)}.btn.danger{border-color:transparent;background-color:var(--destructive);color:var(--destructive-foreground)}.btn.danger:hover{background-color:var(--destructive-hover)}.btn.sm{height:2rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem}.btn.lg{height:3rem;padding-left:1.5rem;padding-right:1.5rem;font-size:1rem;line-height:1.5rem}.btn.icon{width:2.25rem;padding:0}.btn.loading{pointer-events:none;opacity:.7}.btn.loading:before{content:"";width:1em;height:1em;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;animation:spin .6s linear infinite}.avatar.sm{width:2rem;height:2rem}.avatar.lg{width:3rem;height:3rem}.spinner.sm{width:.75rem;height:.75rem}.spinner.lg{width:1.5rem;height:1.5rem;border-width:3px}.badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;width:fit-content;flex-shrink:0;padding:.25rem .75rem;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap;border-radius:9999px;border:1px solid transparent;background-color:var(--primary);color:var(--primary-foreground);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.badge>svg{width:.75rem;height:.75rem;pointer-events:none}.badge:focus-visible{outline:none;box-shadow:var(--focus-ring)}.badge-primary{background-color:var(--primary);color:var(--primary-foreground)}.badge-secondary{background-color:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}.badge-outline{border-width:1px;border-color:var(--border);background-color:transparent;color:var(--foreground)}.badge-outline:hover{background-color:var(--accent)}.badge-destructive{background-color:var(--destructive);color:var(--destructive-foreground)}.badge-success{background-color:var(--success);color:var(--success-foreground)}.badge-warning{background-color:var(--warning);color:var(--warning-foreground)}.badge-info{background-color:var(--info);color:var(--info-foreground)}.badge.accent{background-color:color-mix(in oklab,var(--primary),var(--background) 84%);color:var(--primary);border-color:color-mix(in oklab,var(--primary),transparent 60%)}.badge.danger{background-color:color-mix(in oklab,var(--destructive),var(--background) 84%);color:color-mix(in oklab,var(--destructive),var(--foreground) 24%);border-color:color-mix(in oklab,var(--destructive),transparent 60%)}.badge.dot:not(.accent):not(.danger){background-color:var(--secondary);color:var(--muted-foreground);border-color:var(--border)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:9999px;background-color:currentColor;flex-shrink:0}.card{display:flex;flex-direction:column;gap:1.5rem;border-width:1px;border-color:var(--border);border-radius:var(--radius-md);background-color:var(--card);padding:1.5rem;color:var(--card-foreground)}.card{box-shadow:inset 0 1px color-mix(in srgb,#ffffff 7%,transparent)}.card-header{display:flex;flex-direction:column;gap:.375rem;border-bottom-width:1px;border-color:var(--border);padding-bottom:1rem}.card-section{flex:1 1 0%}.card-footer{display:flex;align-items:center;gap:.5rem;border-top-width:1px;border-color:var(--border);padding-top:1rem}.card-interactive{cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.2s}.card-interactive:hover{border-color:var(--primary)}.card>header{display:flex;flex-direction:column;gap:.375rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.card>header>h2,.card>header>h3{font-size:1rem;line-height:1.4;font-weight:600;letter-spacing:-.01em;color:var(--card-foreground)}.card>header>p{font-size:.875rem;line-height:1.5;color:var(--muted-foreground)}.card>section{flex:1 1 0%}.card>footer{padding-top:1.5rem;border-top:1px solid var(--border)}.card-interactive{transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card-interactive:hover{border-color:color-mix(in srgb,var(--primary) 30%,transparent);box-shadow:var(--shadow-lg)}.card-interactive:focus-visible{outline:none;box-shadow:var(--focus-ring)}.label{display:flex;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;color:var(--foreground);font-weight:500;line-height:1}.peer:disabled~.label{cursor:not-allowed;opacity:.5}.form-help{font-size:.75rem;line-height:1rem;color:var(--muted-foreground)}.form-error{font-size:.75rem;line-height:1rem;color:var(--destructive);font-weight:500}}@layer utilities{.text-display{font-size:40px;font-weight:600;line-height:1.05;letter-spacing:-.05em}@media(min-width:640px){.text-display{font-size:48px;line-height:48px}}.text-display-sm{font-size:28px;font-weight:600;line-height:36px;letter-spacing:-.04em}@media(min-width:640px){.text-display-sm{font-size:32px;line-height:40px}}.text-heading{font-size:24px;font-weight:600;line-height:32px;letter-spacing:-.04em}.text-heading-sm{font-size:20px;font-weight:600;line-height:28px;letter-spacing:-.03em}.text-body{font-size:1rem;line-height:1.5rem}.text-body-sm{font-size:.875rem;line-height:1.25rem;letter-spacing:-.02em}.text-body-lg{font-size:1.125rem;line-height:1.75rem}.text-label{font-size:.75rem;line-height:1rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.text-eyebrow{font-size:.75rem;line-height:1rem;color:var(--muted-foreground);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-caption{font-size:.75rem;line-height:1rem;color:var(--muted-foreground)}.text-muted{color:var(--muted-foreground)}.text-link{color:var(--link);font-weight:500;text-underline-offset:4px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.text-link:hover{text-decoration-line:underline}.stack{display:flex;flex-direction:column;gap:1rem}.stack-sm{display:flex;flex-direction:column;gap:.5rem}.stack-lg{display:flex;flex-direction:column;gap:1.5rem}.stack-xl{display:flex;flex-direction:column;gap:2rem}.cluster{display:flex;flex-wrap:wrap;gap:.5rem}.cluster-sm{display:flex;flex-wrap:wrap;gap:.25rem}.cluster-lg{display:flex;flex-wrap:wrap;gap:1rem}.center{margin-left:auto;margin-right:auto;max-width:65ch;padding-left:1rem;padding-right:1rem}.center-narrow{margin-left:auto;margin-right:auto;max-width:28rem;padding-left:1rem;padding-right:1rem}.center-wide{margin-left:auto;margin-right:auto;max-width:72rem;padding-left:1rem;padding-right:1rem}.grid-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.grid-tight{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.grid-wide{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.status-dot{display:inline-block;width:.625rem;height:.625rem;border-radius:9999px}.status-dot-online{display:inline-block;width:.625rem;height:.625rem;border-radius:9999px;background-color:var(--success)}.status-dot-offline{display:inline-block;width:.625rem;height:.625rem;border-radius:9999px;background-color:var(--muted-foreground)}.status-dot-busy{display:inline-block;width:.625rem;height:.625rem;border-radius:9999px;background-color:var(--destructive)}}@layer utilities{.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.col-span-2{grid-column:span 2/span 2}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.p-0{padding:0}.p-4{padding:1rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.h-8{height:2rem}.size-4{width:1rem;height:1rem}.size-10{width:2.5rem;height:2.5rem}.shrink-0{flex-shrink:0}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.leading-normal{line-height:1.5}.ml-auto{margin-left:auto}.rounded-lg{border-radius:var(--radius-lg)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-border{border-color:var(--border)}.bg-transparent{background-color:transparent}.text-foreground{color:var(--foreground)}.relative{position:relative}.absolute{position:absolute}.top-4{top:1rem}.right-4{right:1rem}.pointer-events-none{pointer-events:none}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mb-1{margin-bottom:.25rem}.gap-1\.5{gap:.375rem}.mt-1\.5{margin-top:.375rem}.h-4{height:1rem}.size-3\.5{width:.875rem;height:.875rem}.w-64{width:16rem}.w-80{width:20rem}.w-3\/4{width:75%}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.tracking-widest{letter-spacing:.1em}.underline-offset-4{text-underline-offset:4px}.focus-ring:focus{--un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-x-auto{overflow-x:auto}.border-t{border-top-width:1px}.rounded-full{border-radius:9999px}.leading-none{line-height:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.text-muted-foreground{color:var(--muted-foreground)}.bg-muted{background-color:var(--muted)}.px-2{padding-left:.5rem;padding-right:.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.pl-9{padding-left:2.25rem}.pr-20{padding-right:5rem}.min-w-56{min-width:14rem}.w-1\/2{width:50%}}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-height:240px;overflow-y:auto}.catalog-card{display:flex;flex-direction:column;gap:.15rem;text-align:left;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--card);cursor:pointer}.catalog-card:hover{border-color:var(--primary);background:var(--accent)}.catalog-card-name{font-size:.85rem}.catalog-card-meta{font-size:.7rem;color:var(--muted-foreground)}.catalog-empty{grid-column:1 / -1;font-size:.8rem;color:var(--muted-foreground);margin:.25rem 0}.mvt-scale-section{border-top:1px dashed var(--border);padding-top:.5rem}.mvt-scale-section>summary{font-weight:500}.mvt-scale-section[open]>summary{margin-bottom:.25rem}.chart-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:.625rem .75rem .75rem;margin-bottom:.625rem}.chart-card:last-child{margin-bottom:0}.chart-card-head{display:flex;flex-direction:column;gap:2px;margin-bottom:.5rem;padding-right:68px;min-height:18px}.chart-card-title{font-size:13px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--foreground)}.chart-card-sub{font-size:11px;color:var(--muted-foreground)}.chart-card-canvas{position:relative;width:100%;height:180px}.chart-card-canvas canvas{width:100%!important;height:180px!important}.chart-card-status{padding:.25rem}.chart-card-foot{margin-top:.625rem;padding-top:.5rem;border-top:1px solid var(--border);font-size:11px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.charts-empty{padding:.5rem .25rem}.chart-card-remove{position:absolute;top:2px;right:2px;z-index:2;width:20px;height:20px;line-height:18px;text-align:center;border:0;border-radius:4px;background:transparent;color:var(--muted-foreground);font-size:16px;cursor:pointer}.chart-card-remove:hover{background:var(--accent);color:var(--foreground)}.chart-card-maximize{position:absolute;top:2px;right:24px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:4px;background:transparent;color:var(--muted-foreground);cursor:pointer}.chart-card-maximize:hover{background:var(--accent);color:var(--foreground)}.chart-card-edit{position:absolute;top:2px;right:46px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:4px;background:transparent;color:var(--muted-foreground);cursor:pointer}.chart-card-edit:hover{background:var(--accent);color:var(--foreground)}.chart-modal-canvas-wrap{position:relative;width:100%;height:min(60vh,520px)}.chart-modal-canvas-wrap canvas{width:100%!important;height:100%!important}.ed-app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--background);color:var(--foreground)}.ed-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;padding:.5rem .75rem;background:var(--card);border-bottom:1px solid var(--border)}.ed-brand{font-weight:700;text-decoration:none;color:var(--foreground);margin-right:.5rem}.ed-group{display:flex;align-items:center;gap:.25rem}.ed-publish-group{margin-left:auto}.ed-btn{font:inherit;font-size:.85rem;padding:.3rem .65rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);cursor:pointer;outline:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.ed-btn:hover:not(:disabled){background:var(--accent)}.ed-btn:disabled{opacity:.45;cursor:default}.ed-btn.is-active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.ed-btn.is-active:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.ed-btn-danger:hover:not(:disabled){background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.ed-primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);font-weight:600}.ed-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.ed-snap{display:flex;align-items:center;gap:.3rem;font-size:.85rem}.ed-name{font:inherit;font-size:.85rem;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--foreground);width:11rem;outline:none;transition:border-color var(--dur) var(--ease)}.ed-name:hover:not(:focus){border-color:color-mix(in srgb,var(--input),var(--foreground) 30%)}.ed-name:focus-visible{border-color:var(--ring)}.ed-body{flex:1;display:grid;grid-template-columns:240px 1fr 300px;min-height:0}.ed-side{overflow-y:auto;background:var(--card);display:flex;flex-direction:column}.ed-left{border-right:1px solid var(--border)}.ed-right{border-left:1px solid var(--border)}.ed-side-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);margin:0;padding:.6rem .75rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card)}.ed-map-wrap{position:relative;min-width:0}.ed-map{position:absolute;inset:0}.ed-map.is-drop{outline:3px dashed var(--primary);outline-offset:-3px}.ed-list{padding:.25rem}.ed-list-empty{color:var(--muted-foreground);font-size:.85rem;padding:.75rem}.ed-list-row{display:flex;align-items:center;gap:.4rem;padding:.1rem .25rem;border-radius:var(--radius);transition:background-color var(--dur) var(--ease)}.ed-list-row:hover{background:color-mix(in srgb,var(--accent) 55%,transparent)}.ed-list-row.is-active{background:var(--accent)}.ed-list-icon{width:1.1rem;text-align:center;color:var(--muted-foreground)}.ed-list-label{flex:1;text-align:left;font:inherit;font-size:.85rem;background:none;border:none;color:var(--foreground);cursor:pointer;padding:.3rem .2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-list-del{background:none;border:none;cursor:pointer;opacity:.5;font-size:.85rem;transition:opacity var(--dur) var(--ease)}.ed-list-del:hover{opacity:1}.ed-props{padding:.5rem}.ed-props-hint{color:var(--muted-foreground);font-size:.85rem;padding:.5rem}.ed-prop-row{display:flex;gap:.3rem;margin-bottom:.35rem}.ed-prop-key,.ed-prop-val{font:inherit;font-size:.8rem;padding:.25rem .4rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--foreground);min-width:0;outline:none;transition:border-color var(--dur) var(--ease)}.ed-prop-key:hover:not(:focus),.ed-prop-val:hover:not(:focus){border-color:color-mix(in srgb,var(--input),var(--foreground) 30%)}.ed-prop-key:focus-visible,.ed-prop-val:focus-visible{border-color:var(--ring)}.ed-prop-key{flex:0 0 40%}.ed-prop-val{flex:1}.ed-prop-del,.ed-prop-addbtn{flex:0 0 auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);cursor:pointer;width:1.8rem;outline:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.ed-prop-del:hover,.ed-prop-addbtn:hover{background:var(--accent)}.ed-prop-add{margin-top:.5rem;border-top:1px solid var(--border);padding-top:.5rem}.ed-toast{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);max-width:80%;padding:.5rem .9rem;border-radius:var(--radius-md);font-size:.85rem;box-shadow:var(--shadow-md);pointer-events:none;opacity:0;transition:opacity var(--dur) var(--ease)}.ed-toast.is-ok{opacity:1;background:var(--primary);color:var(--primary-foreground)}.ed-toast.is-error{opacity:1;background:var(--destructive);color:var(--destructive-foreground)}.ed-statusbar{display:flex;align-items:center;gap:1rem;padding:.3rem .75rem;font-size:.8rem;color:var(--muted-foreground);background:var(--card);border-top:1px solid var(--border)}.ed-warn{color:var(--destructive);font-weight:600}@media(max-width:820px){.ed-body{grid-template-columns:1fr;grid-template-rows:1fr auto auto}.ed-side{max-height:30vh}}.ai-chat-dock{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.ai-chat-dock>*{pointer-events:auto}.ai-chat-dock .chatwin{width:min(380px,calc(100vw - 32px));height:min(520px,calc(100vh - 140px))}.ai-chat-dock .chat-head .avatar svg,.ai-chat-dock .msg .av svg{width:18px;height:18px}.ai-chat-dock .msg.error .bubble{background:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.ai-sql{display:block;margin-top:6px;padding:6px 8px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;white-space:pre-wrap;word-break:break-all}.ai-mini-table{margin-top:6px;border-collapse:collapse;font-size:11px;width:100%}.ai-mini-table th,.ai-mini-table td{border:1px solid var(--border);padding:2px 6px;text-align:left}.ai-mini-table th{color:var(--muted-foreground);font-weight:600}.chat-launch{position:relative;width:56px;height:56px;border-radius:50%;border:1px solid var(--primary);background:var(--primary);color:var(--primary-foreground);display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 36%,transparent);transition:transform var(--dur) var(--ease),background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.chat-launch:hover{transform:translateY(-2px);background:var(--primary-hover)}.chat-launch svg{width:24px;height:24px}.chat-launch .unread{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--destructive);color:var(--destructive-foreground);font:700 11px/18px inherit;text-align:center;border:2px solid var(--card)}.chat-launch.ghost{background:var(--secondary);color:var(--foreground);border-color:var(--border)}.chatwin{width:100%;max-width:380px;height:520px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg)}.chatwin[hidden]{display:none}.chat-head{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid var(--border);background:var(--secondary)}.chat-head .who b{display:block;font-size:14px;font-weight:700;line-height:1.2}.chat-head .who span{font-size:12px;color:var(--muted-foreground);display:inline-flex;align-items:center;gap:5px}.chat-head .who span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary)}.chat-head .hx{margin-left:auto;display:flex;gap:4px}.chat-head .hx button{width:32px;height:32px;border:0;background:transparent;color:var(--muted-foreground);border-radius:6px;cursor:pointer;display:grid;place-items:center}.chat-head .hx button:hover{background:var(--secondary-hover);color:var(--foreground)}.chat-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:12px;background:var(--background);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-body::-webkit-scrollbar{width:9px}.chat-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px;border:3px solid var(--background)}.chat-day{align-self:center;font:600 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);padding:4px 0}.msg{display:flex;gap:9px;align-items:flex-end;max-width:84%;animation:gc-rise-in var(--dur-slower) var(--ease-out) both}.msg.them{align-self:flex-start}.msg.me{align-self:flex-end;flex-direction:row-reverse}.msg .av{width:28px;height:28px;border-radius:50%;flex:none;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);display:grid;place-items:center;font:700 11px/1 inherit;border:1px solid color-mix(in srgb,var(--primary) 40%,transparent)}.msg .stack{display:flex;flex-direction:column;gap:3px;min-width:0}.bubble{padding:9px 12px;font-size:13.5px;line-height:1.45;border-radius:14px;word-wrap:break-word;overflow-wrap:anywhere}.msg.them .bubble{background:var(--secondary);border:1px solid var(--border);border-bottom-left-radius:5px;color:var(--foreground)}.msg.me .bubble{background:var(--primary);color:var(--primary-foreground);border-bottom-right-radius:5px}.msg time{font-size:10.5px;color:var(--muted-foreground);padding:0 4px}.msg.me time{text-align:right}.typing .bubble{display:inline-flex;gap:4px;align-items:center;padding:12px 13px}.typing .bubble span{width:6px;height:6px;border-radius:50%;background:var(--muted-foreground);animation:chat-typing 1.2s infinite ease-in-out}.typing .bubble span:nth-child(2){animation-delay:.18s}.typing .bubble span:nth-child(3){animation-delay:.36s}@keyframes chat-typing{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.chat-input{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--card)}.chat-input textarea{flex:1;resize:none;min-height:38px;max-height:96px;background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 12px;font:400 13.5px/1.4 inherit;outline:none}.chat-input textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 35%,transparent)}.chat-input .send{width:38px;height:38px;flex:none;border:0;border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);cursor:pointer;display:grid;place-items:center;transition:background-color var(--dur) var(--ease),opacity var(--dur) var(--ease)}.chat-input .send:hover{background:var(--primary-hover)}.chat-input .send:disabled{opacity:.4;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.typing .bubble span{animation:none}}@keyframes gc-press{to{scale:.97}}@keyframes gc-pop-in{0%{opacity:0;scale:.96}}@keyframes gc-fade-in{0%{opacity:0}}@keyframes gc-rise-in{0%{opacity:0;translate:0 .75rem}}@keyframes gc-fade-out{to{opacity:0}}@keyframes gc-banner-shadow{0%{box-shadow:none}to{box-shadow:var(--shadow-md)}}@keyframes gc-slide{0%{background-position:-50% 0}to{background-position:150% 0}}@keyframes gc-ping{0%{box-shadow:0 0 color-mix(in srgb,var(--success) 45%,transparent)}to{box-shadow:0 0 0 .4rem transparent}}.status-dot-online,.presence-status-dot{animation:gc-ping 2.4s var(--ease) infinite}:where(button,[role=button],.btn,.cta-button,.chip,.pressable):not(:disabled,[aria-disabled=true],[data-no-press]):active{animation:gc-press var(--dur-press) var(--ease) forwards}.pop-in{animation:gc-pop-in var(--dur) var(--ease-out) both}.fade-in{animation:gc-fade-in var(--dur-slow) var(--ease) both}.rise-in{animation:gc-rise-in var(--dur-slower) var(--ease-out) both}.hover-lift{transition:translate var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.hover-lift:hover{translate:0 -2px;box-shadow:var(--shadow-md)}.btn,.cta-button{transition:transform var(--dur-press) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:hover,.cta-button:hover{transform:translateY(-1px)}.btn:active,.cta-button:active{transform:translateY(0)}.btn-primary,.btn.primary,.cta-button,.hg-btn-primary{box-shadow:inset 0 1px color-mix(in srgb,#ffffff 20%,transparent)}.btn-primary:hover,.btn.primary:hover,.cta-button:hover{box-shadow:inset 0 1px color-mix(in srgb,#ffffff 20%,transparent),0 4px 14px color-mix(in srgb,var(--primary) 28%,transparent)}.feature-card,.map-card{transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.feature-card:hover,.map-card:hover{border-color:color-mix(in srgb,var(--primary) 30%,transparent);transform:translateY(-2px)}.text-link{text-decoration-line:underline;text-decoration-color:transparent;transition:color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease)}.text-link:hover{text-decoration-color:currentColor}@media(prefers-reduced-motion:no-preference){.hero>*{animation:gc-rise-in .5s var(--ease-out) backwards}.hero>:nth-child(2){animation-delay:70ms}.hero>:nth-child(3){animation-delay:.14s}.hero>:nth-child(n+4){animation-delay:.21s}@supports (animation-timeline: view()){:is(.features,.pricing-plans)>*{animation:gc-rise-in linear both;animation-timeline:view();animation-range:entry 0% entry 55%}}}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-slow)}@media(prefers-reduced-motion:reduce){.btn,.cta-button,.feature-card,.map-card{transform:none!important}:where(button,[role=button],.btn,.cta-button,.chip,.pressable):active{animation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.hero h1,.hero h2{font-size:clamp(34px,5.4vw,58px);line-height:1.02;letter-spacing:-.035em;font-weight:800}.tabs.underline [role=tablist]{background:transparent;border-radius:0;border-bottom:1px solid var(--border);padding:0;gap:2px;height:auto;width:100%;justify-content:flex-start}.tabs.underline [role=tab]{flex:0 1 auto;border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;box-shadow:none;background:transparent;padding:12px 14px;position:relative}.tabs.underline [role=tab]:after{content:"";position:absolute;left:14px;right:14px;bottom:-2px;height:2px;border-radius:1px;background:var(--primary);scale:0 1;transition:scale var(--dur-slow) var(--ease-out)}.tabs.underline [role=tab][aria-selected=true]{background:transparent;box-shadow:none;color:var(--foreground)}.tabs.underline [role=tab][aria-selected=true]:after{scale:1 1}.badge-accent{background:var(--link-bg-soft);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 42%,transparent)}.badge-danger-soft{background:var(--destructive-soft);color:var(--destructive);border:1px solid color-mix(in srgb,var(--destructive) 42%,transparent)}.chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;line-height:1;color:var(--foreground-soft);background:var(--secondary);border:1px solid var(--border);padding:7px 12px;border-radius:var(--radius-pill);cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.chip:hover{color:var(--foreground)}.chip.on,.chip[aria-pressed=true]{background:var(--link-bg-soft);border-color:color-mix(in srgb,var(--primary) 42%,transparent);color:var(--primary)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.75rem;line-height:1;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--primary)}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--link-bg-soft)}.lead{font-size:1.125rem;line-height:1.6;color:var(--muted-foreground);max-width:60ch;text-wrap:pretty}.stacked{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--card)}.stacked-row{display:flex;align-items:center;gap:14px;padding:15px 18px;border-top:1px solid var(--border);transition:background var(--dur) var(--ease)}.stacked-row:first-child{border-top:0}.stacked-row:hover{background:var(--secondary)}.dl{display:grid;grid-template-columns:200px 1fr}.dl>div{display:contents}.dl dt{color:var(--muted-foreground);font-size:13.5px;padding:14px 0;border-top:1px solid var(--border)}.dl dd{color:var(--foreground-soft);font-size:14px;padding:14px 0;border-top:1px solid var(--border);margin:0}.dl.flush dt:first-of-type,.dl.flush dd:first-of-type{border-top:0}@media(max-width:640px){.dl{grid-template-columns:1fr}.dl dt{padding-bottom:0}.dl dd{padding-top:4px;border-top:0}}.feed{display:flex;flex-direction:column}.feed-row{display:flex;gap:14px;padding-bottom:22px;position:relative}.feed-row:before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:1px;background:var(--border)}.feed-row:last-child:before{display:none}.feed-dot{width:32px;height:32px;border-radius:50%;background:var(--secondary);border:1px solid var(--border);display:grid;place-items:center;color:var(--muted-foreground);flex:none;z-index:1}.feed-dot.accent{color:var(--primary);background:var(--link-bg-soft);border-color:color-mix(in srgb,var(--primary) 42%,transparent)}.feed-body{padding-top:5px}.feed-title{font-size:14px;color:var(--foreground-soft)}.feed-title strong{color:var(--foreground);font-weight:600}.feed-meta{font-size:12.5px;color:var(--muted-foreground);margin-top:2px}.stat .num{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.stat .lbl{color:var(--muted-foreground);font-size:13.5px;margin-top:8px}.banner{display:flex;align-items:center;justify-content:center;gap:14px;padding:11px 18px;font-size:13.5px;background:var(--secondary);border-bottom:1px solid var(--border);text-align:center;flex-wrap:wrap}.banner.accent{background:var(--link-bg-soft);border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary)}.banner .x{margin-left:auto;color:var(--muted-foreground);cursor:pointer;background:0;border:0;font-size:16px;line-height:1}.banner .x:hover{color:var(--foreground)}.subscribe-group{display:flex;gap:0;max-width:26rem}.subscribe-group input{border-top-right-radius:0;border-bottom-right-radius:0}.subscribe-group .btn{border-top-left-radius:0;border-bottom-left-radius:0}.event-calendar{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--card)}.event-calendar .cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--secondary);border-bottom:1px solid var(--border)}.event-calendar .cal-title{font-weight:700;font-size:15px}.event-calendar .cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.event-calendar .cal-weekday{padding:8px;text-align:center;font:600 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);border-bottom:1px solid var(--border)}.event-calendar .cal-day{min-height:88px;padding:6px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background-color var(--dur) var(--ease)}.event-calendar .cal-day:hover{background:color-mix(in srgb,var(--accent) 55%,transparent)}.event-calendar .cal-day:nth-child(7n){border-right:0}.event-calendar .cal-day.is-muted{background:color-mix(in srgb,var(--card),var(--background) 40%)}.event-calendar .daynum{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--foreground-soft)}.event-calendar .cal-day.is-today .daynum{box-shadow:inset 0 0 0 2px var(--primary);color:var(--primary);font-weight:700}.event-calendar .ev{display:block;margin-top:4px;padding:2px 6px;border-radius:4px;font-size:11.5px;background:var(--secondary);color:var(--foreground-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-calendar .ev.accent{background:var(--link-bg-soft);color:var(--primary)}.event-calendar .ev.danger{background:var(--destructive-soft);color:var(--destructive)}
