/* Component classes used by the React primitives (ported from cva variants) */
.lui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border-radius:var(--radius-md);font:500 14px/20px var(--font-sans);height:36px;padding:8px 16px;border:0;cursor:pointer;background:transparent;color:inherit;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s,background-image .15s}
.lui-btn:focus-visible{outline:none;box-shadow:0 0 0 1px var(--ring)}
.lui-btn:disabled,.lui-btn[aria-disabled="true"]{pointer-events:none;opacity:.5}
.lui-btn svg{width:16px;height:16px;flex-shrink:0;pointer-events:none}
.lui-btn--xs{height:28px;padding:0 8px}.lui-btn--sm{height:32px;padding:0 12px;font-size:12px;line-height:16px}.lui-btn--lg{height:40px;padding:0 20px}.lui-btn--icon{width:36px;height:36px;padding:0}
.lui-btn--default{color:var(--primary-foreground);box-shadow:var(--shadow-sm);background-image:linear-gradient(to bottom,color-mix(in oklch,var(--primary) 60%,transparent),color-mix(in oklch,var(--primary) 100%,transparent))}
.lui-btn--default:hover{background-image:linear-gradient(to bottom,color-mix(in oklch,var(--primary) 70%,transparent),color-mix(in oklch,var(--primary) 90%,transparent))}
.dark .lui-btn--default{background-image:linear-gradient(to bottom,color-mix(in oklch,var(--primary) 100%,transparent),color-mix(in oklch,var(--primary) 70%,transparent))}
.dark .lui-btn--default:hover{background-image:linear-gradient(to bottom,color-mix(in oklch,var(--primary) 80%,transparent),color-mix(in oklch,var(--primary) 70%,transparent))}
.lui-btn--destructive{background:color-mix(in oklch,var(--destructive) 30%,transparent);color:var(--destructive-foreground);box-shadow:var(--shadow-xs)}.lui-btn--destructive:hover{background:color-mix(in oklch,var(--destructive) 90%,transparent)}
.lui-btn--outline{border:1px solid var(--input);background:var(--background);box-shadow:var(--shadow-xs)}.lui-btn--outline:hover{background:var(--accent);color:var(--accent-foreground)}
.lui-btn--glow{box-shadow:var(--shadow-md);color:var(--foreground)}
.lui-btn--secondary{background:var(--secondary);color:var(--secondary-foreground);box-shadow:var(--shadow-xs)}.lui-btn--secondary:hover{background:color-mix(in oklch,var(--secondary) 80%,transparent)}
.lui-btn--ghost:hover{background:var(--accent);color:var(--accent-foreground)}
.lui-btn--link{color:var(--foreground);text-underline-offset:4px}.lui-btn--link:hover{text-decoration:underline}

.lui-badge{display:inline-flex;align-items:center;gap:8px;border-radius:9999px;border:1px solid var(--border);font:600 12px/16px var(--font-sans);padding:4px 10px;transition:color .15s}
.dark .lui-badge{border-color:color-mix(in oklch,var(--border) 20%,transparent)}
.lui-badge--sm{padding:0 4px}
.lui-badge--default{border-color:transparent!important;background:var(--primary);color:var(--primary-foreground)}
.lui-badge--brand{border-color:transparent!important;background:var(--brand);color:var(--primary-foreground)}
.lui-badge--brand-secondary{border-color:transparent!important;background:color-mix(in oklch,var(--brand-foreground) 20%,transparent);color:var(--brand)}
.lui-badge--secondary{border-color:transparent!important;background:var(--secondary);color:var(--secondary-foreground)}
.lui-badge--destructive{border-color:transparent!important;background:color-mix(in oklch,var(--destructive) 30%,transparent);color:var(--destructive-foreground)}
.lui-badge--outline{color:var(--foreground)}
.dark .lui-badge--default,.dark .lui-badge--brand,.dark .lui-badge--secondary,.dark .lui-badge--destructive{box-shadow:var(--shadow-sm)}

