*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:346.8 77.2% 49.8%;--primary-foreground:355.7 100% 97.3%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:346.8 77.2% 49.8%;--radius:0.5rem}.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:346.8 77.2% 49.8%;--primary-foreground:355.7 100% 97.3%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:346.8 77.2% 49.8%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.lud-btn{align-items:center;border-radius:var(--radius);display:inline-flex;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px}.lud-btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.lud-btn-primary{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#e11d48 var(--tw-gradient-to-position);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lud-btn-primary:hover{--tw-gradient-from:#e11d48 var(--tw-gradient-from-position);--tw-gradient-to:rgba(225,29,72,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#be123c var(--tw-gradient-to-position)}.lud-btn-primary{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lud-btn-primary:hover{--tw-translate-y:-0.125rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lud-btn-primary:active,.lud-btn-primary:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lud-btn-primary:active{--tw-translate-y:0px;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lud-btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.lud-btn-secondary:hover{background-color:hsl(var(--secondary)/.8)}.lud-btn-outline{border-width:2px;--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.lud-btn-outline:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.lud-btn-ghost:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.lud-btn-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.lud-btn-destructive:hover{background-color:hsl(var(--destructive)/.9)}.lud-btn-sm{font-size:.875rem;line-height:1.25rem;padding:.5rem 1rem}.lud-btn-lg{font-size:1.125rem;line-height:1.75rem;padding:1rem 2rem}.lud-card{background-color:hsl(var(--card));border-radius:.75rem;color:hsl(var(--card-foreground));overflow:hidden;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-card,.lud-card-hover:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lud-card-hover:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lud-card-header{border-bottom-width:1px;border-color:hsl(var(--border));padding:1rem 1.5rem}.lud-card-body{padding:1.5rem}.lud-card-footer{background-color:hsl(var(--muted)/.3);border-color:hsl(var(--border));border-top-width:1px;padding:1rem 1.5rem}.lud-profile-card{background-color:hsl(var(--card));border-radius:.75rem;color:hsl(var(--card-foreground));overflow:hidden;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-profile-card,.lud-profile-card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lud-profile-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lud-profile-card{position:relative}.lud-profile-image-wrapper{background-color:hsl(var(--muted));overflow:hidden;padding-bottom:100%;position:relative;width:100%}.lud-profile-image{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition-duration:.3s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.lud-profile-card:hover .lud-profile-image{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lud-profile-info>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.lud-profile-info{padding:1rem}.lud-profile-name{color:hsl(var(--foreground));font-size:1.125rem;font-weight:700;line-height:1.75rem}.lud-profile-location{align-items:center;color:hsl(var(--muted-foreground));display:flex;font-size:.875rem;gap:.25rem;line-height:1.25rem}.lud-profile-bio{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;color:hsl(var(--foreground)/.8);font-size:.875rem;-webkit-line-clamp:3;line-height:1.25rem}.lud-profile-actions{background-color:hsl(var(--muted)/.2);border-color:hsl(var(--border));border-top-width:1px;display:flex;gap:.75rem;justify-content:center;padding:1rem}.lud-action-btn{align-items:center;border-radius:9999px;display:flex;height:3rem;justify-content:center;width:3rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-action-btn,.lud-action-btn:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lud-action-btn:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lud-action-btn:active,.lud-action-btn:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lud-action-btn:active{--tw-scale-x:.95;--tw-scale-y:.95}.lud-btn-like{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#e11d48 var(--tw-gradient-to-position);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lud-btn-like:hover{--tw-gradient-from:#e11d48 var(--tw-gradient-from-position);--tw-gradient-to:rgba(225,29,72,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#be123c var(--tw-gradient-to-position)}.lud-btn-pass{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lud-btn-pass:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.lud-btn-wave{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#eab308 var(--tw-gradient-to-position);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lud-btn-wave:hover{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.lud-btn-superlike{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#2563eb var(--tw-gradient-to-position);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lud-btn-superlike:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.lud-input{background-color:hsl(var(--background));border-color:hsl(var(--input));border-radius:var(--radius);border-width:2px;padding:.75rem 1rem;width:100%}.lud-input:focus{border-color:hsl(var(--ring));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring)/0.2)}.lud-input{transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.lud-input::placeholder{color:hsl(var(--muted-foreground))}.lud-input:disabled{cursor:not-allowed;opacity:.5}.lud-textarea{background-color:hsl(var(--background));border-color:hsl(var(--input));border-radius:var(--radius);border-width:2px;padding:.75rem 1rem;width:100%}.lud-textarea:focus{border-color:hsl(var(--ring));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring)/0.2)}.lud-textarea{transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.lud-textarea::placeholder{color:hsl(var(--muted-foreground))}.lud-textarea:disabled{cursor:not-allowed;opacity:.5}.lud-textarea{min-height:120px;resize:vertical}.lud-select{background-color:hsl(var(--background));border-color:hsl(var(--input));border-radius:var(--radius);border-width:2px;padding:.75rem 1rem;width:100%}.lud-select:focus{border-color:hsl(var(--ring));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring)/0.2)}.lud-select{transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-select::-moz-placeholder{color:hsl(var(--muted-foreground))}.lud-select::placeholder{color:hsl(var(--muted-foreground))}.lud-select:disabled{cursor:not-allowed;opacity:.5}.lud-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9IiM2QjcyODAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJtMSAxIDUgNSA1LTUiLz48L3N2Zz4=");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.lud-checkbox{border-color:hsl(var(--input));border-radius:.25rem;border-width:2px;height:1.25rem;width:1.25rem}.lud-checkbox:checked{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.lud-checkbox:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring)/0.2)}.lud-label{color:hsl(var(--foreground));display:block;font-size:.875rem;font-weight:600;line-height:1.25rem;margin-bottom:.5rem}.lud-form-group>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.lud-form-error{color:hsl(var(--destructive))}.lud-form-error,.lud-form-help{font-size:.875rem;line-height:1.25rem;margin-top:.25rem}.lud-form-help{color:hsl(var(--muted-foreground))}.lud-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;line-height:1rem;padding:.25rem .75rem}.lud-badge-primary{background-color:hsl(var(--primary)/.1);color:hsl(var(--primary))}.lud-badge-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.lud-badge-success{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lud-badge-warning{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.lud-badge-error{background-color:rgb(254 226 226/var(--tw-bg-opacity,1));color:rgb(185 28 28/var(--tw-text-opacity,1))}.lud-badge-error,.lud-badge-online{--tw-bg-opacity:1;--tw-text-opacity:1}.lud-badge-online{background-color:rgb(220 252 231/var(--tw-bg-opacity,1));color:rgb(21 128 61/var(--tw-text-opacity,1))}.lud-badge-offline{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lud-badge-verified{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lud-badge-spotlight{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lud-alert{align-items:flex-start;border-radius:var(--radius);border-width:1px;display:flex;gap:.75rem;padding:1rem}.lud-alert-success{background-color:rgb(240 253 244/var(--tw-bg-opacity,1));border-color:rgb(187 247 208/var(--tw-border-opacity,1));color:rgb(22 101 52/var(--tw-text-opacity,1))}.lud-alert-error,.lud-alert-success{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1}.lud-alert-error{background-color:rgb(254 242 242/var(--tw-bg-opacity,1));border-color:rgb(254 202 202/var(--tw-border-opacity,1));color:rgb(153 27 27/var(--tw-text-opacity,1))}.lud-alert-warning{background-color:rgb(254 252 232/var(--tw-bg-opacity,1));border-color:rgb(254 240 138/var(--tw-border-opacity,1));color:rgb(133 77 14/var(--tw-text-opacity,1))}.lud-alert-info,.lud-alert-warning{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1}.lud-alert-info{background-color:rgb(239 246 255/var(--tw-bg-opacity,1));border-color:rgb(191 219 254/var(--tw-border-opacity,1));color:rgb(30 64 175/var(--tw-text-opacity,1))}.lud-modal-overlay{align-items:center;animation:fade-in .2s ease-out;background-color:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:50}.lud-modal{background-color:hsl(var(--card));border-radius:1rem;max-height:90vh;max-width:32rem;overflow:auto;width:100%;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);animation:scale-in .2s ease-out;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lud-modal-header{align-items:center;border-bottom-width:1px;border-color:hsl(var(--border));display:flex;justify-content:space-between;padding:1rem 1.5rem}.lud-modal-title{color:hsl(var(--foreground));font-size:1.25rem;font-weight:700;line-height:1.75rem}.lud-modal-close{border-radius:var(--radius);padding:.5rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-modal-close:hover{background-color:hsl(var(--muted))}.lud-modal-body{padding:1.5rem}.lud-modal-footer{border-color:hsl(var(--border));border-top-width:1px;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.lud-tabs{border-bottom-width:2px;border-color:hsl(var(--border));display:flex;gap:.5rem}.lud-tab{border-bottom-width:2px;border-color:transparent;color:hsl(var(--muted-foreground));font-weight:600;padding:.75rem 1.5rem;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-tab:hover{border-color:hsl(var(--primary)/.3);color:hsl(var(--primary))}.lud-tab{margin-bottom:-.125rem}.lud-tab-active{border-color:hsl(var(--primary));color:hsl(var(--primary))}.lud-tab-content{padding-bottom:1.5rem;padding-top:1.5rem}.lud-container{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.lud-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.lud-container{padding-left:2rem;padding-right:2rem}}.lud-container-narrow{margin-left:auto;margin-right:auto;max-width:48rem;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.lud-container-narrow{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.lud-container-narrow{padding-left:2rem;padding-right:2rem}}.lud-container-wide{margin-left:auto;margin-right:auto;max-width:1400px;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.lud-container-wide{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.lud-container-wide{padding-left:2rem;padding-right:2rem}}.lud-grid-profiles{display:grid;gap:1.5rem;grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.lud-grid-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lud-grid-profiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.lud-grid-matches{display:grid;gap:1.5rem;grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.lud-grid-matches{grid-template-columns:repeat(2,minmax(0,1fr))}}.lud-grid-stats{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:1024px){.lud-grid-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.lud-avatar{align-items:center;background-color:hsl(var(--muted));border-radius:9999px;display:inline-flex;justify-content:center;overflow:hidden;position:relative}.lud-avatar-sm{font-size:.75rem;height:2rem;line-height:1rem;width:2rem}.lud-avatar-md{font-size:.875rem;height:3rem;line-height:1.25rem;width:3rem}.lud-avatar-lg{font-size:1rem;height:4rem;line-height:1.5rem;width:4rem}.lud-avatar-xl{font-size:1.25rem;height:6rem;line-height:1.75rem;width:6rem}.lud-avatar-image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.lud-avatar-fallback{align-items:center;background-color:hsl(var(--primary)/.1);color:hsl(var(--primary));display:flex;font-weight:600;height:100%;justify-content:center;width:100%}.lud-spinner{animation:spin 1s linear infinite;border-color:hsl(var(--muted));border-radius:9999px;border-top-color:hsl(var(--primary));border-width:4px;display:inline-block;height:1.5rem;width:1.5rem}.lud-skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-color:hsl(var(--muted));border-radius:.25rem}.lud-loading-overlay{align-items:center;background-color:hsl(var(--background)/.8);display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.lud-dropdown{display:inline-block;position:relative}.lud-dropdown-menu{background-color:hsl(var(--popover));border-color:hsl(var(--border));border-radius:var(--radius);border-width:1px;margin-top:.5rem;position:absolute;right:0;width:14rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);animation:scale-in .2s ease-out;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform-origin:top right}.lud-dropdown-item{color:hsl(var(--popover-foreground));display:block;font-size:.875rem;line-height:1.25rem;padding:.5rem 1rem}.lud-dropdown-item:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.lud-dropdown-item{cursor:pointer;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-dropdown-divider{background-color:hsl(var(--border));height:1px;margin-bottom:.25rem;margin-top:.25rem}.lud-tooltip{border-radius:var(--radius);position:absolute;z-index:50;--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1));font-size:.875rem;line-height:1.25rem;padding:.5rem .75rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);animation:fade-in .2s ease-out;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lud-progress{background-color:hsl(var(--muted));border-radius:9999px;height:.5rem;overflow:hidden;width:100%}.lud-progress-bar{background-image:linear-gradient(to right,var(--tw-gradient-stops));height:100%;--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#e11d48 var(--tw-gradient-to-position);transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-stat-card{background-color:hsl(var(--card));border-radius:.75rem;color:hsl(var(--card-foreground));overflow:hidden;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding:1.5rem;text-align:center;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lud-stat-value{color:hsl(var(--foreground));font-size:1.875rem;font-weight:700;line-height:2.25rem;margin-bottom:.25rem}.lud-stat-label{color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.25rem}.lud-stat-icon{align-items:center;background-color:hsl(var(--primary)/.1);border-radius:9999px;color:hsl(var(--primary));display:flex;height:3rem;justify-content:center;margin-bottom:.75rem;margin-left:auto;margin-right:auto;width:3rem}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-2{bottom:-.5rem}.-left-2{left:-.5rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-4{right:-1rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-24{right:6rem}.right-28{right:7rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-24{top:6rem}.top-4{top:1rem}.top-8{top:2rem}.top-\[57px\]{top:57px}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.col-span-full{grid-column:1/-1}.float-left{float:left}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.-mb-0{margin-bottom:0}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-square{aspect-ratio:1/1}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\/2{height:50%}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[600px\]{height:600px}.h-full{height:100%}.h-px{height:1px}.max-h-32{max-height:8rem}.max-h-96{max-height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[20px\]{min-width:20px}.min-w-\[50px\]{min-width:50px}.min-w-\[70px\]{min-width:70px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-\[1400px\]{max-width:1400px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-1,.translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-full{--tw-translate-x:100%}.-rotate-12,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-12{--tw-rotate:-12deg}.rotate-12{--tw-rotate:12deg}.rotate-12,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .2s ease-out}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scale-in .2s ease-out}@keyframes slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.animate-slide-in{animation:slide-in .3s ease-out}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.text-wrap{text-wrap:wrap}.text-balance{text-wrap:balance}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:.75rem}.rounded-b-3xl{border-bottom-left-radius:1.5rem;border-bottom-right-radius:1.5rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-tr-sm{border-top-right-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-x-2{border-left-width:2px;border-right-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-border{border-color:hsl(var(--border))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-pink-100{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity,1))}.border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.border-pink-600{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-rose-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.border-rose-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-t-primary{border-top-color:hsl(var(--primary))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background)/.8)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-rose-700{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/30{background-color:hsla(0,0%,100%,.3)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI\+PHBhdGggZD0iTTEgMUw2IDZMMTEgMSIgc3Ryb2tlPSIjNkI3MjgwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg\=\=\'\)\]{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9IiM2QjcyODAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJtMSAxIDUgNSA1LTUiLz48L3N2Zz4=")}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/60{--tw-gradient-from:rgba(0,0,0,.6) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/70{--tw-gradient-from:rgba(0,0,0,.7) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/80{--tw-gradient-from:rgba(0,0,0,.8) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-200{--tw-gradient-from:#e5e7eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-500{--tw-gradient-from:#6b7280 var(--tw-gradient-from-position);--tw-gradient-to:hsla(220,9%,46%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-100{--tw-gradient-from:#fce7f3 var(--tw-gradient-from-position);--tw-gradient-to:rgba(252,231,243,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-200{--tw-gradient-from:#fbcfe8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,207,232,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from:#f472b6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,114,182,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-50{--tw-gradient-from:#fdf2f8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,242,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-50{--tw-gradient-from:#fff1f2 var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,241,242,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-500{--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-50{--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#faf5ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-black\/20{--tw-gradient-to:rgba(0,0,0,.2) var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-gray-300{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}.to-gray-600{--tw-gradient-to:#4b5563 var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-indigo-700{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-pink-100{--tw-gradient-to:#fce7f3 var(--tw-gradient-to-position)}.to-pink-50{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to:#f3e8ff var(--tw-gradient-to-position)}.to-purple-200{--tw-gradient-to:#e9d5ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-rose-600{--tw-gradient-to:#e11d48 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-yellow-500{--tw-gradient-to:#eab308 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-\[right_1rem_center\]{background-position:right 1rem center}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\[100\%\]{padding-bottom:100%}.pl-10{padding-left:2.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-12{padding-right:3rem}.pr-32{padding-right:8rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-\[121px\]{padding-top:121px}.pt-\[145px\]{padding-top:145px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground)/.8)}.text-fuchsia-400{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-100{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity,1))}.text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity,1))}.text-pink-300{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.blur-lg{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-lg{--tw-blur:blur(16px)}.blur-md{--tw-blur:blur(12px)}.blur-md,.blur-sm{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur:blur(4px)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.backdrop-filter{-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-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.text-balance{text-wrap:balance}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.last\:border-0:last-child{border-width:0}.last\:pb-0:last-child{padding-bottom:0}.checked\:bg-primary:checked{background-color:hsl(var(--primary))}.hover\:-translate-y-0:hover{--tw-translate-y:-0px}.hover\:-translate-y-0:hover,.hover\:-translate-y-1:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary)/.3)}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-rose-50:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.hover\:bg-white\/30:hover{background-color:hsla(0,0%,100%,.3)}.hover\:bg-white\/40:hover{background-color:hsla(0,0%,100%,.4)}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:from-amber-600:hover{--tw-gradient-from:#d97706 var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,119,6,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-pink-600:hover{--tw-gradient-from:#db2777 var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,39,119,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-rose-600:hover{--tw-gradient-from:#e11d48 var(--tw-gradient-from-position);--tw-gradient-to:rgba(225,29,72,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-500:hover{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-orange-700:hover{--tw-gradient-to:#c2410c var(--tw-gradient-to-position)}.hover\:to-purple-700:hover{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-rose-600:hover{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.hover\:text-rose-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus\:border-pink-400:focus{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.focus\:border-pink-500:focus{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity,1))}.focus\:border-ring:focus{border-color:hsl(var(--ring))}.focus\:border-rose-500:focus{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-pink-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(244 114 182/var(--tw-ring-opacity,1))}.focus\:ring-pink-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(236 72 153/var(--tw-ring-opacity,1))}.focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity,1))}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-rose-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity,1))}.active\:translate-y-0:active{--tw-translate-y:0px}.active\:scale-95:active,.active\:translate-y-0:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-pink-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity,1))}.dark\:border-purple-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity,1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-pink-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity,1))}.dark\:bg-pink-900\/20:is(.dark *){background-color:rgba(131,24,67,.2)}.dark\:bg-purple-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20:is(.dark *){background-color:rgba(113,63,18,.2)}.dark\:from-gray-800:is(.dark *){--tw-gradient-from:#1f2937 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,41,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:to-gray-700:is(.dark *){--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-pink-400:is(.dark *){--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:h-24{height:6rem}.sm\:h-48{height:12rem}.sm\:w-24{width:6rem}.sm\:w-32{width:8rem}.sm\:w-48{width:12rem}.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:bottom-auto{bottom:auto}.md\:right-0{right:0}.md\:top-0{top:0}.md\:top-1\/2{top:50%}.md\:col-span-2{grid-column:span 2/span 2}.md\:mb-2{margin-bottom:.5rem}.md\:mb-4{margin-bottom:1rem}.md\:mb-8{margin-bottom:2rem}.md\:mt-8{margin-top:2rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-10{height:2.5rem}.md\:h-12{height:3rem}.md\:h-14{height:3.5rem}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:h-28{height:7rem}.md\:h-32{height:8rem}.md\:h-56{height:14rem}.md\:h-7{height:1.75rem}.md\:h-\[500px\]{height:500px}.md\:h-full{height:100%}.md\:max-h-\[85vh\]{max-height:85vh}.md\:w-1\/2{width:50%}.md\:w-10{width:2.5rem}.md\:w-12{width:3rem}.md\:w-14{width:3.5rem}.md\:w-16{width:4rem}.md\:w-20{width:5rem}.md\:w-28{width:7rem}.md\:w-32{width:8rem}.md\:w-56{width:14rem}.md\:w-7{width:1.75rem}.md\:w-80{width:20rem}.md\:w-96{width:24rem}.md\:max-w-2xl{max-width:42rem}.md\:flex-none{flex:none}.md\:-translate-y-1\/2{--tw-translate-y:-50%}.md\:-translate-y-1\/2,.md\:translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-x-full{--tw-translate-x:100%}.md\:translate-y-0{--tw-translate-y:0px}.md\:scale-105,.md\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:justify-between{justify-content:space-between}.md\:gap-3{gap:.75rem}.md\:gap-6{gap:1.5rem}.md\:rounded-3xl{border-radius:1.5rem}.md\:rounded-none{border-radius:0}.md\:p-12{padding:3rem}.md\:p-4{padding:1rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-12{padding-bottom:3rem;padding-top:3rem}.md\:py-16{padding-bottom:4rem;padding-top:4rem}.md\:py-3{padding-bottom:.75rem;padding-top:.75rem}.md\:py-8{padding-bottom:2rem;padding-top:2rem}.md\:pb-0{padding-bottom:0}.md\:pb-6{padding-bottom:1.5rem}.md\:pt-\[121px\]{padding-top:121px}.md\:text-left{text-align:left}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-\[12rem\]{font-size:12rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-8{top:2rem}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:w-3\/4{width:75%}.lg\:w-64{width:16rem}.lg\:w-96{width:24rem}.lg\:flex-\[1\]{flex:1}.lg\:flex-\[2\]{flex:2}.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\:flex-row{flex-direction:row}.lg\:gap-8{gap:2rem}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-right{text-align:right}.lg\:text-5xl{font-size:3rem;line-height:1}}/**
 * Linked Up Dating Theme - Light Mode Styles
 *
 * @package LinkedUpDating
 * @version 1.0.0
 *
 * Tailwind CSS is loaded via CDN in the components. This file contains:
 * - CSS Variables (customizer-driven)
 * - Custom animations
 * - Component-specific styles not covered by Tailwind
 * - Responsive adjustments
 */

/* ========================================
   1. CSS VARIABLES (LIGHT MODE)
   ======================================== */

:root {
    /* Primary Colors (from customizer) */
    --lud-primary: #ec4899;           /* pink-500 */
    --lud-primary-dark: #db2777;      /* pink-600 */
    --lud-primary-light: #fdf2f8;     /* pink-50 */
    --lud-secondary: #9333ea;         /* purple-600 */
    --lud-secondary-dark: #7e22ce;    /* purple-700 */
    --lud-accent: #ff4081;            /* pink accent */

    /* Background Gradients */
    --lud-gradient-start: #fdf2f8;    /* pink-50 */
    --lud-gradient-mid: #ffffff;      /* white */
    --lud-gradient-end: #faf5ff;      /* purple-50 */

    /* Text Colors */
    --lud-text-primary: #111827;      /* gray-900 */
    --lud-text-secondary: #6b7280;    /* gray-500 */
    --lud-text-muted: #9ca3af;        /* gray-400 */
    --lud-heading: #1a1a1a;           /* near black */

    /* Background Colors */
    --lud-bg-primary: #ffffff;        /* white */
    --lud-bg-secondary: #f9fafb;      /* gray-50 */
    --lud-card-bg: #ffffff;           /* white */

    /* Border & Shadow */
    --lud-border: #e5e7eb;            /* gray-200 */
    --lud-border-light: #f3f4f6;      /* gray-100 */
    --lud-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --lud-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --lud-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --lud-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);

    /* Action Colors */
    --lud-like: #ec4899;              /* pink-500 */
    --lud-dislike: #ef4444;           /* red-500 */
    --lud-success: #22c55e;           /* green-500 */
    --lud-warning: #f59e0b;           /* amber-500 */
    --lud-error: #ef4444;             /* red-500 */
    --lud-info: #3b82f6;              /* blue-500 */
    --lud-online: #22c55e;            /* green-500 */

    /* Overlay */
    --lud-modal-overlay: rgba(0, 0, 0, 0.5);
    --lud-backdrop-blur: blur(8px);

    /* Spacing (Tailwind scale) */
    --lud-spacing-1: 0.25rem;         /* 4px */
    --lud-spacing-2: 0.5rem;          /* 8px */
    --lud-spacing-4: 1rem;            /* 16px - most common */
    --lud-spacing-6: 1.5rem;          /* 24px - section gaps */
    --lud-spacing-8: 2rem;            /* 32px - card padding */
    --lud-spacing-11: 2.75rem;        /* 44px - large gaps */

    /* Border Radius */
    --lud-radius-sm: 0.5rem;          /* 8px */
    --lud-radius-md: 0.75rem;         /* 12px */
    --lud-radius-lg: 1rem;            /* 16px */
    --lud-radius-xl: 1.5rem;          /* 24px */
    --lud-radius-2xl: 1.75rem;        /* 28px */
    --lud-radius-full: 9999px;        /* rounded-full */

    /* Transitions */
    --lud-transition-fast: 150ms;
    --lud-transition-base: 200ms;
    --lud-transition-slow: 300ms;
    --lud-transition-slower: 500ms;

    /* Z-index layers */
    --lud-z-base: 0;
    --lud-z-content: 10;
    --lud-z-header: 100;
    --lud-z-modal: 1000;
    --lud-z-toast: 2000;
}

