/*
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;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-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-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{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,: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:rgb(59 130 246/0.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: }::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:rgb(59 130 246/0.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: }.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}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.size-4{width:1rem;height:1rem}.size-\[--cell-size\]{width:var(--cell-size);height:var(--cell-size)}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[--cell-size\]{height:var(--cell-size)}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-\[60px\]{min-height:60px}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--cell-size\]{width:var(--cell-size)}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[--cell-size\]{min-width:var(--cell-size)}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-menubar-content-transform-origin\]{transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-px{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-px{--tw-translate-x:-1px}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-\[-50\%\]{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-\[-50\%\]{--tw-translate-x:-50%}.translate-x-px{--tw-translate-x:1px}.translate-x-px,.translate-y-\[-50\%\]{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-\[-50\%\]{--tw-translate-y:-50%}.rotate-45{--tw-rotate:45deg}.rotate-45,.rotate-90{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-90{--tw-rotate:90deg}.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))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border\/50{border-color:hsl(var(--border)/.5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary)/.5)}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgb(0 0 0/.8)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[--cell-size\]{padding-left:var(--cell-size);padding-right:var(--cell-size)}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[0\.8rem\]{font-size:.8rem}.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-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground)/.5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground)/.7)}.overline{text-decoration-line:overline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 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-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 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 rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-none,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--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(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--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)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\2c right\2c width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\2c opacity\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\2c height\2c padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.\!running{animation-play-state:running!important}.running{animation-play-state:running}.\[--cell-size\:2rem\]{--cell-size:2rem}:root{--blush:#fbe1ea;--blush-2:#f7c8d8;--rose:#d38aa6;--rose-deep:#b8557a;--dusty:#e8b0c1;--pearl:#fff6f8;--ink:#4a2338;--ink-soft:rgba(74,35,56,0.72);--gold:#d8a679;--gold-soft:rgba(216,166,121,0.65)}*{box-sizing:border-box}body,html{margin:0;padding:0}body,html{background:#f8d5e0}body{color:var(--ink);font-family:var(--font-sans),"DM Sans",system-ui,sans-serif;font-weight:300;letter-spacing:.01em;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cinema-shell{position:relative;min-height:700vh;overflow:hidden;isolation:isolate}.bg-gradient-a,.bg-gradient-b{position:fixed;inset:-10%;z-index:0;pointer-events:none}.bg-gradient-a{background:radial-gradient(60% 55% at 22% 20%,#ffe8ef 0,transparent 55%),radial-gradient(70% 60% at 82% 30%,#f7c8d8 0,transparent 55%),radial-gradient(55% 55% at 30% 80%,#f2a7c2 0,transparent 55%),linear-gradient(135deg,#ffe4ec,#f7c1d3 45%,#eaa1bb);animation:gradient-drift 22s ease-in-out infinite alternate}.bg-gradient-b{background:radial-gradient(50% 40% at 70% 70%,rgba(255,255,255,.55) 0,transparent 65%),radial-gradient(35% 30% at 20% 60%,rgba(216,166,121,.22) 0,transparent 70%);mix-blend-mode:screen;animation:gradient-drift 28s ease-in-out infinite alternate-reverse}@keyframes gradient-drift{0%{transform:translateZ(0) scale(1);filter:hue-rotate(0deg)}50%{transform:translate3d(1.5%,-1%,0) scale(1.04);filter:hue-rotate(-6deg)}to{transform:translate3d(-1%,1.5%,0) scale(1.02);filter:hue-rotate(4deg)}}.cinema-noise{inset:0;z-index:3;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.aurora,.cinema-noise{position:fixed;pointer-events:none}.aurora{z-index:0;border-radius:999px;filter:blur(30px);mix-blend-mode:screen;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.aurora-one{width:72vw;height:40vw;top:6%;left:-18%;background:radial-gradient(ellipse,rgba(255,220,232,.85),transparent 70%);transform:translate3d(var(--mouse-x),calc(var(--scene-shift) + var(--mouse-y) * .4),0) rotate(-18deg)}.aurora-two{width:60vw;height:62vw;bottom:-12%;right:-14%;background:radial-gradient(ellipse,rgba(216,108,145,.55),transparent 70%);transform:translate3d(calc(var(--mouse-x) * -1),var(--mouse-y),0) rotate(28deg)}.aurora-three{width:48vw;height:48vw;top:38%;left:40%;background:radial-gradient(ellipse,rgba(216,166,121,.28),transparent 70%);transform:translate3d(calc(var(--mouse-x) * .6),calc(var(--mouse-y) * -.6),0)}.moon-glow{z-index:0;width:min(52vw,720px);aspect-ratio:1;right:8%;top:12%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.75),rgba(255,240,246,.28) 32%,transparent 68%);filter:blur(2px);transform:translate3d(calc(var(--mouse-x) * .8),calc(var(--mouse-y) * .8),0);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.cursor-halo,.moon-glow{position:fixed;border-radius:50%}.cursor-halo{z-index:2;pointer-events:none;width:340px;height:340px;margin:-170px 0 0 -170px;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 65%);mix-blend-mode:screen;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.particle-field{position:fixed;inset:0;z-index:1;pointer-events:none}.particle-field span{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 0 14px rgba(255,255,255,.9),0 0 30px rgba(255,200,220,.5);animation:drift ease-in-out infinite alternate}@keyframes drift{0%{transform:translateZ(0);opacity:.2}to{transform:translate3d(24px,-34px,0);opacity:.95}}.petal-field{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.petal-fall{position:absolute;top:-8vh;width:22px;height:22px;background:radial-gradient(ellipse at 30% 30%,#ffd4e0 0,#e8a1b8 70%,transparent 100%);border-radius:60% 20% 60% 20%;opacity:.7;animation:petal-fall linear infinite;filter:drop-shadow(0 4px 10px rgba(200,90,130,.25))}@keyframes petal-fall{0%{transform:translate3d(0,-10vh,0) rotate(0deg) scale(var(--s,1));opacity:0}10%{opacity:.75}50%{transform:translate3d(var(--drift,30px),55vh,0) rotate(220deg);opacity:.7}to{transform:translate3d(calc(var(--drift, 30px) * -1),115vh,0) rotate(480deg);opacity:0}}.cinema-mark,.date-stamp,.progress-rail,.scene-count,.scroll-hint{position:fixed;z-index:8}.cinema-mark{top:34px;left:42px;display:flex;align-items:center;gap:14px;color:var(--ink-soft);font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:500}.mark-dot{width:7px;height:7px;border-radius:50%;background:var(--rose-deep);box-shadow:0 0 0 5px rgba(184,85,122,.12);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25);box-shadow:0 0 0 8px rgba(184,85,122,.14)}}.progress-rail{top:34px;right:42px;height:120px;width:1px;background:rgba(74,35,56,.16);transform-origin:top}.progress-rail span{display:block;height:100%;width:100%;background:var(--rose-deep);transform-origin:top;transition:transform .15s linear}.scene-count{top:30px;right:66px;font-family:var(--font-display),serif;font-size:14px;letter-spacing:.14em;color:var(--ink-soft);font-weight:500}.scene-count span{opacity:.45;font-size:10px;margin-left:4px}.date-stamp{bottom:42px;left:42px;display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:9px;letter-spacing:.24em;writing-mode:vertical-rl;transform:rotate(180deg)}.date-stamp strong{font-family:var(--font-display),serif;font-size:30px;font-weight:500;color:var(--rose-deep);letter-spacing:0}.scroll-hint{bottom:46px;right:42px;display:flex;align-items:center;gap:14px;color:var(--ink-soft);font-size:10px;letter-spacing:.24em;text-transform:uppercase}.scroll-line{display:block;width:46px;height:1px;background:rgba(74,35,56,.4);position:relative}.scroll-line:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--rose-deep);animation:pulse-line 2s infinite}@keyframes pulse-line{0%,to{transform:scale(1);opacity:1}50%{transform:scale(2);opacity:.4}}.scene-track{position:relative;z-index:4}.scene-panel{min-height:100vh;display:grid;place-items:center;position:relative;padding:9rem 1.5rem}.scene-copy{position:relative;width:min(1040px,90vw);text-align:center;transform:translate3d(calc(var(--mouse-x) * .35),calc(var(--mouse-y) * .35),0);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.scene-panel.is-active .scene-copy{animation:scene-in 1.2s cubic-bezier(.22,.8,.26,1) both}@keyframes scene-in{0%{opacity:0;transform:translate3d(0,32px,0)}to{opacity:1;transform:translateZ(0)}}.page-loader{position:fixed;inset:0;z-index:99999;display:none;place-items:center;gap:16px;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 44%,rgba(255,246,248,.72),rgba(251,225,234,.42) 32%,transparent 64%),rgba(248,213,224,.58);transition:opacity .22s ease,visibility .22s ease}.page-loader.is-visible{display:grid;opacity:1;visibility:visible}.page-loader-orbit{position:relative;width:86px;height:86px}.page-loader-orbit span,.page-loader-orbit:after,.page-loader-orbit:before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(184,85,122,.24)}.page-loader-orbit:before{border-top-color:var(--rose-deep);animation:page-loader-spin 1.05s linear infinite}.page-loader-orbit:after{inset:13px;border-right-color:var(--gold);animation:page-loader-spin 1.45s linear infinite reverse}.page-loader-orbit span:first-child{inset:27px;background:radial-gradient(circle,#fff6f8 0 24%,#f7c8d8 25% 52%,#b8557a 53% 100%);border:0;box-shadow:0 0 28px rgba(184,85,122,.38);animation:page-loader-pulse 1.35s ease-in-out infinite}.page-loader-orbit span:nth-child(2),.page-loader-orbit span:nth-child(3){inset:7px;border-color:rgba(216,166,121,.8) transparent transparent}.page-loader-orbit span:nth-child(2){animation:page-loader-spin 1.85s linear infinite}.page-loader-orbit span:nth-child(3){transform:rotate(60deg);animation:page-loader-spin 2.2s linear infinite reverse}.page-loader p{grid-row:2;margin:0;color:var(--ink-soft);font-family:var(--font-display),serif;font-size:18px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}@keyframes page-loader-spin{to{transform:rotate(1turn)}}@keyframes page-loader-pulse{0%,to{transform:scale(.92);opacity:.82}50%{transform:scale(1.08);opacity:1}}.eyebrow{display:flex;justify-content:center;align-items:center;gap:18px;color:var(--rose-deep);text-transform:uppercase;letter-spacing:.42em;font-size:10px;margin:0 0 32px;font-weight:500}.eyebrow span{display:block;width:42px;height:1px;background:var(--gold-soft)}h1{font-family:var(--font-display),"Cormorant Garamond",serif;font-size:clamp(3.6rem,9.5vw,10.5rem);line-height:.95;letter-spacing:-.035em;font-weight:400;color:transparent;background:linear-gradient(180deg,#7a2f4d,#b8557a 55%,#d38aa6);-webkit-background-clip:text;background-clip:text;margin:0;padding-bottom:.18em;text-shadow:0 20px 50px rgba(130,49,78,.14)}h1 .line{display:block;padding-bottom:.08em}.subcopy{margin:40px auto 0;max-width:620px;font-family:var(--font-sans),"DM Sans",sans-serif;font-size:13px;line-height:1.9;letter-spacing:.14em;color:var(--ink-soft);text-transform:uppercase;font-weight:400}.portrait-reveal{display:flex;flex-direction:column;align-items:center;gap:44px}.portrait-frame{position:relative;width:min(360px,62vw);aspect-ratio:3/4;border-radius:50% 50% 46% 46%/46% 46% 50% 50%;overflow:hidden;box-shadow:0 30px 90px rgba(130,49,78,.28),inset 0 0 0 1px rgba(255,255,255,.55);transform:translate3d(calc(var(--mouse-x) * .6),calc(var(--mouse-y) * .6),0);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.portrait-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:saturate(.95) contrast(.95) brightness(1.02)}.portrait-frame:after{content:"";inset:0;background:linear-gradient(180deg,transparent 30%,rgba(255,200,218,.35))}.portrait-frame:after,.portrait-ring{position:absolute;pointer-events:none}.portrait-ring{inset:-14px;border-radius:50% 50% 46% 46%/46% 46% 50% 50%;border:1px solid rgba(216,166,121,.55);animation:ring-rotate 20s linear infinite}.portrait-ring:after,.portrait-ring:before{content:"";position:absolute;inset:-16px;border-radius:50% 50% 46% 46%/46% 46% 50% 50%;border:1px dashed rgba(184,85,122,.35)}.portrait-ring:after{inset:-28px;border-style:solid;border-color:rgba(255,255,255,.35)}@keyframes ring-rotate{to{transform:rotate(1turn)}}.portrait-glow{position:absolute;inset:-60px;background:radial-gradient(circle,rgba(255,220,232,.6),transparent 65%);filter:blur(20px);z-index:-1}.portrait-text{text-align:center}.portrait-eyebrow{color:var(--rose-deep);font-size:11px;letter-spacing:.4em;text-transform:uppercase;margin:0 0 8px;font-weight:500}.portrait-name{font-family:var(--font-display),serif;font-size:clamp(4.5rem,12vw,9rem);font-weight:400;margin:0;line-height:1.06;padding-bottom:.14em;background:linear-gradient(180deg,#7a2f4d,#b8557a 60%,#d8a679);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.04em}.portrait-signature{font-family:var(--font-script),"Great Vibes",cursive;color:var(--gold);font-size:26px;margin:14px 0 0;letter-spacing:.08em;opacity:.9}.countdown{margin-top:52px}.cd-headline{display:flex;justify-content:center;align-items:center;gap:22px;font-family:var(--font-display),serif;color:var(--rose-deep);margin-bottom:42px}.cd-headline span{font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:500}.cd-headline em{font-style:normal;letter-spacing:.4em;font-size:12px;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft);padding:8px 20px}.cd-grid{display:flex;justify-content:center;gap:clamp(20px,5vw,74px)}.time-unit{min-width:64px}.time-unit strong{display:block;font-family:var(--font-display),serif;font-size:clamp(3.6rem,6.5vw,6.8rem);line-height:.98;font-weight:400;padding-bottom:.14em;background:linear-gradient(180deg,#7a2f4d,#b8557a);-webkit-background-clip:text;background-clip:text;color:transparent}.time-unit span{display:block;margin-top:18px;color:var(--ink-soft);font-size:9px;letter-spacing:.28em;text-transform:uppercase}.wish-wrap{margin-top:46px;display:flex;flex-direction:column;align-items:center;gap:42px}.wish-card-shell{width:min(640px,92vw);perspective:1800px}.wish-card-inner{position:relative;min-height:420px;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.wish-card-shell.is-flipped .wish-card-inner{transform:rotateY(180deg)}.wish-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.wish-front{z-index:2;pointer-events:auto}.wish-card-shell.is-flipped .wish-front{pointer-events:none;opacity:0;visibility:hidden}.wish-form{width:100%;padding:34px 34px 26px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,240,246,.35));border:1px solid rgba(255,255,255,.7);border-radius:22px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(130,49,78,.16),0 0 0 1px rgba(216,166,121,.16);text-align:left;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s}.wish-form.is-sent{transform:scale(.98);opacity:.75}.wish-back{display:grid;place-items:center;padding:34px;transform:rotateY(180deg);pointer-events:none;background:radial-gradient(circle at top,rgba(255,255,255,.72),rgba(255,240,246,.42) 45%,rgba(251,225,234,.2) 100%);border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:0 20px 60px rgba(130,49,78,.16),0 0 0 1px rgba(216,166,121,.16)}.wish-card-shell.is-flipped .wish-back{pointer-events:auto}.wish-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.wish-form label{display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--rose-deep);font-weight:500}.wish-form label em{font-style:normal;color:var(--ink-soft);font-weight:400;text-transform:none;letter-spacing:.05em}.wish-form input,.wish-form select,.wish-form textarea{width:100%;padding:12px 14px;background:rgba(255,255,255,.55);border:1px solid rgba(184,85,122,.18);border-radius:10px;color:var(--ink);font-family:var(--font-sans),sans-serif;font-size:14px;letter-spacing:.01em;text-transform:none;transition:border-color .25s,box-shadow .25s,background .25s;outline:none}.wish-form input::-moz-placeholder,.wish-form select::-moz-placeholder,.wish-form textarea::-moz-placeholder{color:rgba(74,35,56,.4);font-style:italic}.wish-form input::placeholder,.wish-form select::placeholder,.wish-form textarea::placeholder{color:rgba(74,35,56,.4);font-style:italic}.wish-form input:focus,.wish-form select:focus,.wish-form textarea:focus{border-color:var(--rose-deep);box-shadow:0 0 0 4px rgba(184,85,122,.12);background:rgba(255,255,255,.85)}.wish-form textarea{resize:none;min-height:110px;font-family:var(--font-display),serif;font-size:17px;line-height:1.55}.custom-relation-dropdown{position:relative;width:100%}.custom-dropdown-trigger{width:100%;padding:12px 14px;background:rgba(255,255,255,.55);border:1px solid rgba(184,85,122,.18);border-radius:10px;color:var(--ink);font-family:var(--font-sans),sans-serif;font-size:14px;letter-spacing:.01em;display:flex;align-items:center;justify-content:space-between;cursor:pointer;outline:none;transition:border-color .25s,box-shadow .25s,background .25s;text-align:left}.custom-dropdown-trigger:focus,.custom-dropdown-trigger:hover{border-color:var(--rose-deep);box-shadow:0 0 0 4px rgba(184,85,122,.12);background:rgba(255,255,255,.85)}.dropdown-chevron{color:var(--rose-deep);font-size:12px;transition:transform .25s ease}.dropdown-chevron.is-open{transform:rotate(180deg)}.custom-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;background:rgba(255,246,248,.96);border:1px solid rgba(184,85,122,.25);border-radius:14px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 16px 36px rgba(184,85,122,.22),inset 0 0 0 1px rgba(255,255,255,.8);padding:6px;animation:dropdown-pop .2s cubic-bezier(.2,.8,.2,1)}@keyframes dropdown-pop{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-dropdown-item{width:100%;padding:10px 14px;background:transparent;border:0;border-radius:8px;color:var(--ink);font-family:var(--font-sans),sans-serif;font-size:13.5px;font-weight:400;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .18s ease;text-align:left}.custom-dropdown-item:hover{background:linear-gradient(135deg,rgba(255,240,246,.9),rgba(251,225,234,.9));color:var(--rose-deep);font-weight:500;padding-left:18px}.custom-dropdown-item.is-selected{background:linear-gradient(135deg,#b8557a,#d38aa6);color:#ffffff;font-weight:500}.item-check{font-size:11px;color:#d8a679}.custom-dropdown-item.is-selected .item-check{color:#ffffff}.wish-textarea{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.wish-actions{display:flex;justify-content:center;margin-top:6px}.wish-btn,.wish-ok-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 30px;background:linear-gradient(135deg,#b8557a,#d38aa6 60%,#d8a679);border:0;border-radius:999px;color:#fff8fa;font-family:var(--font-sans),sans-serif;font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;cursor:pointer;box-shadow:0 12px 30px rgba(184,85,122,.35);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,filter .3s}.wish-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(184,85,122,.45);filter:brightness(1.05)}.wish-btn:disabled{cursor:default;filter:saturate(.6)}.wish-ok-btn{margin-top:8px;min-width:170px;letter-spacing:.24em}.wish-ok-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(184,85,122,.45);filter:brightness(1.05)}.wish-celebration{display:grid;justify-items:center;text-align:center;gap:14px;max-width:440px}.wish-celebration-mark{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;color:var(--rose-deep);font-size:30px;background:rgba(255,255,255,.78);box-shadow:0 12px 28px rgba(184,85,122,.18)}.wish-celebration-eyebrow{margin:0;color:var(--rose-deep);font-size:10px;letter-spacing:.34em;text-transform:uppercase;font-weight:500}.wish-celebration h3{margin:0;font-family:var(--font-display),serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;color:var(--ink);font-weight:500}.wish-celebration p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.7;letter-spacing:.06em}.wish-hint{margin:14px 0 0;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);text-align:center;font-weight:400}.wish-error{color:var(--rose-deep)}.wish-ribbon{width:min(1100px,96vw)}.wish-ribbon-title{color:var(--rose-deep);font-size:10px;letter-spacing:.4em;text-transform:uppercase;margin:0 0 18px;font-weight:500}.wish-ribbon-track{display:flex;gap:18px;overflow-x:auto;padding:6px 4px 22px;scrollbar-width:none}.wish-ribbon-track::-webkit-scrollbar{display:none}.wish-card{flex:0 0 auto;width:260px;padding:22px 22px 18px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);border-radius:16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 32px rgba(130,49,78,.12);margin:0;text-align:left}.wish-card p{font-family:var(--font-display),serif;font-size:17px;line-height:1.45;color:var(--ink);margin:0 0 12px;font-style:italic}.wish-card footer{color:var(--rose-deep);font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:500}@media (max-width:720px){.cinema-mark{top:22px;left:22px;font-size:8px;letter-spacing:.22em}.progress-rail{right:22px;top:22px;height:82px}.scene-count{right:44px;top:20px;font-size:12px}.date-stamp{left:22px;bottom:26px;font-size:8px}.date-stamp strong{font-size:22px}.bh-scroll-hint,.scroll-hint{right:22px;bottom:28px;font-size:8px}.scroll-line{width:24px}.scene-panel{padding:7rem 1.25rem}h1{font-size:clamp(3rem,15vw,6rem);line-height:.92}.eyebrow{font-size:8px;letter-spacing:.28em;gap:10px;margin-bottom:22px}.eyebrow span{width:24px}.subcopy{font-size:10px;margin-top:28px;letter-spacing:.1em;padding:0 12px}.cd-headline{gap:12px;margin-bottom:28px;flex-wrap:wrap}.cd-headline span{font-size:2.4rem}.cd-headline em{font-size:9px;padding:6px 12px;letter-spacing:.28em}.cd-grid{gap:16px}.time-unit{min-width:50px}.time-unit strong{font-size:3rem}.time-unit span{font-size:7px;letter-spacing:.16em}.portrait-name{font-size:clamp(3.5rem,18vw,6rem)}.wish-form{padding:26px 22px 22px;border-radius:18px}.wish-card-inner{min-height:470px}.wish-row{grid-template-columns:1fr;gap:14px}.wish-btn{width:100%}.wish-ok-btn{width:min(220px,100%)}.cursor-halo{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--bh-blush:#ffdae6;--bh-rose:#f78bb0;--bh-magenta:#d94b7a;--bh-magenta-deep:#a12a5b;--bh-gold:#d8a679;--bh-pearl:#fff6f9}.bh-shell{position:relative;min-height:300vh;overflow:hidden;isolation:isolate;background:#ffe1ec;color:#4a2338;font-family:var(--font-sans),"DM Sans",system-ui,sans-serif;font-weight:300}.bh-bg,.bh-bg-lift{position:fixed;inset:-6%;z-index:0;pointer-events:none}.bh-bg{background:radial-gradient(60% 50% at 22% 20%,#fff0f5 0,transparent 60%),radial-gradient(70% 60% at 82% 30%,#ffb8ce 0,transparent 60%),radial-gradient(60% 55% at 30% 82%,#f386ac 0,transparent 60%),radial-gradient(50% 45% at 78% 80%,#ff9dbe 0,transparent 60%),linear-gradient(135deg,#ffe1ec,#ffb8ce 45%,#ea94b3)}.bh-bg-lift{background:radial-gradient(40% 30% at calc(50% + var(--mx)) calc(45% + var(--my)),rgba(255,255,255,.55),transparent 60%),radial-gradient(35% 30% at 20% 60%,rgba(216,166,121,.22) 0,transparent 70%);mix-blend-mode:screen;transition:background .25s ease-out}.bh-noise{inset:0;z-index:3;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.bh-aurora,.bh-noise{position:fixed;pointer-events:none}.bh-aurora{z-index:0;border-radius:999px;filter:blur(28px);mix-blend-mode:screen;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.bh-aurora-a{width:70vw;height:40vw;top:4%;left:-18%;background:radial-gradient(ellipse,rgba(255,220,232,.85),transparent 70%);transform:translate3d(var(--mx),calc(var(--shift) * .4 + var(--my)),0) rotate(-14deg)}.bh-aurora-b{width:60vw;height:60vw;bottom:-12%;right:-14%;background:radial-gradient(ellipse,rgba(217,75,122,.5),transparent 70%);transform:translate3d(calc(var(--mx) * -1),var(--my),0) rotate(26deg)}.bh-aurora-c{width:42vw;height:42vw;top:40%;left:38%;background:radial-gradient(ellipse,rgba(216,166,121,.35),transparent 70%);transform:translate3d(calc(var(--mx) * .6),calc(var(--my) * -.6),0)}.bh-halo{z-index:2;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4),transparent 65%);mix-blend-mode:screen;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.bh-halo,.bh-sparks{position:fixed;pointer-events:none}.bh-sparks{inset:0;z-index:1}.bh-sparks span{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 14px rgba(255,255,255,.9),0 0 30px rgba(255,200,220,.55);animation:bh-twinkle ease-in-out infinite alternate}@keyframes bh-twinkle{0%{transform:translateZ(0) scale(1);opacity:.25}to{transform:translate3d(14px,-18px,0) scale(1.4);opacity:1}}.bh-petals{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.bh-petals span{position:absolute;top:-8vh;width:22px;height:22px;background:radial-gradient(ellipse at 30% 30%,#ffd4e0 0,#e8a1b8 70%,transparent 100%);border-radius:60% 20% 60% 20%;opacity:.72;animation:bh-petal-fall linear infinite;filter:drop-shadow(0 4px 10px rgba(200,90,130,.25))}@keyframes bh-petal-fall{0%{transform:translate3d(0,-10vh,0) rotate(0) scale(var(--s,1));opacity:0}10%{opacity:.75}50%{transform:translate3d(var(--drift,30px),55vh,0) rotate(220deg);opacity:.7}to{transform:translate3d(calc(var(--drift,30px) * -1),115vh,0) rotate(480deg);opacity:0}}.bh-balloons{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.bh-balloon{position:absolute;bottom:-30vh;display:block;animation:bh-balloon-rise linear infinite;will-change:transform;filter:drop-shadow(0 12px 18px rgba(148,40,78,.18))}.bh-balloon-body{position:absolute;inset:0;border-radius:50% 50% 50% 50%/45% 45% 55% 55%;background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.55) 0,transparent 30%),radial-gradient(circle at 50% 55%,var(--hue) 0,rgba(0,0,0,.06) 100%)}.bh-balloon-tie{position:absolute;left:50%;bottom:-6%;width:10px;height:12px;transform:translateX(-50%) rotate(45deg);background:var(--hue);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.bh-balloon-string{position:absolute;left:50%;top:100%;width:1px;height:28vh;transform:translateX(-50%);background:linear-gradient(180deg,rgba(160,60,90,.55),rgba(160,60,90,0))}@keyframes bh-balloon-rise{0%{transform:translateZ(0) rotate(-2deg)}50%{transform:translate3d(var(--drift,0),-70vh,0) rotate(2deg)}to{transform:translate3d(0,-140vh,0) rotate(-3deg);opacity:0}}.bh-ribbons{position:fixed;inset:0;z-index:1;pointer-events:none}.bh-ribbon{position:absolute;height:2px;width:240px;background:linear-gradient(90deg,transparent,var(--bh-gold),transparent);opacity:.6;border-radius:3px;filter:drop-shadow(0 4px 8px rgba(216,166,121,.35))}.bh-ribbon-a{top:22%;left:4%;transform:rotate(-18deg);animation:bh-ribbon-sway 9s ease-in-out infinite alternate}.bh-ribbon-b{top:68%;right:6%;transform:rotate(22deg);animation:bh-ribbon-sway 12s ease-in-out infinite alternate-reverse}.bh-ribbon-c{top:44%;left:46%;width:180px;transform:rotate(-6deg);animation:bh-ribbon-sway 10s ease-in-out infinite}@keyframes bh-ribbon-sway{0%{transform:rotate(var(--r,-18deg)) translateY(0)}to{transform:rotate(var(--r,-18deg)) translateY(-14px) translateX(10px)}}.bh-confetti{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.bh-confetti span{position:absolute;top:-6vh;width:6px;height:10px;border-radius:2px;animation:bh-confetti-fall linear infinite;opacity:.85}@keyframes bh-confetti-fall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}10%{opacity:.85}to{transform:translate3d(30px,115vh,0) rotate(520deg);opacity:0}}.bh-mark{position:fixed;top:34px;left:42px;z-index:8;display:flex;align-items:center;gap:14px;color:rgba(74,35,56,.72);font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:500}.bh-mark-dot{width:7px;height:7px;border-radius:50%;background:var(--bh-magenta);box-shadow:0 0 0 5px rgba(217,75,122,.14);animation:bh-pulse 2.2s ease-in-out infinite}@keyframes bh-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25);box-shadow:0 0 0 8px rgba(217,75,122,.16)}}.bh-date-stamp{position:fixed;bottom:42px;left:42px;z-index:8;display:flex;align-items:center;gap:12px;color:rgba(74,35,56,.62);font-size:9px;letter-spacing:.24em;writing-mode:vertical-rl;transform:rotate(180deg)}.bh-date-stamp strong{font-family:var(--font-display),serif;font-size:30px;font-weight:500;color:var(--bh-magenta-deep);letter-spacing:0}.bh-scene{position:relative;z-index:4;display:grid;place-items:center;padding:8rem 1.5rem}.bh-open,.bh-scene{min-height:100vh}.bh-open-copy{position:relative;text-align:center;width:min(1080px,92vw);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.bh-line-1{display:flex;flex-direction:column;align-items:center;gap:22px;opacity:0;transform:translateY(20px);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}.bh-line-1.in{opacity:1;transform:translateY(0)}.bh-eyebrow{display:flex;align-items:center;gap:16px;color:var(--bh-magenta);font-size:10px;letter-spacing:.42em;text-transform:uppercase;font-weight:500}.bh-eyebrow em{display:inline-block;width:42px;height:1px;background:rgba(216,166,121,.65)}.bh-celebrate-copy>.bh-eyebrow,.bh-discover-copy>.bh-eyebrow,.bh-reveal-copy>.bh-eyebrow,.bh-wishes-copy>.bh-eyebrow{justify-content:center;width:100%}.bh-today{font-size:clamp(1.4rem,2.2vw,2rem);font-weight:400;color:#6b2b46;letter-spacing:.02em}.bh-title,.bh-today{font-family:var(--font-display),serif}.bh-title{margin:44px auto 0;padding-bottom:.2em;line-height:.98;letter-spacing:-.035em;opacity:0;transform:translateY(28px) scale(.96);transition:opacity 1.2s ease,transform 1.6s cubic-bezier(.2,.8,.2,1)}.bh-title.in{opacity:1;transform:translateY(0) scale(1)}.bh-title-bday,.bh-title-happy{display:block}.bh-title-happy{font-family:var(--font-script),"Great Vibes",cursive;font-size:clamp(3.2rem,8vw,8rem);font-weight:400;color:var(--bh-gold);letter-spacing:.04em;margin-bottom:-.14em;text-shadow:0 12px 30px rgba(216,166,121,.35)}.bh-title-bday{font-size:clamp(4.6rem,12vw,12rem);font-weight:500;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#ea78a0);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.12em}.bh-date{margin:34px auto 0;display:inline-flex;align-items:center;gap:22px;font-family:var(--font-display),serif;color:var(--bh-magenta-deep);opacity:0;transform:translateY(14px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}.bh-date.in{opacity:1;transform:translateY(0)}.bh-date span{font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500}.bh-date em{font-style:normal;letter-spacing:.4em;font-size:11px;text-transform:uppercase;color:rgba(74,35,56,.72);border-top:1px solid rgba(216,166,121,.6);border-bottom:1px solid rgba(216,166,121,.6);padding:7px 16px}.bh-scroll-hint{position:fixed;right:42px;bottom:46px;z-index:8;display:flex;align-items:center;gap:14px;color:rgba(74,35,56,.66);font-size:10px;letter-spacing:.24em;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}.bh-scroll-hint.in{opacity:1;transform:translateY(0)}.bh-scroll-line{display:block;width:46px;height:1px;background:rgba(74,35,56,.4);position:relative}.bh-scroll-line:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--bh-magenta);animation:bh-line-pulse 2s infinite}@keyframes bh-line-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(2);opacity:.4}}.bh-celebrate{min-height:100vh}.bh-celebrate-copy{text-align:center;width:min(1080px,92vw);transform:translate3d(calc(var(--mx) * .3),calc(var(--my) * .3),0);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.bh-cheers{margin:32px 0 0;padding-bottom:.18em;font-family:var(--font-display),serif;font-size:clamp(3rem,8vw,8rem);line-height:1.02;font-weight:500;color:#6b1f42}.bh-cheers .l1{display:block;color:var(--bh-gold);font-family:var(--font-script),cursive;font-size:.55em;font-weight:400;letter-spacing:.04em;margin-bottom:-.05em}.bh-cheers .l2{display:block;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#ea78a0);-webkit-background-clip:text;background-clip:text;color:transparent}.bh-cheers .l3{display:block;color:var(--bh-magenta-deep)}.bh-sub{margin:36px auto 0;max-width:620px;font-size:13px;line-height:1.9;letter-spacing:.14em;color:rgba(74,35,56,.72);text-transform:uppercase}.bh-discover{min-height:110vh;padding-bottom:12rem}.bh-discover-copy{text-align:center;width:min(1080px,92vw)}.bh-invite{margin:32px 0 0;padding-bottom:.15em;font-family:var(--font-display),serif;font-size:clamp(2.6rem,6.5vw,6rem);line-height:1.05;font-weight:500;background:linear-gradient(180deg,#6b1f42,#b8437a 60%,#d8a679);-webkit-background-clip:text;background-clip:text;color:transparent}.bh-portals{margin:68px auto 0;display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:32px;width:min(960px,92vw);perspective:1400px}.bh-portal{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 22px 24px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,232,240,.35));border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 16px 40px rgba(148,40,78,.14);text-decoration:none;color:inherit;transform-origin:center bottom;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s;will-change:transform}.bh-portal.is-hovered,.bh-portal:hover{transform:translateY(-8px) rotateX(4deg) scale(1.03)!important;box-shadow:0 24px 56px rgba(148,40,78,.25);border-color:rgba(216,166,121,.6)}.bh-portal-orb{position:relative;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.85) 0,rgba(255,220,232,.6) 40%,rgba(234,120,160,.5) 100%);display:grid;place-items:center;box-shadow:0 12px 30px rgba(217,75,122,.28),inset 0 0 22px rgba(255,255,255,.55);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}.bh-portal.is-hovered .bh-portal-orb,.bh-portal:hover .bh-portal-orb{transform:scale(1.08) rotate(6deg);box-shadow:0 20px 44px rgba(217,75,122,.5),inset 0 0 30px rgba(255,255,255,.75)}.bh-portal-ring{position:absolute;inset:-8px;border-radius:50%;border:1px dashed rgba(216,166,121,.6);animation:bh-portal-spin 22s linear infinite}.bh-portal-glyph{font-family:var(--font-display),serif;font-size:30px;color:var(--bh-magenta-deep);text-shadow:0 4px 12px rgba(148,40,78,.25)}@keyframes bh-portal-spin{to{transform:rotate(1turn)}}.bh-portal-label{font-family:var(--font-display),serif;font-size:22px;font-weight:500;color:var(--bh-magenta-deep);letter-spacing:.02em}.bh-portal-sub{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(74,35,56,.6);font-weight:500}.bh-signoff{margin:84px auto 0;text-align:center;color:rgba(74,35,56,.66);font-size:11px;letter-spacing:.24em;text-transform:uppercase}.bh-signoff em{display:block;font-style:normal;margin-bottom:8px}.bh-signature{font-family:var(--font-script),cursive;font-size:26px;color:var(--bh-gold);letter-spacing:.06em;text-transform:none}.bh-reveal{min-height:110vh;justify-content:center;width:100%;padding:6rem 1.5rem}.bh-reveal,.bh-reveal-copy{display:flex;flex-direction:column;align-items:center;text-align:center}.bh-reveal-copy{width:min(920px,92vw);margin:0 auto}.bh-portrait-wrapper{position:relative;margin:40px auto 32px;display:flex;flex-direction:column;align-items:center}.bh-portrait-halo{top:45%;left:50%;transform:translate(-50%,-50%);width:min(380px,75vw);height:min(380px,75vw);border-radius:50%;background:radial-gradient(circle,rgba(255,184,206,.75) 0,rgba(216,166,121,.35) 50%,transparent 75%);filter:blur(28px);z-index:0}.bh-portrait-halo,.bh-portrait-orbit{position:absolute;pointer-events:none}.bh-portrait-orbit{inset:-22px;border-radius:50% 50% 48% 48%/48% 48% 50% 50%;border:1px dashed rgba(216,166,121,.65);animation:bh-orbit-spin 26s linear infinite;z-index:1}.bh-orbit-star{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:14px;color:#d8a679;text-shadow:0 0 10px rgba(216,166,121,.8)}.bh-orbit-star.star-b{top:auto;bottom:-8px;color:#b8437a}@keyframes bh-orbit-spin{to{transform:rotate(1turn)}}.bh-portrait-frame{position:relative;z-index:2;width:min(290px,58vw);aspect-ratio:3/4;border-radius:50% 50% 46% 46%/46% 46% 50% 50%;overflow:hidden;border:1px solid rgba(255,255,255,.85);box-shadow:0 24px 60px rgba(161,42,91,.22),0 0 0 1px rgba(216,166,121,.3),inset 0 0 30px rgba(255,255,255,.4);background:linear-gradient(160deg,#ffd8e5,#f396b7);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s}.bh-portrait-frame:hover{transform:scale(1.02) translateY(-4px);box-shadow:0 32px 76px rgba(161,42,91,.32),0 0 0 1px rgba(216,166,121,.5),inset 0 0 40px rgba(255,255,255,.6)}.bh-portrait-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:saturate(1.05) contrast(.98) brightness(1.02);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.bh-portrait-frame:hover img{transform:scale(1.05)}.bh-portrait-shimmer{position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent 45%,rgba(216,166,121,.2))}.bh-portrait-badge{position:relative;z-index:3;margin-top:-18px;display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 24px rgba(161,42,91,.14);color:#a12a5b;font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:500}.bh-badge-sparkle{font-size:12px}.bh-reveal-text{margin-top:24px;display:flex;flex-direction:column;align-items:center}.bh-reveal-tag{margin:0;color:var(--bh-magenta);font-size:10px;letter-spacing:.38em;text-transform:uppercase;font-weight:500}.bh-reveal-name{margin:12px 0 0;padding-bottom:.12em;font-family:var(--font-display),serif;font-size:clamp(3.8rem,10vw,7.5rem);font-weight:500;line-height:.96;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#ea78a0);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}.bh-reveal-script{margin:4px 0 0;font-family:var(--font-script),"Great Vibes",cursive;font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--bh-gold);letter-spacing:.08em;text-shadow:0 6px 18px rgba(216,166,121,.3)}.bh-reveal-poem{margin:24px auto 0;max-width:580px;font-family:var(--font-display),serif;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.65;color:#6b2b46;font-style:italic;font-weight:400;letter-spacing:.01em}.bh-wishes{min-height:100vh;justify-content:center;width:100%}.bh-wishes,.bh-wishes-copy{display:flex;flex-direction:column;align-items:center;text-align:center}.bh-wishes-copy{width:min(1080px,92vw);margin:0 auto}@media (max-width:720px){.bh-mark{top:22px;left:22px;font-size:8px;letter-spacing:.24em}.bh-date-stamp{left:22px;bottom:26px;font-size:8px}.bh-date-stamp strong{font-size:22px}.bh-scene{padding:6.5rem 1rem}.bh-title-happy{font-size:clamp(2.6rem,12vw,4rem)}.bh-title-bday{font-size:clamp(3.2rem,16vw,5rem)}.bh-cheers{font-size:clamp(2.4rem,12vw,4rem)}.bh-invite{font-size:clamp(2rem,10vw,3.4rem)}.bh-portals{grid-template-columns:repeat(2,1fr);gap:16px}.bh-portal{padding:22px 14px 18px;border-radius:18px}.bh-portal-orb{width:76px;height:76px}.bh-halo{display:none}}.jn-shell{position:relative;overflow-x:hidden;background:#ffe1ec;color:#4a2338;font-family:var(--font-sans),"DM Sans",sans-serif;isolation:isolate}.jn-bg,.jn-bg-lift{position:fixed;inset:-6%;z-index:0;pointer-events:none}.jn-bg{background:radial-gradient(58% 48% at 18% 22%,#fff0f5 0,transparent 60%),radial-gradient(65% 55% at 82% 30%,#ffb8ce 0,transparent 60%),radial-gradient(55% 50% at 30% 82%,#f386ac 0,transparent 60%),linear-gradient(135deg,#ffe1ec,#ffb8ce 46%,#e88fb1)}.jn-bg-lift{background:radial-gradient(38% 30% at calc(50% + var(--mx)) calc(45% + var(--my)),rgba(255,255,255,.5),transparent 60%);mix-blend-mode:screen;transition:background .25s ease-out}.jn-noise{inset:0;z-index:3;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.jn-aurora,.jn-noise{position:fixed;pointer-events:none}.jn-aurora{z-index:0;border-radius:999px;filter:blur(30px);mix-blend-mode:screen;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.jn-aurora-a{width:66vw;height:40vw;top:8%;left:-18%;background:radial-gradient(ellipse,rgba(255,220,232,.75),transparent 70%);transform:translate3d(var(--mx),var(--my),0) rotate(-14deg)}.jn-aurora-b{width:56vw;height:60vw;bottom:-14%;right:-14%;background:radial-gradient(ellipse,rgba(217,75,122,.4),transparent 70%);transform:translate3d(calc(var(--mx) * -1),var(--my),0) rotate(26deg)}.jn-aurora-c{width:42vw;height:42vw;top:40%;left:38%;background:radial-gradient(ellipse,rgba(216,166,121,.28),transparent 70%);transform:translate3d(calc(var(--mx) * .6),calc(var(--my) * -.6),0)}.jn-halo{z-index:2;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 65%);mix-blend-mode:screen;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.jn-halo,.jn-sparks{position:fixed;pointer-events:none}.jn-sparks{inset:0;z-index:1}.jn-sparks span{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 0 14px rgba(255,255,255,.9),0 0 30px rgba(255,200,220,.5);animation:jn-twinkle ease-in-out infinite alternate}@keyframes jn-twinkle{0%{transform:translateZ(0) scale(1);opacity:.2}to{transform:translate3d(14px,-18px,0) scale(1.4);opacity:.95}}.jn-mark{position:fixed;top:28px;left:42px;right:42px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:500}.jn-back,.jn-mark{color:rgba(74,35,56,.72)}.jn-back{text-decoration:none;padding:8px 14px;border:1px solid rgba(74,35,56,.14);border-radius:999px;background:rgba(255,255,255,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .3s,background .3s,border-color .3s}.jn-back:hover{transform:translateY(-1px);background:rgba(255,255,255,.6);border-color:rgba(184,85,122,.35)}.jn-mark-title{font-family:var(--font-display),serif;font-size:13px;letter-spacing:.06em;text-transform:none;color:rgba(74,35,56,.62)}.jn-year-heads-up{position:fixed;right:42px;top:50%;transform:translateY(-50%);z-index:6;text-align:right;pointer-events:none}.jn-year-active{font-family:var(--font-display),serif;font-size:clamp(4rem,8vw,7.5rem);font-weight:500;line-height:1;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#d8a679);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;transition:opacity .5s ease;padding-bottom:.06em}.jn-year-label{display:block;margin-top:8px;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(74,35,56,.6)}.jn-rail{position:fixed;left:42px;top:50%;transform:translateY(-50%);z-index:6;display:flex;align-items:center;gap:16px}.jn-rail-track{width:1px;height:46vh;background:rgba(74,35,56,.14);position:relative}.jn-rail-fill{position:absolute;inset:0;background:linear-gradient(180deg,#d8a679,#b8437a);transform-origin:top;transform:scaleY(0);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.jn-rail-years{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;height:46vh;font-size:8px;letter-spacing:.16em;color:rgba(74,35,56,.4);font-weight:500}.jn-rail-years li{transition:color .3s,transform .3s}.jn-rail-years li.is-active{color:#a12a5b;transform:translateX(2px)}.jn-rail-years li.is-active span:before{content:"— ";color:#d8a679}.jn-intro{min-height:100vh;display:grid;place-items:center;padding:9rem 1.5rem;position:relative;z-index:4}.jn-intro-copy{text-align:center;width:min(1080px,90vw);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.jn-eyebrow{display:flex;justify-content:center;align-items:center;gap:16px;color:#a12a5b;font-size:10px;letter-spacing:.42em;text-transform:uppercase;margin:0 0 24px;font-weight:500}.jn-eyebrow em{display:inline-block;width:42px;height:1px;background:rgba(216,166,121,.65)}.jn-hero{font-family:var(--font-display),serif;line-height:.95;padding-bottom:.16em;font-weight:500}.jn-hero .l1{display:block;font-family:var(--font-script),cursive;font-size:clamp(2.2rem,4vw,3.4rem);color:#d8a679;letter-spacing:.04em;margin-bottom:-.1em}.jn-hero .l2{display:block;padding-bottom:.16em;font-size:clamp(4rem,12vw,12rem);background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#ea78a0);-webkit-background-clip:text;background-clip:text;color:transparent}.jn-hero-sub{margin:8px 0 0;font-family:var(--font-display),serif;color:#a12a5b;font-size:clamp(1.4rem,2vw,1.8rem);font-weight:500;letter-spacing:.04em}.jn-hero-note{margin:28px auto 0;max-width:520px;font-size:12px;line-height:1.9;letter-spacing:.12em;color:rgba(74,35,56,.72);text-transform:uppercase}.jn-scroll-cue{margin:60px auto 0;display:inline-flex;align-items:center;gap:14px;color:rgba(74,35,56,.66);font-size:10px;letter-spacing:.26em;text-transform:uppercase}.jn-scroll-line{display:block;width:46px;height:1px;background:rgba(74,35,56,.4);position:relative}.jn-scroll-line:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#a12a5b;animation:bh-line-pulse 2s infinite}.jn-track{position:relative;z-index:4}.jn-chapter{position:relative;min-height:100vh;display:grid;place-items:center;padding:6rem 1.5rem}.jn-chapter-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;width:min(1180px,92vw);position:relative;z-index:2}.jn-align-right .jn-chapter-inner .jn-image{order:2}.jn-align-right .jn-chapter-inner .jn-text{order:1;text-align:right;align-items:flex-end}.jn-year-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(calc(1 + var(--sp, 0) * .1));font-family:var(--font-display),serif;font-size:clamp(12rem,32vw,32rem);line-height:1;font-weight:500;color:rgba(255,255,255,.35);letter-spacing:-.04em;opacity:calc(.4 + var(--sp, 0) * .4);z-index:1;pointer-events:none;padding-bottom:.1em;mix-blend-mode:overlay;transition:transform .3s cubic-bezier(.2,.8,.2,1);will-change:transform,opacity}.jn-image{margin:0;position:relative;transition:transform .4s cubic-bezier(.2,.8,.2,1);will-change:transform}.jn-image-frame{position:relative;width:100%;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:radial-gradient(120% 100% at 30% 20%,rgba(255,255,255,.35),transparent 60%),linear-gradient(160deg,#ffd3e0,#f596b6 50%,#d94b7a);box-shadow:0 30px 60px rgba(148,40,78,.22),inset 0 0 40px rgba(255,255,255,.18);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;transform:rotate(calc(-2deg + var(--sp, 0) * 3deg)) translateY(calc(var(--sp, 0) * -14px))}.jn-image:hover .jn-image-frame{transform:rotate(0) translateY(-6px) scale(1.03);box-shadow:0 40px 80px rgba(148,40,78,.32),inset 0 0 60px rgba(255,255,255,.28)}.jn-image-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:26px 26px 24px;color:#fff}.jn-image-tag{font-family:var(--font-display),serif;font-size:22px;font-weight:500;letter-spacing:.02em;text-shadow:0 4px 14px rgba(120,30,60,.45);margin-bottom:4px}.jn-image-caption{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:500}.jn-image-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.28) 50%,transparent 60%);transform:translateX(-100%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.jn-image:hover .jn-image-shine{transform:translateX(100%)}.jn-image figcaption{margin-top:14px;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(74,35,56,.6);font-weight:500;opacity:0;transform:translateY(4px);transition:opacity .4s,transform .4s}.jn-image:hover figcaption{opacity:1;transform:translateY(0)}.jn-text{display:flex;flex-direction:column;align-items:flex-start;gap:14px;transition:transform .4s cubic-bezier(.2,.8,.2,1);will-change:transform}.jn-year-eyebrow{margin:0;font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:#a12a5b;font-weight:500}.jn-year-big{padding-bottom:.1em;font-size:clamp(4.5rem,10vw,8.5rem);line-height:.95;font-weight:500;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#d8a679);-webkit-background-clip:text;background-clip:text;color:transparent}.jn-caption,.jn-year-big{margin:0;font-family:var(--font-display),serif}.jn-caption{font-size:clamp(1.4rem,2.4vw,2rem);color:#6b2b46;font-weight:400;font-style:italic}.jn-milestone{margin:8px 0 0;display:inline-flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid rgba(216,166,121,.5);border-radius:999px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(74,35,56,.72);font-weight:500;background:rgba(255,255,255,.3);backdrop-filter:blur(4px)}.jn-milestone-dot{width:6px;height:6px;border-radius:50%;background:#d8a679;box-shadow:0 0 0 3px rgba(216,166,121,.2)}.jn-hint{margin:12px 0 0;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(74,35,56,.55);font-weight:400;font-style:italic}.jn-final{min-height:130vh;padding:8rem 1.5rem 12rem}.jn-final .jn-year-mark{color:rgba(255,255,255,.55);opacity:.85;mix-blend-mode:normal;animation:jn-final-glow 5s ease-in-out infinite alternate}@keyframes jn-final-glow{0%{text-shadow:0 0 40px rgba(255,200,220,.6)}to{text-shadow:0 0 80px rgba(255,220,232,.9)}}.jn-final .jn-image-frame{background:radial-gradient(120% 100% at 30% 20%,rgba(255,255,255,.5),transparent 60%),linear-gradient(160deg,#ffe4ec,#f8a4c1 40%,#d94b7a 90%,#a12a5b);box-shadow:0 40px 100px rgba(148,40,78,.4),inset 0 0 80px rgba(255,255,255,.28)}.jn-final .jn-year-big{font-size:clamp(5.5rem,14vw,12rem)}.jn-final-cta{margin-top:24px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}.jn-align-right .jn-final-cta{align-items:flex-end}.jn-final-note{margin:0;font-family:var(--font-display),serif;font-size:clamp(1.2rem,1.8vw,1.6rem);color:#6b2b46;font-style:italic}.jn-cta{display:inline-flex;align-items:center;gap:14px;padding:16px 28px;background:linear-gradient(135deg,#b8437a,#ea78a0 55%,#d8a679);color:#fff8fa;text-decoration:none;font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;border-radius:999px;box-shadow:0 16px 40px rgba(184,67,122,.4);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,filter .35s}.jn-cta:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(184,67,122,.55);filter:brightness(1.06)}.jn-cta-arrow{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.jn-cta:hover .jn-cta-arrow{transform:translateX(6px)}.jn-foot{position:relative;z-index:4;padding:4rem 1.5rem 6rem;text-align:center;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(74,35,56,.5)}@media (max-width:900px){.jn-mark{left:22px;right:22px;top:22px;font-size:8px;letter-spacing:.2em}.jn-mark-title,.jn-rail{display:none}.jn-year-heads-up{right:22px}.jn-year-active{font-size:clamp(3rem,10vw,4.5rem)}.jn-year-label{font-size:8px;letter-spacing:.18em}.jn-chapter{min-height:auto;padding:5rem 1rem}.jn-chapter-inner{grid-template-columns:1fr;gap:32px}.jn-align-right .jn-chapter-inner .jn-image{order:1}.jn-align-right .jn-chapter-inner .jn-text{order:2;text-align:left;align-items:flex-start}.jn-align-right .jn-final-cta{align-items:flex-start}.jn-year-mark{font-size:clamp(8rem,40vw,16rem)}.jn-halo{display:none}.jn-final{min-height:auto;padding:5rem 1rem 8rem}}.wh-shell{position:relative;overflow-x:hidden;background:#ffe1ec;color:#4a2338;font-family:var(--font-sans),"DM Sans",sans-serif;isolation:isolate;min-height:100vh}.wh-bg,.wh-bg-lift{position:fixed;inset:-6%;z-index:0;pointer-events:none}.wh-bg{background:radial-gradient(58% 48% at 20% 24%,#fff0f5 0,transparent 60%),radial-gradient(65% 55% at 82% 30%,#ffb8ce 0,transparent 60%),radial-gradient(55% 50% at 30% 82%,#f386ac 0,transparent 60%),linear-gradient(135deg,#ffe1ec,#ffb8ce 46%,#e88fb1)}.wh-bg-lift{background:radial-gradient(36% 30% at calc(50% + var(--mx)) calc(45% + var(--my)),rgba(255,255,255,.5),transparent 60%);mix-blend-mode:screen;transition:background .25s ease-out}.wh-noise{inset:0;z-index:3;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.wh-aurora,.wh-noise{position:fixed;pointer-events:none}.wh-aurora{z-index:0;border-radius:999px;filter:blur(30px);mix-blend-mode:screen;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.wh-aurora-a{width:66vw;height:40vw;top:8%;left:-18%;background:radial-gradient(ellipse,rgba(255,220,232,.75),transparent 70%);transform:translate3d(var(--mx),var(--my),0) rotate(-14deg)}.wh-aurora-b{width:56vw;height:60vw;bottom:-14%;right:-14%;background:radial-gradient(ellipse,rgba(217,75,122,.4),transparent 70%);transform:translate3d(calc(var(--mx) * -1),var(--my),0) rotate(26deg)}.wh-halo{z-index:2;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 65%);mix-blend-mode:screen;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.wh-halo,.wh-sparks{position:fixed;pointer-events:none}.wh-sparks{inset:0;z-index:1}.wh-sparks span{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 0 14px rgba(255,255,255,.9),0 0 30px rgba(255,200,220,.5);animation:wh-twinkle ease-in-out infinite alternate}@keyframes wh-twinkle{0%{transform:translateZ(0) scale(1);opacity:.2}to{transform:translate3d(14px,-18px,0) scale(1.4);opacity:.9}}.wh-topbar{position:fixed;top:26px;left:34px;right:34px;z-index:8;display:flex;align-items:center;justify-content:space-between}.wh-back{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 14px;border:1px solid rgba(74,35,56,.14);border-radius:999px;background:rgba(255,255,255,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-decoration:none;color:rgba(74,35,56,.78);font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;transition:transform .3s,background .3s,border-color .3s}.wh-back-arrow{display:inline-block;transition:transform .3s}.wh-back:hover{background:rgba(255,255,255,.7);border-color:rgba(184,85,122,.35);transform:translateY(-1px)}.wh-back:hover .wh-back-arrow{transform:translateX(-3px)}.wh-topbar-title{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display),serif;font-size:14px;color:rgba(74,35,56,.72);letter-spacing:.04em}.wh-topbar-mark{width:6px;height:6px;border-radius:50%;background:#a12a5b;box-shadow:0 0 0 4px rgba(161,42,91,.14)}.wh-topbar-count{display:inline-flex;align-items:baseline;gap:12px;padding:8px 18px;border:1px solid rgba(216,166,121,.5);border-radius:999px;background:rgba(255,255,255,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.wh-count-num{font-family:var(--font-display),serif;font-size:20px;color:#a12a5b;font-weight:500}.wh-count-lbl{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(74,35,56,.66);font-weight:500}.wh-scene{position:relative;z-index:4;padding:8rem 1.5rem}.wh-open{min-height:100vh;display:grid;place-items:center}.wh-open-copy{text-align:center;width:min(1000px,92vw);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.wh-eyebrow{display:flex;justify-content:center;align-items:center;gap:16px;color:#a12a5b;font-size:10px;letter-spacing:.42em;text-transform:uppercase;margin:0 0 26px;font-weight:500}.wh-eyebrow em{display:inline-block;width:42px;height:1px;background:rgba(216,166,121,.65);font-style:normal}.wh-title-a{margin:0 auto;padding-bottom:.14em;font-size:clamp(3.4rem,8.5vw,8rem);line-height:1;letter-spacing:-.025em;font-weight:500;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#ea78a0);-webkit-background-clip:text;background-clip:text;color:transparent}.wh-title-a,.wh-title-b{font-family:var(--font-display),serif}.wh-title-b{margin:30px auto 0;max-width:580px;font-size:clamp(1.4rem,2.4vw,1.9rem);color:#6b2b46;font-style:italic;line-height:1.45}.wh-scroll-cue{margin:62px auto 0;display:inline-flex;align-items:center;gap:12px;color:rgba(74,35,56,.66);font-size:10px;letter-spacing:.28em;text-transform:uppercase}.wh-scroll-dot{width:6px;height:6px;border-radius:50%;background:#a12a5b;animation:bh-line-pulse 2s infinite}.wh-constellation{min-height:130vh;display:flex;flex-direction:column;align-items:center;padding-top:4rem}.wh-hint{margin:0 0 32px;font-family:var(--font-display),serif;font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:rgba(74,35,56,.6);font-weight:500}.wh-canvas{position:relative;width:min(1280px,96vw);height:var(--canvasHeight,100vh);min-height:720px}.wh-state{margin:12px auto 32px;width:min(520px,90vw);text-align:center;font-family:var(--font-display),serif;font-size:18px;line-height:1.5;color:rgba(74,35,56,.68)}.wh-orb{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;cursor:pointer;color:inherit;outline:none;animation:wh-orb-float 8s ease-in-out infinite alternate;will-change:transform}@keyframes wh-orb-float{0%{transform:translate(-50%,-50%) translate(0)}to{transform:translate(-50%,-50%) translate(6px,-10px)}}.wh-orb-halo{position:absolute;inset:-18px;z-index:0;border-radius:50%;background:radial-gradient(circle,rgba(255,220,232,.85),rgba(217,75,122,.2) 55%,transparent 70%);filter:blur(14px);opacity:calc(.35 + var(--near, 0) * .65);transition:opacity .35s,transform .35s;transform:scale(calc(.85 + var(--near, 0) * .25));pointer-events:none}.wh-orb-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;width:220px;padding:24px 22px 20px;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,240,246,.55));border:1px solid rgba(255,255,255,.85);border-radius:26px 26px 24px 24px/30px 30px 24px 24px;box-shadow:0 20px 44px rgba(148,40,78,.16),inset 0 0 0 1px rgba(216,166,121,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translate(var(--px,0),var(--py,0)) rotate(var(--baseR,0)) scale(calc(var(--baseS, 1) + var(--near, 0) * .06));transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}.wh-orb:hover .wh-orb-body{border-color:rgba(216,166,121,.55);box-shadow:0 32px 60px rgba(148,40,78,.28),inset 0 0 0 1px rgba(255,255,255,1);transform:translate(var(--px,0),var(--py,0)) rotate(calc(var(--baseR, 0) / 2)) scale(calc(var(--baseS, 1) + .1))}.wh-orb-blessing .wh-orb-halo{background:radial-gradient(circle,rgba(255,238,180,.78),rgba(216,166,121,.28) 52%,transparent 72%)}.wh-orb-blessing .wh-orb-body{background:radial-gradient(90% 80% at 24% 12%,rgba(255,255,255,.88),transparent 62%),linear-gradient(180deg,rgba(255,250,230,.86),rgba(255,232,240,.55));border-color:rgba(216,166,121,.72);box-shadow:0 22px 48px rgba(151,94,38,.18),inset 0 0 0 1px rgba(255,255,255,.78)}.wh-orb-blessing .wh-orb-name,.wh-orb-blessing .wh-orb-quote{color:#a66a28}.wh-orb-blessing .wh-orb-meta{border-top-color:rgba(166,106,40,.28)}.wh-orb-quote{position:absolute;top:6px;left:12px;font-size:44px;line-height:1;color:rgba(216,166,121,.7);font-weight:500;padding-bottom:.1em}.wh-orb-preview,.wh-orb-quote{font-family:var(--font-display),serif}.wh-orb-preview{margin-top:18px;font-size:15px;line-height:1.45;color:#4a2338;font-style:italic;opacity:calc(.72 + var(--near, 0) * .28);transition:opacity .3s}.wh-orb-meta{display:flex;flex-direction:column;gap:2px;padding-top:10px;border-top:1px solid rgba(216,166,121,.28)}.wh-orb-name{font-family:var(--font-display),serif;font-size:14px;font-weight:500;color:#a12a5b;letter-spacing:.02em}.wh-orb-relation{font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:rgba(74,35,56,.6);font-weight:500}.wh-reels-section{min-height:80vh;justify-content:center;width:100%;padding:5rem 1.5rem 6rem;position:relative;z-index:2}.wh-reels-copy,.wh-reels-section{display:flex;flex-direction:column;align-items:center;text-align:center}.wh-reels-copy{width:min(1000px,92vw);margin:0 auto 40px;gap:14px}.wh-reels-copy>.wh-eyebrow{justify-content:center;width:100%}.wh-reels-title{margin:0;padding-bottom:.12em;font-family:var(--font-display),serif;font-size:clamp(2.4rem,5.5vw,4.5rem);line-height:1.06;font-weight:500;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#d8a679);-webkit-background-clip:text;background-clip:text;color:transparent}.wh-reels-sub{margin:0;font-size:14px;letter-spacing:.08em;color:#6b2b46;max-width:580px;line-height:1.6}.wh-reels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,340px));gap:28px;justify-content:center;width:min(1120px,94vw);margin:0 auto}.wh-reel-card{position:relative;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 48px rgba(161,42,91,.14),0 0 0 1px rgba(216,166,121,.25);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.wh-reel-card:hover{transform:translateY(-6px);box-shadow:0 28px 64px rgba(161,42,91,.24),0 0 0 1px rgba(216,166,121,.5)}.wh-reel-preview{position:relative;width:100%;aspect-ratio:9/12;border-radius:20px 20px 0 0;overflow:hidden;background:linear-gradient(135deg,#f78bb0,#b8437a 50%,#6b1f42);display:flex;align-items:center;justify-content:center}.wh-reel-bg-glow{position:absolute;inset:0;background:radial-gradient(circle,rgba(255,216,229,.4) 0,transparent 70%);pointer-events:none}.wh-reel-icon-badge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffff;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;z-index:2}.wh-reel-time{position:absolute;bottom:14px;right:14px;padding:4px 10px;border-radius:8px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:500;z-index:2}.wh-reel-play-btn{position:relative;z-index:3;width:68px;height:68px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:#b8437a;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .3s cubic-bezier(.2,.8,.2,1),background-color .3s}.wh-reel-play-btn:hover{transform:scale(1.12);background:#ffffff}.wh-play-triangle{font-size:22px;margin-left:3px}.wh-play-pulse{position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(255,255,255,.6);animation:bh-play-pulse-anim 2s infinite;pointer-events:none}@keyframes bh-play-pulse-anim{0%{transform:scale(.95);opacity:.8}to{transform:scale(1.4);opacity:0}}.wh-reel-content{padding:20px 22px 24px;display:flex;flex-direction:column;text-align:left;gap:8px}.wh-reel-heading{margin:0;font-family:var(--font-display),serif;font-size:20px;font-weight:600;color:#4a2338}.wh-reel-caption{margin:0;font-size:13px;line-height:1.55;color:rgba(74,35,56,.8)}.wh-reel-actions{margin-top:14px;display:flex;align-items:center;gap:10px}.wh-reel-btn-play{flex:1;padding:10px 16px;border-radius:12px;border:none;background:linear-gradient(135deg,#a12a5b,#d94b7a);color:#ffffff;font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:transform .25s,box-shadow .25s;display:flex;align-items:center;justify-content:center;gap:6px}.wh-reel-btn-play:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(161,42,91,.35)}.wh-reel-btn-link{padding:10px 14px;border-radius:12px;border:1px solid rgba(161,42,91,.3);background:rgba(255,255,255,.6);color:#a12a5b;font-size:11px;font-weight:600;text-decoration:none;transition:background-color .25s,border-color .25s;display:flex;align-items:center;justify-content:center;white-space:nowrap}.wh-reel-btn-link:hover{background:rgba(255,255,255,.95);border-color:#a12a5b}.wh-reel-modal-card{position:relative;width:min(440px,92vw);max-height:90vh;border-radius:28px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.95);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 32px 80px rgba(148,40,78,.38);padding:24px 20px 20px;display:flex;flex-direction:column;gap:16px;overflow:hidden;z-index:1000}.wh-reel-modal-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.wh-reel-badge{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#a12a5b;font-weight:600}.wh-reel-modal-header h4{margin:4px 0 0;font-family:var(--font-display),serif;font-size:22px;color:#4a2338}.wh-reel-modal-header p{margin:2px 0 0;font-size:12px;color:rgba(74,35,56,.75)}.wh-reel-iframe-container{width:100%;height:clamp(420px,60vh,520px);border-radius:18px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}.wh-reel-iframe{width:100%;height:100%;border:none}.wh-reel-modal-footer{display:flex;justify-content:center;padding-top:4px}.wh-reel-ext-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:999px;background:linear-gradient(135deg,#a12a5b,#d94b7a);color:#fff;font-size:12px;font-weight:600;text-decoration:none;box-shadow:0 8px 24px rgba(161,42,91,.28);transition:transform .25s}.wh-reel-ext-btn:hover{transform:scale(1.04)}.wh-close{min-height:100vh;display:grid;place-items:center;padding-bottom:12rem}.wh-close-copy{text-align:center;width:min(1100px,92vw);display:flex;flex-direction:column;align-items:center;gap:20px}.wh-close-title{margin:0;padding-bottom:.14em;font-family:var(--font-display),serif;font-size:clamp(2.6rem,6.5vw,5.4rem);line-height:1.05;font-weight:500;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#d8a679);-webkit-background-clip:text;background-clip:text;color:transparent}.wh-close-note{margin:6px 0 0;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(74,35,56,.7);font-weight:500}.wh-close-links{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:20px;width:min(720px,94vw)}.wh-link{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:24px 26px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,232,240,.35));border-radius:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 16px 40px rgba(148,40,78,.14);text-decoration:none;color:inherit;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}.wh-link:hover{transform:translateY(-4px);border-color:rgba(216,166,121,.6);box-shadow:0 26px 56px rgba(148,40,78,.24)}.wh-link-tag{font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:#a12a5b;font-weight:500}.wh-link-title{font-family:var(--font-display),serif;font-size:22px;font-weight:500;color:#4a2338}.wh-link-arrow{position:absolute;right:22px;top:50%;transform:translateY(-50%);color:#a12a5b;font-size:22px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.wh-link:hover .wh-link-arrow{transform:translateY(-50%) translateX(6px)}.wh-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:3rem 1.5rem;animation:wh-modal-in .5s ease both}@keyframes wh-modal-in{0%{opacity:0}to{opacity:1}}.wh-modal-veil{position:absolute;inset:0;background:radial-gradient(50% 40% at 50% 45%,rgba(255,235,242,.35) 0,transparent 60%),linear-gradient(160deg,rgba(107,31,66,.85),rgba(217,75,122,.55));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.wh-modal-sparkle{position:absolute;inset:0;pointer-events:none}.wh-modal-sparkle span{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(255,220,232,.9);box-shadow:0 0 12px rgba(255,220,232,.9),0 0 24px rgba(216,166,121,.5);animation:wh-sp-twinkle 3s ease-in-out infinite alternate}@keyframes wh-sp-twinkle{0%{transform:scale(.7);opacity:.4}to{transform:scale(1.3);opacity:1}}.wh-modal-card{position:relative;z-index:2;width:min(720px,94vw);padding:60px 56px 48px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,246,249,.85));border:1px solid rgba(255,255,255,1);border-radius:28px;box-shadow:0 60px 120px rgba(50,12,30,.4),inset 0 0 0 1px rgba(216,166,121,.28);text-align:center}.wh-modal-card-blessing{background:radial-gradient(80% 80% at 50% 0,rgba(255,246,204,.7),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,247,226,.9));box-shadow:0 60px 120px rgba(82,49,15,.34),inset 0 0 0 1px rgba(216,166,121,.42)}.wh-modal-close{position:absolute;top:20px;right:22px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(74,35,56,.14);background:rgba(255,255,255,.6);color:rgba(74,35,56,.7);font-size:22px;line-height:1;font-weight:300;cursor:pointer;transition:transform .3s,background .3s,color .3s}.wh-modal-close:hover{transform:rotate(90deg);background:rgba(255,255,255,.9);color:#a12a5b}.wh-modal-tag{margin:0 0 24px;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:#a12a5b;font-weight:500}.wh-modal-quote{margin:0;padding:0;font-family:var(--font-display),serif;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.4;font-style:italic;color:#4a2338;position:relative}.wh-modal-close-q,.wh-modal-open-q{font-family:var(--font-display),serif;color:#d8a679;font-size:1.4em;line-height:1;vertical-align:-.15em;padding:0 .05em}.wh-modal-footer{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:32px}.wh-modal-line{display:block;width:70px;height:1px;background:rgba(216,166,121,.55)}.wh-modal-name{font-family:var(--font-script),cursive;font-size:30px;color:#a12a5b;letter-spacing:.04em}.wh-modal-hint{margin:22px 0 0;font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:rgba(74,35,56,.5);font-weight:500}@media (max-width:900px){.wh-topbar{left:18px;right:18px;top:18px}.wh-back{padding:8px 14px 8px 12px;font-size:9px;letter-spacing:.2em}.wh-topbar-title{display:none}.wh-topbar-count{padding:6px 14px}.wh-count-num{font-size:16px}.wh-count-lbl{font-size:8px;letter-spacing:.22em}.wh-scene{padding:6rem 1rem}.wh-canvas{height:auto;min-height:unset;display:flex;flex-direction:column;gap:22px;align-items:center;padding:20px 0}.wh-orb{position:relative;left:auto!important;top:auto!important;transform:none;animation:none}.wh-orb-body{width:min(320px,90vw)}.wh-close-links{grid-template-columns:1fr}.wh-modal-card{padding:40px 24px 32px;border-radius:22px}.wh-modal-close{top:12px;right:14px;width:36px;height:36px}.wh-halo{display:none}}.fz-shell{position:relative;overflow-x:hidden;background:#ffd6e5;color:#4a2338;font-family:var(--font-sans),"DM Sans",sans-serif;isolation:isolate;min-height:100vh}.fz-bg,.fz-bg-lift{position:fixed;inset:-6%;z-index:0;pointer-events:none}.fz-bg{background:radial-gradient(56% 46% at 22% 22%,#ffe0ec 0,transparent 60%),radial-gradient(60% 50% at 82% 30%,#ffb0cc 0,transparent 60%),radial-gradient(55% 50% at 30% 82%,#f070a2 0,transparent 60%),radial-gradient(52% 45% at 78% 78%,#ffb08c 0,transparent 62%),linear-gradient(135deg,#ffe1ec,#ffb8ce 40%,#e57ba7 80%,#d94b7a)}.fz-bg-lift{background:radial-gradient(36% 30% at calc(50% + var(--mx)) calc(45% + var(--my)),rgba(255,255,255,.5),transparent 60%);mix-blend-mode:screen;transition:background .25s ease-out}.fz-noise{inset:0;z-index:3;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.fz-aurora,.fz-noise{position:fixed;pointer-events:none}.fz-aurora{z-index:0;border-radius:999px;filter:blur(30px);mix-blend-mode:screen;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.fz-aurora-a{width:68vw;height:42vw;top:6%;left:-20%;background:radial-gradient(ellipse,rgba(255,220,232,.85),transparent 70%);transform:translate3d(var(--mx),var(--my),0) rotate(-12deg)}.fz-aurora-b{width:58vw;height:60vw;bottom:-18%;right:-18%;background:radial-gradient(ellipse,rgba(255,176,140,.4),transparent 70%);transform:translate3d(calc(var(--mx) * -1),var(--my),0) rotate(28deg)}.fz-halo{z-index:2;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4),transparent 65%);mix-blend-mode:screen;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.fz-halo,.fz-sparks{position:fixed;pointer-events:none}.fz-sparks{inset:0;z-index:1}.fz-sparks span{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 14px rgba(255,255,255,.9),0 0 30px rgba(255,200,220,.5);animation:fz-twinkle ease-in-out infinite alternate}@keyframes fz-twinkle{0%{transform:translateZ(0) scale(1);opacity:.2}to{transform:translate3d(14px,-18px,0) scale(1.4);opacity:.95}}.fz-topbar{position:fixed;top:26px;left:34px;right:34px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px}.fz-back{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 14px;border:1px solid rgba(74,35,56,.14);border-radius:999px;background:rgba(255,255,255,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-decoration:none;color:rgba(74,35,56,.78);font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;transition:transform .3s,background .3s,border-color .3s}.fz-back:hover{background:rgba(255,255,255,.7);border-color:rgba(184,85,122,.35);transform:translateY(-1px)}.fz-topbar-title{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display),serif;font-size:14px;color:rgba(74,35,56,.72);letter-spacing:.04em}.fz-topbar-mark{width:6px;height:6px;border-radius:50%;background:#a12a5b;box-shadow:0 0 0 4px rgba(161,42,91,.14)}.fz-topbar-tag{display:inline-flex;align-items:baseline;gap:8px;padding:8px 16px;border:1px solid rgba(216,166,121,.5);border-radius:999px;background:rgba(255,255,255,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(74,35,56,.7);font-weight:500}.fz-topbar-tag-b{color:#a12a5b;font-family:var(--font-display),serif;font-size:11px;letter-spacing:.04em;text-transform:none}.fz-scene{position:relative;z-index:4;padding:7rem 1.5rem}.fz-hero{min-height:100vh;display:grid;place-items:center}.fz-hero-copy{text-align:center;width:min(1080px,92vw);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.fz-eyebrow{display:flex;justify-content:center;align-items:center;gap:16px;color:#a12a5b;font-size:10px;letter-spacing:.42em;text-transform:uppercase;margin:0 0 26px;font-weight:500}.fz-eyebrow em{display:inline-block;width:42px;height:1px;background:rgba(216,166,121,.65);font-style:normal}.fz-hero-title{margin:0;padding-bottom:.16em;font-family:var(--font-display),serif;font-weight:500;line-height:.95}.fz-hero-title-a{display:block;font-family:var(--font-script),cursive;font-size:clamp(2.4rem,4.5vw,3.8rem);color:#d8a679;letter-spacing:.04em;margin-bottom:-.14em}.fz-hero-title-b{display:block;padding-bottom:.16em;font-size:clamp(4.5rem,13vw,12rem);background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#ea78a0);-webkit-background-clip:text;background-clip:text;color:transparent}.fz-hero-note{margin:30px auto 0;max-width:580px;font-family:var(--font-display),serif;font-size:clamp(1.3rem,2.2vw,1.7rem);color:#6b2b46;font-style:italic;line-height:1.55}.fz-section-head{text-align:center;width:min(1080px,92vw);margin:0 auto 48px}.fz-section-title{margin:0;padding-bottom:.14em;font-family:var(--font-display),serif;font-size:clamp(2.6rem,6.5vw,5.4rem);line-height:1.05;font-weight:500;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#d8a679);-webkit-background-clip:text;background-clip:text;color:transparent}.fz-section-note{margin:14px auto 0;max-width:560px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(74,35,56,.72);font-weight:500}.fz-memes{padding-bottom:4rem}.fz-memory-game{width:min(980px,94vw);margin:0 auto;display:grid;gap:24px}.fz-memory-hud{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.85);border-radius:22px;background:radial-gradient(120% 100% at 30% 20%,rgba(255,255,255,.48),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,232,240,.35));box-shadow:0 20px 44px rgba(148,40,78,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.fz-memory-stat{text-align:center}.fz-memory-stat span{display:block;padding-bottom:.08em;font-family:var(--font-display),serif;font-size:34px;line-height:1;color:#a12a5b;font-weight:500}.fz-memory-stat em{display:block;margin-top:6px;font-style:normal;font-size:8px;letter-spacing:.32em;text-transform:uppercase;color:rgba(74,35,56,.6);font-weight:500}.fz-memory-reset,.fz-memory-win button{min-height:44px;padding:12px 22px;border:0;border-radius:999px;background:linear-gradient(135deg,#b8437a,#ea78a0 55%,#d8a679);color:#fff8fa;font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;cursor:pointer;box-shadow:0 14px 30px rgba(184,67,122,.34);transition:transform .3s,box-shadow .3s,filter .3s}.fz-memory-reset:hover,.fz-memory-win button:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(184,67,122,.5);filter:brightness(1.06)}.fz-memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.fz-memory-card{position:relative;width:100%;aspect-ratio:1/1;padding:0;border:0;background:transparent;perspective:900px;cursor:pointer;color:inherit}.fz-memory-card:disabled{cursor:default}.fz-memory-card-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.fz-memory-card.is-flipped .fz-memory-card-inner{transform:rotateY(180deg)}.fz-memory-card-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:22px;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid rgba(255,255,255,.85);box-shadow:0 20px 42px rgba(148,40,78,.16);overflow:hidden}.fz-memory-card-back{background:radial-gradient(100% 80% at 30% 16%,rgba(255,255,255,.68),transparent 62%),linear-gradient(145deg,#b8437a,#ea78a0 58%,#d8a679);color:#fff8fa;font-family:var(--font-display),serif;font-size:clamp(2rem,6vw,4rem);font-weight:500}.fz-memory-card-back:after{content:"";position:absolute;inset:14px;border:1px dashed rgba(255,255,255,.58);border-radius:16px}.fz-memory-card-front{transform:rotateY(180deg);background:radial-gradient(80% 70% at 30% 16%,rgba(255,255,255,.78),transparent 60%),linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,230,239,.72));color:#4a2338;gap:6px}.fz-memory-card-front span{font-size:clamp(2rem,6vw,4rem);filter:drop-shadow(0 8px 18px rgba(148,40,78,.18))}.fz-memory-card-front em{font-style:normal;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(74,35,56,.62);font-weight:500}.fz-memory-card.is-matched .fz-memory-card-front{border-color:rgba(216,166,121,.72);box-shadow:0 24px 48px rgba(151,94,38,.18),inset 0 0 0 1px rgba(255,255,255,.8)}.fz-memory-win{padding:30px 32px;border:1px solid rgba(216,166,121,.68);border-radius:24px;background:radial-gradient(80% 80% at 50% 0,rgba(255,246,204,.58),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,247,226,.62));box-shadow:0 28px 58px rgba(148,40,78,.18);text-align:center}.fz-memory-win p{margin:0 0 10px;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:rgba(161,42,91,.82);font-weight:500}.fz-memory-win h3{margin:0 auto 22px;max-width:680px;font-family:var(--font-display),serif;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;color:#a12a5b;font-weight:500}.fz-game{padding-bottom:6rem}.fz-game-hud{width:min(720px,94vw);margin:0 auto 24px;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:center;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,232,240,.35));border:1px solid rgba(255,255,255,.85);border-radius:22px;backdrop-filter:blur(10px);box-shadow:0 20px 44px rgba(148,40,78,.14)}.fz-stat{text-align:center}.fz-stat-num{display:block;font-family:var(--font-display),serif;font-size:34px;font-weight:500;color:#a12a5b;line-height:1;padding-bottom:.08em}.fz-stat-num em{font-style:normal;font-size:.5em;color:#d8a679;margin-left:2px}.fz-stat-lbl{display:block;margin-top:6px;font-size:8px;color:rgba(74,35,56,.6)}.fz-game-cta,.fz-stat-lbl{letter-spacing:.32em;text-transform:uppercase;font-weight:500}.fz-game-cta{padding:14px 24px;background:linear-gradient(135deg,#b8437a,#ea78a0 55%,#d8a679);color:#fff8fa;border:0;border-radius:999px;font-size:10px;cursor:pointer;box-shadow:0 14px 30px rgba(184,67,122,.4);transition:transform .3s,box-shadow .3s,filter .3s}.fz-game-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 40px rgba(184,67,122,.55);filter:brightness(1.06)}.fz-game-cta:disabled{cursor:default;filter:saturate(.6)}.fz-arena{position:relative;width:min(1080px,94vw);margin:0 auto;height:60vh;min-height:400px;border-radius:28px;background:radial-gradient(120% 100% at 30% 20%,rgba(255,255,255,.4),transparent 60%),linear-gradient(160deg,#fff0f5,#ffcedd 60%,#f596b8);border:1px solid rgba(255,255,255,.75);box-shadow:0 30px 60px rgba(148,40,78,.22),inset 0 0 60px rgba(255,255,255,.35);overflow:hidden}.fz-arena-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(216,166,121,.14) 1px,transparent 0),linear-gradient(90deg,rgba(216,166,121,.14) 1px,transparent 0);background-size:40px 40px;mask:radial-gradient(120% 100% at 50% 50%,#000 40%,transparent 100%);-webkit-mask:radial-gradient(120% 100% at 50% 50%,#000 40%,transparent 100%);opacity:.6}.fz-arena-hint,.fz-arena-result{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.fz-arena-hint{font-family:var(--font-display),serif;font-size:22px;color:rgba(74,35,56,.55);font-style:italic}.fz-arena-result-title{margin:0;font-family:var(--font-display),serif;font-size:clamp(1.8rem,3.2vw,2.6rem);color:#a12a5b;font-weight:500}.fz-arena-result-sub{margin:12px 0 0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(74,35,56,.6);font-weight:500}.fz-cake{position:absolute;width:58px;height:58px;display:grid;place-items:center;transform:translate(-50%,-50%);border:0;padding:0;background:transparent;cursor:pointer;filter:drop-shadow(0 10px 18px rgba(148,40,78,.3));animation:fz-cake-pop .35s cubic-bezier(.2,.8,.2,1) both,fz-cake-hover 1.8s ease-in-out .35s infinite alternate;transition:transform .2s}.fz-cake span{display:block;font-size:42px;line-height:1;filter:drop-shadow(0 4px 8px rgba(74,35,56,.16))}.fz-cake:hover{transform:translate(-50%,-50%) scale(1.15)}@keyframes fz-cake-pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes fz-cake-hover{0%{transform:translate(-50%,-50%) translateY(-4px)}to{transform:translate(-50%,-50%) translateY(4px)}}.fz-quiz{padding-bottom:6rem}.fz-wheel-game{width:min(1040px,94vw);margin:0 auto;display:grid;grid-template-columns:minmax(300px,460px) 1fr;gap:32px;align-items:center}.fz-wheel-stage{position:relative;display:grid;place-items:center;min-height:460px}.fz-wheel-pointer{position:absolute;top:8px;left:50%;z-index:4;width:0;height:0;transform:translateX(-50%);border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid #a12a5b;filter:drop-shadow(0 8px 12px rgba(74,35,56,.22))}.fz-wheel{position:relative;width:min(430px,88vw);aspect-ratio:1;border-radius:50%;background:conic-gradient(#b8437a 0deg 60deg,#f29ab9 60deg 120deg,#d8a679 120deg 180deg,#ffcedd 180deg 240deg,#d94b7a 240deg 300deg,#ffd88f 300deg 1turn);border:12px solid rgba(255,255,255,.72);box-shadow:0 34px 70px rgba(148,40,78,.28),inset 0 0 0 1px rgba(255,255,255,.72),inset 0 0 70px rgba(255,255,255,.26);transition:transform 3.8s cubic-bezier(.12,.72,.12,1)}.fz-wheel:before{content:"";inset:18px;border-radius:50%;border:1px dashed rgba(255,255,255,.68)}.fz-wheel-label,.fz-wheel:before{position:absolute;pointer-events:none}.fz-wheel-label{left:50%;top:50%;width:104px;min-height:76px;margin:-38px 0 0 -52px;display:grid;place-items:center;gap:4px;transform:rotate(var(--angle)) translateY(-136px) rotate(calc(var(--angle) * -1));transform-origin:center;color:#fff8fa;text-align:center;text-shadow:0 2px 8px rgba(74,35,56,.22)}.fz-wheel-label span{display:block;font-size:34px;line-height:1;filter:drop-shadow(0 6px 10px rgba(74,35,56,.18))}.fz-wheel-label em{display:block;max-width:96px;font-style:normal;font-size:8px;letter-spacing:.12em;line-height:1.35;text-transform:uppercase;font-weight:600}.fz-wheel-center{position:absolute;inset:50%;z-index:3;width:112px;height:112px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.95),rgba(255,246,249,.84));border:1px solid rgba(255,255,255,.95);box-shadow:0 18px 34px rgba(74,35,56,.2),inset 0 0 0 1px rgba(216,166,121,.24)}.fz-wheel-center span{font-family:var(--font-display),serif;font-size:26px;color:#a12a5b;font-weight:500}.fz-wheel-panel{padding:34px 34px 30px;border:1px solid rgba(255,255,255,.85);border-radius:26px;background:radial-gradient(90% 90% at 18% 10%,rgba(255,255,255,.74),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,232,240,.42));box-shadow:0 26px 58px rgba(148,40,78,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.fz-wheel-result span{display:block;margin-bottom:18px;font-size:56px;line-height:1;filter:drop-shadow(0 10px 20px rgba(148,40,78,.18))}.fz-wheel-result p{margin:0 0 12px;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:rgba(161,42,91,.82);font-weight:500}.fz-wheel-result h3{margin:0;padding-bottom:.12em;font-family:var(--font-display),serif;font-size:clamp(1.8rem,4vw,3rem);line-height:1.1;color:#a12a5b;font-weight:500}.fz-wheel-result em{display:block;margin-top:14px;max-width:440px;font-family:var(--font-display),serif;font-size:17px;line-height:1.55;color:#6b2b46}.fz-wheel-spin{margin-top:28px;min-height:46px;padding:14px 26px;border:0;border-radius:999px;background:linear-gradient(135deg,#b8437a,#ea78a0 55%,#d8a679);color:#fff8fa;font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;cursor:pointer;box-shadow:0 16px 34px rgba(184,67,122,.38);transition:transform .3s,box-shadow .3s,filter .3s}.fz-wheel-spin:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 44px rgba(184,67,122,.52);filter:brightness(1.06)}.fz-wheel-spin:disabled{cursor:default;filter:saturate(.6)}.fz-mystery{padding-bottom:6rem}.fz-snake-shell{width:min(720px,94vw);margin:0 auto;display:grid;gap:18px}.fz-snake-hud{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding:18px;border:1px solid rgba(255,255,255,.85);border-radius:22px;background:radial-gradient(120% 100% at 30% 20%,rgba(255,255,255,.48),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,232,240,.35));box-shadow:0 20px 44px rgba(148,40,78,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.fz-snake-stat{text-align:center}.fz-snake-stat span{display:block;padding-bottom:.08em;font-family:var(--font-display),serif;font-size:34px;line-height:1;color:#a12a5b;font-weight:500}.fz-snake-stat em{display:block;margin-top:6px;font-style:normal;font-size:8px;letter-spacing:.32em;color:rgba(74,35,56,.6)}.fz-snake-start,.fz-snake-stat em{text-transform:uppercase;font-weight:500}.fz-snake-start{min-height:44px;padding:12px 24px;border:0;border-radius:999px;background:linear-gradient(135deg,#b8437a,#ea78a0 55%,#d8a679);color:#fff8fa;font-size:10px;letter-spacing:.3em;cursor:pointer;box-shadow:0 14px 30px rgba(184,67,122,.34);transition:transform .3s,box-shadow .3s,filter .3s}.fz-snake-start:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(184,67,122,.5);filter:brightness(1.06)}.fz-snake-board{position:relative;display:grid;grid-template-columns:repeat(13,1fr);grid-template-rows:repeat(13,minmax(0,1fr));width:min(640px,94vw);gap:4px;aspect-ratio:1;justify-self:center;padding:16px;border:1px solid rgba(255,255,255,.82);border-radius:28px;background:linear-gradient(rgba(216,166,121,.1) 1px,transparent 0),linear-gradient(90deg,rgba(216,166,121,.1) 1px,transparent 0),linear-gradient(160deg,rgba(255,246,249,.82),rgba(255,204,222,.54));background-size:40px 40px,40px 40px,auto;box-shadow:0 30px 60px rgba(148,40,78,.2),inset 0 0 60px rgba(255,255,255,.32);overflow:hidden}.fz-snake-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border-radius:8px;background:rgba(255,255,255,.28);line-height:1}.fz-snake-cell.is-snake{background:linear-gradient(135deg,#b8437a,#ea78a0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 6px 12px rgba(148,40,78,.16)}.fz-snake-cell.is-head{background:linear-gradient(135deg,#6b1f42,#b8437a)}.fz-snake-cell.is-food{background:rgba(255,255,255,.62);font-size:clamp(13px,2.4vw,22px);filter:drop-shadow(0 5px 8px rgba(148,40,78,.18))}.fz-snake-overlay{position:absolute;inset:16px;display:grid;place-items:center;padding:1rem;border-radius:20px;background:rgba(255,246,249,.68);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:center}.fz-snake-overlay p{margin:0;font-family:var(--font-display),serif;font-size:clamp(1.4rem,3vw,2rem);color:#a12a5b;font-style:italic}.fz-snake-help{margin:-4px 0 0;text-align:center;font-size:9px;letter-spacing:.24em;line-height:1.7;text-transform:uppercase;color:rgba(74,35,56,.62);font-weight:500}.fz-snake-controls{width:min(248px,90vw);margin:0 auto;display:grid;grid-template-columns:repeat(3,56px);justify-content:center;gap:8px;padding:14px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:rgba(255,255,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.fz-snake-controls button{width:56px;height:44px;border:1px solid rgba(255,255,255,.85);border-radius:16px;background:rgba(255,255,255,.52);color:#a12a5b;font-size:22px;cursor:pointer;box-shadow:0 12px 24px rgba(148,40,78,.12);transition:transform .25s,background .25s}.fz-snake-controls button:hover{transform:translateY(-1px);background:rgba(255,255,255,.82)}.fz-snake-controls button:first-child{grid-column:2}.fz-snake-controls button:nth-child(2){grid-column:1}.fz-snake-controls button:nth-child(3){grid-column:2}.fz-snake-controls button:nth-child(4){grid-column:3}.fz-footer{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:6rem 1.5rem 10rem;text-align:center}.fz-footer-note{margin:0;font-family:var(--font-display),serif;font-size:clamp(1.4rem,2.5vw,2rem);color:#6b2b46;font-style:italic}.fz-footer-cta{display:inline-flex;align-items:center;gap:14px;padding:16px 32px;background:linear-gradient(135deg,#b8437a,#ea78a0 55%,#d8a679);color:#fff8fa;text-decoration:none;font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;border-radius:999px;box-shadow:0 16px 40px rgba(184,67,122,.4);transition:transform .35s,box-shadow .35s,filter .35s}.fz-footer-cta:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(184,67,122,.55);filter:brightness(1.06)}.fz-footer-cta-arrow{display:inline-block;transition:transform .35s}.fz-footer-cta:hover .fz-footer-cta-arrow{transform:translateX(6px)}@media (max-width:900px){.fz-topbar{left:18px;right:18px;top:18px}.fz-topbar-title{display:none}.fz-back{padding:8px 14px 8px 12px;font-size:9px;letter-spacing:.2em}.fz-topbar-tag{padding:6px 12px}.fz-topbar-tag-b{font-size:10px}.fz-scene{padding:5rem 1rem}.fz-memory-hud{grid-template-columns:repeat(3,1fr)}.fz-memory-reset{grid-column:span 3}.fz-memory-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fz-memory-card-face{border-radius:16px}.fz-memory-card-front em{font-size:7px;letter-spacing:.18em}.fz-memory-win{padding:26px 20px}.fz-game-hud{grid-template-columns:1fr 1fr 1fr}.fz-game-cta{grid-column:span 3}.fz-arena{height:50vh;min-height:320px}.fz-wheel-game{grid-template-columns:1fr;gap:22px}.fz-wheel-stage{min-height:min(94vw,380px)}.fz-wheel{width:min(360px,86vw);border-width:9px}.fz-wheel-label{width:82px;min-height:64px;margin:-32px 0 0 -41px;transform:rotate(var(--angle)) translateY(-112px) rotate(calc(var(--angle) * -1))}.fz-wheel-label span{font-size:26px}.fz-wheel-label em{max-width:76px;font-size:6px;letter-spacing:.08em}.fz-wheel-center{width:86px;height:86px}.fz-wheel-center span{font-size:21px}.fz-wheel-panel{padding:28px 22px 26px}.fz-snake-hud{grid-template-columns:1fr 1fr}.fz-snake-start{grid-column:span 2}.fz-snake-board{width:min(92vw,560px);gap:3px;padding:10px;border-radius:22px}.fz-snake-cell{border-radius:5px}.fz-snake-overlay{inset:10px;border-radius:16px}.fz-snake-help{font-size:8px;letter-spacing:.18em}.fz-halo{display:none}}.sp-shell{position:relative;overflow-x:hidden;background:#ffe1ec;color:#4a2338;font-family:var(--font-sans),"DM Sans",sans-serif;isolation:isolate;min-height:100vh;--dim:0}.sp-bg,.sp-bg-lift{position:fixed;inset:-6%;z-index:0;pointer-events:none}.sp-bg{background:radial-gradient(55% 45% at 22% 22%,#ffe0ec 0,transparent 60%),radial-gradient(60% 52% at 82% 30%,#f78bb0 0,transparent 60%),radial-gradient(55% 50% at 30% 82%,#a12a5b 0,transparent 65%),linear-gradient(135deg,#ffb8ce,#d94b7a 45%,#6b1f42);filter:brightness(calc(1 - var(--dim, 0) * .5));transition:filter 1.6s ease}.sp-bg-lift{background:radial-gradient(36% 30% at calc(50% + var(--mx)) calc(45% + var(--my)),rgba(255,255,255,.5),transparent 60%);mix-blend-mode:screen;transition:background .25s ease-out,opacity 1.4s ease;opacity:calc(1 - var(--dim, 0) * .7)}.sp-noise{inset:0;z-index:3;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.sp-aurora,.sp-noise{position:fixed;pointer-events:none}.sp-aurora{z-index:0;border-radius:999px;filter:blur(30px);mix-blend-mode:screen;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity 1.4s}.sp-aurora-a{width:66vw;height:40vw;top:8%;left:-18%;background:radial-gradient(ellipse,rgba(255,220,232,.7),transparent 70%);transform:translate3d(var(--mx),var(--my),0) rotate(-14deg);opacity:calc(1 - var(--dim, 0) * .6)}.sp-aurora-b{width:56vw;height:60vw;bottom:-14%;right:-14%;background:radial-gradient(ellipse,rgba(217,75,122,.5),transparent 70%);transform:translate3d(calc(var(--mx) * -1),var(--my),0) rotate(26deg);opacity:calc(1 - var(--dim, 0) * .5)}.sp-halo{z-index:2;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4),transparent 65%);mix-blend-mode:screen;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity 1.4s;opacity:calc(1 - var(--dim, 0) * .4)}.sp-halo,.sp-sparks{position:fixed;pointer-events:none}.sp-sparks{inset:0;z-index:1}.sp-sparks span{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 14px rgba(255,255,255,.9),0 0 30px rgba(255,200,220,.5);animation:sp-twinkle ease-in-out infinite alternate}@keyframes sp-twinkle{0%{transform:translateZ(0) scale(1);opacity:.2}to{transform:translate3d(14px,-18px,0) scale(1.4);opacity:.95}}.sp-topbar{position:fixed;top:26px;left:34px;right:34px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:auto}.sp-back{display:inline-flex;align-items:center;gap:10px;padding:10px 20px 10px 16px;border:1px solid rgba(255,220,232,.4);border-radius:999px;background:rgba(255,255,255,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-decoration:none;color:#fff8fa;font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;box-shadow:0 8px 24px rgba(184,67,122,.25);transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s,box-shadow .3s}.sp-back:hover{background:rgba(255,255,255,.45);border-color:rgba(255,255,255,.7);color:#ffffff;transform:translateY(-2px);box-shadow:0 12px 32px rgba(184,67,122,.4)}.sp-back-arrow{font-size:14px;transition:transform .3s}.sp-back:hover .sp-back-arrow{transform:translateX(-3px)}.sp-topbar-title{display:inline-flex;align-items:center;gap:12px;padding:8px 18px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,220,232,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--font-display),serif;font-size:14px;color:rgba(255,246,249,.92);letter-spacing:.04em;box-shadow:0 4px 16px rgba(0,0,0,.1)}.sp-topbar-mark{width:6px;height:6px;border-radius:50%;background:#ffd7e4;box-shadow:0 0 0 4px rgba(255,215,228,.18);animation:sp-topbar-pulse 2.4s ease-in-out infinite}@keyframes sp-topbar-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.35);box-shadow:0 0 0 8px rgba(255,215,228,.16)}}.sp-topbar-right{display:flex;align-items:center;justify-content:flex-end;min-width:36px}.sp-close-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,220,232,.45);border-radius:50%;background:rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ffffff;cursor:pointer;box-shadow:0 4px 16px rgba(184,67,122,.25);transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s,box-shadow .3s}.sp-close-btn:hover{background:rgba(255,255,255,.45);border-color:rgba(255,255,255,.85);transform:scale(1.1);box-shadow:0 8px 24px rgba(184,67,122,.4)}.sp-close-x{display:inline-block;font-size:15px;font-weight:700;line-height:1;color:#fff;transition:transform .3s ease}.sp-close-btn:hover .sp-close-x{transform:rotate(90deg)}.sp-scene{position:relative;z-index:4;padding:8rem 1.5rem}.sp-idle-1{min-height:100vh;display:grid;place-items:center}.sp-idle-copy{text-align:center;width:min(1080px,92vw);display:flex;flex-direction:column;align-items:center;gap:40px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.sp-orb{position:relative;width:180px;height:180px;display:grid;place-items:center}.sp-orb-core{position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle at 32% 32%,#ffffff 0,#ffe0eb 45%,#f7a1be 100%);box-shadow:0 0 45px rgba(255,220,232,.95),0 0 90px rgba(247,161,190,.5);animation:sp-orb-breathe 4s ease-in-out infinite alternate}@keyframes sp-orb-breathe{0%{transform:scale(1);opacity:.9}to{transform:scale(1.1);opacity:1}}.sp-orb-glow{inset:-30%;background:radial-gradient(circle,rgba(255,220,232,.6),transparent 60%);filter:blur(20px)}.sp-orb-glow,.sp-orb-ring{position:absolute;border-radius:50%}.sp-orb-ring{inset:0;border:1px solid rgba(255,220,232,.4);animation:sp-orb-spin linear infinite}.sp-orb-ring-a{animation-duration:22s}.sp-orb-ring-b{inset:-14%;border-style:dashed;border-color:rgba(216,166,121,.5);animation-duration:34s;animation-direction:reverse}@keyframes sp-orb-spin{to{transform:rotate(1turn)}}.sp-line-a{padding-bottom:.12em;font-size:clamp(3rem,8vw,7rem);line-height:1.02;font-weight:500;color:transparent;background:linear-gradient(180deg,#fff8fa,#ffd7e4 60%,#d8a679);-webkit-background-clip:text;background-clip:text;letter-spacing:-.02em;text-shadow:0 20px 50px rgba(120,30,60,.2)}.sp-line-a,.sp-line-b{margin:0;font-family:var(--font-display),serif}.sp-line-b{max-width:480px;font-size:clamp(1.2rem,2.2vw,1.6rem);color:rgba(255,246,249,.85);font-style:italic}.sp-idle-2{min-height:100vh;display:grid;place-items:center;padding-bottom:12rem}.sp-ready{text-align:center;width:min(880px,92vw);flex-direction:column;gap:24px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.sp-eyebrow,.sp-ready{display:flex;align-items:center}.sp-eyebrow{justify-content:center;gap:16px;color:#ffd7e4;font-size:10px;letter-spacing:.42em;text-transform:uppercase;margin:0;font-weight:500}.sp-eyebrow em{display:inline-block;width:42px;height:1px;background:rgba(216,166,121,.65);font-style:normal}.sp-ready-title{padding-bottom:.14em;font-size:clamp(3.4rem,8.5vw,7.6rem);line-height:1.02;font-weight:500;color:transparent;background:linear-gradient(180deg,#fff8fa,#ffd7e4 50%,#b8437a);-webkit-background-clip:text;background-clip:text}.sp-ready-note,.sp-ready-title{margin:0;font-family:var(--font-display),serif}.sp-ready-note{max-width:460px;font-size:clamp(1.1rem,2vw,1.4rem);color:rgba(255,246,249,.85);font-style:italic}.sp-open{position:relative;margin-top:24px;padding:0;border:0;background:transparent;cursor:pointer;color:inherit;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.sp-open:hover:not(:disabled){transform:translateY(-2px)}.sp-open:disabled{cursor:default;opacity:.6}.sp-open-ring{position:absolute;inset:-22px;border-radius:999px;border:1px dashed rgba(216,166,121,.6);animation:sp-open-spin 22s linear infinite}.sp-open-ring:before{content:"";position:absolute;inset:-14px;border-radius:999px;border:1px solid rgba(255,220,232,.35)}@keyframes sp-open-spin{to{transform:rotate(1turn)}}.sp-open-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 44px;background:linear-gradient(135deg,#b8437a,#ea78a0 55%,#d8a679);color:#fff8fa;border-radius:999px;box-shadow:0 20px 50px rgba(184,67,122,.5),0 0 0 6px rgba(255,220,232,.16);animation:sp-open-pulse 3s ease-in-out infinite}@keyframes sp-open-pulse{0%,to{box-shadow:0 20px 50px rgba(184,67,122,.5),0 0 0 6px rgba(255,220,232,.16)}50%{box-shadow:0 20px 60px rgba(184,67,122,.7),0 0 0 14px rgba(255,220,232,.24)}}.sp-open-label{font-family:var(--font-display),serif;font-size:22px;font-weight:500;letter-spacing:.02em}.sp-open-sub{font-size:9px;letter-spacing:.32em;text-transform:uppercase;opacity:.85;font-weight:500}.sp-reveal{position:fixed;inset:0;z-index:15;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;padding:7.5rem 1.5rem 6rem;pointer-events:none;perspective:1200px;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.sp-shell.sp-phase-1 .sp-reveal,.sp-shell.sp-phase-2 .sp-reveal{opacity:1;visibility:visible;pointer-events:auto}.sp-reveal-veil{position:fixed;inset:0;background:linear-gradient(180deg,rgba(30,10,22,.94),rgba(75,22,48,.9) 45%,rgba(30,10,22,.96));backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);opacity:0;transition:opacity 1.4s ease}.sp-shell.sp-phase-1 .sp-reveal-veil,.sp-shell.sp-phase-2 .sp-reveal-veil{opacity:1}.sp-gather{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .5s ease}.sp-shell.sp-phase-1 .sp-gather,.sp-shell.sp-phase-2 .sp-gather{opacity:1;visibility:visible}.sp-gather span{width:6px;height:6px;box-shadow:0 0 12px currentColor,0 0 24px currentColor;color:inherit}.sp-gather span,.sp-reveal-orb{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}.sp-reveal-orb{width:260px;height:260px;background:radial-gradient(circle at 32% 32%,#fff 0,#ffd7e4 30%,#ea78a0 65%,#b8437a 100%);box-shadow:0 0 60px rgba(255,220,232,.75),0 0 140px rgba(217,75,122,.6),inset 0 0 60px rgba(255,255,255,.3);opacity:0}.sp-reveal-orb-core,.sp-reveal-orb-glow{position:absolute}.sp-reveal-orb-glow{inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(255,220,232,.5),transparent 60%);filter:blur(30px)}.sp-reveal-content{position:relative;z-index:2;width:min(880px,94vw);text-align:center;display:flex;flex-direction:column;align-items:center;gap:30px;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.sp-reveal-content>*{opacity:0}.sp-overline{font-size:10px;letter-spacing:.44em;text-transform:uppercase;color:#d8a679}.sp-big,.sp-overline{margin:0;font-weight:500}.sp-big{padding-bottom:.16em;font-family:var(--font-display),serif;font-size:clamp(3.6rem,9vw,8.5rem);line-height:.98;letter-spacing:-.02em}.sp-big-a,.sp-big-b{display:block}.sp-big-a{background:linear-gradient(180deg,#fff8fa,#ffd7e4 60%,#ea78a0);-webkit-background-clip:text;background-clip:text;color:transparent}.sp-big-b{font-family:var(--font-script),cursive;font-size:.6em;font-weight:400;color:#d8a679;margin-top:-.14em;letter-spacing:.02em}.sp-photo{margin:8px 0 0}.sp-photo-frame{position:relative;width:min(340px,66vw);aspect-ratio:4/5;border-radius:20px;overflow:hidden;padding:14px 14px 52px;background:linear-gradient(180deg,#fff8fa,#ffeff4);box-shadow:0 30px 60px rgba(30,10,22,.5),inset 0 0 0 1px rgba(255,255,255,.9);transform:rotate(-2deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.sp-photo:hover .sp-photo-frame{transform:rotate(0) scale(1.04)}.sp-photo-image{position:relative;width:100%;height:100%;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(120% 100% at 30% 20%,rgba(255,255,255,.5),transparent 55%),linear-gradient(160deg,#ffcedb,#f596b8 45%,#d94b7a 90%,#a12a5b);color:#fff}.sp-photo-year{font-family:var(--font-display),serif;font-size:46px;font-weight:500;text-shadow:0 6px 20px rgba(120,30,60,.45)}.sp-photo-tag{font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:500}.sp-photo figcaption{margin-top:14px;font-family:var(--font-script),cursive;color:#ffd7e4;font-size:20px;letter-spacing:.03em}.sp-quote{margin:0;padding:0;font-family:var(--font-display),serif;font-size:clamp(1.5rem,3vw,2.2rem);color:rgba(255,246,249,.92);font-style:italic;line-height:1.4;max-width:640px;position:relative}.sp-quote span{display:block}.sp-quote-mark{color:#d8a679;font-family:var(--font-display),serif;font-size:1.8em;line-height:.4;vertical-align:-.15em;padding:0 .05em;display:inline-block!important}.sp-quote-mark-b{vertical-align:-.6em}.sp-postscript{margin:8px 0 0;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,220,232,.85);font-weight:500}.sp-continue{position:absolute;bottom:6vh;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;z-index:3}.sp-continue-line{margin:0;font-family:var(--font-display),serif;font-size:15px;color:rgba(255,246,249,.7);font-style:italic}.sp-continue-cta{display:inline-flex;align-items:center;gap:14px;padding:14px 30px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff8fa;text-decoration:none;font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .35s,background .35s}.sp-continue-cta:hover{transform:translateY(-2px);background:rgba(255,255,255,.28)}.sp-continue-arrow{display:inline-block;transition:transform .35s}.sp-continue-cta:hover .sp-continue-arrow{transform:translateX(6px)}@media (max-width:900px){.sp-topbar{left:18px;right:18px;top:18px}.sp-topbar-title{display:none}.sp-back{padding:8px 14px 8px 12px;font-size:9px;letter-spacing:.2em}.sp-topbar-hint{padding:6px 12px}.sp-scene{padding:6rem 1rem}.sp-orb{width:140px;height:140px}.sp-open-inner{padding:22px 32px}.sp-open-label{font-size:18px}.sp-reveal-orb{width:200px;height:200px}.sp-halo{display:none}.sp-continue{bottom:4vh}}.fn-shell{position:relative;overflow-x:hidden;color:#4a2338;font-family:var(--font-sans),"DM Sans",sans-serif;isolation:isolate;min-height:100vh;--brighten:0}.fn-bg,.fn-bg-lift{position:fixed;inset:-6%;z-index:0;pointer-events:none}.fn-bg{background:radial-gradient(58% 48% at 22% 24%,#fff0f5 0,transparent 60%),radial-gradient(65% 55% at 82% 30%,#ffd0dd 0,transparent 62%),radial-gradient(55% 50% at 30% 82%,#f5aec2 0,transparent 60%),linear-gradient(135deg,#ffe4ed,#fac8d6 46%,#efa4bb);filter:brightness(calc(.92 + var(--brighten, 0) * .16));transition:filter 1.2s ease}.fn-bg-lift{background:radial-gradient(38% 30% at calc(50% + var(--mx)) calc(45% + var(--my)),rgba(255,255,255,calc(.35 + var(--brighten, 0) * .3)),transparent 60%);mix-blend-mode:screen;transition:background .25s ease-out}.fn-noise{inset:0;z-index:3;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.fn-aurora,.fn-noise{position:fixed;pointer-events:none}.fn-aurora{z-index:0;border-radius:999px;filter:blur(34px);mix-blend-mode:screen;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.fn-aurora-a{width:60vw;height:38vw;top:10%;left:-18%;background:radial-gradient(ellipse,rgba(255,232,240,.7),transparent 70%);transform:translate3d(var(--mx),var(--my),0) rotate(-10deg)}.fn-aurora-b{width:56vw;height:58vw;bottom:-18%;right:-14%;background:radial-gradient(ellipse,rgba(216,166,121,.24),transparent 70%);transform:translate3d(calc(var(--mx) * -1),var(--my),0) rotate(22deg)}.fn-halo{z-index:2;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,calc(.25 + var(--brighten, 0) * .25)),transparent 65%);mix-blend-mode:screen;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .5s}.fn-halo,.fn-petals{position:fixed;pointer-events:none}.fn-petals{inset:0;z-index:1;overflow:hidden}.fn-petals span{position:absolute;top:-8vh;width:20px;height:20px;background:radial-gradient(ellipse at 30% 30%,#ffd4e0 0,#e8a1b8 70%,transparent 100%);border-radius:60% 20% 60% 20%;opacity:.6;animation:fn-petal-fall linear infinite;filter:drop-shadow(0 4px 10px rgba(200,90,130,.2))}@keyframes fn-petal-fall{0%{transform:translate3d(0,-10vh,0) rotate(0) scale(var(--s,1));opacity:0}10%{opacity:.6}50%{transform:translate3d(var(--drift,30px),55vh,0) rotate(180deg);opacity:.55}to{transform:translate3d(calc(var(--drift, 30px) * -1),115vh,0) rotate(1turn);opacity:0}}.fn-sparks{position:fixed;inset:0;z-index:1;pointer-events:none}.fn-sparks span{position:absolute;display:block;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 12px rgba(255,255,255,.9),0 0 24px rgba(255,200,220,.5);animation:fn-twinkle ease-in-out infinite alternate}@keyframes fn-twinkle{0%{transform:translateZ(0) scale(1);opacity:.2}to{transform:translate3d(10px,-14px,0) scale(1.4);opacity:.95}}.fn-topbar{position:fixed;top:26px;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:center}.fn-topbar-title{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display),serif;font-size:14px;color:rgba(74,35,56,.6);letter-spacing:.16em}.fn-topbar-mark{width:6px;height:6px;border-radius:50%;background:#a12a5b;box-shadow:0 0 0 4px rgba(161,42,91,.14);animation:fn-topbar-pulse 3s ease-in-out infinite}@keyframes fn-topbar-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.35);opacity:1}}.fn-scene{position:relative;z-index:4;min-height:110vh;display:grid;place-items:center;padding:12rem 1.5rem}.fn-copy{text-align:center;width:min(1000px,92vw);display:flex;flex-direction:column;align-items:center;gap:22px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.fn-opening{min-height:100vh;padding:10rem 1.5rem}.fn-opening-copy{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.fn-whisper-dot{width:8px;height:8px;border-radius:50%;background:#d8a679;box-shadow:0 0 0 5px rgba(216,166,121,.16),0 0 30px rgba(216,166,121,.6);animation:fn-whisper-pulse 4s ease-in-out infinite}@keyframes fn-whisper-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.4);opacity:1;box-shadow:0 0 0 10px rgba(216,166,121,.18),0 0 46px rgba(216,166,121,.75)}}.fn-whisper{margin:0;font-family:var(--font-display),serif;font-size:clamp(1.1rem,1.8vw,1.3rem);color:rgba(74,35,56,.66);font-style:italic;letter-spacing:.03em}.fn-eyebrow{display:flex;justify-content:center;align-items:center;gap:16px;color:#a12a5b;font-size:10px;letter-spacing:.42em;text-transform:uppercase;margin:0;font-weight:500}.fn-eyebrow em{display:inline-block;width:42px;height:1px;background:rgba(216,166,121,.65);font-style:normal}.fn-line-1{padding-bottom:.14em;font-size:clamp(2.8rem,6.5vw,5.8rem);line-height:1.05;color:transparent;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#d8a679);-webkit-background-clip:text;background-clip:text}.fn-line-1,.fn-line-2{margin:0;font-family:var(--font-display),serif;font-weight:500;letter-spacing:-.02em}.fn-line-2{padding-bottom:.16em;line-height:.96}.fn-line-2-a{display:block;font-size:clamp(3rem,7.5vw,6.4rem);color:transparent;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#ea78a0);-webkit-background-clip:text;background-clip:text;padding-bottom:.14em}.fn-line-2-b{display:block;font-family:var(--font-script),cursive;font-size:clamp(3.5rem,9vw,8rem);color:#d8a679;letter-spacing:.03em;margin-top:-.08em;text-shadow:0 20px 40px rgba(216,166,121,.28);padding-bottom:.12em}.fn-line-3{margin:0;display:inline-flex;align-items:center;gap:clamp(20px,4vw,40px);font-family:var(--font-display),serif;color:#a12a5b;padding-bottom:.06em}.fn-line-3 span{font-size:clamp(2.6rem,5vw,4.4rem);font-weight:500}.fn-line-3 em{font-style:normal;letter-spacing:.4em;font-size:11px;text-transform:uppercase;color:rgba(74,35,56,.72);border-top:1px solid rgba(216,166,121,.55);border-bottom:1px solid rgba(216,166,121,.55);padding:8px 16px;font-family:var(--font-sans),sans-serif}.fn-scene-final{min-height:120vh;padding-top:14rem}.fn-final-stage{text-align:center;display:flex;flex-direction:column;align-items:center;gap:60px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.fn-final-orb{position:relative;width:200px;height:200px;display:grid;place-items:center}.fn-final-orb-core{position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle at 34% 32%,#fff 0,#ffe1eb 40%,#ea9cbc 100%);box-shadow:0 0 40px rgba(255,220,232,.8),0 0 100px rgba(216,166,121,.4);animation:fn-final-breathe 6s ease-in-out infinite alternate}@keyframes fn-final-breathe{0%{transform:scale(1);opacity:.9}to{transform:scale(1.15);opacity:1}}.fn-final-orb-glow{position:absolute;inset:-50%;border-radius:50%;background:radial-gradient(circle,rgba(255,220,232,.55),transparent 65%);filter:blur(28px)}.fn-final-orb-ring{position:absolute;inset:-10%;border-radius:50%;border:1px dashed rgba(216,166,121,.55);animation:fn-orb-spin 40s linear infinite}@keyframes fn-orb-spin{to{transform:rotate(1turn)}}.fn-final{margin:0;padding-bottom:.14em;font-family:var(--font-display),serif;font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.25;font-weight:500;font-style:italic;color:transparent;background:linear-gradient(180deg,#6b1f42,#b8437a 55%,#d8a679);-webkit-background-clip:text;background-clip:text;letter-spacing:-.005em;max-width:800px}.fn-closing{min-height:90vh;padding:10rem 1.5rem 14rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;text-align:center}.fn-closing-line{margin:0;font-family:var(--font-display),serif;font-size:clamp(1.2rem,2.2vw,1.6rem);color:#6b2b46;font-style:italic}.fn-closing-links{display:inline-flex;gap:16px;flex-wrap:wrap;justify-content:center}.fn-link{display:inline-flex;align-items:center;gap:14px;padding:16px 30px;border:1px solid rgba(184,85,122,.35);border-radius:999px;background:rgba(255,255,255,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#a12a5b;text-decoration:none;font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;transition:transform .4s cubic-bezier(.2,.8,.2,1),background .4s,border-color .4s,box-shadow .4s}.fn-link:hover{transform:translateY(-2px);background:rgba(255,255,255,.85);border-color:rgba(184,85,122,.6);box-shadow:0 16px 34px rgba(184,85,122,.18)}.fn-link-primary{box-shadow:0 14px 34px rgba(184,67,122,.4)}.fn-link-primary,.fn-link-primary:hover{background:linear-gradient(135deg,#b8437a,#ea78a0 55%,#d8a679);color:#fff8fa;border-color:transparent}.fn-link-primary:hover{box-shadow:0 22px 48px rgba(184,67,122,.55);filter:brightness(1.06)}.fn-link-arrow{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1);font-size:14px}.fn-link:hover .fn-link-arrow{transform:translateX(4px)}.fn-link-primary:hover .fn-link-arrow{transform:rotate(90deg)}.fn-signoff{margin:40px 0 0;display:inline-flex;align-items:center;gap:18px;color:rgba(74,35,56,.5)}.fn-signoff-line{display:block;width:50px;height:1px;background:rgba(216,166,121,.5)}.fn-signoff-text{font-family:var(--font-script),cursive;font-size:24px;color:#d8a679;letter-spacing:.06em}@media (max-width:900px){.fn-topbar{top:18px}.fn-scene{min-height:90vh;padding:8rem 1rem}.fn-scene-final{min-height:100vh;padding-top:10rem}.fn-final-orb{width:160px;height:160px}.fn-line-2-b{font-size:clamp(2.8rem,13vw,5.4rem)}.fn-closing{padding:6rem 1rem 10rem}.fn-halo{display:none}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;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))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.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)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--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);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted)/.4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{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))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{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))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;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))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;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))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end],.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{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))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:hsl(var(--primary))}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:hsl(var(--accent))}.data-\[range-start\=true\]\:bg-primary[data-range-start=true],.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:hsl(var(--primary))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent)/.5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:hsl(var(--primary-foreground))}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:hsl(var(--accent-foreground))}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true],.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:hsl(var(--primary-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;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))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;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))}.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open]{background-color:hsl(var(--accent))}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative{position:relative}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10{z-index:10}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;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[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;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[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:border-ring{border-color:hsl(var(--ring))}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{--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)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-ring\/50{--tw-ring-color:hsl(var(--ring)/0.5)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}:is(.dark .dark\:border-destructive){border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:.5rem}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:flex-row{flex-direction:row}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;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))}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;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))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div,.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{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))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border)/.5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:transparent}