.lui-accordion-item{border-bottom:1px solid var(--border)}.dark .lui-accordion-item{border-bottom-color:color-mix(in oklch,var(--border) 15%,transparent)}
.lui-accordion-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;text-align:left;font:500 16px/24px var(--font-sans);color:inherit;background:none;border:0;cursor:pointer}
.lui-accordion-trigger:hover{text-decoration:underline}
.lui-accordion-trigger svg{color:var(--muted-foreground);width:16px;height:16px;flex-shrink:0;transition:transform .2s}
.lui-accordion-trigger[data-state="open"] svg{transform:rotate(180deg)}
.lui-accordion-content{overflow:hidden;font-size:14px;line-height:20px;transition:height .2s ease-out}

.lui-nav-trigger{display:inline-flex;height:36px;align-items:center;justify-content:center;border-radius:var(--radius-md);padding:8px 16px;font:500 14px/20px var(--font-sans);color:inherit;background:transparent;border:0;cursor:pointer;transition:color .15s,background-color .15s}
.lui-nav-trigger:hover{background:color-mix(in oklch,var(--foreground) 5%,transparent);color:var(--accent-foreground)}
.lui-nav-trigger[data-state="open"]{background:color-mix(in oklch,var(--foreground) 10%,transparent);color:var(--accent-foreground)}
.lui-nav-trigger svg{width:12px;height:12px;margin-left:4px;position:relative;top:1px;transition:transform .3s}
.lui-nav-trigger[data-state="open"] svg{transform:rotate(180deg)}
.lui-popover{background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md)}
.dark .lui-popover{border-color:color-mix(in oklch,var(--border) 15%,transparent)}
.lui-list-item{display:block;border-radius:var(--radius-md);padding:12px;transition:background-color .15s}
.lui-list-item:hover{background:var(--accent);color:var(--accent-foreground)}
.lui-menu-item{position:relative;display:flex;align-items:center;gap:8px;border-radius:var(--radius-sm);padding:6px 8px;font-size:14px;line-height:20px;cursor:default;user-select:none;outline:none}
.lui-menu-item:hover,.lui-menu-item:focus{background:var(--accent);color:var(--accent-foreground)}
.lui-menu-item svg{width:16px;height:16px;color:var(--muted-foreground)}
.lui-footer-link{color:var(--muted-foreground);font-size:14px;line-height:20px}.lui-footer-link:hover{color:var(--foreground)}
.lui-sheet-close{position:absolute;top:24px;right:24px;border-radius:var(--radius-sm);opacity:.7;background:none;border:0;color:inherit;cursor:pointer;padding:0;transition:opacity .15s}.lui-sheet-close:hover{opacity:1}
.lui-mobile-link{color:var(--muted-foreground)}.lui-mobile-link:hover{color:var(--foreground)}