/* ========================================
   2. RESET & BASE STYLES
   ======================================== */

/* Ensure Tailwind base is applied first (loaded via CDN) */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Base body - gradient background for all pages */
body {
    background: linear-gradient(to bottom right, var(--lud-gradient-start), var(--lud-gradient-mid), var(--lud-gradient-end));
    color: var(--lud-text-primary);
    min-height: 100vh;
}

/* Links */
a {
    color: var(--lud-primary);
    transition: color var(--lud-transition-base) ease;
}

a:hover {
    color: var(--lud-primary-dark);
}

/* Focus states */
*:focus {
    outline: 2px solid var(--lud-primary);
    outline-offset: 2px;
}

button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid var(--lud-primary);
    outline-offset: 0px;
}

/* ========================================
   3. ANIMATIONS
   ======================================== */

/* Heart Pop Animation (used on like action) */
@keyframes heartPop {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    50% {
        transform: scale(1.3);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0;
    }
}

.heart-animation,
.lud-heart-pop {
    animation: heartPop 0.6s ease-out;
}

/* Floating Hearts (for background - used in header/footer) */
@keyframes floatUp {
    0% {
        transform: translateY(0) scale(0.5) rotate(0deg);
        opacity: 0;
    }
    5% {
        opacity: 0.8;
    }
    95% {
        opacity: 0.8;
    }
    100% {
        transform: translateY(-100vh) scale(1) rotate(360deg);
        opacity: 0;
    }
}

