/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:Arial, Helvetica, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-\[8rem\]{min-width:8rem}.shrink-0{flex-shrink:0}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.cursor-default{cursor:default}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.fill-current{fill:currentColor}.p-1{padding:calc(var(--spacing) * 1)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing) * 3.5)}.data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing) * 6)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@media (min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--anna-paper:#faf6f1;--anna-ink:#483739;--anna-maroon:#813b54;--destructive:#ad3041}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible){outline:2px solid var(--anna-maroon);outline-offset:5px}button{font:inherit}input,textarea{font:inherit;width:100%;color:var(--anna-ink);background:#fffdf9;border:1px solid #dfcec8;border-radius:5px;outline:none;padding:13px 15px}input:focus,textarea:focus{border-color:var(--anna-maroon);box-shadow:0 0 0 3px #8f3e5010}input::placeholder,textarea::placeholder{color:#9a8988}label{font-size:14px;font-weight:500;display:block}h1,h2,p{margin:0}.site{background:radial-gradient(at 50% 55%,#f4e4df80,#0000 60%);flex-direction:column;min-height:100dvh;display:flex}.topbar{border-bottom:1px solid #e9ded75c;justify-content:space-between;align-items:center;height:88px;padding:0 5%;display:flex}.wordmark{background:0 0;border:0;align-items:center;gap:10px;display:flex}.tinyheart{align-self:flex-start;margin:5px 0 0 -6px;font-size:11px}.top-note{font:italic 14px Georgia,serif}.private{letter-spacing:.5px;color:#8a7474;align-items:center;gap:7px;font-size:12px;display:flex}.entry{text-align:center;flex-direction:column;flex:1;align-items:center;padding:52px 20px 35px;display:flex}.eyebrow{color:#977577;letter-spacing:2.7px;margin-bottom:18px;font-size:11px;font-weight:600;display:block}.intro h1{letter-spacing:-1.3px;font:400 clamp(35px,4vw,49px)/1.18 Georgia,serif}.intro h1 em{color:#9c5260;font-weight:400}.intro p{color:#8b7776;margin-top:18px;font-size:14px;line-height:1.8}.entry-letter{background-color:#fffaf1;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23835a42' opacity='.04' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");border:1px solid #e5d9ce;border-radius:3px;width:min(100%,430px);margin-top:34px;padding:28px 40px 24px;position:relative;transform:rotate(-1deg);box-shadow:0 12px 40px #795c4210,4px 5px 0 -1px #f7eee5,4px 5px #e5d9ce}.entry-letter>*{transform:rotate(1deg)}.letter-top{text-align:left;justify-content:space-between;align-items:center;gap:10px;display:flex}.letter-top>span{color:#9b817a;font:italic 13px Georgia,serif}.stamp{color:#9c5866;background:#f2e3db;border:1px dashed #bd9390;outline:4px solid #f2e3db;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:55px;height:65px;display:flex;transform:rotate(8deg)}.stamp small{letter-spacing:1px;margin-top:6px;font-size:7px}.salutation{color:#834151;letter-spacing:-2px;margin:12px 0 15px;font:italic 52px Georgia,serif}.salutation span{vertical-align:top;margin-left:7px;font-size:30px;display:inline-block;transform:rotate(-14deg)}.entry-letter>p{color:#8b746c;font:15px/1.7 Georgia,serif}.entry-letter form{text-align:left;margin-top:26px}.entry-letter label{color:#6e5753;margin-bottom:9px;font-size:13px}.password{color:#a08b82;background:#fffdf8;border:1px solid #dfcec8;border-radius:5px;align-items:center;gap:10px;padding:0 13px;display:flex}.password:focus-within{border-color:#9b5564}.password input{box-shadow:none;background:0 0;border:none;min-width:0;padding:13px 0;font-size:14px}.password button{color:#9a847e;background:0 0;border:0;padding:4px;display:flex}.hint{color:#987e76;align-items:center;gap:5px;margin:10px 0 19px;font-size:12px;display:flex}.primary{color:#fffaf5;border:1px solid #0000;justify-content:center;align-items:center;gap:12px;transition:background .2s,transform .2s;display:inline-flex}.primary:hover{transform:translateY(-1px)}.unlock{justify-content:space-between;width:100%}.signed{color:#a0887c;justify-content:center;align-items:center;gap:6px;margin-top:21px;font:italic 13px Georgia,serif;display:flex}.below{color:#9b8680;align-items:center;gap:6px;margin-top:28px;font-size:12px;display:flex}footer{color:#99847f;justify-content:space-between;align-items:center;padding:24px 5%;font-size:12px;display:flex}footer>div{align-items:center;gap:23px;display:flex}footer a,footer button{color:#8e7771;background:0 0;border:none;align-items:center;gap:6px;font-size:12px;display:flex}footer button:hover,footer a:hover{text-decoration:underline}.error{line-height:1.5;color:#b13246!important;margin-top:14px!important;font-size:14px!important}.library{flex:1}.library-heading{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.library h1{letter-spacing:-1.2px;font:44px/1.15 Georgia,serif}.library h1 em{color:#9c5260}.library-heading p{color:#8b7675;margin-top:17px;font-size:15px}.text-button{color:#876e6d;white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;font-size:13px;display:flex}.collection-bar{border-bottom:1px solid #e5d6cf;justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.collection-bar>span{align-items:center;display:flex}.count{background:#eee1da;border-radius:5px;padding:3px 7px;font-size:12px}.cards{grid-template-columns:repeat(3,1fr);display:grid}.postcard{text-align:left;background:#fffaf1;border:1px solid #e4d4cb;border-radius:3px;flex-direction:column;min-height:250px;padding:27px 27px 22px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 7px 17px #8c604508}.postcard:nth-child(3n+1){transform:rotate(-1deg)}.postcard:nth-child(3n+3){transform:rotate(1deg)}.postcard:hover{transform:translateY(-7px)rotate(0);box-shadow:0 15px 25px #8c604518}.color-1{background:#f2e5e1}.color-2{background:#eeeae0}.card-head{color:#a7807c;justify-content:space-between;align-items:center;display:flex}.card-head span{letter-spacing:2px;font-size:10px}.postcard h2{overflow-wrap:anywhere;margin:27px 0 12px;font:26px/1.2 Georgia,serif}.postcard p{color:#89746f;overflow-wrap:anywhere;flex:1;font:14px/1.6 Georgia,serif}.card-foot{color:#977a74;border-top:1px solid #ddcbc3;justify-content:space-between;align-items:center;gap:8px;margin-top:26px;padding-top:15px;font-size:11px;display:flex}.card-foot>span:last-child{color:#8b4553;align-items:center;gap:5px;display:flex}.empty{text-align:center;background:#fffbf530;border:1px dashed #ddc8bf;border-radius:5px;padding:70px 20px}.empty>svg{color:#ae8e85;margin:auto}.empty h2{margin:20px 0 13px;font:30px Georgia,serif}.empty p{color:#8b7675;font-size:15px;line-height:1.7}.empty .primary{margin-top:25px}.library-end{text-align:center;color:#aa8c83;margin:55px 0 30px;font:italic 15px Georgia,serif}.form-dialog{max-height:90dvh;overflow:auto;padding:32px!important}.form-dialog h2,.video-dialog h2{font:400 28px/1.2 Georgia,serif!important}.form-dialog form{gap:16px;display:grid}.form-dialog label{gap:8px;display:grid}.form-dialog small{color:#8b7675}.form-dialog input[type=file]{border-style:dashed;padding:16px;font-size:13px}.video-dialog{max-height:94dvh;overflow:auto}.video-pop{animation:.65s ease-out pop}.video-pop video{background:#211a1c;border-radius:5px;width:100%;max-height:65vh}.video-pop .primary{margin:15px auto 0;display:flex}.opening{perspective:900px;flex-direction:column;justify-content:center;align-items:center;height:330px;display:flex}.fold{color:#9c5866;transform-origin:top;background:#efdad1;border:1px solid #ddc0b4;flex-direction:column;justify-content:center;align-items:center;gap:15px;width:300px;height:210px;animation:1.4s ease-in-out forwards unfold;display:flex;box-shadow:0 16px 35px #65483220}.fold span{font:italic 20px Georgia,serif}.opening p{color:#9c7f75;margin-top:25px;font:italic 14px Georgia,serif}@keyframes unfold{0%{opacity:0;transform:rotateX(0)scale(.9)}25%{opacity:1;transform:rotateX(0)scale(1)}65%{transform:rotateX(-25deg)translateY(-10px)}to{opacity:0;transform:rotateX(-90deg)translateY(-30px)}}@keyframes pop{0%{opacity:0;transform:translateY(50px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}@media (min-width:1500px){.entry{padding-top:70px}.entry-letter{margin-top:40px}}@media (max-width:750px){.topbar{height:73px}.top-note{display:none}.entry{padding-top:36px}.intro h1{font-size:35px}.entry-letter{margin-top:29px;padding:24px 28px}.cards{grid-template-columns:repeat(2,1fr)}.library-heading{display:block}.library-heading .text-button{margin-top:25px}.library h1{font-size:37px}.library{padding-top:38px}footer{align-items:flex-start;gap:20px}footer>div{flex-wrap:wrap;justify-content:flex-end;gap:14px}footer>span{max-width:125px;line-height:1.5}}@media (max-width:500px){.cards{grid-template-columns:1fr}.intro h1{font-size:31px}.intro p{font-size:13px}.entry-letter{max-width:355px}.salutation{font-size:47px}.library h1{font-size:33px}.collection-bar .primary{padding:11px 13px;font-size:12px}.form-dialog{padding:25px!important}.opening{height:280px}.fold{width:240px}.private{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.envelope-card{--paper:#f4ded5;--edge:#b87978;text-align:center;color:var(--anna-ink);border:0;border-radius:10px;flex-direction:column;align-items:center;padding:12px 12px 25px;transition:transform .3s;display:flex;background:0 0!important}.envelope-card.color-1{--paper:#edd0d8;--edge:#b57288}.envelope-card.color-2{--paper:#f3e3ca;--edge:#ad8a64}.envelope-card h2{overflow-wrap:anywhere;max-width:100%;margin:15px 0 9px;font:26px/1.3 Georgia,serif}.envelope-date{color:#8a6e6e;font-size:13px}.envelope-card p{color:#856e6d;overflow-wrap:anywhere;max-width:100%;margin:10px 0;font:16px/1.55 Georgia,serif}.envelope-action{color:#8c4051;align-items:center;gap:7px;margin-top:8px;font-size:14px;display:flex}.cards{gap:30px}.library-heading h1:focus{outline:none}.welcome{text-align:center;flex:1;place-items:center;min-height:65dvh;padding:35px 20px 55px;display:grid;overflow:hidden}.welcome .eyebrow{letter-spacing:2px;font-size:12px}.heart-one{--drift:-30px;top:35%;left:20%}.heart-two{--drift:30px;animation-delay:1.15s;top:25%;left:70%}.heart-three{--drift:5px;animation-delay:1.4s;top:10%;left:46%}.welcome h1{margin:15px 0;font:clamp(30px,5vw,46px)/1.2 Georgia,serif}.welcome h1 em{color:#94495b}.welcome p{color:#856e6d;font:16px/1.6 Georgia,serif}.welcome .text-button{margin:25px auto 0;padding:12px;font-size:14px}@keyframes welcome-fade{0%{opacity:0}to{opacity:1}}@keyframes envelope-lift{0%{opacity:0;transform:translateY(35px)scale(.85)}20%,40%{opacity:1;transform:translateY(0)scale(1)}75%,to{transform:translateY(-10px)scale(1.04)}}@keyframes seal-open{0%,32%{opacity:1;transform:rotateX(0)}52%,to{opacity:0;transform:rotateX(85deg)}}@keyframes letter-reveal{0%,35%{opacity:0;transform:translateY(10px)}60%,to{opacity:1;transform:translateY(0)}}@keyframes seal-release{0%,25%{opacity:1}45%,to{opacity:0;transform:translate(-50%,-100%)scale(1.35)}}@keyframes heart-rise{0%{opacity:0;transform:translateY(20px)scale(.5)}25%{opacity:.8}to{opacity:0;transform:translate(var(--drift), -100px) scale(1.2)}}@keyframes library-arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:500px){.envelope-card h2{font-size:25px}.cards{gap:15px}.welcome .eyebrow{letter-spacing:1px}}@media (prefers-reduced-motion:reduce){.envelope-reveal>svg,.library-arrival{animation:none!important}}.password-only .topbar,.password-only footer>span{display:none}.simple-entry{justify-content:center;min-height:calc(100dvh - 80px);padding:35px 24px}.password-panel{text-align:left}.password-panel h1{text-align:center}.password-panel label{margin-bottom:10px}.password-panel .hint{margin:13px 0 24px}.password-panel .password input{padding:16px 0}.password-panel .primary{padding:15px 20px}.tulip-opening{z-index:60;isolation:isolate;position:fixed;inset:0;overflow:hidden}.tulip-paper{background:var(--anna-paper);position:absolute;inset:0}.tulip-burst{pointer-events:none;position:absolute;inset:0}.tulip-burst .tulip-bloom{object-fit:contain;opacity:0;will-change:transform, opacity;width:42vmax;max-width:none;height:42vmax;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.02)}.is-blooming .tulip-burst .tulip-bloom{animation:tulip-spread 5s cubic-bezier(.22, .65, .3, 1) var(--delay) both}.tulip-skip{bottom:max(25px, env(safe-area-inset-bottom));color:#834151;z-index:2;background:#fffaf4ed;border:1px solid #e5d6cf;border-radius:30px;align-items:center;gap:8px;padding:12px 18px;font-size:14px;display:flex;position:absolute;right:25px}@keyframes tulip-spread{0%{opacity:0;transform:translate(-50%,-50%)scale(.02)rotate(0)}8%{opacity:1}34%,56%{opacity:1;transform:translate(calc(-50% + var(--bloom-x)), calc(-50% + var(--bloom-y))) scale(1) rotate(var(--turn))}88%,to{opacity:0;transform:translate(calc(-50% + var(--exit-x)), calc(-50% + var(--exit-y))) scale(1.3) rotate(calc(var(--turn) + 22deg))}}@keyframes paper-away{0%,50%{opacity:1}65%,to{opacity:0}}@media (max-width:600px){.tulip-burst .tulip-bloom{width:46vmax;height:46vmax}.tulip-skip{bottom:20px;right:20px}.password-panel h1{font-size:40px}}@media (prefers-reduced-motion:reduce){.tulip-opening{display:none}.tulip-burst .tulip-bloom,.tulip-paper{animation:none!important}}.password-only .simple-entry{flex:1;justify-content:center}.password-panel{width:min(100%,425px)}.password-heart{color:#9a5064;margin:0 auto 13px;display:block}.password-panel h1{margin:0 0 10px;font-size:44px}.password-subtitle{text-align:center;margin-bottom:30px}.password-only footer{flex:none;justify-content:center;padding:0 24px 24px}.password-only footer>div{border-top:1px solid #bd89914d;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;width:min(100%,520px);padding:17px 20px 0;display:flex}.password-only footer a,.password-only footer button{letter-spacing:1.1px;text-transform:uppercase;color:#785b63;min-height:32px;font-size:11px}.password-only footer a[aria-label=Sign\ out]{padding:6px}@media (max-width:500px){.password-only .simple-entry{padding:35px 20px 55px}.password-panel{padding:28px 25px 31px}.password-panel h1{font-size:40px}.password-only footer>div{gap:13px;padding:14px 0 0}.password-only footer{padding:0 20px 17px}}@media (max-height:650px){.password-only .simple-entry{padding-top:25px;padding-bottom:25px}}.letter-site{isolation:isolate;background:radial-gradient(at 5% 20%,#efd8d76b,#0000 60%),linear-gradient(135deg,#faf4e9,#fff9f3 55%,#f6e5e1);position:relative}.letter-site>.topbar,.letter-site>.library,.letter-site>footer{z-index:1;position:relative}.letter-background{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.letter-background>svg{color:#b57080;opacity:0;animation:26s linear infinite letter-heart-float;position:absolute;top:105%}.letter-background.is-paused>svg{animation-play-state:paused}.letter-list{display:grid}.letter-row{text-align:left;color:#392528;background:#fffdf8f7;width:100%;position:relative}.letter-row:before{content:"";background:repeating-linear-gradient(90deg,#d5bea0 0 11px,#0000 11px 22px);position:absolute;inset:0 0 auto}.letter-seal{color:#843249;border:1px solid #b98a49;border-radius:50%;flex:none;place-items:center;margin-top:2px;display:grid;position:relative}.letter-seal:before{content:"";border:1px dashed #d9bb94;border-radius:50%;position:absolute}.letter-copy{flex:1;display:block}.letter-date{letter-spacing:.3px;color:#907465;margin-bottom:10px;font-size:13px;display:block}.letter-note{overflow-wrap:anywhere}.letter-open{color:#962b49;align-items:center;gap:10px;margin-top:22px;font-size:16px;display:flex}.background-toggle{color:#86616a;text-underline-offset:4px;background:0 0;border:0;margin:-10px auto 24px;padding:9px 12px;font-size:12px;text-decoration:underline;display:block}@keyframes letter-heart-float{0%{opacity:0;transform:translate(-10px)rotate(-15deg)}12%,78%{opacity:.16}50%{transform:translate(25px,-60vh)rotate(12deg)}to{opacity:0;transform:translate(-15px,-125vh)rotate(-12deg)}}@media (max-width:600px){.letter-row{gap:19px;padding:29px 23px}.letter-seal{width:59px;height:59px}.letter-seal:before{inset:5px}.letter-seal>svg{width:20px;height:20px}.letter-row h2{font-size:24px}.letter-note{font-size:18px}.letter-open{margin-top:18px;font-size:15px}.letter-date{font-size:12px}.letter-list{gap:18px}}@media (prefers-reduced-motion:reduce){.letter-background>svg{display:none;animation:none!important}.background-toggle{display:none}:is(.letter-row:hover,.letter-row:focus-visible){transform:none}}.site>footer.owner-footer,.password-only>footer.owner-footer{justify-content:flex-end;width:100%;margin-top:auto;padding:18px 28px 22px;display:flex}.site>footer.owner-footer .owner-access{letter-spacing:1px;text-transform:uppercase;align-items:center;gap:7px;min-height:36px;display:flex}.owner-toolbar{border-bottom:1px solid #e5d6cf;flex-wrap:wrap;align-items:center;margin:35px 0 25px;padding-bottom:22px;display:flex}.owner-letter{border:1px solid #e5d6cf;justify-content:space-between;align-items:center;gap:25px;display:flex}.owner-letter>div:first-child{flex:1;min-width:0}.owner-letter h2{overflow-wrap:anywhere}.owner-letter p{color:#8a6e70;overflow-wrap:anywhere;margin-top:10px;line-height:1.6}.owner-letter-actions{flex-shrink:0;align-items:center;gap:22px;display:flex}.owner-signout{color:#85616a;margin:27px 0;font-size:13px;text-decoration:underline;display:inline-block}.owner-account-note{color:#85616a;font-size:14px;line-height:1.6}.owner-account-note a{font-weight:600;text-decoration:underline}@media (max-width:600px){.owner-letter{flex-direction:column;align-items:flex-start}.owner-letter-actions{justify-content:space-between;width:100%}.owner-toolbar{gap:18px}.site>footer.owner-footer,.password-only>footer.owner-footer{padding:16px 22px}}.letter-background>svg{animation-name:letter-heart-lively}.letter-background>.ambient-tulip{object-fit:contain;opacity:0;pointer-events:none;animation:16s linear infinite letter-tulip-drift;position:absolute;top:110%}.letter-background.is-paused>.ambient-tulip{animation-play-state:paused}@keyframes letter-heart-lively{0%{opacity:0;transform:translate(-15px)rotate(-15deg)}10%,82%{opacity:.25}50%{transform:translate(32px,-65vh)rotate(15deg)}to{opacity:0;transform:translate(-18px,-135vh)rotate(-12deg)}}@keyframes letter-tulip-drift{0%{opacity:0;transform:translate(0)rotate(-25deg)}12%,78%{opacity:.28}50%{transform:translate(-35px,-65vh)rotate(10deg)}to{opacity:0;transform:translate(25px,-140vh)rotate(38deg)}}@media (prefers-reduced-motion:reduce){.letter-background>.ambient-tulip{display:none;animation:none!important}}.tulip-safe-field{--travel:max(0px, calc(100dvh - 232px));position:absolute;inset:116px}.depth-tulip{object-fit:contain;opacity:0;pointer-events:none;max-width:none;animation:14s linear both depth-tulip-rise;position:absolute;top:100%}.depth-0{filter:blur(.7px)}.depth-1,.depth-2{filter:none}.is-paused .depth-tulip{animation-play-state:paused}@keyframes depth-tulip-rise{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--drift-turn))}12%,78%{opacity:var(--depth-opacity)}48%{transform:translate(calc(-50% + 8px), calc(-50% - var(--travel) * .48)) rotate(calc(var(--drift-turn) + 12deg))}to{opacity:0;transform:translate(-50%, calc(-50% - var(--travel))) rotate(calc(var(--drift-turn) - 8deg))}}.tulip-reveal-title{z-index:1;text-align:center;opacity:0;color:#72283e;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tulip-reveal-title>span{font:italic clamp(48px,8vw,88px)/1.2 Georgia,serif}.tulip-reveal-title>p{margin-top:12px;font:16px/1.6 Georgia,serif}.is-blooming .tulip-reveal-title{animation:5.5s both dedication-reveal}.is-blooming.tulip-opening{animation:5.5s both opening-crossfade}.is-blooming .tulip-paper{animation:5.5s both paper-crossfade}.is-blooming .tulip-burst .tulip-bloom{animation-name:tulip-reveal-spread;animation-duration:5.2s}.blooming-site .topbar,.blooming-site footer{visibility:visible}@keyframes dedication-reveal{0%,30%{opacity:0;transform:translateY(10px)}40%,75%{opacity:1;transform:translateY(0)}83%,to{opacity:0;transform:translateY(0)}}@keyframes opening-crossfade{0%,91.818%{opacity:1}to{opacity:0}}@keyframes paper-crossfade{0%,91.818%{opacity:1}to{opacity:0}}@keyframes letter-crossfade{0%{opacity:0}to{opacity:1}}@keyframes tulip-reveal-spread{0%{opacity:0;transform:translate(-50%,-50%)scale(.02)rotate(0)}8%{opacity:1}32%,72%{opacity:1;transform:translate(calc(-50% + var(--bloom-x)), calc(-50% + var(--bloom-y))) scale(1) rotate(var(--turn))}96%,to{opacity:0;transform:translate(calc(-50% + var(--exit-x)), calc(-50% + var(--exit-y))) scale(1.3) rotate(calc(var(--turn) + 22deg))}}.site .text-button,.site .background-toggle,.site>footer.owner-footer .owner-access{letter-spacing:.45px;color:#795761;text-transform:none;gap:8px;min-height:36px;padding:10px 0;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none}.site .text-button:hover,.site .background-toggle:hover,.site>footer.owner-footer .owner-access:hover{text-underline-offset:4px;text-decoration:underline}.site .background-toggle{padding:10px 12px}.password-panel h1{margin-top:0}@media (prefers-reduced-motion:reduce){.depth-tulip{display:none;animation:none!important}.tulip-reveal-title,.is-blooming.tulip-opening,.is-blooming .tulip-paper,.library-arrival{animation:none!important}}.library-arrival{animation:none}.video-dialog{flex-direction:column;height:min(630px,92dvh);gap:24px!important;width:min(700px,100vw - 32px)!important;max-width:700px!important;max-height:92dvh!important;padding:28px!important;display:flex!important;overflow:hidden!important}.video-letter-heading{flex:none;height:90px;padding-right:22px;overflow:auto}.video-letter-heading h2{margin:0 0 10px!important;font-size:27px!important}.video-letter-heading p{font-size:15px;line-height:1.6}.letter-player{flex-direction:column;flex:1;gap:24px;min-height:0;display:flex}.reveal-stage{perspective:1100px;flex:1;place-items:center;min-height:0;display:grid;position:relative}.video-sheet{opacity:0;pointer-events:none;background:#ead5d0;border:1px solid #dfc4bf;border-radius:8px;transition:transform .3s ease-out .25s,opacity .35s .35s;position:absolute;inset:0;overflow:hidden;transform:translateY(24px)scale(.7)}.player-opening .video-sheet,.player-ready .video-sheet{opacity:1;transform:translateY(0)scale(1)}.player-ready .video-sheet{pointer-events:auto}.video-sheet video{object-fit:contain;background:#2d2025;border-radius:7px;width:100%;height:100%;display:block}.poster-play{color:#8b354e;background:#fff6efe8;border-radius:50%;place-items:center;width:68px;height:68px;display:grid;position:relative;box-shadow:0 8px 30px #76344730}.poster-play svg{margin-left:4px}.player-buffering{color:#7e3348;white-space:nowrap;background:#fff4edf0;border-radius:20px;padding:7px 12px;font-size:13px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.player-bottom{flex-direction:column;flex:none;gap:8px;height:76px;display:flex}.player-caption{color:#96756d;place-items:center;height:40px;font:italic 16px/1.5 Georgia,serif;display:grid}.romantic-controls{align-items:center;gap:9px;height:40px;display:flex}.romantic-controls button,.romantic-controls .player-download{width:32px;height:36px;color:inherit;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:0;display:grid}.romantic-controls button:hover,.romantic-controls .player-download:hover{background:#efdadf}.romantic-controls input[type=range]{-webkit-appearance:none;appearance:none;accent-color:#88344d;height:4px;box-shadow:none;cursor:pointer;background:#d7a6b6;border:0;border-radius:5px;min-width:0;padding:0}.romantic-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#88344d;border:0;border-radius:50%;width:11px;height:11px}.romantic-controls input[type=range]::-moz-range-thumb{background:#88344d;border:0;border-radius:50%;width:11px;height:11px}.romantic-controls input:focus-visible{outline-offset:5px;outline:2px solid #88344d}.player-seek{flex:1}.player-volume{flex:none;width:48px!important}.player-time{font-variant-numeric:tabular-nums;color:#8a6370;font-size:12px}.player-status{color:#953349;text-align:center;min-height:18px;font-size:12px;line-height:1.4}.letter-player:-webkit-full-screen{background:#2d2025;gap:16px;height:100vh;padding:24px}.letter-player:fullscreen{background:#2d2025;gap:16px;height:100vh;padding:24px}.letter-player:-webkit-full-screen .player-bottom{background:#fff5ef;border-radius:8px;padding:8px 18px}.letter-player:fullscreen .player-bottom{background:#fff5ef;border-radius:8px;padding:8px 18px}@media (max-width:520px){.video-dialog{height:min(580px,92dvh);gap:24px!important;padding:22px 18px!important}.video-letter-heading{height:96px}.video-letter-heading h2{font-size:24px!important}.romantic-controls{gap:5px}.player-volume{display:none}.letter-player{gap:24px}}@media (max-height:500px){.video-dialog{gap:12px!important;padding:16px!important}.video-letter-heading{height:52px}.video-letter-heading h2{margin-bottom:4px!important;font-size:20px!important}.letter-player{gap:12px}.player-bottom{height:57px}.player-status{line-height:1.1}}@media (prefers-reduced-motion:reduce){.video-sheet{transition:none!important}}.letter-list{grid-template-columns:minmax(0,1fr)}.letter-row{padding:23px 20px}.letter-seal{width:50px;height:50px;margin:0}.letter-seal:before{inset:5px}.letter-seal>svg{width:20px;height:20px}.letter-row h2{letter-spacing:0;overflow-wrap:anywhere;margin:0 0 4px;font:600 17px/1.4 Arial,Helvetica,sans-serif}.letter-row .letter-date,.letter-row .letter-open{display:none}.letter-note{white-space:nowrap;text-overflow:ellipsis;font:italic 14px/1.5 Arial,Helvetica,sans-serif;display:block;overflow:hidden}.letter-copy{min-width:0}@media (min-width:680px){.letter-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1050px){.letter-list{grid-template-columns:repeat(3,minmax(0,1fr))}.letter-row{gap:13px;padding:22px 18px}}@media (max-width:360px){.letter-row{gap:12px;padding:20px 16px}.letter-row h2{font-size:16px}.letter-seal{width:48px;height:48px}}.letter-row{cursor:pointer}.letter-row:active{transform:translateY(0);box-shadow:0 3px 10px #81525114}.letter-row:before{opacity:.4;height:1px}.library-arrival .letter-row{animation:letter-card-enter .45s ease-out var(--card-delay,0s) backwards}.letter-site .library-end{margin:42px 0 30px;padding-top:25px;position:relative}.letter-site .library-end:before{content:"";background:linear-gradient(90deg,#0000,#bd9294,#0000);width:64px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}@keyframes letter-card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.library-arrival .letter-row{animation:none!important}:is(.letter-row:hover,.letter-row:focus-visible,.letter-row:active){transform:none}}.birthday-site{background:#132b54}.birthday-site>.topbar,.birthday-site>footer{display:none!important}.birthday-opening{flex:1;min-height:100dvh;display:flex}.birthday-tap{isolation:isolate;color:#f7eddf;cursor:pointer;background:radial-gradient(at 18% 12%,#294c787d,#0000 57%),radial-gradient(at 85% 78%,#07142e9c,#0000 60%),linear-gradient(145deg,#142e5d,#1c3967 50%,#122548);border:0;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:60px 25px;display:flex;position:relative;overflow:hidden}.birthday-tap:before{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.035 .2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23c9d1df' filter='url(%23p)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");position:absolute}.birthday-greeting{flex-direction:column;align-items:center;font-family:Mrs Saint Delafield,Brush Script MT,Segoe Script,cursive;font-size:clamp(67px,10vw,135px);font-weight:400;line-height:1.25;animation:1.2s both birthday-arrive;display:flex;position:relative}.birthday-greeting>span{display:block}.birthday-invitation{letter-spacing:.8px;margin-top:35px;font:14px/1.6 Georgia,serif;animation:1s .5s both birthday-arrive;position:relative}.birthday-stars{pointer-events:none;position:absolute;inset:0}.birthday-stars>svg{color:#c6d7ec;opacity:.45;stroke-width:.7px;fill:none;animation:5s ease-in-out infinite alternate birthday-star;position:absolute}.birthday-stars>svg:first-child{width:88px;height:88px;top:12%;left:8%;transform:rotate(-18deg)}.birthday-stars>svg:nth-child(2){width:35px;height:35px;animation-delay:-2s;top:21%;left:20%}.birthday-stars>svg:nth-child(3){width:67px;height:67px;animation-delay:-3s;bottom:13%;right:10%;transform:rotate(15deg)}.birthday-stars>svg:nth-child(4){width:23px;height:23px;animation-delay:-1s;top:15%;right:24%}.birthday-stars>svg:nth-child(5){width:28px;height:28px;animation-delay:-4s;bottom:15%;left:13%}.birthday-tap:focus-visible{outline-offset:-12px;outline:2px solid #f7eddf}.password-scene{align-items:center;animation:.5s both birthday-arrive;display:flex}.password-scene .password-panel{flex:0 425px;min-width:0}.ice-cream-companion{flex-direction:column;align-items:center;margin:0;display:flex}.ice-cream-companion img{object-fit:contain;filter:drop-shadow(0 15px 15px #6e595218);width:100%;height:auto;display:block}.ice-cream-toggle{letter-spacing:.4px;background:0 0;border:0;padding:10px}.ice-cream-toggle:hover{text-underline-offset:4px;text-decoration:underline}@keyframes birthday-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes birthday-star{0%{opacity:.25}to{opacity:.6}}@media (max-width:700px){.password-scene{flex-direction:column;gap:12px}.password-scene .password-panel{flex:none;width:min(100%,425px)}.ice-cream-companion{flex:none;width:155px}.ice-cream-toggle{padding:4px;font-size:12px}.password-only .simple-entry{padding-top:22px;padding-bottom:28px}.birthday-greeting{font-size:clamp(48px,15vw,91px)}.birthday-invitation{letter-spacing:.3px;margin-top:28px;font-size:13px}.birthday-stars>svg:first-child{width:58px;height:58px}.birthday-stars>svg:nth-child(3){width:50px;height:50px}}@media (prefers-reduced-motion:reduce){.birthday-greeting,.birthday-invitation,.birthday-stars>svg,.password-scene{animation:none!important}.ice-cream-toggle{display:none}}@font-face{font-family:Mrs Saint Delafield;font-style:normal;font-weight:400;font-display:swap;src:url(/birthday-script.ttf)format("truetype")}.birthday-site,.birthday-tap{background:#eab2c1}.birthday-tap:before{opacity:1;filter:blur(6px);z-index:-2;background:url(/birthday-paper-hearts.webp) 50%/cover no-repeat;inset:-20px}.birthday-tap:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#fff4e9a6 0%,#ffe5e94d 48%,#f7d7de1f 80%);position:absolute;inset:0}.birthday-greeting{color:#682238;text-shadow:0 2px 18px #fff0e9a6}.birthday-invitation{color:#6d3345;text-shadow:0 1px 8px #fff3ed}.birthday-tap:focus-visible{outline-color:#682238}@media (max-width:700px){.birthday-tap:before{filter:blur(4px);background-position:54%}}@font-face{font-family:Anna Handwriting;src:url(/anna-handwriting.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}.letter-note,.top-note{font-family:Anna Handwriting,Segoe Print,cursive;font-style:normal;font-weight:400}.letter-note{color:#865b61;font-size:23px;line-height:1.3}.top-note{letter-spacing:0;color:#865b61;font-size:22px}.letter-row{rotate:var(--card-tilt,0deg);padding-right:43px}.letter-row h2{font-size:17px}.tulip-postmark{opacity:.7;border:1px dashed #bd94708c;border-radius:3px;place-items:center;width:27px;height:42px;display:grid;position:absolute;bottom:12px;right:10px;rotate:12deg}.tulip-postmark img{object-fit:contain;width:23px;height:35px}.letter-featured{background:#fff9f0!important}.letter-featured .letter-note{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.letter-featured h2{font-size:20px}.letter-site:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23916652' filter='url(%23paper)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:fixed;inset:0}.letter-row{background-image:repeating-linear-gradient(0deg,#9b705703 0 1px,#0000 1px 4px)}@media (min-width:680px){.letter-featured{grid-column:span 2}.letter-featured .letter-seal{width:54px;height:54px}.letter-featured .tulip-postmark{width:31px;height:48px;bottom:15px;right:15px}.letter-featured .tulip-postmark img{width:26px;height:40px}}@media (max-width:679px){.letter-list{gap:19px;padding-inline:3px}.letter-row{padding-right:42px}.letter-featured{min-height:150px}.letter-note{font-size:22px}}@media (prefers-reduced-motion:reduce){.letter-row{transition:none!important}}.romantic-controls .player-download{cursor:pointer;text-decoration:none}.romantic-controls .player-download:focus-visible{outline-offset:2px;outline:2px solid #88344d}.letter-size-picker{border:0;min-width:0;margin:0;padding:0}.letter-size-picker legend{margin-bottom:10px;font-size:14px}.letter-size-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.letter-size-picker label{cursor:pointer;text-align:center;background:#fffdf8;border:1px solid #ddc1bd;border-radius:7px;flex-direction:column;align-items:center;padding:12px 5px;font-size:13px;display:flex;position:relative}.letter-size-picker label:has(input:checked){background:#f4e0e4;border-color:#88344d;box-shadow:0 0 0 1px #88344d}.letter-size-picker input[type=radio]{-webkit-appearance:auto;appearance:auto;accent-color:#88344d;width:16px;height:16px;margin:0;padding:0}.letter-size-picker label:focus-within{outline-offset:3px;outline:2px solid #88344d}.size-preview{gap:3px;height:20px;display:flex}.size-preview i{background:#e5bdc7;border:1px solid #a56c7e;border-radius:2px;width:17px;height:20px;display:block}.letter-size-picker small{margin-top:9px;display:block}.letter-span-1,.letter-span-2,.letter-span-3{grid-column:span 1}@media (min-width:680px){.letter-span-2,.letter-span-3{grid-column:span 2}}@media (min-width:1050px){.letter-span-3{grid-column:span 3}}.inside-nav{z-index:2;background:#fff8f2;border:1px solid #d9b7b2;border-radius:30px;justify-content:center;gap:5px;width:max-content;margin:18px auto 0;padding:5px;display:flex;position:relative}.inside-nav button{color:#83475a;background:0 0;border:0;border-radius:24px;padding:9px 24px;font-size:14px}.inside-nav button[aria-current=page]{color:#fff8f2;background:#88344d}.story-main{z-index:1;color:#673448;width:min(950px,100% - 32px);margin:26px auto 85px;position:relative}.story-top{justify-content:space-between;align-items:center;gap:15px;margin:0 4px 18px;display:flex}.story-top>span,.story-kicker{letter-spacing:2px;color:#916b69;font-size:12px}.story-book{background:linear-gradient(100deg,#f4e8de 0%,#fffaf3 4% 96%,#f5e7db);border:1px solid #dfc5bb;border-radius:12px;min-height:560px;padding:42px 40px 25px;position:relative;box-shadow:0 18px 55px #63314212}.story-page{text-align:center;flex-direction:column;align-items:center;gap:22px;animation:.5s both story-page-in;display:flex}.story-page h1{color:#723349;outline:none;max-width:720px;margin:0;font:400 clamp(29px,4vw,46px)/1.2 Georgia,serif}.story-page h1 em{font-weight:400}.story-page h2{color:#853550;margin:6px 0;font:400 32px/1.2 Georgia,serif}.story-script{white-space:pre-wrap;overflow-wrap:anywhere;max-width:680px;margin:0;font:400 28px/1.4 Anna Handwriting,cursive}.story-page .primary{min-height:44px;margin:8px 0 0}.story-cover-tulip{object-fit:contain;width:80px;height:135px;rotate:-10deg}.story-scene-0{padding-top:32px}.story-scene-0 h1{font-size:clamp(36px,5.8vw,61px)}.story-notification{text-align:left;color:#78374d;background:#f2e1e5;border:1px solid #d6b6b5;border-radius:16px;align-items:flex-start;gap:16px;width:min(470px,100%);padding:23px;transition:transform .2s;display:flex;box-shadow:0 12px 25px #76425517}.story-notification:hover{transform:translateY(-3px)}.story-notification svg{flex:none}.story-notification>span{white-space:pre-wrap;overflow-wrap:anywhere;gap:9px;min-width:0;font-size:15px;line-height:1.6;display:grid}.story-notification.is-open{background:#fff4ed}.story-rooms{width:100%;margin-top:-8px;position:relative}.story-rooms>img{aspect-ratio:1.5;object-fit:contain;border-radius:7px;width:100%;max-height:365px;display:block}.story-stars{justify-content:space-between;align-items:center;gap:4px;display:flex;position:absolute;inset:38% 34% 34%}.story-stars button{color:#a58063;background:#fff9f0d9;border:0;border-radius:50%;flex:none;place-items:center;width:45px;height:45px;transition:transform .2s,color .2s,box-shadow .2s;display:grid}.story-stars button:nth-child(2){align-self:flex-start}.story-stars button:hover{transform:scale(1.12)}.story-stars button.lit{color:#a64561;box-shadow:0 0 28px #d799a965}.story-memory{max-width:650px;min-height:110px}.story-memory h2{margin-bottom:12px;font-size:19px}.story-memory>p:not(.story-script){font-size:15px}.story-progress{color:#8d676e;font-size:13px}.story-pagination{border-top:1px solid #dfc9bf;justify-content:space-between;align-items:center;margin-top:30px;padding-top:14px;font-size:13px;display:flex}.story-phone-track{height:50px;position:absolute;top:54%;left:19%;right:19%}.story-phone{color:#8f3e55;touch-action:none;cursor:grab;z-index:2;background:#fff7f0;border:1px solid #a66375;border-radius:10px;place-items:center;width:44px;height:48px;display:grid;position:absolute;top:0;box-shadow:0 4px 10px #7d3c4920}.story-phone:active{cursor:grabbing}.story-dotted-line{border-top:3px dotted #c68198;max-width:calc(100% - 44px);position:absolute;top:24px;left:22px}.story-call-heart{color:#b45e77;opacity:.35;transition:opacity .4s,transform .4s;position:absolute;top:-32px;right:10px}.connected .story-call-heart{opacity:1;transform:scale(1.2)}.story-envelope{color:#873b51;background:#f2d9d9;border:1px solid #d4a6ad;border-radius:9px;flex-direction:column;align-items:center;gap:16px;margin:20px 0;padding:32px 40px;font-size:16px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 12px 25px #793c4b15}.story-envelope:hover{transform:translateY(-4px);box-shadow:0 18px 32px #793c4b25}.story-proposal{flex-direction:column;align-items:center;gap:24px;max-width:570px;padding:16px 0;animation:.65s both story-page-in;display:flex}.story-proposal>p:not(.story-script){margin:0;font-size:17px;line-height:1.7}.story-proposal h2{font-size:clamp(30px,4vw,44px)}.story-proposal .story-waiting{color:#8e6e72;font-size:14px!important}.story-photo-space{aspect-ratio:1.15;color:#99787b;background:#f1e6df;border:12px solid #fffdf9;border-bottom-width:35px;flex-direction:column;justify-content:center;align-items:center;gap:24px;width:min(330px,100%);margin:15px 0;display:flex;rotate:-3deg;box-shadow:0 9px 24px #69444522}.story-photo-space span{max-width:180px;font:23px/1.2 Anna Handwriting,cursive}.story-editor{max-width:650px}.story-editor h1{margin:25px 0 16px;font:36px/1.2 Georgia,serif}.story-editor>p{margin-bottom:26px;font-size:16px;line-height:1.6}.story-editor form{background:#fffaf3;border:1px solid #ddc0bb;border-radius:9px;gap:22px;padding:25px;display:grid}.story-editor form>label{gap:10px;font-size:15px;display:grid}.story-editor textarea{resize:vertical;min-height:105px}.story-reveal-setting{align-items:center;gap:20px;display:flex}.story-reveal-setting p{color:#8c6b70;margin-top:8px;font-size:14px;line-height:1.5}.story-editor form>p[role=status]{align-items:center;gap:8px;display:flex}.story-error{background:#ffe9eb;border-radius:7px;margin:10px 0 20px;padding:18px}:is(.story-book button:focus-visible,.inside-nav button:focus-visible){outline-offset:4px;outline:2px solid #88344d}@keyframes story-page-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.story-book{min-height:520px;padding:30px 16px 20px}.story-top>span{letter-spacing:1px;font-size:11px}.story-page{gap:20px}.story-rooms{width:calc(100% + 20px)}.story-stars{inset:35% 27% 24%}.story-stars button{width:40px;height:44px}.story-script{font-size:25px}.story-memory{min-height:120px}.story-editor form{padding:18px}.story-reveal-setting{gap:12px}.story-page h1{font-size:30px}.story-scene-0 h1{font-size:40px}}@media (prefers-reduced-motion:reduce){.story-page,.story-proposal{animation:none}.story-book *{transition:none!important}}.photo-save-dialog progress{accent-color:#88344d;width:100%;margin:12px 0}.photo-save-dialog .photo-save-help{color:#886970;font-size:13px;line-height:1.6}.photo-save-dialog .text-button{font-size:14px;text-decoration:underline}.game-entry>.password-panel{width:min(440px,100%);margin:25px auto 65px;padding:32px}.game-entry .password-panel>svg{color:#88344d;margin:0 auto 20px}.game-entry form{gap:12px;display:grid}.game-entry .hint,.form-dialog .hint{line-height:1.5}.game-lock-control{z-index:2;justify-content:center;margin-top:15px;display:flex;position:relative}.game-entry .password-panel>p{line-height:1.6}.inside-nav a{color:#83475a;border-radius:24px;padding:9px 24px;font-size:14px;text-decoration:none;display:block}.inside-nav a[aria-current=page]{color:#fff8f2;background:#88344d}.inside-nav a:focus-visible{outline-offset:3px;outline:2px solid #88344d}.game-coming-soon{text-align:center}.game-coming-soon img{object-fit:contain;width:65px;height:110px;margin:0 auto 22px}.game-coming-soon p{font-size:16px;line-height:1.6}:root{--background:var(--anna-paper);--foreground:#30373a;--card:#fff;--card-foreground:#30373a;--popover:#fffdfb;--popover-foreground:#30373a;--primary:var(--anna-maroon);--primary-foreground:#fff;--secondary:#f3ecef;--secondary-foreground:#593a47;--muted:#f4f1f2;--muted-foreground:#717076;--accent:#f3ecef;--accent-foreground:#593a47;--border:#e7e2e4;--input:#dfd8dc;--ring:var(--anna-maroon);--radius:1rem}body{background:var(--anna-paper);color:#30373a}.site,.letter-site{background:radial-gradient(ellipse at 15% 0%, #e5edf677, transparent 38%), radial-gradient(ellipse at 75% 0%, #f6d9e566, transparent 42%), var(--anna-paper)}.letter-site:before{opacity:.035}.site>.topbar{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdc;border:1px solid #e6e0e4;border-radius:40px;gap:22px;width:min(1160px,100% - 48px);height:66px;min-height:66px;margin:24px auto 0;padding:0 24px;display:flex;position:relative;box-shadow:0 3px 3px #3d253306,0 10px 28px #44353f06}.wordmark{letter-spacing:-.8px;white-space:nowrap;color:#74364b;font:italic 26px/1 Georgia,serif}.wordmark>svg{width:18px;height:18px}.tinyheart{display:none}.topbar .top-note{color:#87727b;margin-right:auto;font-size:20px}.topbar .private{color:#72636a;white-space:nowrap;font-size:12px}.topbar .inside-nav{box-shadow:none;background:#f4f0f2;border:0;flex:none;margin:0 0 0 auto;padding:3px}.inside-nav button,.inside-nav a{padding:9px 19px;font-size:14px}.inside-nav button[aria-current=page],.inside-nav a[aria-current=page]{color:#6e314a;background:#fff;box-shadow:0 1px 5px #42233312}.library{width:min(1080px,100% - 48px);max-width:1080px;margin:38px auto 0;padding:0}.library:not(.owner-dashboard)>.library-heading{isolation:isolate;background:#536e72 url(/anna-garden.webp) 50% 48%/cover;border-radius:22px;justify-content:space-between;align-items:flex-end;gap:24px;min-height:310px;margin:0 0 32px;padding:34px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #20333112}.library:not(.owner-dashboard)>.library-heading:before{content:"";z-index:-1;background:linear-gradient(#0000 5%,#172b37d9);position:absolute;inset:0}.library:not(.owner-dashboard)>.library-heading>div{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffff0b;border:1px solid #ffffff30;border-radius:15px;max-width:690px;padding:20px 23px}.library:not(.owner-dashboard) h1{letter-spacing:-1.3px;color:#fffaf5;margin:0;font:400 clamp(33px,4.1vw,48px)/1.15 Georgia,serif}.library:not(.owner-dashboard) h1 em{color:#f8dce3}.library:not(.owner-dashboard) .eyebrow{color:#efe3df;letter-spacing:2px;margin-bottom:12px;font-size:12px;font-weight:500}.library:not(.owner-dashboard) .library-heading p{color:#f2e7e4;margin-top:14px;font-size:15px;line-height:1.6}.library:not(.owner-dashboard) .library-heading>.text-button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2438437a;border:1px solid #ffffff4a;border-radius:25px;align-self:flex-start;min-height:40px;margin:0;padding:10px 14px;font-size:13px;position:absolute;top:20px;right:22px}.collection-bar{color:#4a4650;border:0;margin:0;padding:0 3px 18px}.collection-bar>span{gap:10px;font-size:15px;font-weight:500}.collection-bar .count{color:#73475c;background:#efe9ed;border-radius:14px;padding:3px 8px;font-size:12px}.letter-list{align-items:stretch;gap:24px;padding:0}.letter-row{min-height:0;rotate:calc(var(--card-tilt,0deg) * .25);border:1px solid #e7e0e4;border-radius:17px;flex-direction:column;align-items:stretch;gap:0;transition:transform .22s,border-color .22s,box-shadow .22s,rotate .22s;display:flex;overflow:hidden;box-shadow:0 3px 8px #44333a03;background:#fff!important;padding:0!important}.letter-row:before{display:none}:is(.letter-row:hover,.letter-row:focus-visible){border-color:#bd99aa;transform:translateY(-3px)rotate(0);box-shadow:0 12px 30px #70445b12}.letter-visual{background:radial-gradient(ellipse at 20% 10%, #ffffffb3, transparent 65%), linear-gradient(135deg, var(--card-tone,#e9ccd7), #f5eeea);border-bottom:1px solid #ece6e9;place-items:center;width:100%;height:155px;display:grid;position:relative}.card-envelope{color:#fffdfb;fill:#ffffff4a;filter:drop-shadow(0 5px 7px #80536518);width:138px;height:105px}.letter-visual .letter-seal{color:#fff2e7;background:#873d55;border:1px solid #b58b6a;position:absolute;box-shadow:0 3px 7px #56334217}.letter-visual .letter-seal:before{border:1px solid #e2b89480;inset:3px}.letter-visual .letter-seal svg{stroke-width:1.5px}.letter-row .letter-copy{width:100%;min-height:123px;padding:20px 25px 28px}.letter-row h2,.letter-featured h2{letter-spacing:-.3px;color:#41333b;margin:0 0 8px;font:600 18px/1.4 Arial,Helvetica,sans-serif}.letter-row .letter-date{color:#887880;letter-spacing:0;margin:0 0 10px;font-size:12px;display:block}.letter-row .letter-note{color:#886473;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font:400 22px/1.3 Anna Handwriting,cursive;display:-webkit-box;overflow:hidden}.letter-row .letter-open{display:none}.letter-row .tulip-postmark{opacity:.5;background:0 0;border:0;width:23px;height:34px;bottom:12px;right:10px}.letter-row .tulip-postmark img{width:20px;height:31px}.letter-featured{min-height:0}.letter-featured .letter-visual{height:155px}.library-end{color:#927d85!important;margin-top:48px!important;font-size:16px!important}.site .background-toggle{color:#86767d;text-underline-offset:4px;font-size:13px;text-decoration:underline}.site>footer.owner-footer{padding:25px 30px}.site>footer.owner-footer .owner-access{color:#735766;background:#ffffffdc;border:1px solid #e2d7dd;border-radius:25px;padding:9px 15px;font-size:12px;box-shadow:0 3px 10px #633d5107}.password-only{isolation:isolate;background:#5b737b url(/anna-garden.webp) 50%/cover no-repeat;min-height:100dvh;position:relative}.password-only:before{content:"";z-index:-1;background:linear-gradient(90deg,#18383c33,#33475211 45%,#182c4955);position:absolute;inset:0}.password-only>.topbar{background:#ffffffd6;display:flex}.password-only .topbar .top-note{margin-left:auto;margin-right:0}.password-only .simple-entry{min-height:660px;padding:50px 28px 55px}.password-scene{justify-content:flex-end;gap:36px;width:min(900px,100%)}.password-panel{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fffdfbf2;border:1px solid #ffffffab;border-radius:22px;padding:36px;box-shadow:0 20px 65px #17263c18}.password-panel h1{color:#723a51;font:italic 46px/1.2 Georgia,serif}.password-subtitle{color:#81707b;margin:12px 0 28px;font:15px/1.6 Arial,Helvetica,sans-serif}.password-panel label{color:#655460;font-size:14px}.password-panel .hint{color:#87566b;font-size:13px;font-weight:500;line-height:1.5}.password-panel .password{background:#fff;border-color:#e0d4dc;border-radius:12px}.password-panel .password input{font-size:16px}.primary{background:var(--anna-maroon);border-radius:24px;min-height:43px;padding:12px 20px;font-size:14px;box-shadow:0 3px 9px #813b5410}.primary:hover{background:#693047}.password-panel .primary{border-radius:12px;font-size:15px}.ice-cream-companion{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffb8;border:1px solid #ffffff80;border-radius:24px;flex:0 190px;width:190px;padding:12px 8px 16px;box-shadow:0 12px 35px #293e4420}.ice-cream-toggle{color:#735664;font-size:12px}.password-only>footer.owner-footer .owner-access{background:#fffdfbed}.owner-dashboard>.library-heading{padding:25px 0 0}.owner-dashboard h1{color:#4f3847;font:40px/1.2 Georgia,serif}.owner-dashboard .library-heading p{color:#867580;margin-top:14px;font-size:16px;line-height:1.6}.owner-toolbar{border-bottom-color:#e5dde2;gap:14px;margin-top:28px}.owner-toolbar .text-button{background:#fff;border:1px solid #e5dde2;border-radius:24px;padding:10px 15px}.owner-letter{background:#fff;border-color:#e8e0e5;border-radius:16px;padding:23px 25px;box-shadow:0 4px 12px #4f334603}.owner-letter h2{color:#4c3d46;font:500 21px/1.4 Arial,Helvetica,sans-serif}.owner-letter p{font-size:14px}.owner-letter .letter-date{color:#92828c;font-size:12px}.form-dialog{background:#fffdfb!important;border:1px solid #e6dce1!important;border-radius:20px!important;box-shadow:0 25px 90px #21162625!important}.form-dialog h2{color:#62374b;font:400 28px/1.25 Georgia,serif!important}.form-dialog input,.form-dialog textarea,.game-entry input{background:#fff;border-color:#dfd7dc;border-radius:10px;font-size:16px}.form-dialog label{font-size:14px}.form-dialog small{font-size:13px;line-height:1.5}.video-dialog{background:#fffaf8!important;border-color:#e2d4dc!important;border-radius:19px!important;box-shadow:0 25px 90px #261b2e2b!important}.video-letter-heading h2{color:#5b354a}.video-letter-heading p{color:#88737e}.romantic-controls{color:var(--anna-maroon)}.game-entry{background:linear-gradient(#23465022,#23344c33),url(/anna-garden.webp) 50%/cover;border-radius:24px;min-height:600px;margin-top:30px;padding:25px}.game-entry>.text-button{color:#fff;background:#22394680;border:1px solid #ffffff50;border-radius:25px;padding:9px 15px}.game-entry .password-panel{margin:25px auto 55px}.game-lock-control .text-button{background:#fff;border:1px solid #e5dde2;border-radius:22px;padding:9px 15px}@media (max-width:750px){.site>.topbar{gap:12px;width:calc(100% - 28px);height:60px;min-height:60px;margin-top:14px;padding:0 17px}.topbar .top-note{display:none}.topbar .private{margin-left:auto}.topbar:has(.inside-nav) .private{display:none}.topbar .inside-nav{margin-left:auto}.library{width:calc(100% - 32px);margin-top:23px}.library:not(.owner-dashboard)>.library-heading{background-position:48%;min-height:295px;margin-bottom:25px;padding:18px}.library:not(.owner-dashboard)>.library-heading>div{padding:18px 17px}.library:not(.owner-dashboard) h1{font-size:33px}.library:not(.owner-dashboard) .library-heading p{font-size:14px}.library:not(.owner-dashboard) .library-heading>.text-button{top:15px;right:15px}.letter-list{gap:18px}.letter-row .letter-copy{padding:18px 22px 27px}.password-only .simple-entry{min-height:0;padding:32px 20px}.password-scene{flex-direction:column-reverse;gap:22px}.password-scene .password-panel{width:min(425px,100%);padding:29px 25px}.ice-cream-companion{border-radius:19px;flex:none;width:125px;padding:4px 6px 10px}.password-panel h1{font-size:40px}.game-entry{width:calc(100% - 28px);min-height:580px;padding:16px}.game-entry .password-panel{padding:27px 23px}.owner-dashboard h1{font-size:32px}.owner-toolbar{gap:10px}.owner-letter{padding:20px}.owner-letter-actions{gap:15px}.form-dialog{padding:25px!important}}@media (min-width:680px){.letter-span-2,.letter-span-3{flex-direction:row;align-items:stretch}.letter-span-2 .letter-visual,.letter-span-3 .letter-visual{border-bottom:0;border-right:1px solid #ece6e9;flex:none;width:40%;height:auto;min-height:240px}.letter-span-2 .letter-copy,.letter-span-3 .letter-copy{flex-direction:column;justify-content:center;padding:27px 34px;display:flex}.letter-span-2 h2,.letter-span-3 h2{font-size:22px}}@media (prefers-reduced-motion:reduce){.letter-row{rotate:none}.password-scene{animation:none}}.password-only .ice-cream-companion{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0}.password-only .ice-cream-toggle{color:#fff8f3;text-shadow:0 1px 4px #172637,0 0 12px #172637;font-weight:500}.password-only .ice-cream-toggle:focus-visible{outline-color:#fff8f3}.password-only>.topbar,.password-only>footer.owner-footer .owner-access{isolation:isolate;-webkit-backdrop-filter:blur(18px)saturate(165%);background:linear-gradient(135deg,#ffffff38,#ffffff10 46%,#ffffff26);border:1px solid #ffffff69;transition:background .25s,box-shadow .25s;position:relative;box-shadow:inset 0 1px 1px #ffffffb3,inset 1px 0 1px #ffffff47,inset 0 -1px 1px #ffffff26,0 8px 28px #142d3f20}.password-only>.topbar:before,.password-only>footer.owner-footer .owner-access:before{content:"";border-radius:inherit;pointer-events:none;z-index:-1;background:linear-gradient(115deg,#ffffff25,#0000 23% 70%,#ffffff12);position:absolute;inset:1px}.password-only>.topbar .wordmark{color:#57283e;text-shadow:0 1px 1px #ffffff45}.password-only>.topbar .top-note,.password-only>.topbar .private{color:#4e3444;text-shadow:0 1px 2px #ffffff45}.password-only>footer.owner-footer .owner-access{color:#fff9f5;text-shadow:0 1px 3px #14283f;font-weight:500}.password-only>footer.owner-footer .owner-access:hover{background:linear-gradient(135deg,#ffffff52,#fff2 55%,#ffffff35);text-decoration:none;box-shadow:inset 0 1px 1px #fffc,0 8px 28px #142d3f30}.password-only>footer.owner-footer .owner-access:focus-visible{outline-color:#fff8f3}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.password-only>.topbar{background:#ffffffb8}.password-only>footer.owner-footer .owner-access{background:#384555cc}}@media (prefers-reduced-transparency:reduce){.password-only>.topbar{-webkit-backdrop-filter:none;background:#fff4efeb}.password-only>footer.owner-footer .owner-access{-webkit-backdrop-filter:none;background:#384555}}.letter-site>.topbar,.letter-site>footer.owner-footer .owner-access{isolation:isolate;-webkit-backdrop-filter:blur(20px)saturate(170%);background:linear-gradient(135deg,#ffffff63,#ffffff24 46%,#ece6ef52);border:1px solid #fffc;position:relative;box-shadow:inset 0 1px 1px #fff,inset 1px 0 1px #fffa,inset 0 -1px 1px #b4a5b526,0 7px 25px #3b254012}.letter-site>.topbar:before,.letter-site>footer.owner-footer .owner-access:before{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,#ffffff45,#0000 24% 70%,#ffffff20);position:absolute;inset:1px}.letter-site>.topbar .inside-nav{background:#c8b5c21c;border:1px solid #ffffff80;box-shadow:inset 0 1px 1px #fffa}.letter-site>.topbar .inside-nav [aria-current=page]{background:#fff6;border:1px solid #fff;padding:8px 18px;box-shadow:0 2px 7px #4633490a}.letter-site>footer.owner-footer .owner-access:hover{background:#ffffff85;text-decoration:none}.layout-editor{margin-bottom:70px}.layout-toolbar{justify-content:space-between;align-items:center;gap:24px;margin:20px 0 30px;display:flex}.layout-editor h1{color:#623a4e!important;margin:0!important;font:38px/1.2 Georgia,serif!important}.layout-toolbar p{color:#775c6a;margin-top:12px;font-size:16px;line-height:1.6}.layout-toolbar small{color:#8b7680;margin-top:5px;font-size:13px;line-height:1.5;display:block}.layout-actions{flex:none;gap:18px;display:flex}.layout-grid .letter-row{overflow:hidden;rotate:none}.layout-grid .letter-row:hover{transform:none}.layout-grid .letter-visual{background:linear-gradient(135deg,#ead5df,#f7efec);min-height:145px}.layout-handle{color:#783e56;touch-action:none;cursor:grab;z-index:2;background:#fff8f5;border:1px solid #cba8b9;border-radius:12px;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:12px;right:12px}.layout-handle:active{cursor:grabbing}.layout-grid .layout-dragging{opacity:.55;border:2px dashed #986078}.layout-grid .layout-drop-target{outline-offset:4px;outline:3px solid #ad6a8a;background:#f7eaf1!important}.layout-size{gap:7px;margin:15px 0;display:flex}.layout-size button{color:#7c4560;background:#fff;border:1px solid #d9c4cf;border-radius:8px;width:38px;height:36px;font-size:14px}.layout-size button[aria-pressed=true]{background:var(--anna-maroon);border-color:var(--anna-maroon);color:#fff}.layout-move{justify-content:space-between;gap:14px;display:flex}.layout-move button{color:#815569;background:0 0;border:0;align-items:center;gap:5px;padding:7px 0;font-size:12px;display:flex}.layout-grid .letter-copy{min-width:0}.layout-grid .letter-copy h2{font-size:17px!important}.layout-grid button:disabled{cursor:default}.layout-editor .error{margin-bottom:20px}@media (max-width:700px){.layout-toolbar{display:block}.layout-actions{justify-content:flex-end;margin-top:20px}.layout-editor h1{font-size:31px!important}.layout-grid .letter-visual{height:125px;min-height:125px}}@media (prefers-reduced-transparency:reduce){.letter-site>.topbar,.letter-site>footer.owner-footer .owner-access{-webkit-backdrop-filter:none;background:#fffafc}}.letters-scene{background:#171b30}.letters-scene:before{content:"";z-index:-1;pointer-events:none;opacity:1;filter:blur(3px);background:linear-gradient(#151b3030,#151b3066),url(/letters-scene-september.webp) 50%/cover no-repeat;position:fixed;inset:-8px}.letters-scene .letter-background{z-index:0}.letters-scene>.topbar{background:linear-gradient(135deg,#ffffff30,#ffffff12 50%,#ffffff26);border-color:#fff6}.letters-scene>.topbar .wordmark,.letters-scene>.topbar .top-note,.letters-scene>.topbar .private{color:#fff4f0;text-shadow:0 1px 4px #171b3066}.letters-scene>.topbar .inside-nav{background:#171b3030}.letters-scene>.topbar .inside-nav a{color:#fff4f0}.letters-scene>.topbar .inside-nav [aria-current=page]{color:#713a52;background:#ffffffce}.letters-scene>.library>.library-heading{-webkit-backdrop-filter:blur(7px);background:#17243840;border:1px solid #ffffff30;box-shadow:0 12px 40px #11162720}.letters-scene>.library>.library-heading:before{background:linear-gradient(#0000,#17233866)}.letters-scene .collection-bar{color:#fff4f0;text-shadow:0 1px 5px #121a30}.letters-scene .collection-bar .count{color:#713a52;text-shadow:none;background:#fff2f0e8}.letters-scene .library-end{text-shadow:0 1px 5px #131b30;color:#fff4f0!important}.letters-scene>footer.owner-footer .owner-access{color:#fff4f0;text-shadow:0 1px 4px #171b30;background:linear-gradient(135deg,#ffffff30,#ffffff12)}.letters-scene .library-end:before{background:#ffe8ed88}@media (max-width:679px){.letters-scene:before{filter:blur(2px);background-position:42%}}.letter-visual .card-envelope{flex:none;width:min(78%,260px);height:100px}.letter-visual .letter-seal{z-index:3;width:38px;height:38px;top:100%;left:50%;transform:translate(-50%,-50%)}.letter-row .letter-copy{padding-top:31px}.letter-visual .letter-seal svg{width:18px;height:18px}@media (min-width:680px){.letter-span-2 .letter-visual .card-envelope,.letter-span-3 .letter-visual .card-envelope{width:min(78%,290px);height:105px}.letter-span-2 .letter-visual .letter-seal,.letter-span-3 .letter-visual .letter-seal{top:50%;left:100%;transform:translate(-50%,-50%)}.letter-span-2 .letter-copy,.letter-span-3 .letter-copy{padding-top:27px;padding-left:38px}}.letter-list .letter-row{flex-direction:column;align-items:stretch}.letter-list .letter-row .letter-visual{background:linear-gradient(150deg, #ffffffb0, transparent 65%), var(--card-tone,#ecdae3);border-bottom:1px solid #e5d5de;border-right:0;flex:none;width:100%;height:125px;min-height:125px;position:relative}.letter-list .letter-row .letter-visual:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(165deg, #ffffffa0, var(--card-tone,#dfbfce));filter:drop-shadow(0 2px 1px #704b6028);position:absolute;inset:0}.letter-list .letter-row .card-envelope{display:none}.letter-list .letter-row .letter-seal{z-index:3;width:40px;height:40px;top:100%;left:50%;transform:translate(-50%,-50%)}.letter-list .letter-row .letter-copy{width:100%;min-height:125px;padding:32px 25px 27px;display:block}.letter-list .letter-row .letter-copy h2{margin-bottom:8px}.layout-grid .letter-row .letter-visual{height:125px;min-height:125px}.layout-grid .letter-row .letter-copy{padding-top:23px}@media (min-width:680px){.letter-list .letter-span-2 .letter-visual,.letter-list .letter-span-3 .letter-visual{height:145px;min-height:145px}.letter-list .letter-span-2 .letter-copy,.letter-list .letter-span-3 .letter-copy{padding:33px 34px 29px}.letter-list .letter-span-2 h2,.letter-list .letter-span-3 h2{font-size:22px}}.hosted-game{width:min(1440px,100%);margin:0 auto;padding:0 16px 16px}.hosted-game-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:12px 4px;display:flex}.hosted-game-toolbar .text-button{align-items:center;gap:7px;display:inline-flex}.hosted-game-frame{background:#1d1230;border:1px solid #ffffff80;border-radius:16px;width:100%;height:calc(100dvh - 165px);min-height:520px;display:block;box-shadow:0 16px 50px #4c193c25}@media (max-width:680px){.hosted-game{padding:0 6px 6px}.hosted-game-frame{border-radius:10px;height:calc(100dvh - 160px);min-height:440px}}.library:not(.owner-dashboard)>.library-heading>.library-game-couple{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;align-items:flex-end;gap:0;max-width:none;padding:0;display:flex;position:absolute;bottom:16px;right:28px}.library-character{filter:drop-shadow(0 5px 6px #16233830);background-repeat:no-repeat;background-size:400% 100%;width:155px;height:155px;animation:1.28s step-end infinite library-character-cycle;display:block}.anna-character{background-image:url(/characters/anna.webp)}.pheng-character{background-image:url(/characters/pheng.webp);animation-delay:-.32s}@keyframes library-character-cycle{0%{background-position:0 0}25%{background-position:33.3333% 0}50%{background-position:66.6667% 0}75%,to{background-position:100% 0}}.library:not(.owner-dashboard)>.library-heading>div:first-child{max-width:calc(100% - 305px)}.video-dialog.music-video-dialog{height:auto;border-radius:24px!important;gap:0!important;width:min(740px,100vw - 28px)!important;max-width:740px!important;max-height:92dvh!important;padding:36px 30px 24px!important;overflow:auto!important}.music-letter-player{flex-direction:column;flex:none;gap:22px;min-height:0;display:flex}.music-letter-player .reveal-stage{perspective:none;flex:none;height:min(43dvh,365px);min-height:160px}.music-letter-player .video-sheet{opacity:1;pointer-events:auto;background:#ead5d0;border-radius:15px;transition:none;transform:none;box-shadow:0 14px 30px #713a521a}.music-letter-player .video-sheet video{border-radius:14px}.music-letter-player .player-bottom{gap:14px;height:auto}.music-letter-player .video-letter-heading{text-align:center;margin:0;padding:0 10px}.music-video-dialog .video-letter-heading h2{overflow-wrap:anywhere;margin:0 0 10px;font-size:26px!important;line-height:1.25!important}.video-letter-details{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 14px;display:flex}.video-letter-details p{color:#8a6370;overflow-wrap:anywhere;max-width:100%;font-size:15px;line-height:1.5}.video-letter-details time{color:#947c83;white-space:nowrap;flex:none;font-size:12px;line-height:1.5}.music-letter-player .player-caption{text-align:center;color:#9c7f75;margin:0;font:italic 15px/1.5 Georgia,serif}.music-letter-player .romantic-controls{height:auto;color:var(--anna-maroon);grid-template-rows:8px 19px 60px;grid-template-columns:40px 1fr 60px 1fr 40px;align-items:center;gap:8px 12px;padding:4px 4px 0;display:grid}.music-letter-player .player-seek{grid-area:1/1/auto/-1;width:100%}.music-letter-player .player-time:nth-child(2){text-align:left;grid-area:2/1/auto/3}.music-letter-player .player-time:nth-child(4){text-align:right;grid-area:2/4/auto/6}.music-letter-player .romantic-controls>button:first-child{width:60px;height:60px;color:var(--anna-maroon);background:#f1dfe5;border:1px solid #d9b7c3;border-radius:50%;grid-area:3/3;box-shadow:0 7px 20px #813b5418}.music-letter-player .romantic-controls>button:first-child:hover{background:#e9ced9}.music-letter-player .romantic-controls>button:nth-child(5){border-radius:50%;grid-area:3/1;width:40px;height:40px}.music-letter-player .player-volume{grid-area:3/2;justify-self:start;display:block;width:min(100%,75px)!important}.music-letter-player .player-download{border-radius:50%;grid-area:3/4;justify-self:end;width:40px;height:40px}.music-letter-player .romantic-controls>button:last-child{border-radius:50%;grid-area:3/5;width:40px;height:40px}.music-letter-player .player-status{text-align:center;min-height:0;margin:0;line-height:1.5}.music-letter-player:-webkit-full-screen{background:#fff5ef;gap:16px;padding:20px;overflow:auto}.music-letter-player:fullscreen{background:#fff5ef;gap:16px;padding:20px;overflow:auto}.music-letter-player:-webkit-full-screen .reveal-stage{flex:1;height:auto;min-height:180px}.music-letter-player:fullscreen .reveal-stage{flex:1;height:auto;min-height:180px}.music-letter-player:-webkit-full-screen .player-bottom{width:min(720px,100%);margin:auto}.music-letter-player:fullscreen .player-bottom{width:min(720px,100%);margin:auto}@media (max-width:1000px){.library-character{width:120px;height:120px}.library:not(.owner-dashboard)>.library-heading>div:first-child{max-width:calc(100% - 230px)}.library:not(.owner-dashboard)>.library-heading>.library-game-couple{right:18px}}@media (max-width:679px){.library:not(.owner-dashboard)>.library-heading{min-height:365px;padding-bottom:145px}.library:not(.owner-dashboard)>.library-heading>div:first-child{max-width:100%}.library:not(.owner-dashboard)>.library-heading>.library-game-couple{bottom:10px;right:50%;transform:translate(50%)}.library-character{width:120px;height:120px}.video-dialog.music-video-dialog{border-radius:20px!important;padding:34px 18px 20px!important}.music-letter-player{gap:19px}.music-letter-player .reveal-stage{height:min(35dvh,270px)}.music-video-dialog .video-letter-heading h2{font-size:23px!important}.music-letter-player .romantic-controls{grid-template-columns:36px 1fr 56px 1fr 36px;gap:8px}.music-letter-player .romantic-controls>button:first-child{width:56px;height:56px}.video-letter-details{gap:5px 12px}}@media (prefers-reduced-motion:reduce){.library-character{animation:none}}.session-lock-screen{min-height:100dvh;color:var(--anna-maroon);text-align:center;background:#fff8f3;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:24px;display:flex}.session-lock-screen h1{font:italic 44px Georgia,serif}.session-lock-screen p{font-size:15px;line-height:1.6}.session-lock-screen .primary{margin-top:8px}.letter-comments{text-align:left;color:#62374b;border-top:1px solid #ddcbd3;min-width:0;margin-top:28px;padding-top:24px;font-size:16px;line-height:1.5}.comments-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.comments-heading h3{align-items:center;gap:8px;margin:0;font:24px/1.3 Georgia,serif;display:flex}.comment-form{flex-direction:column;gap:10px;display:flex}.comment-form label{font-size:14px}.comment-form textarea{resize:vertical;background:#fff;border:1px solid #dfd7dc;border-radius:12px;width:100%;min-height:95px;padding:12px;font-family:inherit;font-size:16px;line-height:1.5}.comment-form small{color:#806775;font-size:13px}.comment-form .primary{align-self:flex-end}.comment-attachment{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.comment-attachment input{max-width:100%;font-size:14px}.comment-selected{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.comment-selected span{overflow-wrap:anywhere;min-width:0}.comment-form progress{width:100%;accent-color:var(--anna-maroon)}.comment-list{gap:16px;margin:22px 0 8px;display:grid}.comment-item{background:#fffdfbd9;border:1px solid #e8dbe1;border-radius:16px;min-width:0;padding:18px}.comment-item h4{overflow-wrap:anywhere;margin:0 0 12px;font:20px/1.3 Georgia,serif}.comment-meta{color:#806775;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:13px;display:flex}.comment-item p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;font-size:16px}.comment-item img,.comment-item video{object-fit:contain;background:#eae1e6;border-radius:10px;width:100%;max-height:360px;margin-top:12px;display:block}.comments-empty{color:#806775;font-size:14px}.owner-comments-dialog{max-height:90dvh;overflow-y:auto;width:min(720px,100vw - 28px)!important;max-width:720px!important}.owner-comments-dialog .letter-comments{margin-top:8px;padding-top:12px}.letter-comments .text-button{min-height:36px}.letter-comments :focus-visible{outline:2px solid var(--anna-maroon);outline-offset:3px}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-spin{animation:.9s linear infinite loading-spin}.comment-attachment{cursor:pointer;background:#f8eef3;border:1px dashed #c6a5b5;border-radius:12px;padding:12px;position:relative}.comment-file-button{background:var(--anna-maroon);color:#fff;border-radius:24px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:inline-flex}.comment-file-name{overflow-wrap:anywhere;color:#806775;flex:1;min-width:120px;font-size:13px}.comment-attachment input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.comment-attachment:focus-within{outline:2px solid var(--anna-maroon);outline-offset:3px}.comment-selected>span{display:none}.blooming-site>.topbar,.blooming-site>footer,.blooming-site>.library{visibility:hidden!important}.tulip-reveal-title{text-shadow:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.letters-scene:before{animation:.65s both scene-photo-in}.letters-scene>.library-arrival{animation:.5s both letter-crossfade}@keyframes scene-photo-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.letters-scene:before,.letters-scene>.library-arrival{animation:none}.loading-spin{animation-duration:1.8s}}.video-play-overlay{color:var(--anna-maroon);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;inset:0}.video-play-overlay.awaiting-frame{background:#2d202515}.video-play-overlay .poster-play{width:60px;height:60px}.player-buffering{pointer-events:none;align-items:center;gap:8px;display:flex}.video-recovery{text-align:center;color:#713a52;background:#fffaf5f2;border-radius:14px;padding:14px;position:absolute;inset:auto 12px 12px}.video-recovery p{margin-bottom:8px;font-size:14px}.music-letter-player .video-sheet video{opacity:1;visibility:visible}.music-letter-player .player-status:empty{display:none}.letter-loading-poster{opacity:1;z-index:1;pointer-events:none;background:radial-gradient(at 35% 25%,#fffaf3,#f0dce7 65%,#dfcee7);flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:opacity .3s;display:flex;position:absolute;inset:0}.letter-loading-poster img{object-fit:contain;mix-blend-mode:multiply;width:clamp(85px,24%,155px);height:58%}.letter-loading-poster>span{color:var(--anna-maroon);font:italic 19px/1.4 Georgia,serif}.letter-loading-poster.has-video{opacity:0}.music-letter-player .video-sheet video{transition:opacity .3s}.music-letter-player .video-sheet video.awaiting-video-frame{opacity:0}.video-play-overlay,.player-buffering,.video-recovery{z-index:2}.video-play-overlay.awaiting-frame .poster-play{width:48px;height:48px;transform:translateY(55px)}.video-sheet .player-buffering{bottom:10px}.letter-row.is-unsealing{pointer-events:none}.letter-row.is-unsealing .letter-visual{perspective:700px;overflow:visible}.letter-row.is-unsealing .letter-visual:before{transform-origin:50% 0;animation:.36s ease-out both card-flap-open}.letter-row.is-unsealing .letter-seal{animation:.24s both card-seal-lift}.letter-row.is-unsealing .letter-copy{animation:.36s both card-note-lift}@keyframes card-flap-open{to{opacity:.2;transform:rotateX(150deg)}}@keyframes card-seal-lift{to{opacity:0;translate:0 -10px;scale:.8}}@keyframes card-note-lift{to{translate:0 -7px}}@media (prefers-reduced-motion:reduce){.letter-loading-poster,.music-letter-player .video-sheet video{transition:none}.letter-row.is-unsealing .letter-visual:before,.letter-row.is-unsealing .letter-seal,.letter-row.is-unsealing .letter-copy{animation:none}}.tulip-bloom{background:url(/tulip-sketch.webp) 50%/contain no-repeat}.owner-view-count{color:var(--anna-maroon);align-items:center;gap:6px;margin-top:12px;font-size:.875rem;font-weight:500;display:inline-flex}.owner-views-note{color:var(--muted-foreground);margin-top:18px;font-size:.8125rem;line-height:1.6}.owner-letter .owner-last-opened{color:var(--muted-foreground);margin-top:6px;font-size:.8125rem;line-height:1.5}@media (max-width:800px){.password-only{background-image:url(/anna-garden-800.webp)}.game-entry{background-image:linear-gradient(#23465022,#23344c33),url(/anna-garden-800.webp)}.letters-scene:before{background-image:linear-gradient(#151b3030,#151b3066),url(/letters-scene-september-800.webp)}}.library-game-couple .library-character{flex:none;width:clamp(64px,7.5vw,100px);height:clamp(64px,7.5vw,100px)}.library-game-couple .extra-anna{animation-delay:-.64s;transform:scaleX(-1)}.library-game-couple .extra-pheng{animation-delay:-.96s;transform:scaleX(-1)}@media (min-width:680px){.library:not(.owner-dashboard)>.library-heading>div:first-child{max-width:calc(100% - clamp(270px,31vw,415px))}}@media (max-width:679px){.library-game-couple .library-character{width:min(23vw,105px);height:min(23vw,105px)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}:root{--anna-ui-font:"Avenir Next", "Trebuchet MS", Arial, sans-serif;--anna-muted:#78636d;--anna-line:#dccbd2;--anna-shadow:0 18px 48px #45243416;--anna-ease:cubic-bezier(.2, .7, .2, 1)}html{scroll-padding-top:calc(100px + env(safe-area-inset-top))}body{font-family:var(--anna-ui-font);line-height:1.5}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}button,input,textarea,select{font-family:inherit}.primary,.text-button,.owner-access,.letter-search-toggle,.inside-nav a,.inside-nav button{transition:background-color .18s ease, color .18s ease, box-shadow .22s ease, transform .18s var(--anna-ease)}.primary{letter-spacing:.01em;font-weight:600;box-shadow:0 5px 14px #813b5420}.primary:not(:disabled):active,.text-button:not(:disabled):active,.owner-access:active{transform:translateY(1px)}.primary:not(:disabled):hover{box-shadow:0 8px 20px #813b542c}:where(button,a,input,textarea,select):focus-visible{outline-offset:4px;outline:3px solid #aa5c79}.skip-link{z-index:60;color:#653348;box-shadow:var(--anna-shadow);background:#fffaf8;border-radius:10px;padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}#main-content:focus{outline:none}.site>.topbar{top:max(12px, env(safe-area-inset-top));z-index:10;border-radius:24px;flex-shrink:0;width:min(1160px,100% - 40px);min-height:72px;padding-inline:clamp(16px,3vw,28px);position:sticky;box-shadow:inset 0 1px #ffffff91,inset 0 -1px #ffffff21,0 12px 36px #30233319}.site>.topbar .inside-nav{border-radius:15px;padding:4px}.inside-nav :is(a,button){border-radius:11px;justify-content:center;align-items:center;min-height:42px;display:inline-flex}.site>.topbar .wordmark{font-size:28px}.site>.topbar .top-note{line-height:1.25}.owner-footer .owner-access{min-height:44px;padding:10px 17px;box-shadow:inset 0 1px #fff8,0 6px 22px #45243418}.password-only .simple-entry{min-height:0;padding-block:clamp(44px,8vh,88px) 72px}.password-scene{align-items:center;gap:clamp(24px,5vw,64px)}.password-panel{border-radius:26px;width:min(100%,440px);padding:clamp(26px,4vw,42px);box-shadow:inset 0 1px #fff,0 24px 64px #33253629}.password-panel h1{letter-spacing:-1.5px;font-size:clamp(42px,5vw,56px);line-height:1.05}.password-subtitle{font-family:var(--anna-ui-font);color:var(--anna-muted);margin-block:14px 32px;font-size:16px;line-height:1.6}.password-panel label{margin-bottom:8px;font-weight:600}.password-panel .password{border-color:var(--anna-line);min-height:54px;box-shadow:inset 0 1px 3px #45243405}.password-panel .password:focus-within{border-color:var(--anna-maroon);box-shadow:0 0 0 3px #813b5412}.password-panel .hint{color:#78445a;margin-block:12px 22px;font-size:14px}.password-panel .primary{min-height:50px}.library{margin-top:30px}.library:not(.owner-dashboard)>.library-heading{border-radius:26px;min-height:260px;margin-bottom:28px;padding:34px}.library:not(.owner-dashboard)>.library-heading>div:first-child{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}.library:not(.owner-dashboard) h1{letter-spacing:-1.1px;font-size:clamp(34px,4vw,48px);line-height:1.12}.library:not(.owner-dashboard) .eyebrow{text-transform:none;letter-spacing:.035em;opacity:.9;margin-bottom:14px;font-size:14px}.library:not(.owner-dashboard) .library-heading p{max-width:38ch;font-size:16px;line-height:1.6}.library:not(.owner-dashboard) .library-heading>.text-button{min-height:44px;font-size:14px;top:20px;right:24px}.letters-scene>.library>.library-heading{box-shadow:inset 0 1px #ffffff38,0 12px 36px #3023331c}.letter-carousel .collection-bar{flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:18px}.collection-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.collection-actions .letter-search-toggle{border-radius:12px;min-height:42px;padding:9px 14px;font-size:14px;font-weight:500}.count,time,progress,.owner-view-count,.player-time{font-variant-numeric:tabular-nums}.carousel-search-panel{box-shadow:var(--anna-shadow);border-radius:18px}.owner-dashboard{padding-bottom:48px}.owner-dashboard>.library-heading{align-items:end;gap:24px}.owner-dashboard h1{letter-spacing:-1px;font-size:clamp(32px,4vw,46px);line-height:1.13}.owner-dashboard .eyebrow{letter-spacing:.08em;margin-bottom:14px;font-size:13px}.owner-dashboard .library-heading p{max-width:55ch;color:var(--anna-muted)}.owner-toolbar{border-block:1px solid var(--anna-line);flex-wrap:wrap;align-items:center;gap:8px;margin:24px 0;padding:20px 0 24px;display:flex}.owner-toolbar .text-button{background:0 0;border-color:#0000;border-radius:10px;min-height:44px;padding:10px 12px;font-size:14px}.owner-toolbar .text-button:hover{color:#653348;background:#f1e6eb}.owner-toolbar .primary{border-radius:12px;margin-right:8px}.owner-list{gap:14px;display:grid}.owner-letter{border:1px solid #e5d9de;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:26px 28px;display:grid;box-shadow:0 5px 20px #45243405}.owner-letter h2{color:#523140;margin:6px 0 10px;font:400 25px/1.3 Georgia,serif}.owner-letter p{max-width:65ch;color:var(--anna-muted);line-height:1.65}.owner-letter .letter-date{letter-spacing:.02em;color:var(--anna-muted);font-size:13px}.owner-letter-actions{align-self:start;gap:10px;padding-top:4px}.owner-letter-actions .primary{color:#733c53;min-height:42px;box-shadow:none;background:#f2e5eb;border-radius:10px}.owner-letter-actions .primary:hover{background:#e8d4df}.owner-letter-analytics{border-top:1px solid #ece2e7;flex-wrap:wrap;align-items:center;gap:6px 20px;margin-top:18px;padding-top:14px;display:flex}.owner-letter-analytics .owner-view-count{margin:0;font-size:14px;font-weight:600}.owner-letter-analytics .owner-last-opened{margin:0;font-size:13px}.form-dialog{border-radius:24px!important;padding:clamp(24px,4vw,36px)!important;box-shadow:0 24px 80px #4524342b!important}.form-dialog h2{letter-spacing:-.5px}.form-dialog form{gap:20px}.form-dialog label{gap:9px;font-weight:500}.form-dialog :is(input,textarea){border-color:var(--anna-line);background:#fffefc;min-height:48px}.form-dialog textarea,.comment-form textarea{line-height:1.65}.form-dialog input[type=file]{color:var(--anna-muted);border-style:solid;padding:10px}.form-dialog input[type=file]::file-selector-button{color:#733c53;font:500 14px var(--anna-ui-font);cursor:pointer;background:#f1e2e9;border:0;border-radius:8px;margin-right:12px;padding:10px 13px}.error{background:#ae3b4e0c;border-left:3px solid #a84658;border-radius:10px;padding:12px 15px;line-height:1.6}.comment-item{background:#f7f0f3;border:0;border-left:2px solid #d5b1c1;border-radius:0 12px 12px 0;padding:18px 20px}.comment-meta{color:#755d69;font-size:13px}.comment-meta strong{color:#67384c;font-weight:600}.comments-heading{margin-bottom:22px}.empty{border:1px solid var(--anna-line);box-shadow:var(--anna-shadow);background:#fffaf8ed;border-radius:22px;padding:52px 24px}.empty p{max-width:48ch;color:var(--anna-muted);margin-inline:auto}@media (max-width:679px){.site>.topbar{border-radius:20px;gap:10px;width:calc(100% - 24px);margin-top:12px;padding-inline:14px}.site>.topbar .wordmark{font-size:24px}.inside-nav :is(a,button){padding-inline:13px}.password-only .simple-entry{padding:24px 18px 68px}.password-scene{gap:8px}.password-panel{padding:28px 24px}.library{width:calc(100% - 28px);margin-top:22px}.library:not(.owner-dashboard)>.library-heading{border-radius:22px;align-items:start;min-height:355px;padding:74px 24px 130px}.library:not(.owner-dashboard)>.library-heading>div:first-child{max-width:100%}.library:not(.owner-dashboard) .library-heading>.text-button{top:15px;right:16px}.letter-carousel .collection-bar{align-items:flex-start;gap:12px}.collection-actions{width:100%}.collection-actions .letter-search-toggle{flex:1;padding-inline:10px}.owner-dashboard>.library-heading{flex-direction:column;align-items:start;display:flex}.owner-dashboard .library-heading .text-button{margin-top:0}.owner-letter{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px}.owner-letter-actions{border-top:1px solid #ece2e7;justify-content:flex-end;padding-top:14px}}@media (prefers-reduced-motion:reduce){.primary,.text-button,.owner-access,.letter-search-toggle,.inside-nav a,.inside-nav button{transition:none}.primary:active,.text-button:active,.owner-access:active{transform:none}}.our-clock{color:#fff4f0;-webkit-backdrop-filter:blur(14px);background:#30233842;border:1px solid #ffffff40;border-radius:22px;margin:0 0 28px;padding:20px 26px;box-shadow:inset 0 1px #ffffff36,0 8px 26px #30233314}.our-clock-label{align-items:center;gap:8px;margin-bottom:14px;font-size:14px;display:flex}.our-clock-cities{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.our-clock-city{flex-direction:column;gap:5px;min-width:0;display:flex}.our-clock-city+.our-clock-city{border-left:1px solid #ffffff30;padding-left:24px}.our-clock-person{font-size:14px;font-weight:600}.our-clock-person>span{font-weight:400}.our-clock-city time,.our-clock-placeholder{font-variant-numeric:tabular-nums;white-space:nowrap;font:400 clamp(28px,3.5vw,38px)/1.2 Georgia,serif}.our-clock-date{color:#f2e2e9;font-size:13px;line-height:1.5}.our-clock-difference{border-top:1px solid #ffffff26;align-items:center;gap:8px;margin-top:18px;padding-top:14px;font-size:14px;line-height:1.5;display:flex}.our-clock-difference svg{flex-shrink:0}@media (max-width:479px){.our-clock{padding:18px}.our-clock-cities{gap:14px}.our-clock-city+.our-clock-city{padding-left:14px}.our-clock-person>span{display:block}}.library:not(.owner-dashboard) .library-heading .eyebrow{align-items:center;max-width:calc(100% - 235px);min-height:44px;margin:0;line-height:1.3;display:flex;position:absolute;top:20px;left:34px}@media (max-width:679px){.library:not(.owner-dashboard) .library-heading .eyebrow{max-width:calc(100% - 205px);top:15px;left:24px}}.anna-upload-area{background:#ebf7f1e0;border:1px solid #9fbdb2;border-radius:22px;justify-content:space-between;align-items:center;gap:24px;margin:24px 0 32px;padding:24px 28px;display:flex;box-shadow:0 8px 28px #355f4c0c}.anna-upload-area h2{color:#345c4d;margin:8px 0 4px;font-size:25px}.anna-upload-area p{color:#536d61;margin:0}.anna-sender-badge{color:#345c4d;letter-spacing:.06em;background:#e7f3ec;border:1px solid #accbbf;border-radius:99px;align-items:center;padding:4px 10px;font:600 11px/1.3 sans-serif;display:inline-flex}.anna-upload-area .primary,.anna-upload-dialog .primary{color:#fff;background:#426e5b}.letter-from-anna{--card-tone:#cee4d8!important}.letter-from-anna .letter-seal{background:#426e5b!important}.letter-copy .anna-sender-badge{margin:0 auto 8px}.envelope-views{color:#74596a;justify-content:center;align-items:center;gap:5px;margin-top:12px;font:400 12px/1.5 sans-serif;display:flex}@media (max-width:600px){.anna-upload-area{flex-direction:column;align-items:stretch;gap:16px;padding:20px}.anna-upload-area .primary{justify-content:center}}.jar-heading{text-align:center;max-width:700px;margin:22px auto 38px}.jar-heading h1{margin:12px 0;font-size:clamp(34px,5vw,54px);line-height:1.2}.jar-heading p{color:#795b69}.jar-layout{grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr);align-items:start;gap:48px;display:grid}.jar-display{text-align:center;padding:22px}.jar-display>.primary{margin:16px auto;display:flex}.dream-jar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(115deg,#ffffff9c,#f3dce559 48%,#ffffff91);border:2px solid #ffffffbc;border-radius:35px 35px 55px 55px;width:220px;height:270px;margin:30px auto;position:relative;box-shadow:inset 10px 0 16px #fff8,inset -8px 0 18px #ab77801c,0 18px 45px #693f5020}.jar-lid{background:repeating-linear-gradient(90deg,#ba8e6e 0 3px,#cba88a 3px 8px);border:1px solid #9d7456;border-radius:8px;height:25px;position:absolute;top:-18px;left:15px;right:15px}.jar-slips{flex-wrap:wrap;place-content:flex-end center;gap:6px;height:100%;padding:24px;display:flex}.jar-slips span{color:#98475f;background:#e7bccb;border-radius:3px;width:44px;height:32px;box-shadow:0 2px 5px #6d46551c}.jar-slips span:nth-child(2n){background:#e2eadb}.jar-label{color:#893e55;background:#fff9efed;border:1px solid #d7baa1;flex-direction:column;align-items:center;gap:9px;padding:18px 10px;font:italic 21px Georgia,serif;display:flex;position:absolute;inset:85px 22px auto;box-shadow:0 3px 8px #6d46550d}.jar-form{background:#fffaf4e6;border:1px solid #dec8ce;border-radius:20px;gap:14px;padding:24px;display:grid}.jar-form label{color:#873e54;font:italic 25px Georgia,serif}.jar-form textarea{color:#533e48;resize:vertical;width:100%;font:inherit;background:#fffdf9;border:1px solid #d9bcc7;border-radius:12px;padding:14px}.jar-form .primary{justify-self:start}.jar-idea-list{gap:14px;margin-top:22px;padding:0;list-style:none;display:grid}.jar-idea{overflow-wrap:anywhere;background:#fff7eefa;border:1px solid #e0c8c7;border-radius:6px 18px 18px;padding:20px 22px;box-shadow:0 4px 14px #7849570b}.jar-idea p{margin:0 0 14px;font:20px/1.5 Georgia,serif}.jar-idea>div{color:#7f636f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.jar-idea.completed{background:#edf4ed}.jar-idea.completed>p{color:#61766b}.jar-picked{overflow-wrap:anywhere;background:#fff8ef;border:1px solid #d6b3bd;border-radius:14px;margin-top:22px;padding:24px}.jar-picked p{font:italic 23px/1.5 Georgia,serif}.jar-empty{text-align:center;color:#785968;padding:24px}@media (max-width:700px){.jar-layout{grid-template-columns:1fr;gap:20px}.jar-display{padding:0}.dream-jar{width:175px;height:205px}.jar-label{padding:12px;font-size:18px;inset:60px 15px auto}.jar-heading{margin-bottom:14px}.inside-nav{flex-wrap:wrap}.jar-form{padding:20px}}.letters-scene>.topbar .inside-nav :is(a,button){color:#fff4f0}.letters-scene>.topbar .inside-nav [aria-current=page]{color:#713a52}.jar-display>p,.meeting-jar .jar-empty{color:#593a49;background:#fff8f0f2;border:1px solid #e0c8ce;border-radius:14px;padding:15px 20px;line-height:1.6;box-shadow:0 4px 18px #21152414}.jar-name-card{color:#593a49;background:#fff8f0f5;border:1px solid #e0c8ce;border-radius:24px;max-width:440px;margin:50px auto;padding:32px;box-shadow:0 16px 50px #21152420}.jar-name-card h1{margin:18px 0;font:italic 32px/1.2 Georgia,serif}.jar-name-card p{line-height:1.6}.jar-name-card form{gap:12px;margin-top:24px;display:grid}.jar-name-card input{color:#533e48;width:100%;font:inherit;background:#fffdf9;border:1px solid #d9bcc7;border-radius:10px;padding:13px}.jar-name-card .primary{margin-top:8px}.jar-signing{color:#795b69;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.site>.topbar{-webkit-backdrop-filter:blur(28px)saturate(125%)}.site.letter-site>.topbar{background:linear-gradient(135deg,#3f354bf5,#503e53f2);border-color:#ffffff65}.site.password-only>.topbar{background:#fff5eff2}.site.letter-site>.topbar :is(.wordmark,.top-note),.site.letter-site>.topbar .inside-nav :is(a,button){color:#fff4f0}.site.letter-site>.topbar .inside-nav [aria-current=page]{color:#713a52;background:#fff4ef}.library.meeting-jar .jar-name-card{color:#593a49;background:#fff8f0}.library.meeting-jar .jar-name-card h1{color:#873e54;text-shadow:none}.library.meeting-jar .jar-name-card :is(p,label){color:#593a49;text-shadow:none}.jar-name-options{grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;display:grid}.library.meeting-jar .jar-heading>:is(p,.eyebrow){color:#593a49;text-shadow:none;opacity:1;background:#fff8f0;border-radius:16px;margin:12px auto;padding:8px 16px;display:table}.jar-display>.jar-pick-button{color:#873e54;background:#fff8f0;border:1px solid #d7b4c1;box-shadow:0 5px 18px #21152420}.jar-display>.jar-pick-button:hover:not(:disabled){background:#fff}.jar-display>.jar-pick-button:disabled{opacity:.45;cursor:not-allowed}.dream-jar .jar-slips{padding:0;display:block;position:absolute;inset:0}.dream-jar .jar-slips span{background:var(--slip-color);width:47px;height:29px;transform:rotate(var(--slip-angle));border:1px solid #a7828e50;line-height:27px;position:absolute;box-shadow:1px 3px 4px #412a4126}.dream-jar .jar-slips span:after{content:"";background:linear-gradient(155deg,#0000 48%,#fff9 49%,#0001 52%,#0000 54%);border-radius:3px;position:absolute;inset:0}.dream-jar .jar-label{padding:12px 10px;inset:36px 22px auto}.jar-lifting-slip{color:#873e54;z-index:4;background:#eac4d1;border:1px solid #b9909e;border-radius:3px;width:54px;height:34px;line-height:34px;animation:.7s ease-in-out both jar-slip-lift;position:absolute;bottom:30px;left:calc(50% - 27px)}@keyframes jar-slip-lift{0%{opacity:1;transform:translateY(0)rotate(-10deg)}70%{opacity:1;transform:translateY(-250px)rotate(8deg)}to{opacity:0;transform:translateY(-275px)rotate(0)}}.jar-picked{animation:.3s ease-out both jar-note-reveal}@keyframes jar-note-reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.library-intro-strip{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff4f0;background:#342d43d9;border:1px solid #ffffff45;border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:24px;margin-bottom:16px;padding:18px 22px;display:grid}.library .library-intro-strip .library-heading{min-height:0;box-shadow:none;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;padding:0;display:flex;position:relative}.library .library-intro-strip .library-heading>div:first-child{background:0 0;border:0;flex:230px;max-width:none;margin:0;padding:0}.library .library-intro-strip .library-heading .eyebrow{color:#fff4f0;max-width:none;min-height:0;margin:0 0 6px;position:static}.library .library-intro-strip h1{color:#fff4f0;margin:0;font-size:clamp(27px,3vw,36px)}.library .library-intro-strip .library-heading>.text-button{color:#fff4f0;order:3;min-height:32px;padding:4px 0;font-size:12px;position:static}.library .library-intro-strip .library-game-couple{background:0 0;border:0;flex:none;justify-content:center;align-items:center;gap:0;min-height:0;margin:0;padding:0;display:flex;position:static}.library-intro-strip .library-game-couple .library-character{background-size:400% 100%;width:42px;height:42px}.library-intro-strip .our-clock{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-left:1px solid #ffffff35;border-radius:0;margin:0;padding:0 0 0 20px}.library-intro-strip .our-clock-label{margin-bottom:6px;font-size:12px}.library-intro-strip .our-clock-cities{gap:14px}.library-intro-strip .our-clock-city{gap:2px}.library-intro-strip .our-clock-city+.our-clock-city{padding-left:14px}.library-intro-strip .our-clock-city time{font-size:25px}.library-intro-strip .our-clock-person,.library-intro-strip .our-clock-date{font-size:12px}.library-intro-strip .our-clock-difference{margin:7px 0 0;padding-top:7px;font-size:12px}.carousel-stage .carousel-slot:not(.is-current) .letter-copy{opacity:0;transition:opacity .25s}.carousel-stage .carousel-slot.is-current .letter-copy{opacity:1;transition:opacity .25s}.carousel-stage .letter-row{background-color:#fff8ef}.search-highlight .letter-row{outline-offset:4px;outline:3px solid #b57391;box-shadow:0 0 0 7px #fff8efb3!important}.letter-grid-view>div,.carousel-stage{scroll-margin-top:130px}@media (max-width:760px){.library-intro-strip{grid-template-columns:1fr;gap:12px;padding:16px}.library-intro-strip .our-clock{border-top:1px solid #ffffff35;border-left:0;padding:12px 0 0}.library-intro-strip .our-clock-person>span{display:inline}.library-intro-strip .our-clock-cities{gap:12px}.library .library-intro-strip .library-heading>div:first-child{flex-basis:200px}.library-intro-strip .library-game-couple .library-character{width:30px;height:30px}}@media (prefers-reduced-motion:reduce){.jar-lifting-slip,.jar-picked{animation:none}.carousel-stage .letter-copy{transition:none!important}}.library.meeting-jar .jar-picked{background:#fff8f0}.library.meeting-jar .jar-picked>.eyebrow{color:#873e54;opacity:1;text-shadow:none}.jar-reveal-actions{border-top:1px solid #dec8ce;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.jar-done-button{color:#713a52;background:#f4e3e8;border:1px solid #b58898;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;display:inline-flex}.jar-done-button:hover:not(:disabled){background:#ecd2dd}.jar-done-button:disabled{opacity:.55}.jar-list-heading,.jar-done-section>summary{color:#593a49;background:#fff8f0f5;border:1px solid #dec8ce;border-radius:14px;align-items:center;gap:10px;margin-top:24px;padding:14px 18px;font:24px/1.3 Georgia,serif;display:flex}.jar-list-heading span,.jar-done-section>summary span{background:#f4e3e8;border-radius:20px;padding:3px 9px;font:600 13px/1.4 sans-serif}.jar-done-section>summary{cursor:pointer;font-size:20px;list-style:inside disclosure-closed;display:list-item}.jar-done-section[open]>summary{list-style-type:disclosure-open}.jar-open-note{color:#593a49;background:#fff8f0e8;border-radius:10px;padding:10px 14px;font-size:13px}.jar-item-actions{gap:14px;margin-top:10px;display:flex}.jar-edit-form{gap:10px;display:grid}.jar-edit-form textarea{resize:vertical;color:#593a49;width:100%;min-height:100px;font:inherit;background:#fffdf9;border:1px solid #cba7b6;border-radius:10px;padding:12px}.jar-delete-confirm{border:1px solid #cba7b6;border-radius:10px;margin-top:10px;padding:12px}.jar-delete-confirm p{font-size:15px}.jar-delete-confirm button{margin-right:12px}.meeting-jar .dream-jar{-webkit-backdrop-filter:none;isolation:isolate;background:linear-gradient(115deg,#fff9efeb,#f5e6eadb 55%,#fffaf0eb);box-shadow:inset 5px 0 10px #fff9,inset -5px 0 12px #ab778015,0 14px 35px #693f501c}.dream-jar .jar-slips span{border-radius:4px;width:58px;height:36px;line-height:34px;box-shadow:1px 3px 5px #412a412b}.jar-lifting-slip{width:58px;height:36px}@media (max-width:700px){.dream-jar .jar-slips span{width:48px;height:32px;line-height:30px}}