.lui-glow-layer{opacity:.2}.dark .lui-glow-layer{opacity:1}
.lui-beam{position:relative}
.lui-beam::after{content:"";position:absolute;inset:0;border-radius:9999px;transform:scale(2);pointer-events:none;background:radial-gradient(color-mix(in oklch,var(--foreground) 30%,transparent) 10%,color-mix(in oklch,var(--foreground) 0%,transparent) 60%)}
.lui-beam--brand::after{background:radial-gradient(color-mix(in oklch,var(--brand) 10%,transparent) 10%,color-mix(in oklch,var(--brand) 0%,transparent) 60%)}.dark .lui-beam--brand::after{background:radial-gradient(color-mix(in oklch,var(--brand) 30%,transparent) 10%,color-mix(in oklch,var(--brand) 0%,transparent) 60%)}
.lui-beam--brandLight::after{background:radial-gradient(color-mix(in oklch,var(--brand-foreground) 10%,transparent) 10%,color-mix(in oklch,var(--brand-foreground) 0%,transparent) 60%)}.dark .lui-beam--brandLight::after{background:radial-gradient(color-mix(in oklch,var(--brand-foreground) 30%,transparent) 10%,color-mix(in oklch,var(--brand-foreground) 0%,transparent) 60%)}
.lui-mockup{display:flex;position:relative;z-index:10;overflow:hidden;box-shadow:var(--shadow-2xl);border:1px solid color-mix(in oklch,var(--border) 70%,transparent)}
.dark .lui-mockup{border-color:color-mix(in oklch,var(--border) 5%,transparent);border-top-color:color-mix(in oklch,var(--border) 15%,transparent)}
.lui-mockup--mobile{border-radius:48px;max-width:350px}.lui-mockup--responsive{border-radius:var(--radius-md)}
.lui-mockup-frame{display:flex;position:relative;z-index:10;overflow:hidden;border-radius:var(--radius-2xl);background:color-mix(in oklch,var(--border) 50%,transparent);padding:8px}
.dark .lui-mockup-frame{background:color-mix(in oklch,var(--border) 10%,transparent)}.lui-mockup-frame--large{padding:16px}
.lui-only-dark{display:none!important}.dark .lui-only-dark{display:block!important}.dark .lui-only-light{display:none!important}
.lui-section{padding:48px 16px}@media(min-width:640px){.lui-section{padding-top:96px;padding-bottom:96px}}@media(min-width:768px){.lui-section{padding-top:128px;padding-bottom:128px}}
.lui-footer-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
@media(min-width:640px){.lui-footer-content{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:768px){.lui-footer-content{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lui-footer-content{grid-template-columns:repeat(5,minmax(0,1fr))}}
.lui-footer-bottom{margin-top:32px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-top:16px;font-size:12px;line-height:16px;color:var(--muted-foreground)}
.dark .lui-footer-bottom{border-top-color:color-mix(in oklch,var(--border) 15%,transparent)}@media(min-width:640px){.lui-footer-bottom{flex-direction:row}}
.dark .lui-sheet{border-color:color-mix(in oklch,var(--border) 15%,transparent)!important}.lui-sheet{border-color:var(--border)}
.lui-pricing{position:relative;display:flex;flex-direction:column;gap:24px;overflow:hidden;border-radius:var(--radius-2xl);padding:32px;box-shadow:var(--shadow-xl);max-width:var(--container);border:1px solid var(--border)}
.lui-pricing--default{background-image:linear-gradient(to bottom,color-mix(in oklch,var(--card) 80%,transparent),transparent)}
.lui-pricing--glow{background-image:linear-gradient(to bottom,color-mix(in oklch,var(--card) 100%,transparent),transparent)}
.lui-pricing--glow-brand{background-image:linear-gradient(to bottom,var(--card),var(--card))}
.dark .lui-pricing--default,.dark .lui-pricing--glow{border-color:color-mix(in oklch,var(--border) 10%,transparent);border-top-color:color-mix(in oklch,var(--border) 20%,transparent);border-bottom-color:color-mix(in oklch,var(--border) 5%,transparent);background-image:linear-gradient(to bottom,color-mix(in oklch,var(--primary) 5%,transparent),color-mix(in oklch,var(--primary) 2%,transparent))}
.dark .lui-pricing--glow-brand{border-color:color-mix(in oklch,var(--border) 10%,transparent);border-top-color:color-mix(in oklch,var(--border) 30%,transparent);border-bottom-width:0;background-image:linear-gradient(to bottom,color-mix(in oklch,var(--primary) 10%,transparent),color-mix(in oklch,var(--primary) 5%,transparent))}
.lui-pricing--glow::after,.lui-pricing--glow-brand::after{content:"";position:absolute;top:-128px;left:50%;height:128px;width:100%;max-width:960px;transform:translateX(-50%);border-radius:50%;filter:blur(72px);pointer-events:none}
.dark .lui-pricing--glow::after{background:color-mix(in oklch,var(--foreground) 30%,transparent)}
.lui-pricing--glow-brand::after{background:color-mix(in oklch,var(--brand-foreground) 70%,transparent)}
.lui-pricing-edge{position:absolute;top:0;left:10%;height:1px;width:80%;border:0;margin:0;background-image:linear-gradient(to right,transparent,color-mix(in oklch,var(--foreground) 60%,transparent),transparent)}
.lui-pricing-edge--brand{background-image:linear-gradient(to right,transparent,var(--brand),transparent)}