.float-heart {
    animation: floatUp 12s ease-in-out infinite;
    position: absolute;
    bottom: -50px;
    pointer-events: none;
}

/* Card Fade Out */
@keyframes fadeOut {
    to {
        opacity: 0;
        transform: scale(0.95);
    }
}

.card-fade-out,
.lud-fade-out {
    animation: fadeOut 0.4s ease-out forwards;
}

/* Page Fade In (on load) */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

body {
    animation: fadeIn 0.5s ease-out;
}

/* Slide In Right (used for toasts, filter panel) */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.lud-slide-in-right {
    animation: slideInRight 0.3s ease-out;
}

/* Slide Out Right */
@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.lud-slide-out-right {
    animation: slideOutRight 0.3s ease-in forwards;
}

/* Ping Effect (online indicator) */
@keyframes ping {
    75%, 100% {
        transform: scale(2);
        opacity: 0;
    }
}

.lud-ping {
    animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

/* Pulse Animation */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.lud-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Spin Animation (loading) */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.lud-spin {
    animation: spin 1s linear infinite;
}

/* ========================================
   4. LAYOUT COMPONENTS
   ======================================== */

/* Container */
.lud-container {
    max-width: 87.5rem; /* 1400px */
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--lud-spacing-4);
    padding-right: var(--lud-spacing-4);
}

@media (min-width: 768px) {
    .lud-container {
        padding-left: var(--lud-spacing-8);
        padding-right: var(--lud-spacing-8);
    }
}

/* Card Base */
.lud-card {
    background: var(--lud-card-bg);
    border-radius: var(--lud-radius-2xl);
    box-shadow: var(--lud-shadow-xl);
    padding: var(--lud-spacing-6);
}

@media (min-width: 768px) {
    .lud-card {
        padding: var(--lud-spacing-8);
    }
}

/* Modal Overlay */
.lud-modal-overlay {
    position: fixed;
    inset: 0;
    background: var(--lud-modal-overlay);
    backdrop-filter: var(--lud-backdrop-blur);
    z-index: var(--lud-z-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--lud-spacing-4);
}

