/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}
}
}
@layer theme{:root,:host{--font-sans:"Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xl:24px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Manrope", ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--font-display:"Sora", ui-sans-serif, system-ui, sans-serif}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::file-selector-button{margin-inline-end:4px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{display:inline-flex}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit{padding-block:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::file-selector-button{appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
*{border-color:var(--color-border)}
html{scroll-behavior:smooth}
body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display)}
}
@layer components;@layer utilities{.pointer-events-none{pointer-events:none}
.invisible{visibility:hidden}
.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.absolute{position:absolute}
.fixed{position:fixed}
.relative{position:relative}
.inset-0{inset:calc(var(--spacing) * 0)}
.inset-x-0{inset-inline:calc(var(--spacing) * 0)}
.inset-y-0{inset-block:calc(var(--spacing) * 0)}
.start{inset-inline-start:var(--spacing)}
.-top-3{top:calc(var(--spacing) * -3)}
.-top-12{top:calc(var(--spacing) * -12)}
.top-0{top:calc(var(--spacing) * 0)}
.top-1\.5{top:calc(var(--spacing) * 1.5)}
.top-1\/2{top:50%}
.top-3\.5{top:calc(var(--spacing) * 3.5)}
.top-4{top:calc(var(--spacing) * 4)}
.top-\[1px\]{top:1px}
.top-\[50\%\]{top:50%}
.top-\[60\%\]{top:60%}
.top-full{top:100%}
.-right-12{right:calc(var(--spacing) * -12)}
.right-0{right:calc(var(--spacing) * 0)}
.right-1{right:calc(var(--spacing) * 1)}
.right-2{right:calc(var(--spacing) * 2)}
.right-3{right:calc(var(--spacing) * 3)}
.right-4{right:calc(var(--spacing) * 4)}
.right-6{right:calc(var(--spacing) * 6)}
.-bottom-12{bottom:calc(var(--spacing) * -12)}
.bottom-0{bottom:calc(var(--spacing) * 0)}
.bottom-6{bottom:calc(var(--spacing) * 6)}
.-left-12{left:calc(var(--spacing) * -12)}
.left-0{left:calc(var(--spacing) * 0)}
.left-1\/2{left:50%}
.left-2{left:calc(var(--spacing) * 2)}
.left-\[50\%\]{left:50%}
.z-10{z-index:10}
.z-20{z-index:20}
.z-50{z-index:50}
.z-\[1\]{z-index:1}
.-mx-1{margin-inline:calc(var(--spacing) * -1)}
.mx-2{margin-inline:calc(var(--spacing) * 2)}
.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}
.mx-auto{margin-inline:auto}
.my-0\.5{margin-block:calc(var(--spacing) * .5)}
.my-1{margin-block:calc(var(--spacing) * 1)}
.-mt-4{margin-top:calc(var(--spacing) * -4)}
.mt-0\.5{margin-top:calc(var(--spacing) * .5)}
.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}
.mt-2{margin-top:calc(var(--spacing) * 2)}
.mt-3{margin-top:calc(var(--spacing) * 3)}
.mt-4{margin-top:calc(var(--spacing) * 4)}
.mt-6{margin-top:calc(var(--spacing) * 6)}
.mt-8{margin-top:calc(var(--spacing) * 8)}
.mt-10{margin-top:calc(var(--spacing) * 10)}
.mt-12{margin-top:calc(var(--spacing) * 12)}
.mt-14{margin-top:calc(var(--spacing) * 14)}
.mt-24{margin-top:calc(var(--spacing) * 24)}
.mt-auto{margin-top:auto}
.mr-2{margin-right:calc(var(--spacing) * 2)}
.mb-1{margin-bottom:calc(var(--spacing) * 1)}
.-ml-4{margin-left:calc(var(--spacing) * -4)}
.ml-1{margin-left:calc(var(--spacing) * 1)}
.ml-auto{margin-left:auto}
.block{display:block}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.inline-flex{display:inline-flex}
.table{display:table}
.aspect-square{aspect-ratio:1}
.aspect-video{aspect-ratio:var(--aspect-video)}
.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}
.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}
.h-\(--cell-size\){height:var(--cell-size)}
.h-1\.5{height:calc(var(--spacing) * 1.5)}
.h-2{height:calc(var(--spacing) * 2)}
.h-2\.5{height:calc(var(--spacing) * 2.5)}
.h-3{height:calc(var(--spacing) * 3)}
.h-3\.5{height:calc(var(--spacing) * 3.5)}
.h-4{height:calc(var(--spacing) * 4)}
.h-4\.5{height:calc(var(--spacing) * 4.5)}
.h-5{height:calc(var(--spacing) * 5)}
.h-6{height:calc(var(--spacing) * 6)}
.h-7{height:calc(var(--spacing) * 7)}
.h-8{height:calc(var(--spacing) * 8)}
.h-9{height:calc(var(--spacing) * 9)}
.h-10{height:calc(var(--spacing) * 10)}
.h-12{height:calc(var(--spacing) * 12)}
.h-14{height:calc(var(--spacing) * 14)}
.h-16{height:calc(var(--spacing) * 16)}
.h-\[1px\]{height:1px}
.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}
.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}
.h-auto{height:auto}
.h-full{height:100%}
.h-px{height:1px}
.h-svh{height:100svh}
.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}
.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}
.max-h-\[300px\]{max-height:300px}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}
.min-h-0{min-height:calc(var(--spacing) * 0)}
.min-h-\[60px\]{min-height:60px}
.min-h-screen{min-height:100vh}
.min-h-svh{min-height:100svh}
.w-\(--cell-size\){width:var(--cell-size)}
.w-\(--sidebar-width\){width:var(--sidebar-width)}
.w-0{width:calc(var(--spacing) * 0)}
.w-1{width:calc(var(--spacing) * 1)}
.w-2{width:calc(var(--spacing) * 2)}
.w-2\.5{width:calc(var(--spacing) * 2.5)}
.w-3{width:calc(var(--spacing) * 3)}
.w-3\.5{width:calc(var(--spacing) * 3.5)}
.w-3\/4{width:75%}
.w-4{width:calc(var(--spacing) * 4)}
.w-4\.5{width:calc(var(--spacing) * 4.5)}
.w-5{width:calc(var(--spacing) * 5)}
.w-6{width:calc(var(--spacing) * 6)}
.w-7{width:calc(var(--spacing) * 7)}
.w-8{width:calc(var(--spacing) * 8)}
.w-9{width:calc(var(--spacing) * 9)}
.w-10{width:calc(var(--spacing) * 10)}
.w-12{width:calc(var(--spacing) * 12)}
.w-14{width:calc(var(--spacing) * 14)}
.w-64{width:calc(var(--spacing) * 64)}
.w-72{width:calc(var(--spacing) * 72)}
.w-\[1px\]{width:1px}
.w-\[100px\]{width:100px}
.w-auto{width:auto}
.w-fit{width:fit-content}
.w-full{width:100%}
.w-max{width:max-content}
.w-px{width:1px}
.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}
.max-w-2xl{max-width:var(--container-2xl)}
.max-w-3xl{max-width:var(--container-3xl)}
.max-w-6xl{max-width:var(--container-6xl)}
.max-w-lg{max-width:var(--container-lg)}
.max-w-max{max-width:max-content}
.max-w-md{max-width:var(--container-md)}
.max-w-xl{max-width:var(--container-xl)}
.max-w-xs{max-width:var(--container-xs)}
.min-w-\(--cell-size\){min-width:var(--cell-size)}
.min-w-0{min-width:calc(var(--spacing) * 0)}
.min-w-5{min-width:calc(var(--spacing) * 5)}
.min-w-8{min-width:calc(var(--spacing) * 8)}
.min-w-9{min-width:calc(var(--spacing) * 9)}
.min-w-10{min-width:calc(var(--spacing) * 10)}
.min-w-\[8rem\]{min-width:8rem}
.min-w-\[12rem\]{min-width:12rem}
.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}
.flex-1{flex:1}
.shrink-0{flex-shrink:0}
.grow{flex-grow:1}
.grow-0{flex-grow:0}
.basis-full{flex-basis:100%}
.caption-bottom{caption-side:bottom}
.border-collapse{border-collapse:collapse}
.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}
.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}
.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}
.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}
.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}
.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}
.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}
.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}
.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}
.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}
.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}
.rotate-45{rotate:45deg}
.rotate-90{rotate:90deg}
.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}
.reveal-visible{opacity:1;transform:translateY(0)}
.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}
.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}
.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.animate-pulse{animation:var(--animate-pulse)}
.cursor-default{cursor:default}
.cursor-pointer{cursor:pointer}
.touch-none{touch-action:none}
.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}
.list-none{list-style-type:none}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.flex-col{flex-direction:column}
.flex-col-reverse{flex-direction:column-reverse}
.flex-row{flex-direction:row}
.flex-wrap{flex-wrap:wrap}
.place-content-center{place-content:center}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.items-stretch{align-items:stretch}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.gap-1{gap:calc(var(--spacing) * 1)}
.gap-1\.5{gap:calc(var(--spacing) * 1.5)}
.gap-2{gap:calc(var(--spacing) * 2)}
.gap-3{gap:calc(var(--spacing) * 3)}
.gap-4{gap:calc(var(--spacing) * 4)}
.gap-6{gap:calc(var(--spacing) * 6)}
.gap-8{gap:calc(var(--spacing) * 8)}
:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}
:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}
:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}
:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}
.overflow-auto{overflow:auto}
.overflow-hidden{overflow:hidden}
.overflow-x-hidden{overflow-x:hidden}
.overflow-y-auto{overflow-y:auto}
.rounded-2xl{border-radius:calc(var(--radius) + 8px)}
.rounded-3xl{border-radius:calc(var(--radius) + 12px)}
.rounded-\[2px\]{border-radius:2px}
.rounded-\[inherit\]{border-radius:inherit}
.rounded-full{border-radius:3.40282e38px}
.rounded-lg{border-radius:var(--radius)}
.rounded-md{border-radius:calc(var(--radius) - 2px)}
.rounded-none{border-radius:0}
.rounded-sm{border-radius:calc(var(--radius) - 4px)}
.rounded-xl{border-radius:calc(var(--radius) + 4px)}
.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}
.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}
.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}
.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}
.border{border-style:var(--tw-border-style);border-width:1px}
.border-2{border-style:var(--tw-border-style);border-width:2px}
.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}
.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}
.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}
.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}
.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}
.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}
.border-dashed{--tw-border-style:dashed;border-style:dashed}
.border-\(--color-border\){border-color:var(--color-border)}
.border-border,.border-border\/40{border-color:var(--border)}
@supports (color:color-mix(in lab, red, red)){.border-border\/40{border-color:color-mix(in oklab, var(--border) 40%, transparent)}
}
.border-border\/50{border-color:var(--border)}
@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}
}
.border-border\/60{border-color:var(--border)}
@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}
}
.border-border\/70{border-color:var(--border)}
@supports (color:color-mix(in lab, red, red)){.border-border\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}
}
.border-destructive\/50{border-color:var(--destructive)}
@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}
}
.border-input{border-color:var(--input)}
.border-primary,.border-primary\/30{border-color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--primary) 30%, transparent)}
}
.border-primary\/50{border-color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.border-primary\/50{border-color:color-mix(in oklab, var(--primary) 50%, transparent)}
}
.border-primary\/60{border-color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.border-primary\/60{border-color:color-mix(in oklab, var(--primary) 60%, transparent)}
}
.border-transparent{border-color:#0000}
.border-t-transparent{border-top-color:#0000}
.border-l-transparent{border-left-color:#0000}
.bg-\(--color-bg\){background-color:var(--color-bg)}
.bg-accent{background-color:var(--accent)}
.bg-background,.bg-background\/80{background-color:var(--background)}
@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}
}
.bg-black\/80{background-color:#000c}
@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}
}
.bg-border{background-color:var(--border)}
.bg-card,.bg-card\/60{background-color:var(--card)}
@supports (color:color-mix(in lab, red, red)){.bg-card\/60{background-color:color-mix(in oklab, var(--card) 60%, transparent)}
}
.bg-card\/70{background-color:var(--card)}
@supports (color:color-mix(in lab, red, red)){.bg-card\/70{background-color:color-mix(in oklab, var(--card) 70%, transparent)}
}
.bg-destructive{background-color:var(--destructive)}
.bg-foreground{background-color:var(--foreground)}
.bg-muted,.bg-muted\/50{background-color:var(--muted)}
@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}
}
.bg-popover{background-color:var(--popover)}
.bg-primary,.bg-primary\/10{background-color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}
}
.bg-primary\/20{background-color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}
}
.bg-secondary{background-color:var(--secondary)}
.bg-surface,.bg-surface\/40{background-color:var(--surface)}
@supports (color:color-mix(in lab, red, red)){.bg-surface\/40{background-color:color-mix(in oklab, var(--surface) 40%, transparent)}
}
.bg-surface\/50{background-color:var(--surface)}
@supports (color:color-mix(in lab, red, red)){.bg-surface\/50{background-color:color-mix(in oklab, var(--surface) 50%, transparent)}
}
.bg-surface\/60{background-color:var(--surface)}
@supports (color:color-mix(in lab, red, red)){.bg-surface\/60{background-color:color-mix(in oklab, var(--surface) 60%, transparent)}
}
.bg-transparent{background-color:#0000}
.text-gold-gradient{background:var(--gradient-gold);color:#0000;-webkit-background-clip:text;background-clip:text}
.fill-current{fill:currentColor}
.fill-primary{fill:var(--primary)}
.object-cover{object-fit:cover}
.p-0{padding:calc(var(--spacing) * 0)}
.p-1{padding:calc(var(--spacing) * 1)}
.p-2{padding:calc(var(--spacing) * 2)}
.p-3{padding:calc(var(--spacing) * 3)}
.p-4{padding:calc(var(--spacing) * 4)}
.p-6{padding:calc(var(--spacing) * 6)}
.p-8{padding:calc(var(--spacing) * 8)}
.p-\[1px\]{padding:1px}
.px-\(--cell-size\){padding-inline:var(--cell-size)}
.px-1{padding-inline:calc(var(--spacing) * 1)}
.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}
.px-2{padding-inline:calc(var(--spacing) * 2)}
.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}
.px-3{padding-inline:calc(var(--spacing) * 3)}
.px-4{padding-inline:calc(var(--spacing) * 4)}
.px-5{padding-inline:calc(var(--spacing) * 5)}
.px-6{padding-inline:calc(var(--spacing) * 6)}
.px-8{padding-inline:calc(var(--spacing) * 8)}
.py-0\.5{padding-block:calc(var(--spacing) * .5)}
.py-1{padding-block:calc(var(--spacing) * 1)}
.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}
.py-2{padding-block:calc(var(--spacing) * 2)}
.py-3{padding-block:calc(var(--spacing) * 3)}
.py-4{padding-block:calc(var(--spacing) * 4)}
.py-6{padding-block:calc(var(--spacing) * 6)}
.py-12{padding-block:calc(var(--spacing) * 12)}
.py-16{padding-block:calc(var(--spacing) * 16)}
.py-24{padding-block:calc(var(--spacing) * 24)}
.pt-0{padding-top:calc(var(--spacing) * 0)}
.pt-3{padding-top:calc(var(--spacing) * 3)}
.pt-4{padding-top:calc(var(--spacing) * 4)}
.pt-16{padding-top:calc(var(--spacing) * 16)}
.pt-20{padding-top:calc(var(--spacing) * 20)}
.pr-1{padding-right:calc(var(--spacing) * 1)}
.pr-2{padding-right:calc(var(--spacing) * 2)}
.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}
.pr-8{padding-right:calc(var(--spacing) * 8)}
.pb-3{padding-bottom:calc(var(--spacing) * 3)}
.pb-4{padding-bottom:calc(var(--spacing) * 4)}
.pb-24{padding-bottom:calc(var(--spacing) * 24)}
.pl-2{padding-left:calc(var(--spacing) * 2)}
.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}
.pl-4{padding-left:calc(var(--spacing) * 4)}
.pl-8{padding-left:calc(var(--spacing) * 8)}
.text-center{text-align:center}
.text-left{text-align:left}
.align-middle{vertical-align:middle}
.font-display{font-family:Sora,ui-sans-serif,system-ui,sans-serif}
.font-mono{font-family:var(--font-mono)}
.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}
.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}
.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}
.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}
.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}
.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}
.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}
.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}
.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}
.text-\[0\.8rem\]{font-size:.8rem}
.leading-none{--tw-leading:1;line-height:1}
.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}
.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}
.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}
.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}
.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}
.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}
.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}
.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}
.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}
.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}
.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}
.break-words{overflow-wrap:break-word}
.whitespace-nowrap{white-space:nowrap}
.text-accent-foreground{color:var(--accent-foreground)}
.text-card-foreground{color:var(--card-foreground)}
.text-current{color:currentColor}
.text-destructive{color:var(--destructive)}
.text-destructive-foreground{color:var(--destructive-foreground)}
.text-foreground,.text-foreground\/90{color:var(--foreground)}
@supports (color:color-mix(in lab, red, red)){.text-foreground\/90{color:color-mix(in oklab, var(--foreground) 90%, transparent)}
}
.text-muted-foreground{color:var(--muted-foreground)}
.text-popover-foreground{color:var(--popover-foreground)}
.text-primary{color:var(--primary)}
.text-primary-foreground{color:var(--primary-foreground)}
.text-primary-glow{color:var(--primary-glow)}
.text-primary\/40{color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.text-primary\/40{color:color-mix(in oklab, var(--primary) 40%, transparent)}
}
.text-secondary-foreground{color:var(--secondary-foreground)}
.uppercase{text-transform:uppercase}
.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}
.underline-offset-4{text-underline-offset:4px}
.opacity-0{opacity:0}
.opacity-30{opacity:.3}
.opacity-50{opacity:.5}
.opacity-60{opacity:.6}
.opacity-70{opacity:.7}
.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.shadow-card-premium{box-shadow:var(--shadow-card)}
.shadow-gold{box-shadow:var(--shadow-gold)}
.ring-ring{--tw-ring-color:var(--ring)}
.ring-offset-background{--tw-ring-offset-color:var(--background)}
.outline{outline-style:var(--tw-outline-style);outline-width:1px}
.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}
.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}
.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}
.duration-200{--tw-duration:.2s;transition-duration:.2s}
.duration-300{--tw-duration:.3s;transition-duration:.3s}
.duration-1000{--tw-duration:1s;transition-duration:1s}
.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}
.ease-linear{--tw-ease:linear;transition-timing-function:linear}
.fade-in-0{--tw-enter-opacity:0}
.outline-none{--tw-outline-style:none;outline-style:none}
.select-none{-webkit-user-select:none;user-select:none}
.zoom-in-95{--tw-enter-scale:.95}
.\[--cell-size\:2rem\]{--cell-size:2rem}
.bg-gold-gradient{background:var(--gradient-gold)}
.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}
@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}
}
.group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}
.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}
.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}
.group-data-\[collapsible\=icon\]\:\!size-8:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}
.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}
.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem)}
.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem + 2px)}
.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}
.group-data-\[collapsible\=icon\]\:\!p-0:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}
.group-data-\[collapsible\=icon\]\:\!p-2:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}
.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}
.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}
.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}
.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}
.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}
.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}
.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}
.group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *){border-color:var(--ring)}
.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:var(--ring)}
@supports (color:color-mix(in lab, red, red)){.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}
}
.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}
.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}
.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}
.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}
.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}
.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}
.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}
.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}
.group-data-\[variant\=floating\]\:shadow:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted)}
.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}
.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}
.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}
.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--border)}
.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--background)}
.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}
.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}
.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}
.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}
.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}
.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}
.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}
.file\:bg-transparent::file-selector-button{background-color:#0000}
.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}
.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}
.file\:text-foreground::file-selector-button{color:var(--foreground)}
.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}
.after\:absolute:after{content:var(--tw-content);position:absolute}
.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}
.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}
.after\:left-1\/2:after{content:var(--tw-content);left:50%}
.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing) * 1)}
.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}
.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}
.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}
.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}
.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}
@media (hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}
.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}
.hover\:border-primary\/50:hover{border-color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--primary) 50%, transparent)}
}
.hover\:bg-accent:hover{background-color:var(--accent)}
.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}
@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, transparent)}
}
.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}
@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}
}
.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}
@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}
}
.hover\:bg-primary\/80:hover{background-color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}
}
.hover\:bg-primary\/90:hover{background-color:var(--primary)}
@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}
}
.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}
@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}
}
.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}
.hover\:text-foreground:hover{color:var(--foreground)}
.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}
.hover\:text-primary:hover{color:var(--primary)}
.hover\:no-underline:hover{text-decoration-line:none}
.hover\:underline:hover{text-decoration-line:underline}
.hover\:opacity-100:hover{opacity:1}
.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
}
.focus\:bg-accent:focus{background-color:var(--accent)}
.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}
.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}
.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}
.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}
.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}
.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}
.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}
.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}
.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}
.disabled\:pointer-events-none:disabled{pointer-events:none}
.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}
.disabled\:opacity-50:disabled{opacity:.5}
.has-focus\:border-ring:has(:focus){border-color:var(--ring)}
.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--ring)}
@supports (color:color-mix(in lab, red, red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}
}
.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}
.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}
.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}
.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}
.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}
.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}
.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}
.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}
.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}
.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:calc(52*var(--spacing))}
.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:calc(52*var(--spacing)*-1)}
.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:calc(52*var(--spacing))}
.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:calc(52*var(--spacing)*-1)}
.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}
.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}
.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}
.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}
.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}
.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}
.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing) * 1)}
.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}
.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}
.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}
.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}
.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:var(--primary)}
.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}
.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}
.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:var(--accent)}
.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:var(--accent-foreground)}
.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}
.data-\[range-start\=true\]\:bg-primary[data-range-start=true]{background-color:var(--primary)}
.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}
.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:var(--primary)}
.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}
.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}
.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}
.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}
.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}
.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}
.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}
.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}
.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}
.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}
.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}
.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}
.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}
.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}
.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}
.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}
.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}
.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}
.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}
.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}
.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}
.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}
.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}
.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}
@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}
}
.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}
.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}
.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}
.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}
.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}
.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}
.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}
.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}
.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}
.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}
.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}
.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}
@media (hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}
}
.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}
.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}
.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}
.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}
.data-\[state\=visible\]\:animate-in[data-state=visible]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}
.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}
@media (width>=40rem){.sm\:mt-0{margin-top:calc(var(--spacing) * 0)}
.sm\:flex{display:flex}
.sm\:max-w-sm{max-width:var(--container-sm)}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm\:flex-row{flex-direction:row}
.sm\:justify-end{justify-content:flex-end}
.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}
:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}
.sm\:rounded-lg{border-radius:var(--radius)}
.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}
.sm\:px-12{padding-inline:calc(var(--spacing) * 12)}
.sm\:pt-28{padding-top:calc(var(--spacing) * 28)}
.sm\:text-left{text-align:left}
.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}
.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}
.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}
}
@media (width>=48rem){.md\:absolute{position:absolute}
.md\:mx-0{margin-inline:calc(var(--spacing) * 0)}
.md\:block{display:block}
.md\:flex{display:flex}
.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}
.md\:w-auto{width:auto}
.md\:flex-row{flex-direction:row}
.md\:items-end{align-items:flex-end}
.md\:justify-between{justify-content:space-between}
.md\:text-left{text-align:left}
.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}
.md\:opacity-0{opacity:0}
.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}
.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}
.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}
.md\:peer-data-\[variant\=inset\]\:shadow:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2:is(:where(.peer)[data-state=collapsed]~*):is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 2)}
}
.after\:md\:hidden:after{content:var(--tw-content)}
@media (width>=48rem){.after\:md\:hidden:after{display:none}
}
@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}
}
.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}
.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}
.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:var(--border)}
@supports (color:color-mix(in lab, red, red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:color-mix(in oklab, var(--border) 50%, transparent)}
}
.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}
.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}
.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{--tw-outline-style:none;outline-style:none}
.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:var(--border)}
.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}
.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:var(--border)}
.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{--tw-outline-style:none;outline-style:none}
.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}
.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{--tw-outline-style:none;outline-style:none}
.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}
.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}
.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}
.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}
.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}
.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}
.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}
.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}
.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}
.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}
.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}
.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}
.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}
.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}
.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}
.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}
:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}
.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}
.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}
.\[\&\>button\]\:hidden>button{display:none}
.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}
.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}
.\[\&\>span\]\:opacity-70>span{opacity:.7}
.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.\[\&\>svg\]\:absolute>svg{position:absolute}
.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}
.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}
.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}
.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}
.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}
.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}
.\[\&\>svg\]\:h-3\.5>svg{height:calc(var(--spacing) * 3.5)}
.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}
.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}
.\[\&\>svg\]\:w-3\.5>svg{width:calc(var(--spacing) * 3.5)}
.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}
.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}
.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}
.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}
.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}
.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}
.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}
[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize,[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}
[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}
[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}
}
@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}
@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}
@property --tw-animation-duration{syntax:"*";inherits:false}
@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}
@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}
@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}
@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}
@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}
@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}
@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}
@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}
@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}
@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}
@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}
@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}
@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}
@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}
:root{--radius:.75rem;--background:oklch(18.5% .028 270);--foreground:oklch(97% .005 260);--surface:oklch(22.5% .03 268);--surface-elevated:oklch(26% .032 266);--card:oklch(22.5% .03 268);--card-foreground:oklch(97% .005 260);--popover:oklch(22.5% .03 268);--popover-foreground:oklch(97% .005 260);--primary:oklch(78% .155 75);--primary-glow:oklch(86% .13 85);--primary-foreground:oklch(17% .03 270);--secondary:oklch(28% .033 266);--secondary-foreground:oklch(97% .005 260);--muted:oklch(27% .03 266);--muted-foreground:oklch(68% .02 262);--accent:oklch(78% .155 75);--accent-foreground:oklch(17% .03 270);--destructive:oklch(60% .22 25);--destructive-foreground:oklch(97% .005 260);--border:oklch(32% .03 266);--input:oklch(32% .03 266);--ring:oklch(78% .155 75);--gradient-gold:linear-gradient(120deg, oklch(66% .14 65), oklch(82% .16 82) 45%, oklch(90% .12 90) 60%, oklch(72% .15 70));--gradient-hero:linear-gradient(180deg, oklch(18.5% .028 270/.55), oklch(18.5% .028 270/.92) 70%, oklch(18.5% .028 270));--shadow-gold:0 12px 42px -12px oklch(78% .155 75/.45);--shadow-card:0 18px 50px -20px oklch(5% .02 270/.7)}
@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}
@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}
@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
@property --tw-rotate-x{syntax:"*";inherits:false}
@property --tw-rotate-y{syntax:"*";inherits:false}
@property --tw-rotate-z{syntax:"*";inherits:false}
@property --tw-skew-x{syntax:"*";inherits:false}
@property --tw-skew-y{syntax:"*";inherits:false}
@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}
@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}
@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
@property --tw-leading{syntax:"*";inherits:false}
@property --tw-font-weight{syntax:"*";inherits:false}
@property --tw-tracking{syntax:"*";inherits:false}
@property --tw-ordinal{syntax:"*";inherits:false}
@property --tw-slashed-zero{syntax:"*";inherits:false}
@property --tw-numeric-figure{syntax:"*";inherits:false}
@property --tw-numeric-spacing{syntax:"*";inherits:false}
@property --tw-numeric-fraction{syntax:"*";inherits:false}
@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-shadow-color{syntax:"*";inherits:false}
@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}
@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-inset-shadow-color{syntax:"*";inherits:false}
@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}
@property --tw-ring-color{syntax:"*";inherits:false}
@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-inset-ring-color{syntax:"*";inherits:false}
@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-ring-inset{syntax:"*";inherits:false}
@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}
@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}
@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
@property --tw-backdrop-blur{syntax:"*";inherits:false}
@property --tw-backdrop-brightness{syntax:"*";inherits:false}
@property --tw-backdrop-contrast{syntax:"*";inherits:false}
@property --tw-backdrop-grayscale{syntax:"*";inherits:false}
@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}
@property --tw-backdrop-invert{syntax:"*";inherits:false}
@property --tw-backdrop-opacity{syntax:"*";inherits:false}
@property --tw-backdrop-saturate{syntax:"*";inherits:false}
@property --tw-backdrop-sepia{syntax:"*";inherits:false}
@property --tw-duration{syntax:"*";inherits:false}
@property --tw-ease{syntax:"*";inherits:false}
@property --tw-content{syntax:"*";inherits:false;initial-value:""}
@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}
@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}
@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
@keyframes pulse{50%{opacity:.5}
}
@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}
}
@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}
}
@keyframes accordion-down{0%{height:0}
to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}
}
@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}
to{height:0}
}
@keyframes caret-blink{0%,70%,to{opacity:1}
20%,50%{opacity:0}
}

/* Portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:3.5rem}
.portfolio-card{position:relative;display:block;overflow:hidden;border:1px solid hsl(var(--border)/.7);border-radius:1rem;background:hsl(var(--card));color:inherit;text-decoration:none;box-shadow:var(--shadow-card);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.portfolio-card:hover{transform:translateY(-6px);border-color:hsl(var(--primary)/.55);box-shadow:var(--shadow-gold)}
.portfolio-cover{position:relative;display:flex;min-height:13rem;align-items:center;justify-content:center;overflow:hidden;padding:1.5rem}
.portfolio-cover-image{display:block;width:100%;height:13rem;object-fit:cover;object-position:center top;transition:transform .35s ease}
.portfolio-card:hover .portfolio-cover-image{transform:scale(1.035)}
.portfolio-cover:after{position:absolute;inset:0;content:"";background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 45%,rgba(0,0,0,.2));pointer-events:none}
.portfolio-browser{position:relative;z-index:1;width:88%;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:.75rem;background:rgba(8,11,25,.86);box-shadow:0 20px 45px rgba(0,0,0,.38);transform:perspective(700px) rotateX(2deg) rotateY(-3deg);transition:transform .3s ease}
.portfolio-card:hover .portfolio-browser{transform:perspective(700px) rotateX(0) rotateY(0) scale(1.025)}
.portfolio-browser-bar{display:flex;gap:.28rem;padding:.55rem .65rem;border-bottom:1px solid rgba(255,255,255,.1)}
.portfolio-browser-bar i{width:.38rem;height:.38rem;border-radius:999px;background:rgba(255,255,255,.35)}
.portfolio-browser-content{display:flex;min-height:7.7rem;flex-direction:column;justify-content:center;padding:1.1rem}
.portfolio-browser-kicker{font-size:.55rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f6b91a}
.portfolio-browser-title{margin-top:.35rem;max-width:12rem;font-family:Sora,sans-serif;font-size:1.15rem;font-weight:800;line-height:1.12;color:#fff}
.portfolio-browser-line{width:68%;height:.3rem;margin-top:.8rem;border-radius:999px;background:rgba(255,255,255,.25)}
.portfolio-browser-button{width:3.8rem;height:.9rem;margin-top:.8rem;border-radius:999px;background:linear-gradient(90deg,#e99800,#ffd44a)}
.portfolio-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem}
.portfolio-service{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--primary))}
.portfolio-title{margin-top:.35rem;font-family:Sora,sans-serif;font-size:1.05rem;font-weight:700}
.portfolio-arrow{display:flex;width:2.5rem;height:2.5rem;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:hsl(var(--primary)/.12);color:hsl(var(--primary));transition:background .2s ease,color .2s ease}
.portfolio-card:hover .portfolio-arrow{background:linear-gradient(135deg,#e99800,#ffd44a);color:#111527}
.portfolio-demo{position:absolute;z-index:2;top:.85rem;right:.85rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(8,11,25,.72);padding:.35rem .6rem;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.78);backdrop-filter:blur(8px)}
.cover-aurora{background:radial-gradient(circle at 70% 30%,#316772 0,transparent 35%),linear-gradient(135deg,#102a36,#07101d)}
.cover-nova{background:radial-gradient(circle at 75% 20%,#925725 0,transparent 32%),linear-gradient(135deg,#321f18,#0b111e)}
.cover-vertice{background:radial-gradient(circle at 25% 25%,#634bb8 0,transparent 36%),linear-gradient(135deg,#221d4c,#090d1a)}
.cover-origen{background:radial-gradient(circle at 70% 25%,#3c8158 0,transparent 35%),linear-gradient(135deg,#18392c,#080f17)}
.cover-lumina{background:radial-gradient(circle at 28% 28%,#a9446b 0,transparent 35%),linear-gradient(135deg,#421d37,#0d101c)}
.cover-nexo{background:radial-gradient(circle at 72% 24%,#355fa6 0,transparent 35%),linear-gradient(135deg,#162c50,#080e1a)}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.portfolio-grid{grid-template-columns:1fr;gap:1.1rem;margin-top:2.5rem}.portfolio-cover{min-height:12rem}.portfolio-cover-image{height:12rem}.portfolio-info{padding:1.1rem}}

/* WhatsApp floating action */
.whatsapp-float{background:#25d366;color:#fff;box-shadow:0 12px 34px -10px rgba(37,211,102,.7)}
.whatsapp-float:hover{background:#20bd5a;box-shadow:0 14px 40px -9px rgba(37,211,102,.85)}