/* Modal Content */
.lud-modal-content {
    background: var(--lud-card-bg);
    border-radius: var(--lud-radius-2xl);
    box-shadow: var(--lud-shadow-xl);
    max-width: 42rem; /* 672px */
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    z-index: calc(var(--lud-z-modal) + 1);
}

/* ========================================
   5. INTERACTIVE ELEMENTS
   ======================================== */

/* Toast Notifications */
.lud-toast-container {
    position: fixed;
    top: var(--lud-spacing-4);
    right: var(--lud-spacing-4);
    z-index: var(--lud-z-toast);
    display: flex;
    flex-direction: column;
    gap: var(--lud-spacing-4);
    pointer-events: none;
}

.lud-toast {
    background: var(--lud-card-bg);
    border-radius: var(--lud-radius-lg);
    box-shadow: var(--lud-shadow-lg);
    padding: var(--lud-spacing-4);
    pointer-events: auto;
    min-width: 20rem;
    animation: slideInRight 0.3s ease-out;
}

/* Filter Panel */
.lud-filter-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 28rem; /* 448px */
    background: var(--lud-card-bg);
    box-shadow: var(--lud-shadow-xl);
    z-index: var(--lud-z-modal);
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform var(--lud-transition-slow) ease;
}

.lud-filter-panel.open {
    transform: translateX(0);
}

@media (max-width: 767px) {
    .lud-filter-panel {
        max-width: 100%;
    }
}

/* Range Slider Custom Styling */
input[type="range"].lud-range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 0.5rem;
    border-radius: var(--lud-radius-full);
    background: var(--lud-border);
    outline: none;
}

input[type="range"].lud-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--lud-primary);
    cursor: pointer;
    box-shadow: var(--lud-shadow-md);
}

input[type="range"].lud-range::-moz-range-thumb {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--lud-primary);
    cursor: pointer;
    border: none;
    box-shadow: var(--lud-shadow-md);
}

/* Toggle Switch */
.lud-toggle {
    position: relative;
    display: inline-flex;
    height: 1.5rem;
    width: 2.75rem;
    align-items: center;
    border-radius: var(--lud-radius-full);
    background: var(--lud-border);
    transition: background var(--lud-transition-base) ease;
    cursor: pointer;
}

.lud-toggle.active {
    background: var(--lud-primary);
}

.lud-toggle-circle {
    display: inline-block;
    height: 1rem;
    width: 1rem;
    transform: translateX(0.25rem);
    border-radius: 50%;
    background: white;
    transition: transform var(--lud-transition-base) ease;
}

.lud-toggle.active .lud-toggle-circle {
    transform: translateX(1.5rem);
}

/* ========================================
   6. UTILITIES
   ======================================== */

/* Hide Scrollbar */
.lud-hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.lud-hide-scrollbar::-webkit-scrollbar {
    display: none;
}

/* Truncate Text */
.lud-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Line Clamp */
.lud-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lud-line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Gradient Text */
.lud-gradient-text {
    background: linear-gradient(to right, var(--lud-primary), var(--lud-secondary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Backdrop Blur */
.lud-backdrop-blur {
    backdrop-filter: var(--lud-backdrop-blur);
}

/* ========================================
   7. RESPONSIVE ADJUSTMENTS
   ======================================== */

/* Mobile: Stack cards */
@media (max-width: 767px) {
    .lud-card {
        margin-bottom: var(--lud-spacing-4);
    }

    .lud-modal-content {
        margin: var(--lud-spacing-4);
        max-height: calc(100vh - 2rem);
    }
}

/* Tablet and up: Side-by-side layouts */
@media (min-width: 768px) {
    .lud-grid-md-2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--lud-spacing-6);
    }

    .lud-grid-md-3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--lud-spacing-6);
    }
}

/* Desktop: Larger gaps and padding */
@media (min-width: 1024px) {
    .lud-grid-lg-4 {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: var(--lud-spacing-11);
    }
}

/* ========================================
   8. COMPONENT-SPECIFIC STYLES
   ======================================== */

/* User Card Stack (Tinder-style) */
.lud-card-stack {
    position: relative;
    height: 600px;
    max-width: 400px;
    margin: 0 auto;
}

.lud-card-stack .lud-user-card {
    position: absolute;
    inset: 0;
    transition: transform var(--lud-transition-slow) ease, opacity var(--lud-transition-slow) ease;
}

/* Online Indicator */
.lud-online-indicator {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background: var(--lud-online);
    border: 2px solid white;
    box-shadow: var(--lud-shadow-sm);
}

/* Verified Badge */
.lud-verified-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: var(--lud-primary);
    color: white;
}

/* Interest Tag */
.lud-interest-tag {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: var(--lud-primary-light);
    color: var(--lud-primary-dark);
    border-radius: var(--lud-radius-full);
    font-size: 0.875rem;
    font-weight: 500;
}

/* Premium Badge */
.lud-premium-badge {
    background: linear-gradient(to right, var(--lud-primary), var(--lud-secondary));
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: var(--lud-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ========================================
   END OF LIGHT MODE STYLES
   ======================================== */
/**
 * Linked Up Dating - Dark Mode Styles
 *
 * Dark mode CSS with inverted color schemes for better nighttime viewing.
 * Applied when user toggles dark mode via JavaScript.
 *
 * @package LinkedUpDating
 */

/* ========================================
   1. CSS VARIABLES (DARK MODE)
   ======================================== */

body.dark {
    /* Primary Colors - Brighter for dark backgrounds */
    --lud-primary: #f472b6; /* pink-400 */
    --lud-primary-hover: #ec4899; /* pink-500 */
    --lud-secondary: #a855f7; /* purple-500 */
    --lud-secondary-hover: #9333ea; /* purple-600 */
    --lud-accent: #fb7185; /* rose-400 */

    /* Background Colors - Dark gradients */
    --lud-gradient-start: #581c87; /* purple-900 */
    --lud-gradient-mid: #1f2937; /* gray-800 */
    --lud-gradient-end: #831843; /* pink-900 */
    --lud-bg-primary: #111827; /* gray-900 */
    --lud-bg-secondary: #1f2937; /* gray-800 */
    --lud-bg-tertiary: #374151; /* gray-700 */

    /* Text Colors - Light for dark backgrounds */
    --lud-text-primary: #f9fafb; /* gray-50 */
    --lud-text-secondary: #d1d5db; /* gray-300 */
    --lud-text-muted: #9ca3af; /* gray-400 */
    --lud-text-placeholder: #6b7280; /* gray-500 */

    /* Border Colors - Subtle on dark */
    --lud-border-light: #4b5563; /* gray-600 */
    --lud-border-medium: #6b7280; /* gray-500 */
    --lud-border-heavy: #9ca3af; /* gray-400 */

    /* Shadows - Darker and more pronounced */
    --lud-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
    --lud-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
    --lud-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
    --lud-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
    --lud-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.5);

    /* State Colors - Adjusted for dark mode */
    --lud-success: #34d399; /* green-400 */
    --lud-success-bg: #064e3b; /* green-900 */
    --lud-warning: #fbbf24; /* yellow-400 */
    --lud-warning-bg: #78350f; /* yellow-900 */
    --lud-error: #f87171; /* red-400 */
    --lud-error-bg: #7f1d1d; /* red-900 */
    --lud-info: #60a5fa; /* blue-400 */
    --lud-info-bg: #1e3a8a; /* blue-900 */

    /* Action Colors */
    --lud-like: #34d399; /* green-400 */
    --lud-dislike: #f87171; /* red-400 */
    --lud-superlike: #60a5fa; /* blue-400 */

    /* Spacing (same as light mode) */
    --lud-space-xs: 0.25rem; /* 4px */
    --lud-space-sm: 0.5rem; /* 8px */
    --lud-space-md: 1rem; /* 16px */
    --lud-space-lg: 1.5rem; /* 24px */
    --lud-space-xl: 2rem; /* 32px */
    --lud-space-2xl: 2.75rem; /* 44px */

    /* Border Radius (same as light mode) */
    --lud-radius-sm: 0.375rem; /* 6px */
    --lud-radius-md: 0.5rem; /* 8px */
    --lud-radius-lg: 1rem; /* 16px */
    --lud-radius-xl: 1.5rem; /* 24px */
    --lud-radius-2xl: 2rem; /* 32px */
    --lud-radius-full: 9999px;

    /* Transitions (same as light mode) */
    --lud-transition-fast: 150ms ease-in-out;
    --lud-transition-base: 300ms ease-in-out;
    --lud-transition-slow: 500ms ease-in-out;

    /* Z-index (same as light mode) */
    --lud-z-base: 1;
    --lud-z-dropdown: 1000;
    --lud-z-sticky: 1020;
    --lud-z-fixed: 1030;
    --lud-z-modal-backdrop: 1040;
    --lud-z-modal: 1050;
    --lud-z-popover: 1060;
    --lud-z-tooltip: 1070;
    --lud-z-toast: 1080;
}

/* ========================================
   2. RESET & BASE STYLES (DARK MODE)
   ======================================== */

body.dark {
    background: linear-gradient(to bottom right, var(--lud-gradient-start), var(--lud-gradient-mid), var(--lud-gradient-end));
    color: var(--lud-text-primary);
}

body.dark a {
    color: var(--lud-primary);
}

body.dark a:hover {
    color: var(--lud-primary-hover);
}

/* ========================================
   3. LAYOUT COMPONENTS (DARK MODE)
   ======================================== */

body.dark .lud-card {
    background: var(--lud-bg-tertiary);
    border-color: var(--lud-border-light);
    box-shadow: var(--lud-shadow-xl);
}

body.dark .lud-card:hover {
    box-shadow: var(--lud-shadow-2xl);
}

body.dark .lud-modal-overlay {
    background-color: rgba(0, 0, 0, 0.8);
}

body.dark .lud-modal-content {
    background: var(--lud-bg-secondary);
    border-color: var(--lud-border-light);
    box-shadow: var(--lud-shadow-2xl);
}

/* ========================================
   4. INTERACTIVE ELEMENTS (DARK MODE)
   ======================================== */

/* Toast Notifications */
body.dark .lud-toast {
    background: var(--lud-bg-tertiary);
    border-color: var(--lud-border-medium);
    color: var(--lud-text-primary);
    box-shadow: var(--lud-shadow-xl);
}

body.dark .lud-toast.success {
    background: var(--lud-success-bg);
    border-color: var(--lud-success);
}

body.dark .lud-toast.error {
    background: var(--lud-error-bg);
    border-color: var(--lud-error);
}

body.dark .lud-toast.warning {
    background: var(--lud-warning-bg);
    border-color: var(--lud-warning);
}

body.dark .lud-toast.info {
    background: var(--lud-info-bg);
    border-color: var(--lud-info);
}

/* Filter Panel */
body.dark .lud-filter-panel {
    background: var(--lud-bg-secondary);
    border-left: 1px solid var(--lud-border-light);
    box-shadow: var(--lud-shadow-2xl);
}

/* Form Elements */
body.dark input[type="text"],
body.dark input[type="email"],
body.dark input[type="password"],
body.dark input[type="number"],
body.dark input[type="tel"],
body.dark input[type="url"],
body.dark textarea,
body.dark select {
    background: var(--lud-bg-secondary);
    border-color: var(--lud-border-light);
    color: var(--lud-text-primary);
}

body.dark input[type="text"]:focus,
body.dark input[type="email"]:focus,
body.dark input[type="password"]:focus,
body.dark input[type="number"]:focus,
body.dark input[type="tel"]:focus,
body.dark input[type="url"]:focus,
body.dark textarea:focus,
body.dark select:focus {
    border-color: var(--lud-primary);
    background: var(--lud-bg-tertiary);
}

body.dark input::placeholder,
body.dark textarea::placeholder {
    color: var(--lud-text-placeholder);
}

/* Range Slider */
body.dark input[type="range"].lud-range {
    background: var(--lud-border-light);
}

body.dark input[type="range"].lud-range::-webkit-slider-thumb {
    background: var(--lud-primary);
    box-shadow: var(--lud-shadow-md);
}

body.dark input[type="range"].lud-range::-moz-range-thumb {
    background: var(--lud-primary);
    box-shadow: var(--lud-shadow-md);
}

body.dark input[type="range"].lud-range::-webkit-slider-thumb:hover {
    background: var(--lud-primary-hover);
}

body.dark input[type="range"].lud-range::-moz-range-thumb:hover {
    background: var(--lud-primary-hover);
}

/* Toggle Switch */
body.dark .lud-toggle {
    background-color: var(--lud-border-medium);
}

body.dark .lud-toggle.active {
    background-color: var(--lud-primary);
}

body.dark .lud-toggle-slider {
    background-color: var(--lud-text-primary);
}

/* Buttons - Inverted colors */
body.dark button,
body.dark .lud-btn {
    background: var(--lud-bg-tertiary);
    color: var(--lud-text-primary);
    border-color: var(--lud-border-light);
}

body.dark button:hover,
body.dark .lud-btn:hover {
    background: var(--lud-bg-secondary);
    border-color: var(--lud-border-medium);
}

body.dark .lud-btn-primary {
    background: var(--lud-primary);
    color: var(--lud-bg-primary);
    border-color: var(--lud-primary);
}

body.dark .lud-btn-primary:hover {
    background: var(--lud-primary-hover);
    border-color: var(--lud-primary-hover);
}

/* ========================================
   5. COMPONENT-SPECIFIC STYLES (DARK MODE)
   ======================================== */

/* User Cards */
body.dark .lud-card-stack .lud-card {
    background: var(--lud-bg-tertiary);
    box-shadow: var(--lud-shadow-2xl);
}

/* Online Indicator */
body.dark .lud-online-indicator {
    background: var(--lud-success);
    box-shadow: 0 0 0 2px var(--lud-bg-tertiary);
}

/* Verified Badge */
body.dark .lud-verified-badge {
    background: var(--lud-info);
    color: var(--lud-bg-primary);
}

/* Interest Tags */
body.dark .lud-interest-tag {
    background: var(--lud-bg-secondary);
    color: var(--lud-text-secondary);
    border-color: var(--lud-border-light);
}

body.dark .lud-interest-tag:hover {
    background: var(--lud-primary);
    color: var(--lud-bg-primary);
    border-color: var(--lud-primary);
}

/* Premium Badge */
body.dark .lud-premium-badge {
    background: linear-gradient(135deg, var(--lud-primary), var(--lud-secondary));
    color: var(--lud-text-primary);
}

/* Credit Display */
body.dark .lud-credit-display {
    background: var(--lud-bg-secondary);
    border-color: var(--lud-border-light);
    color: var(--lud-text-primary);
}

/* Message Bubbles */
body.dark .lud-message-sent {
    background: var(--lud-primary);
    color: var(--lud-bg-primary);
}

body.dark .lud-message-received {
    background: var(--lud-bg-tertiary);
    color: var(--lud-text-primary);
}

/* Tables */
body.dark table {
    border-color: var(--lud-border-light);
}

body.dark thead {
    background: var(--lud-bg-secondary);
    border-color: var(--lud-border-light);
}

body.dark tbody tr {
    border-color: var(--lud-border-light);
}

body.dark tbody tr:hover {
    background: var(--lud-bg-tertiary);
}

body.dark th,
body.dark td {
    color: var(--lud-text-primary);
}

/* Navigation */
body.dark nav {
    background: var(--lud-bg-secondary);
    border-color: var(--lud-border-light);
}

body.dark nav a {
    color: var(--lud-text-secondary);
}

body.dark nav a:hover,
body.dark nav a.active {
    color: var(--lud-primary);
}

/* Dropdown Menus */
body.dark .lud-dropdown {
    background: var(--lud-bg-secondary);
    border-color: var(--lud-border-light);
    box-shadow: var(--lud-shadow-xl);
}

body.dark .lud-dropdown-item {
    color: var(--lud-text-primary);
}

body.dark .lud-dropdown-item:hover {
    background: var(--lud-bg-tertiary);
    color: var(--lud-primary);
}

/* Tabs */
body.dark .lud-tabs {
    border-color: var(--lud-border-light);
}

body.dark .lud-tab {
    color: var(--lud-text-secondary);
    border-color: transparent;
}

body.dark .lud-tab:hover {
    color: var(--lud-text-primary);
}

body.dark .lud-tab.active {
    color: var(--lud-primary);
    border-color: var(--lud-primary);
}

/* Progress Bars */
body.dark .lud-progress-bar {
    background: var(--lud-bg-tertiary);
}

body.dark .lud-progress-fill {
    background: linear-gradient(90deg, var(--lud-primary), var(--lud-secondary));
}

/* Badges */
body.dark .lud-badge {
    background: var(--lud-bg-tertiary);
    color: var(--lud-text-primary);
}

body.dark .lud-badge-primary {
    background: var(--lud-primary);
    color: var(--lud-bg-primary);
}

body.dark .lud-badge-success {
    background: var(--lud-success);
    color: var(--lud-bg-primary);
}

body.dark .lud-badge-error {
    background: var(--lud-error);
    color: var(--lud-bg-primary);
}

/* Dividers */
body.dark hr,
body.dark .lud-divider {
    border-color: var(--lud-border-light);
}

/* Skeleton Loaders */
body.dark .lud-skeleton {
    background: var(--lud-bg-tertiary);
}

body.dark .lud-skeleton::after {
    background: linear-gradient(
        90deg,
        transparent,
        var(--lud-bg-secondary),
        transparent
    );
}

/* ========================================
   6. RESPONSIVE ADJUSTMENTS (DARK MODE)
   ======================================== */

/* Mobile devices */
@media (max-width: 767px) {
    body.dark .lud-card {
        box-shadow: var(--lud-shadow-lg);
    }

    body.dark .lud-modal-content {
        border-radius: var(--lud-radius-lg);
    }
}

/* Tablet devices */
@media (min-width: 768px) and (max-width: 1023px) {
    body.dark .lud-filter-panel {
        box-shadow: var(--lud-shadow-xl);
    }
}

/* Desktop devices */
@media (min-width: 1024px) {
    body.dark .lud-card:hover {
        box-shadow: var(--lud-shadow-2xl);
        transform: translateY(-2px);
    }
}

/* ========================================
   7. ACCESSIBILITY (DARK MODE)
   ======================================== */

body.dark :focus-visible {
    outline: 2px solid var(--lud-primary);
    outline-offset: 2px;
}

body.dark .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* High contrast for better readability */
@media (prefers-contrast: high) {
    body.dark {
        --lud-text-primary: #ffffff;
        --lud-bg-primary: #000000;
        --lud-border-light: #ffffff;
    }
}

/* ========================================
   8. PRINT STYLES (DARK MODE)
   ======================================== */

@media print {
    body.dark {
        background: white !important;
        color: black !important;
    }

    body.dark .lud-card {
        border: 1px solid #000 !important;
        box-shadow: none !important;
    }
}
/**
 * Promotional Ads Styles
 *
 * @package LinkedUpDating
 * @since 1.10.0
 */

/* Ad Container */
.lud-promotional-ad-container {
    width: 100%;
    margin: 20px 0;
}

/* Ad Card */
.lud-promotional-ad {
    border-radius: 16px;
    padding: 32px;
    color: #ffffff;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.lud-promotional-ad:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

/* Ad Content */
.lud-ad-content {
    position: relative;
    z-index: 1;
}

/* Icon */
.lud-ad-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    fill: currentColor;
    animation: ludFadeInDown 0.5s ease;
}

/* Headline */
.lud-ad-headline {
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 8px;
    animation: ludFadeIn 0.5s ease 0.1s both;
}

/* Subheadline */
.lud-ad-subheadline {
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.5;
    animation: ludFadeIn 0.5s ease 0.2s both;
}

/* Features List */
.lud-ad-features {
    text-align: left;
    font-size: 14px;
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    animation: ludFadeInUp 0.5s ease 0.3s both;
}

.lud-ad-feature {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
}

.lud-ad-checkmark {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-right: 8px;
    margin-top: 2px;
    fill: currentColor;
}

/* CTA Button */
.lud-ad-cta-button {
    display: block;
    width: 100%;
    background: #ffffff;
    font-weight: bold;
    padding: 12px 24px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: all 0.2s ease;
    animation: ludFadeInUp 0.5s ease 0.4s both;
}

.lud-ad-cta-button:hover {
    background: rgba(255, 255, 255, 0.95);
    transform: scale(1.02);
    text-decoration: none;
}

.lud-ad-cta-button:active {
    transform: scale(0.98);
}

/* Price Text */
.lud-ad-price {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    margin: 16px 0 0;
    animation: ludFadeIn 0.5s ease 0.5s both;
}

/* Animations */
@keyframes ludFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes ludFadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ludFadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Styles */
@media (max-width: 768px) {
    .lud-promotional-ad {
        padding: 24px;
    }

    .lud-ad-icon {
        width: 48px;
        height: 48px;
    }

    .lud-ad-headline {
        font-size: 20px;
    }

    .lud-ad-subheadline {
        font-size: 14px;
    }

    .lud-ad-features {
        font-size: 13px;
    }
}

/* Sidebar Specific Styles */
.sidebar .lud-promotional-ad-container {
    position: sticky;
    top: 80px;
}

/* Widget Area Styles */
.widget .lud-promotional-ad-container {
    margin: 0;
}

.widget .lud-promotional-ad {
    padding: 24px;
}

/* ========================================
   TEMPLATE UTILITY CLASSES
   Replaces inline styles from template files
   ======================================== */

/* Browse Page - Mobile Tab Buttons */
.tab-btn-mobile.active {
    background: linear-gradient(to bottom right, #ec4899, #9333ea) !important;
    color: white !important;
}

.tab-btn-mobile:not(.active) {
    color: #6b7280;
}

/* Scrollbar Hide Utility */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Profile Card Transitions */
.profile-card {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Browse Page - Layout */
.browse-cards-container {
    flex: 0 0 calc(75% - 0.75rem);
}

.browse-sidebar-container {
    flex: 0 0 calc(25% - 0.75rem);
}

.browse-loading-state {
    z-index: 1;
}

.browse-empty-state {
    display: none;
    z-index: 1;
}

.browse-profile-card {
    /* z-index set dynamically via JS */
}

.browse-match-badge {
    opacity: 1 !important;
}

/* Messages Page - Layout */
.messages-container {
    height: calc(100vh - 200px);
}

.messages-conversation-item {
    min-height: 48px;
}

/* Header - Notifications Menu */
.notifications-menu {
    width: 450px;
    max-width: 90vw;
}

/* Dark Mode Support for Template Utilities */
.dark .tab-btn-mobile:not(.active) {
    color: #9ca3af;
}

.dark .browse-loading-state,
.dark .browse-empty-state {
    background-color: hsl(var(--card));
}

.dark .messages-container {
    background-color: hsl(var(--card));
}

/* Dark mode for tab buttons */
.dark .tab-btn.active {
    color: white !important;
}

/* Matches Page - Tabs & Animations */
.tab-content {
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.tab-btn.active {
    transform: scale(1.02);
    color: #ec4899 !important;
}

.tab-btn:not(.active) .badge-white {
    background: linear-gradient(135deg, #ec4899 0%, #9333ea 100%);
    color: white;
}

.tab-btn.active .badge-gradient {
    background: white;
    color: #ec4899;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

.pulse-slow {
    animation: pulse 3s ease-in-out infinite;
}

/* ======================================== 
   ADDITIONAL TEMPLATE STYLES
   ======================================== */

/* From: page-checkout-custom.php */
.gradient-text {
    background: linear-gradient(to right, #ec4899, #9333ea);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.progress-bar {
    transition: width 0.3s ease;
}

.step-content {
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Coupon Section Styling */
.woocommerce-form-coupon-toggle {
    background: white !important;
    border: none !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    border-radius: 1rem !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #4b5563 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    font-size: 0.875rem !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info::before {
    content: "☑" !important;
    font-size: 1.25rem !important;
    color: #ec4899 !important;
    display: inline-block !important;
}

.woocommerce-form-coupon-toggle .showcoupon {
    color: #ec4899 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    border-bottom: 2px solid transparent !important;
    transition: border-color 0.2s !important;
}

.woocommerce-form-coupon-toggle .showcoupon:hover {
    border-bottom-color: #ec4899 !important;
}

.checkout_coupon {
    background: #fdf2f8 !important;
    border: 2px solid #fbcfe8 !important;
    border-radius: 0.75rem !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.checkout_coupon .form-row {
    display: flex !important;
    gap: 0.75rem !important;
    align-items: flex-end !important;
}

.checkout_coupon .form-row input {
    flex: 1 !important;
    padding: 0.75rem 1rem !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    font-size: 0.875rem !important;
}

.checkout_coupon .form-row input:focus {
    border-color: #ec4899 !important;
    outline: none !important;
}

.checkout_coupon .button {
    background: linear-gradient(to bottom right, #ec4899, #9333ea) !important;
    color: white !important;
    font-weight: 600 !important;
    padding: 0.75rem 1.5rem !important;
    border: none !important;
    border-radius: 0.5rem !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.checkout_coupon .button:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
}

/* From: page-coming-soon.php */
/* Custom Animations */
        @keyframes heartPulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.1); }
        }

        @keyframes floatHeart {
            0% {
                transform: translateY(0) scale(0.5);
                opacity: 0;
            }
            50% {
                opacity: 0.8;
            }
            100% {
                transform: translateY(-120px) scale(1);
                opacity: 0;
            }
        }

        @keyframes gradient {
            0%, 100% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
        }

        @keyframes sparkle {
            0%, 100% {
                transform: scale(0.8) rotate(0deg);
                opacity: 0.5;
            }
            50% {
                transform: scale(1.2) rotate(180deg);
                opacity: 1;
            }
        }

        .heart-pulse {
            animation: heartPulse 2s ease-in-out infinite;
        }

        .float-heart {
            animation: floatHeart 4s ease-out infinite;
            position: absolute;
        }

        .gradient-text {
            background-size: 200% auto;
            animation: gradient 3s ease infinite;
        }

        .sparkle {
            animation: sparkle 2s ease-in-out infinite;
        }

/* From: page-edit-profile.php */
/* Character counter from Component design */
.char-counter {
    font-size: 12px;
    color: #6b7280;
}

.char-counter.limit-near {
    color: #f59e0b;
}

.char-counter.limit-reached {
    color: #ef4444;
}

/* From: page-maintenance.php */
/* Custom Animations */
        @keyframes heartPulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.1); }
        }

        @keyframes floatHeart {
            0% {
                transform: translateY(0) scale(0.5);
                opacity: 0;
            }
            50% {
                opacity: 0.8;
            }
            100% {
                transform: translateY(-120px) scale(1);
                opacity: 0;
            }
        }

        @keyframes gradient {
            0%, 100% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .heart-pulse {
            animation: heartPulse 2s ease-in-out infinite;
        }

        .float-heart {
            animation: floatHeart 4s ease-out infinite;
            position: absolute;
        }

        .gradient-text {
            background-size: 200% auto;
            animation: gradient 3s ease infinite;
        }

        .spin {
            animation: spin 2s linear infinite;
        }

/* From: page-my-account.php */
.scrollbar-hide::-webkit-scrollbar { display: none; }
    .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

    /* Tab Navigation Styles */
    .tab-btn {
        color: #6b7280;
        border-color: transparent;
        cursor: pointer;
    }
    .tab-btn:hover {
        color: #374151;
    }
    .tab-btn.active {
        color: #ec4899;
        border-color: #ec4899;
    }

    /* Tab Content */
    .tab-content {
        display: none;
    }
    .tab-content.active {
        display: block;
    }

    /* Mobile Icon Navigation */
    .tab-icon-btn-labeled {
        color: #6b7280;
    }
    .tab-icon-btn-labeled:hover {
        background: #fdf2f8;
    }
    .tab-icon-btn-labeled.active {
        background: linear-gradient(to bottom right, #ec4899, #9333ea);
        color: white;
    }

/* From: page-my-profile.php */
/* Desktop profile picture size - 280px */
    @media (min-width: 1024px) {
        .profile-picture-wrapper {
            width: 280px !important;
            height: 280px !important;
        }
        .profile-picture-spacer {
            width: 280px !important;
        }
    }

/* From: page-profile-wizard.php */
@keyframes pulse-slow {
                                    0%, 100% { transform: scale(1); opacity: 1; }
                                    50% { transform: scale(1.1); opacity: 0.8; }
                                }
                                .pulse-slow {
                                    animation: pulse-slow 2s ease-in-out infinite;
                                }

/* From: page-settings.php */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.lud-tab-btn {
    color: #6b7280;
    border-color: transparent;
}
.lud-tab-btn.active {
    color: #ec4899;
    border-color: #ec4899;
}

/* From: page-shop.php */
/* Toast animation */
@keyframes slide-in {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
.animate-slide-in {
    animation: slide-in 0.3s ease-out forwards;
}

/* Toggle button styles */
.plan-toggle-btn {
    color: #6b7280;
}
.plan-toggle-btn.active {
    background: linear-gradient(to right, #ec4899, #8b5cf6);
    color: white;
}

/* From: page-thankyou-preview.php */
/* Success animation */
@keyframes successPop {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    50% {
        transform: scale(1.2);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes checkDraw {
    0% {
        stroke-dashoffset: 100;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

.animate-success {
    animation: successPop 0.6s ease-out;
}

.check-path {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: checkDraw 0.5s ease-out 0.3s forwards;
}

/* Gradient text */
.gradient-text {
    background: linear-gradient(to right, #ec4899, #9333ea);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Confetti animation */
@keyframes confetti-fall {
    0% {
        transform: translateY(-100vh) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateY(100vh) rotate(360deg);
        opacity: 0;
    }
}

.confetti {
    position: fixed;
    width: 10px;
    height: 10px;
    animation: confetti-fall 3s linear forwards;
    pointer-events: none;
}

/* Fade in animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
}

.delay-100 { animation-delay: 0.1s; opacity: 0; }
.delay-200 { animation-delay: 0.2s; opacity: 0; }
.delay-300 { animation-delay: 0.3s; opacity: 0; }
.delay-400 { animation-delay: 0.4s; opacity: 0; }
.delay-500 { animation-delay: 0.5s; opacity: 0; }

/* From: page-view-profile-backup.php */
/* Custom animations from Component design */
@keyframes heartPop {
    0% { transform: scale(0); opacity: 0; }
    50% { transform: scale(1.3); opacity: 1; }
    100% { transform: scale(1); opacity: 0; }
}

.heart-animation {
    animation: heartPop 0.6s ease-out;
}

@keyframes subtlePulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.subtle-pulse {
    animation: subtlePulse 2s ease-in-out infinite;
}

.gallery-img {
    aspect-ratio: 3/4;
    object-fit: cover;
}

/* From: page-view-profile-new.php */
/* Desktop profile picture size - 280px */
    @media (min-width: 1024px) {
        .profile-picture-wrapper {
            width: 280px !important;
            height: 280px !important;
        }
        .profile-picture-spacer {
            width: 280px !important;
        }
    }

/* From: page-view-profile.php */
/* Desktop profile picture size - 280px */
    @media (min-width: 1024px) {
        .profile-picture-wrapper {
            width: 280px !important;
            height: 280px !important;
        }
        .profile-picture-spacer {
            width: 280px !important;
        }
    }


/* ========================================
   UTILITY CLASSES FOR INLINE STYLES
   ======================================== */

/* Common Utilities */
.min-w-0 {
    min-width: 0;
}

.hidden-display {
    display: none;
}

.w-0 {
    width: 0%;
}

.translate-y-third {
    transform: translateY(33.33%);
}

.profile-badge-overlay {
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    z-index: 10;
}

.profile-badge-top-right {
    top: 1rem;
    right: 1rem;
}

.profile-badge-top-left {
    top: 1rem;
    left: 1rem;
}

.profile-badge-right {
    right: 1rem;
}

.profile-badge-left {
    left: 1rem;
}

.padding-bottom-0 {
    padding-bottom: 0 !important;
}

.opacity-full {
    opacity: 1 !important;
}

.modal-container {
    max-width: min(90vw, 1200px);
    max-height: 90vh;
    padding: 2rem;
}

.full-size {
    max-width: 100%;
    max-height: 100%;
}

.margin-top-150 {
    margin-top: 150px;
}

.bottom-10 {
    bottom: 10px;
}

.bg-orange-red-gradient {
    background-image: linear-gradient(to right, rgb(249, 115, 22), rgb(239, 68, 68)) !important;
}

.bg-pink-red-gradient {
    background-image: linear-gradient(to right, rgb(236, 72, 153), rgb(239, 68, 68)) !important;
}

.bg-purple-indigo-gradient {
    background-image: linear-gradient(to right, rgb(168, 85, 247), rgb(99, 102, 241)) !important;
}

.modal-overlay-dark {
    background-color: rgba(0, 0, 0, 0.95);
    z-index: 999999;
}

/* ========================================
   DARK MODE OVERRIDES
   Apply dark mode to hard-coded colors
   ======================================== */

.dark {
    color-scheme: dark;
}

/* Backgrounds */
.dark .bg-white {
    background-color: hsl(var(--card)) !important;
}

.dark .bg-gray-50 {
    background-color: hsl(240 3.7% 15.9% / 0.5) !important;
}

.dark .bg-gray-100 {
    background-color: hsl(240 3.7% 15.9%) !important;
}

.dark .bg-gray-200 {
    background-color: hsl(240 3.7% 20%) !important;
}

/* Text Colors */
.dark .text-gray-900 {
    color: hsl(var(--foreground)) !important;
}

.dark .text-gray-800 {
    color: hsl(var(--foreground)) !important;
}

.dark .text-gray-700 {
    color: hsl(var(--foreground) / 0.9) !important;
}

.dark .text-gray-600 {
    color: hsl(var(--muted-foreground)) !important;
}

.dark .text-gray-500 {
    color: hsl(var(--muted-foreground)) !important;
}

.dark .text-gray-400 {
    color: hsl(var(--muted-foreground) / 0.8) !important;
}

/* Borders */
.dark .border-gray-200 {
    border-color: hsl(var(--border)) !important;
}

.dark .border-gray-300 {
    border-color: hsl(var(--border)) !important;
}

.dark .border-gray-100 {
    border-color: hsl(var(--border) / 0.5) !important;
}

/* Shadows - reduce opacity in dark mode */
.dark .shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.3), 0 8px 10px -6px rgb(0 0 0 / 0.3) !important;
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color) !important;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.dark .shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.3), 0 4px 6px -4px rgb(0 0 0 / 0.3) !important;
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

/* Gradients - keep but adjust for readability */
.dark .bg-gradient-to-br.from-pink-50 {
    --tw-gradient-from: hsl(240 10% 10%) !important;
}

.dark .via-purple-50 {
    --tw-gradient-via: hsl(240 10% 12%) !important;
    --tw-gradient-to: hsl(240 10% 12% / 0) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to) !important;
}

.dark .to-blue-50 {
    --tw-gradient-to: hsl(240 10% 15%) !important;
}

/* Specific component dark mode adjustments */
.dark .rounded-2xl {
    box-shadow: 0 0 0 1px hsl(var(--border) / 0.1);
}

/* Hover states */
.dark .hover\:bg-gray-50:hover {
    background-color: hsl(var(--accent)) !important;
}

.dark .hover\:bg-gray-100:hover {
    background-color: hsl(var(--accent)) !important;
}

/* Focus states */
.dark .focus\:border-pink-500:focus {
    border-color: hsl(var(--primary)) !important;
}

.dark .focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

/* ========================================

   UNIVERSAL DARK MODE - ALL PAGES
   Same dark background on every page
   ======================================== */

/* Apply dark gradient background to ALL pages */
.dark body,
.dark main,
.dark .min-h-screen {
    background: linear-gradient(to bottom right, hsl(240 10% 10%), hsl(240 10% 12%), hsl(240 10% 15%)) !important;
}

/* Ensure body has dark background */
.dark {
    background-color: hsl(var(--background));
}

/* ========================================
   TEMPLATE PARTS & COMPONENTS CSS
   Extracted from parts, shortcodes, WooCommerce
   ======================================== */

/* From: account-details-form.php */
.lud-account-details-form {
    max-width: 700px;
}

.form-section {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 25px;
}

.form-section h3 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #333;
}

.section-description {
    color: #6c757d;
    margin-bottom: 20px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #495057;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="password"],
.form-group select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.3s;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: var(--lud-primary, #e91e63);
}

.form-group input[disabled] {
    background: #e9ecef;
    cursor: not-allowed;
}

.form-group input[type="checkbox"] {
    margin-right: 8px;
}

.form-group small {
    display: block;
    margin-top: 5px;
    color: #6c757d;
}

.password-strength {
    height: 5px;
    margin-top: 8px;
    border-radius: 3px;
    transition: all 0.3s;
}

.password-strength.weak {
    background: #dc3545;
    width: 33%;
}

.password-strength.medium {
    background: #ffc107;
    width: 66%;
}

.password-strength.strong {
    background: #28a745;
    width: 100%;
}

.danger-zone {
    border: 2px solid #dc3545;
}

.danger-zone h3 {
    color: #dc3545;
}

.lud-btn-danger {
    background: #dc3545;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s;
}

.lud-btn-danger:hover {
    background: #c82333;
}

.form-actions {
    text-align: center;
    padding-top: 20px;
}

.form-actions .lud-btn {
    min-width: 200px;
}

.lud-notice {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 8px;
}

.lud-notice-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.lud-notice-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* From: filter-panel.php */
/* Smooth slide animations */
    .filter-panel {
        transform: translateX(100%);
        transition: transform 0.3s ease-out;
    }

    .filter-panel.active {
        transform: translateX(0);
    }

    @media (max-width: 768px) {
        .filter-panel {
            transform: translateY(100%);
        }

        .filter-panel.active {
            transform: translateY(0);
        }
    }

    /* Overlay backdrop */
    .filter-overlay {
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
    }

    .filter-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* Range slider styling */
    input[type="range"] {
        -webkit-appearance: none;
        appearance: none;
        background: transparent;
        cursor: pointer;
        width: 100%;
    }

    input[type="range"]::-webkit-slider-runnable-track {
        background: #e5e7eb;
        height: 8px;
        border-radius: 9999px;
    }

    input[type="range"]::-webkit-slider-track {
        background: linear-gradient(to right, #ec4899 0%, #ec4899 var(--range-progress, 0%), #e5e7eb var(--range-progress, 0%), #e5e7eb 100%);
        height: 8px;
        border-radius: 9999px;
    }

    input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        background: linear-gradient(to bottom right, #ec4899, #9333ea);
        height: 24px;
        width: 24px;
        border-radius: 50%;
        border: 3px solid white;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        margin-top: -8px;
    }

    input[type="range"]::-moz-range-track {
        background: #e5e7eb;
        height: 8px;
        border-radius: 9999px;
    }

    input[type="range"]::-moz-range-progress {
        background: #ec4899;
        height: 8px;
        border-radius: 9999px;
    }

    input[type="range"]::-moz-range-thumb {
        background: linear-gradient(to bottom right, #ec4899, #9333ea);
        height: 24px;
        width: 24px;
        border-radius: 50%;
        border: 3px solid white;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        border: none;
    }

    /* Prevent body scroll when panel is open */
    body.filter-open {
        overflow: hidden;
    }

/* From: gift-popup.php */
.gift-modal {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.gift-modal.active {
    opacity: 1;
    visibility: visible;
}

.gift-modal-content {
    transform: scale(0.95);
    transition: transform 0.3s ease-out;
}

.gift-modal.active .gift-modal-content {
    transform: scale(1);
}

.gift-item {
    transition: all 0.2s ease-out;
}

.gift-item:hover {
    transform: scale(1.05);
}

.gift-item.selected {
    border-color: #ec4899;
    background-color: #fdf2f8;
}

/* From: report-user-modal.php */
.report-modal {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.report-modal.active {
    opacity: 1;
    visibility: visible;
}

.report-modal-content {
    transform: scale(0.95);
    transition: transform 0.3s ease-out;
}

.report-modal.active .report-modal-content {
    transform: scale(1);
}

/* From: subscription-plans-dynamic.php */
/* Dynamic Plans Styling */
.lud-subscription-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.subscription-plans-grid,
.credit-packages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.subscription-plan-card,
.credit-package-card {
    background: #fff;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    transition: all 0.3s ease;
}

.subscription-plan-card:hover,
.credit-package-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.subscription-plan-card.popular,
.credit-package-card.popular {
    border-color: #ff6b6b;
}

.subscription-plan-card.best-value,
.credit-package-card.best-value {
    border-color: #4caf50;
}

.subscription-plan-card.current-plan {
    background: #f0f8ff;
    border-color: #2196F3;
}

.popular-badge,
.best-value-badge,
.current-plan-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 5px 20px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
}

.best-value-badge {
    background: linear-gradient(135deg, #4caf50 0%, #8bc34a 100%);
}

.current-plan-badge {
    background: linear-gradient(135deg, #2196F3 0%, #03a9f4 100%);
}

.plan-title {
    font-size: 24px;
    margin: 20px 0 10px;
    color: #333;
}

.plan-price {
    font-size: 36px;
    font-weight: bold;
    color: #2c3e50;
    margin: 20px 0;
}

.price-period {
    font-size: 16px;
    color: #7f8c8d;
    font-weight: normal;
}

.plan-credits {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    margin: 20px 0;
}

.credit-item {
    margin: 5px 0;
    color: #555;
}

.plan-features {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    text-align: left;
}

.plan-features li {
    padding: 8px 0;
    color: #555;
}

.feature-check {
    color: #4caf50;
    font-weight: bold;
    margin-right: 8px;
}

.plan-button,
.credit-button {
    display: block;
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    text-decoration: none;
    border-radius: 25px;
    font-weight: bold;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.plan-button:hover,
.credit-button:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
}

.plan-button.current {
    background: #95a5a6;
    cursor: not-allowed;
}

.credit-amount {
    margin: 20px 0;
}

.credit-number {
    display: block;
    font-size: 48px;
    font-weight: bold;
    color: #2c3e50;
}

.credit-label {
    display: block;
    font-size: 14px;
    color: #7f8c8d;
    text-transform: uppercase;
    margin-top: 5px;
}

.bonus-label {
    display: inline-block;
    background: #ff6b6b;
    color: white;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    margin-top: 10px;
}

.credit-price {
    font-size: 32px;
    font-weight: bold;
    color: #2c3e50;
    margin: 15px 0;
}

.price-per-credit {
    font-size: 14px;
    color: #7f8c8d;
    margin-bottom: 20px;
}

.section-subtitle {
    color: #7f8c8d;
    margin-top: 10px;
}

@media (max-width: 768px) {
    .subscription-plans-grid,
    .credit-packages-grid {
        grid-template-columns: 1fr;
    }
}

/* From: toast-notifications.php */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.toast-notification {
    animation: slideInRight 0.3s ease-out;
}

.toast-notification.hiding {
    animation: slideOutRight 0.3s ease-out;
}

/* From: credit-widget.php */
@keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.9; transform: scale(1.05); }
}
.credit-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

/* From: plan-widgets.php */
/* Pulse animation */
    @keyframes pulse {
        0%, 100% {
            opacity: 1;
            transform: scale(1);
        }
        50% {
            opacity: 0.9;
            transform: scale(1.05);
        }
    }

    .plan-pulse {
        animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }

    /* Ensure cards have consistent height on desktop */
    @media (min-width: 768px) {
        .plan-widget-card {
            min-height: 450px;
        }
    }

/* From: cart-totals.php */
/* Override default WooCommerce proceed to checkout button */
    .wc-proceed-to-checkout .checkout-button {
        display: block !important;
        width: 100% !important;
        background: linear-gradient(to bottom right, #ec4899, #9333ea) !important;
        color: white !important;
        font-weight: bold !important;
        padding: 0.75rem 1.5rem !important;
        border-radius: 0.5rem !important;
        text-align: center !important;
        transition: all 0.2s !important;
        border: none !important;
        text-decoration: none !important;
    }

    .wc-proceed-to-checkout .checkout-button:hover {
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
        transform: scale(1.02);
    }

    .wc-proceed-to-checkout a.checkout-button {
        line-height: 1.5 !important;
    }

    /* Gradient text for total */
    .gradient-text {
        background: linear-gradient(to right, #ec4899, #9333ea);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

/* From: cart.php */
/* Custom scrollbar */
    .scroll-container {
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .scroll-container::-webkit-scrollbar {
        display: none;
    }

    /* Gradient text */
    .gradient-text {
        background: linear-gradient(to right, #ec4899, #9333ea);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    /* Modal animation */
    @keyframes modalFadeIn {
        from {
            opacity: 0;
            transform: scale(0.95);
        }
        to {
            opacity: 1;
            transform: scale(1);
        }
    }

    .animate-modal {
        animation: modalFadeIn 0.2s ease-out;
    }

    /* Quantity input styling */
    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    input[type="number"] {
        -moz-appearance: textfield;
    }

/* From: form-checkout.php */
.gradient-text {
    background: linear-gradient(to right, #ec4899, #9333ea);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.progress-bar {
    transition: width 0.3s ease;
}

.step-content {
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

body.woocommerce-checkout {
    background-color: #f9fafb;
}

/* From: thankyou.php */
/* Success animation */
@keyframes successPop {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    50% {
        transform: scale(1.2);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes checkDraw {
    0% {
        stroke-dashoffset: 100;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

.animate-success {
    animation: successPop 0.6s ease-out;
}

.check-path {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: checkDraw 0.5s ease-out 0.3s forwards;
}

/* Fade in animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
}

.delay-100 { animation-delay: 0.1s; opacity: 0; }
.delay-200 { animation-delay: 0.2s; opacity: 0; }
.delay-300 { animation-delay: 0.3s; opacity: 0; }
.delay-400 { animation-delay: 0.4s; opacity: 0; }
.delay-500 { animation-delay: 0.5s; opacity: 0; }

/* Confetti animation */
@keyframes confetti-fall {
    0% {
        transform: translateY(-100vh) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateY(100vh) rotate(360deg);
        opacity: 0;
    }
}

.confetti {
    position: fixed;
    width: 10px;
    height: 10px;
    animation: confetti-fall 3s linear forwards;
    pointer-events: none;
    z-index: 9999;
}

/* From: my-account.php */
.scrollbar-hide::-webkit-scrollbar { display: none; }
    .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
    .tab-btn { color: #6b7280; border-color: transparent; }
    .tab-btn.active { color: #ec4899!important; border-color: #ec4899; }
    .tab-icon-btn-labeled { color: #6b7280; }
    .tab-icon-btn-labeled:hover { background: #fdf2f8; }
    .tab-icon-btn-labeled.active { background: linear-gradient(to bottom right, #ec4899, #9333ea); color: white; }
    .gradient-text { background: linear-gradient(to right, #ec4899, #9333ea); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }


/* ================================================
   Notifications Page Styles
   From: templates/page-notifications.php
   ================================================ */

/* Pulse animation for unread indicators */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Smooth transitions */
.notification-item {
    transition: all 0.2s ease;
}

.notification-item:hover {
    transform: translateX(4px);
}

/* Smooth display transitions */
[data-category] {
    opacity: 1;
    transition: opacity 0.3s ease;
}

[data-category][style*="display: none"] {
    opacity: 0;
}
