/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-rose-100:#ffe8f0;--color-rose-200:#f8dce7;--color-rose-300:#f3c8d8;--color-rose-400:#e8b8cc;--color-rose-500:#d99bb6;--spacing:4px;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink-900:#2e1522;--color-ink-700:#4a2338;--color-ink-500:#6e3a54;--color-ink-300:#9a6480;--color-rose-050:#fff3f8;--color-iris-pink:#ff9ec7;--color-iris-magenta:#e85fa8;--color-iris-violet:#9b6bd6;--color-iris-blue:#6c8fe8;--color-gold-200:#f4e3c8;--color-glow-white:#fff;--font-display:"Cormorant Garamond Variable", "Cormorant Garamond", Georgia, serif;--font-blackletter:"UnifrakturMaguntia", "Cormorant Garamond Variable", Georgia, serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html,body{overscroll-behavior:none;height:100%;margin:0}body{font-family:var(--font-display);color:var(--color-ink-700);background-color:var(--color-rose-200);-webkit-font-smoothing:antialiased}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.sticky{position:sticky}.-inset-\[4\%\]{inset:-4%}.inset-0{inset:0}.top-0{top:0}.top-\[38\%\]{top:38%}.top-\[calc\(16px\+env\(safe-area-inset-top\)\)\]{top:calc(16px + env(safe-area-inset-top))}.right-0{right:0}.right-\[3vw\]{right:3vw}.right-\[calc\(16px\+env\(safe-area-inset-right\)\)\]{right:calc(16px + env(safe-area-inset-right))}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-\[3vw\]{left:3vw}.row-3{grid-row:3}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-\[0\.7em\]{height:.7em}.h-\[7px\]{height:7px}.h-\[90\%\]{height:90%}.h-\[110\%\]{height:110%}.h-full{height:100%}.w-5{width:calc(var(--spacing) * 5)}.w-9{width:calc(var(--spacing) * 9)}.w-\[0\.7em\]{width:.7em}.w-\[5px\]{width:5px}.w-\[260\%\]{width:260%}.w-\[300\%\]{width:300%}.w-full{width:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.place-items-center{place-items:center}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display)}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.9375rem\]{font-size:.9375rem}.tracking-\[0\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-ink-500{color:var(--color-ink-500)}.text-ink-700{color:var(--color-ink-700)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-60{opacity:.6}.opacity-\[0\.035\]{opacity:.035}.mix-blend-overlay{mix-blend-mode:overlay}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:opacity-100:hover{opacity:1}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-offset-6:focus-visible{outline-offset:6px}.focus-visible\:outline-ink-700:focus-visible{outline-color:var(--color-ink-700)}.active\:cursor-grabbing:active{cursor:grabbing}@media (width>=48rem){.md\:text-\[0\.9375rem\]{font-size:.9375rem}.md\:text-\[1\.0625rem\]{font-size:1.0625rem}}}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-cyrillic-ext-wght-normal-Bg62sWL9.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-cyrillic-wght-normal-BWCqVJN0.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-vietnamese-wght-normal-CDLFB6hb.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-latin-ext-wght-normal-ltf1AbuM.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-latin-wght-normal-CUoBjw-S.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Variable;font-style:italic;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-cyrillic-ext-wght-italic-1rG_WyvK.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond Variable;font-style:italic;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-cyrillic-wght-italic-C5ZlGLFt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond Variable;font-style:italic;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-vietnamese-wght-italic-1M78L1Br.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond Variable;font-style:italic;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-latin-ext-wght-italic-PWzi_-0y.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond Variable;font-style:italic;font-display:swap;font-weight:300 700;src:url(/assets/cormorant-garamond-latin-wght-italic-C-nL33vl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:UnifrakturMaguntia;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/unifrakturmaguntia-latin-400-normal-ColWi6tl.woff2)format("woff2"),url(/assets/unifrakturmaguntia-latin-400-normal-BmHZTSVP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--key-aspect:.4545;--key-h:clamp(360px, 52svh, 480px);--key-w:calc(var(--key-h) * var(--key-aspect))}@media (width>=768px){:root{--key-h:clamp(420px, 66svh, 660px)}}@media (height<=520px){:root{--key-h:clamp(240px, 78svh, 400px)}}.scene{touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;inset:0;overflow:clip}.door{background:radial-gradient(60% 45% at 50% 32%, #ffffffd9, transparent 70%), linear-gradient(170deg, var(--color-rose-100), var(--color-rose-200) 45%, var(--color-rose-300));place-items:center;display:grid}.door-line{text-align:center;text-wrap:balance;max-width:22rem;color:var(--color-ink-700);margin:0 16px;font-size:1.375rem;font-style:italic;line-height:1.3}.key-anchor{margin-left:calc(var(--key-w) / -2);margin-top:calc(var(--key-h) / -2);width:var(--key-w);height:var(--key-h);position:absolute;top:calc(50% - 4svh);left:50%}.key-anchor button{background:0 0;border:0;padding:0}.key-ground{margin-left:calc(var(--key-w) / -2);margin-top:calc(var(--key-h) / -2);width:var(--key-w);height:var(--key-h);pointer-events:none;position:absolute;top:calc(50% - 4svh);left:50%}@media (height<=520px){.key-ground{top:50%}}.contact-shadow{width:calc(var(--key-w) * .55);height:calc(var(--key-w) * .1375);margin-left:calc(var(--key-w) * -.275);margin-top:calc(var(--key-w) * -.06875);pointer-events:none;background:radial-gradient(#9a648047,#0000 70%);position:absolute;top:calc(100% + 18px);left:50%}@media (height<=520px){.key-anchor{top:50%}}.particle{width:var(--particle-size);height:var(--particle-size);margin:calc(var(--particle-size) / -2) 0 0 calc(var(--particle-size) / -2);opacity:0;background-repeat:no-repeat;background-size:contain;position:absolute;top:50%;left:50%}.particle[data-kind=spark]{--particle-size:6px;background-image:radial-gradient(circle,#fff 0 35%,#ff9ec7d9 60%,#0000 72%);border-radius:9999px}.particle[data-kind=petal]{--particle-size:11px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ff9ec7'/%3E%3Cstop offset='1' stop-color='%23e85fa8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M5 0C8 4 10 7 10 9.5A5 4.5 0 0 1 0 9.5C0 7 2 4 5 0Z' fill='url(%23g)'/%3E%3C/svg%3E")}.particle[data-kind=mote]{--particle-size:12px;background-image:radial-gradient(circle,#fff 0 40%,#fff3f8cc 60%,#fff3f800 100%);border-radius:9999px}.particle[data-kind=shard]{--particle-size:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%232e1522' stroke-opacity='.35' stroke-width='1'%3E%3Ccircle cx='6' cy='3.6' r='2.4'/%3E%3Ccircle cx='3.6' cy='7.6' r='2.4'/%3E%3Ccircle cx='8.4' cy='7.6' r='2.4'/%3E%3C/g%3E%3C/svg%3E")}.particle[data-kind=heart]{--particle-size:9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 35'%3E%3Cpath d='M18 35C10 28 0 21 0 11C0 4 5 0 10 0C14 0 17 3 18 6C19 3 22 0 26 0C31 0 36 4 36 11C36 21 26 28 18 35Z' fill='%23e85fa8' fill-opacity='.7'/%3E%3C/svg%3E")}.concentration-light{width:calc(var(--key-h) * 1.2);height:calc(var(--key-h) * 1.2);margin-left:calc(var(--key-h) * -.6);margin-top:calc(var(--key-h) * -.6);opacity:0;position:absolute;top:calc(50% - 4svh);left:50%}@media (height<=520px){.concentration-light{top:50%}}.ornament-corner{transform-origin:50%;width:clamp(140px,30vw,260px);height:clamp(140px,30vw,260px)}.ornament-window{width:22.4svh;height:56svh;margin-top:-28svh;position:absolute;top:50%}.ornament-rosette{width:min(60vw,360px);height:min(60vw,360px);margin-top:calc(min(60vw,360px)/-2.85714);margin-left:calc(min(60vw,360px)/-2);position:absolute;top:0;left:50%}.light-drift{animation:90s ease-in-out infinite alternate light-drift}@keyframes light-drift{0%{transform:translate(-1.5%,-1%)}to{transform:translate(1.5%,1.5%)}}@media (prefers-reduced-motion:reduce){.light-drift{animation:none}}.hud-hint{left:16px;right:16px;top:calc(50% - 4svh + var(--key-h) / 2 + 32px);text-align:center;white-space:nowrap;position:absolute}.reward-card{text-align:center;color:var(--color-ink-700);outline:none;flex-direction:column;align-items:center;display:flex;position:absolute}.card-frame{filter:drop-shadow(0 24px 48px #6e3a5438);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.card-paper{fill:#fff3f8;stroke:#2e152259;stroke-width:1px}.card-rule{fill:none;stroke:#2e152229;stroke-width:1px}.reward-card{transition:color .3s}.card-waiting,.card-content{flex-direction:column;flex:1;align-items:center;width:100%;display:flex;position:relative}.card-waiting{justify-content:center;gap:16px}.card-column{flex-direction:column;align-items:center;width:100%;display:flex}.card-column+.card-column{margin-top:24px}.card-line-1{text-wrap:balance;font-size:clamp(1.75rem,7vw,2.5rem);font-style:italic;font-weight:300;line-height:1.15}.card-line-2{letter-spacing:.04em;text-wrap:balance;margin-top:12px;font-size:clamp(1rem,4vw,1.25rem);font-weight:300}.card-glyph{color:var(--color-ink-700);display:block}.card-title{margin-top:8px;font-size:clamp(1.25rem,5vw,1.625rem);font-weight:500;line-height:1.15}.card-description{max-width:30ch;color:var(--color-ink-500);margin-top:8px;font-size:.9375rem;line-height:1.55}.card-secret-content{white-space:pre-line;max-width:30ch;color:var(--color-ink-700);overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;flex:auto;min-height:4.5em;margin-top:12px;font-size:.9375rem;line-height:1.55;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 0 calc(100% - 2em),#0000);mask-image:linear-gradient(#000 0 calc(100% - 2em),#0000)}.card-secret-content.is-end{-webkit-mask-image:none;mask-image:none}.card-secret-content::-webkit-scrollbar{display:none}.card-secret-content p+p{margin-top:.75em}.card-secret-content:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:4px}.card-content{min-height:0}.card-column:has(.card-secret-content){flex:auto;min-height:0}.card-column>div:has(>.card-secret-content){flex-direction:column;flex:auto;align-items:center;min-height:0;display:flex}.card-secret-message{letter-spacing:.05em;max-width:30ch;color:var(--color-ink-500);margin-top:12px;font-size:.875rem;font-style:italic}.card-signature{font-family:var(--font-blackletter);letter-spacing:.06em;color:var(--color-ink-500);margin-top:24px;font-size:clamp(1rem,3.5vw,1.25rem)}.card-replay{letter-spacing:.18em;text-transform:uppercase;min-height:48px;color:var(--color-ink-500);cursor:pointer;border-radius:12px;align-items:center;gap:8px;margin-top:32px;padding:0 8px;font-size:.8125rem;font-weight:500;display:inline-flex}.card-replay:focus-visible,.seal:focus-visible,.reward-card:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:6px}.seal{cursor:pointer;border-radius:9999px;width:96px;height:96px;padding:16px}.seal-art{width:64px;height:64px;display:block}.card-sealed{letter-spacing:.24em;text-transform:uppercase;color:var(--color-ink-500);font-size:.75rem;font-weight:500}@media (width>=768px){.card-line-1{font-size:2.5rem}.card-replay{margin-top:40px;font-size:.875rem}.seal,.seal-slot{width:104px;height:104px}.seal-art{width:72px;height:72px}}@media (height<=520px){.reward-card.is-two-column .card-content{flex-direction:row;gap:48px}.reward-card.is-two-column .card-column:first-child{justify-content:center;width:45%}.reward-card.is-two-column .card-column+.card-column{margin-top:0}.reward-card.is-two-column .card-column:last-child{justify-content:flex-start;width:55%}.card-line-1{font-size:1.5rem}.card-line-2{font-size:1rem}.card-title{margin-top:12px;font-size:1.25rem}.card-description{margin-top:6px;font-size:.875rem}.card-signature{margin-top:16px;font-size:1rem}.card-replay{margin-top:16px}.seal{width:88px;height:88px}.seal-art{width:56px;height:56px}}.rune{position:absolute}.rune-halo{opacity:0;background:radial-gradient(circle,#ffffffb3,#0000 70%);border-radius:9999px;width:20px;height:20px;margin:-10px 0 0 -10px;transition:opacity .18s ease-out;position:absolute;top:50%;left:50%}.rune-halo.is-on{opacity:.5}.rune-halo.is-final{background:radial-gradient(circle,#fffc,#0000 70%);width:32px;height:32px;margin:-16px 0 0 -16px}.rune-halo.is-final.is-on{opacity:.6}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.challenge-stage{pointer-events:none;position:absolute;inset:0}.prop-card{cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px 12px 8px 8px;padding:0;position:absolute}.prop-card:disabled{cursor:default}.prop-card:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:6px}.prop-surface{filter:drop-shadow(0 8px 16px #6e3a5424);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.prop-surface-fill{fill:#fff3f8eb;stroke:#2e152259;stroke-width:1px}.prop-surface-tracery{fill:none;stroke:#2e15221f;stroke-width:1px}.prop-card.is-lit .prop-surface-fill,.prop-card.is-selected .prop-surface-fill,.prop-card.is-chosen .prop-surface-fill{fill:var(--color-rose-050);stroke:var(--color-ink-700);stroke-width:1.5px}.prop-card.is-selected .prop-surface-tracery{stroke:#4a233899}.prop-card[aria-disabled=true]{cursor:default}.prop-glyph{position:absolute;left:50%;transform:translate(-50%)}.prop-label{color:var(--color-ink-700);letter-spacing:.02em;text-align:center;text-wrap:balance;-webkit-hyphens:none;hyphens:none;font-size:.875rem;font-weight:500;line-height:1.2;position:absolute;bottom:12px;left:8px;right:8px}.prop-card-compact .prop-label{font-size:.8125rem}@media (width>=768px){.prop-label{font-size:1rem}}@media (height<=520px){.prop-label{font-size:.8125rem}}.dial{pointer-events:none;position:absolute;inset:0}.dial-track{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dial-crescent{fill:#fff3f8cc;stroke:#2e152259;stroke-width:1px}.dial-travelled{fill:none;stroke:#f4e3c8b3;stroke-width:6px;stroke-linecap:round}.dial-tick{fill:none;stroke:#2e152259;stroke-width:1px}.dial-tick.is-lit{fill:var(--color-rose-050);stroke:#4a23388c}.dial-readout{color:var(--color-ink-700);font-variant-numeric:lining-nums tabular-nums;pointer-events:none;background:radial-gradient(closest-side,#f8dce7bf,#0000);font-size:1.75rem;font-weight:500;line-height:1;position:absolute;transform:translate(-50%)}@media (width>=768px){.dial-readout{font-size:2rem}}@media (height<=520px){.dial-readout{font-size:1.5rem}}.dial-confirm{pointer-events:auto;z-index:1;position:absolute;transform:translate(-50%)}.dial-hit{fill:none;stroke:#0000;stroke-width:44px;stroke-linecap:round;pointer-events:stroke;cursor:pointer;touch-action:none}.dial-label{color:var(--color-ink-700);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;background:radial-gradient(closest-side,#f8dce7bf,#0000);font-size:.75rem;font-weight:500;position:absolute;transform:translate(-50%,-100%)}.dial-moon{cursor:grab;pointer-events:auto;touch-action:none;z-index:1;border-radius:9999px;justify-content:center;align-items:center;width:56px;height:56px;margin:-28px 0 0 -28px;display:flex;position:absolute;top:0;left:0}.dial-moon:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:2px}.dial-moon:before{content:"";pointer-events:none;opacity:.5;background:radial-gradient(circle,#fffc,#0000 70%);border-radius:9999px;transition:opacity .16s ease-out;position:absolute;inset:-28px}.dial-moon.is-pressed:before{opacity:.9}.dial-moon-disc{background:var(--color-rose-050);width:36px;height:36px;box-shadow:0 0 0 1.4px var(--color-ink-900);border-radius:9999px;justify-content:center;align-items:center;display:flex;position:relative}@media (width>=768px){.dial-label{font-size:.8125rem}}.shadow-key{cursor:pointer;pointer-events:auto;filter:drop-shadow(0 0 1px #fff3f880);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:16px;padding:0;position:absolute}.shadow-key:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:4px}.shadow-veil{opacity:.5;transition:opacity .3s ease-out}.shadow-key:hover:not(:disabled) .shadow-veil{opacity:.38}.shadow-key.is-revealed .shadow-veil{opacity:0}.offering-slot{pointer-events:none;position:absolute}.offering{cursor:grab;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:9999px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.offering:active{cursor:grabbing}.offering:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:2px}.offering-medallion{background:#fff3f8eb;border-radius:9999px;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:inset 0 0 0 1px #2e152259,inset 0 0 0 4px #fff3f8eb,inset 0 0 0 5px #2e15221f}.offering-medallion:before{content:"";z-index:-1;opacity:0;background:radial-gradient(circle,#fff3f8e6,#0000 70%);border-radius:9999px;transition:opacity .2s ease-out;position:absolute;inset:-30%}.offering.is-selected .offering-medallion,.offering.is-chosen .offering-medallion{box-shadow:inset 0 0 0 1px #4a2338cc,inset 0 0 0 4px #fff3f8eb,inset 0 0 0 5px #2e15221f}.offering.is-selected .offering-medallion:before{opacity:1}.offering-float{animation:ease-in-out infinite alternate offering-float;display:block}@keyframes offering-float{0%{transform:translateY(-2px)rotate(-1deg)}to{transform:translateY(2px)rotate(1deg)}}@media (prefers-reduced-motion:reduce){.offering-float{animation:none}}.offering-label{width:max-content;max-width:128px;color:var(--color-ink-700);letter-spacing:.01em;text-align:center;text-wrap:balance;background:#fff3f8d9;border-radius:4px;padding:4px 6px;font-size:.8125rem;font-weight:500;line-height:1.2;transition:opacity .16s ease-out;position:absolute;top:calc(100% - 2px);left:50%;transform:translate(-50%)}@media (width>=768px){.offering-label{max-width:144px;font-size:.9375rem}}@media (height<=520px){.offering-label{max-width:124px}}.inscription{text-align:center;pointer-events:none;position:absolute}.inscription-text{letter-spacing:.01em;text-wrap:balance;max-width:48rem;margin:0 auto;font-size:1.375rem;font-style:italic;line-height:1.25;position:relative}.inscription-title{font-family:var(--font-blackletter);letter-spacing:.04em;color:var(--color-ink-900);font-size:2rem;font-style:normal;line-height:1.1;display:block}.inscription-subtitle{color:var(--color-ink-500);margin-top:4px;font-size:1rem;display:block}@media (width>=1024px){.inscription-title{font-size:2.5rem}}.inscription-text:before{content:"";z-index:-1;background:radial-gradient(#f8dce7bf,#0000 75%);position:absolute;inset:-24px}@media (width<=359px){.inscription-text{font-size:1.25rem}}.inscription-rule{color:#2e152240;width:36px;height:6px;margin:8px auto 0;display:block}@media (width>=768px){.inscription-text{font-size:1.75rem}}@media (height<=520px){.inscription-text{font-size:1.25rem}.inscription-rule{display:none}}.intro-lines{left:50%;top:calc(50% - 4svh + var(--key-h) / 2 + 24px);text-align:center;text-wrap:balance;pointer-events:none;width:min(100% - 32px,28rem);position:absolute;transform:translate(-50%)}.intro-line-1{letter-spacing:.01em;font-size:1.375rem;font-style:italic;font-weight:300;line-height:1.25}.intro-line-2{letter-spacing:.04em;margin-top:4px;font-size:.9375rem;line-height:1.4}.intro-begin{left:50%;top:calc(50% - 4svh + var(--key-h) / 2 + 117px);font-size:.8125rem;position:absolute;transform:translate(-50%)}.intro-begin-button{letter-spacing:.18em;text-transform:uppercase;border-radius:12px;align-items:center;gap:12px;min-width:48px;min-height:48px;padding:0 12px;font-weight:500;display:inline-flex}.scene[data-state=DORMANT] .hud-hint{top:calc(50% - 4svh + var(--key-h) / 2 + 88px)}@media (width>=768px){.intro-lines{top:36px}.intro-line-2{font-size:1.0625rem}.intro-begin{top:calc(50% - 4svh + var(--key-h) / 2 + 80px);font-size:.875rem}.scene[data-state=DORMANT] .hud-hint{top:calc(50% - 4svh + var(--key-h) / 2 + 48px)}}@media (width<=767px) and (height>=521px) and (height<=700px){.intro-lines{top:calc(16px + env(safe-area-inset-top))}.scene[data-state=DORMANT] .hud-hint{top:calc(50% - 4svh + var(--key-h) / 2 + 16px)}.intro-begin{top:calc(50% - 4svh + var(--key-h) / 2 + 48px)}}@media (height<=520px){.intro-lines{left:calc(16px + env(safe-area-inset-left));top:calc(16px + env(safe-area-inset-top));width:calc((100% - var(--key-w)) / 2 - 32px);text-align:left;transform:none}.intro-line-1{font-size:1.125rem}.intro-line-2{font-size:.9375rem}.intro-begin{top:auto;left:auto;right:calc(16px + env(safe-area-inset-right));bottom:calc(28px + env(safe-area-inset-bottom));font-size:.8125rem;transform:none}.scene[data-state=DORMANT] .hud-hint{top:auto}.hud-hint{top:auto;right:auto;left:calc(16px + env(safe-area-inset-left));bottom:calc(40px + env(safe-area-inset-bottom));text-align:left}}.hint-fleuron{animation:1.6s ease-in-out infinite fleuron-breathe}@keyframes fleuron-breathe{0%,to{opacity:.35}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.hint-fleuron{opacity:.7;animation:none}}.orbiter{opacity:0;background-image:radial-gradient(circle, #fff 0%, #fff 22%, var(--orbiter-halo) 45%, transparent 100%);border-radius:9999px;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:50%;left:50%}.fake-ending{text-align:center;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;translate:0 -50%}.fake-ending>p{text-wrap:balance;margin:0 auto;font-style:italic;position:relative}.fake-ending>p:before{content:"";z-index:-1;background:radial-gradient(#f8dce7bf,#0000 75%);position:absolute;inset:-24px}.fake-ending-final{letter-spacing:.01em;font-size:clamp(1.375rem,5.5vw,2rem);font-weight:300;line-height:1.15}.fake-ending-out{letter-spacing:.02em;font-size:1.25rem;font-weight:400;line-height:1.25}@media (width>=768px){.fake-ending-out{font-size:1.5rem}}@media (height<=520px){.fake-ending-final{font-size:1.25rem}.fake-ending-out{font-size:1.125rem}}.card-glow{z-index:-1;pointer-events:none;position:absolute;inset:-15%}.reward-card .card-waiting{width:auto;position:absolute}.seal-breath{display:block}.seal{position:relative}.seal:hover .seal-breath,.seal:focus-visible .seal-breath{transform:scale(1.05)}.seal:before{content:"";z-index:-1;opacity:.2;pointer-events:none;background:radial-gradient(circle,#ff9ec7e6,#0000 70%);border-radius:9999px;animation:3s ease-in-out infinite alternate seal-glow;position:absolute;inset:0}.seal-broken:before{display:none}@keyframes seal-glow{to{opacity:.35}}@media (prefers-reduced-motion:reduce){.seal:before{opacity:.25;animation:none}}.seal-broken{display:block}.seal-half{position:absolute;inset:16px}.text-question{pointer-events:auto;position:absolute}.text-field-wrap{position:relative}.text-field-wrap:before{content:"";z-index:-1;opacity:.85;background:radial-gradient(closest-side,#fff3f8cc,#0000);transition:opacity .24s ease-out;position:absolute;inset:-20px -28px}.text-field-wrap:focus-within:before,.text-field-wrap.is-proposed:before{opacity:1}.text-field{width:100%;height:100%;color:var(--color-ink-700);caret-color:#c75c9e;font:inherit;letter-spacing:.01em;text-align:center;resize:none;appearance:none;background:0 0;border:0;outline:none;margin:0;padding:0 12px;font-size:1.25rem;line-height:1.5;display:block}input.text-field{padding-top:4px}textarea.text-field{scrollbar-width:thin;scrollbar-color:var(--color-ink-300) transparent;padding-block:8px 10px;line-height:27px;overflow-y:auto}.text-field::placeholder{color:var(--color-ink-500);opacity:.75;font-style:italic;transition:opacity .2s ease-out}.text-field:focus::placeholder{opacity:.45}.text-field::selection{background:var(--color-rose-300);color:var(--color-ink-900)}.text-field:focus-visible{outline:none}.text-field:disabled{opacity:1;-webkit-text-fill-color:currentColor}@media (width>=768px){.text-field{font-size:1.375rem}}@media (height<=520px){.text-field{font-size:1.0625rem}}.text-dissolve{white-space:pre-wrap;pointer-events:none;flex-wrap:wrap;place-content:center;display:flex;overflow:hidden}.text-rule{--rule:#2e152257;background:linear-gradient(90deg, transparent, var(--rule) 12%, var(--rule) 88%, transparent);pointer-events:none;height:1px;transition:height .2s ease-out,box-shadow .24s ease-out;position:absolute;bottom:6px;left:0;right:0}.text-rule:before,.text-rule:after,.text-rule>i{content:"";border:1px solid var(--rule);background:var(--color-rose-050);width:5px;height:5px;transition:background .2s ease-out,border-color .2s ease-out;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.text-rule:before{left:10%}.text-rule:after{left:90%}.text-rule>i{width:7px;height:7px;left:50%}.text-field-wrap:focus-within .text-rule,.text-field-wrap.is-proposed .text-rule{background:linear-gradient(90deg,#0000,#ff9ec7 12%,#c75c9e 35%,#9b6bd6 50%,#c75c9e 65%,#ff9ec7 88%,#0000);height:1.5px;box-shadow:0 2px 10px #e85fa84d}.text-field-wrap:focus-within .text-rule:before,.text-field-wrap:focus-within .text-rule:after,.text-field-wrap.is-proposed .text-rule:before,.text-field-wrap.is-proposed .text-rule:after{border-color:#c75c9e}.text-field-wrap:focus-within .text-rule>i,.text-field-wrap.is-proposed .text-rule>i{background:linear-gradient(135deg,#ff9ec7,#9b6bd6);border-color:#9b6bd6}.commit-row-wrap{justify-content:center;align-items:center;display:flex;position:relative}.commit-row{min-width:160px;min-height:48px;color:var(--color-ink-700);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:9999px;align-items:center;gap:8px;padding:0 8px;display:inline-flex}.commit-row:active{transform:scale(.96)}.commit-row:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:6px}.commit-row[aria-disabled=true]{color:var(--color-ink-300);cursor:default}.commit-row[aria-disabled=true]:active{transform:none}.commit-medallion{background:#fff3f8eb;border-radius:9999px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .15s ease-out;display:flex;box-shadow:inset 0 0 0 1px #2e152259,inset 0 0 0 4px #fff3f8eb,inset 0 0 0 5px #2e15221f}@media (hover:hover){.commit-row:not([aria-disabled=true]):hover .commit-medallion{transform:translateY(-2px)}}.commit-row[aria-disabled=true] .commit-medallion{box-shadow:inset 0 0 0 1px #2e152233,inset 0 0 0 4px #fff3f8eb,inset 0 0 0 5px #2e152214}.commit-medallion.is-seal{color:#fff3f8e6;background:radial-gradient(circle at 40% 35%,#f3c8d8,#d99bb6 60%,#9a6480);box-shadow:inset 0 0 0 1px #2e152259}.commit-label{letter-spacing:.18em;text-transform:uppercase;font-size:.8125rem;font-weight:500}.text-counter{opacity:.8;color:var(--color-ink-500);letter-spacing:.08em;font-variant-numeric:lining-nums tabular-nums;font-size:.75rem;font-weight:500;position:absolute;right:4px}.date-question{pointer-events:none;position:absolute;inset:0}.date-column{pointer-events:auto;flex-direction:column;align-items:stretch;display:flex;position:absolute}.date-label{height:20px;color:var(--color-ink-700);letter-spacing:.16em;text-align:center;text-transform:uppercase;white-space:nowrap;font-size:.75rem;font-weight:500;line-height:16px;display:block}.date-step{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.date-step:before{content:"";opacity:0;background:#fff3f8e6;border-radius:9999px;width:32px;height:32px;transition:opacity .12s ease-out;position:absolute}.date-step:active:before{opacity:1}@media (hover:hover){.date-step:hover:before{opacity:1}}.date-chevron{position:relative;overflow:visible}.date-chevron path{fill:none;stroke:var(--color-ink-900);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.date-window{background:#fff3f8eb;border-radius:12px 12px 4px 4px;outline:none;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:inset 0 0 0 1px #2e152259}.date-window:focus-visible{box-shadow:inset 0 0 0 1px #2e152259, 0 0 0 2px var(--color-ink-700)}.date-value{color:var(--color-ink-700);letter-spacing:.02em;font-variant-numeric:lining-nums tabular-nums;font-size:1.5rem;font-weight:500;line-height:1}@media (width>=768px){.date-value{font-size:1.75rem}}@media (height<=520px){.date-value{font-size:1.25rem}}.date-confirm{pointer-events:auto;position:absolute}.commit-glow{pointer-events:none;position:absolute}.commit-glow.is-warm{background:radial-gradient(closest-side,#ffffffd9 0%,#f4e3c873 45%,#ff9ec733 70%,#0000 100%)}.commit-glow.is-cool{background:radial-gradient(closest-side,#ffffffd9 0%,#9b6bd638 45%,#6c8fe829 70%,#0000 100%)}.gift-scene{pointer-events:none;position:absolute;inset:0}.gift-band{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--color-ink-300) transparent;pointer-events:auto;position:absolute;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 16px calc(100% - 16px),#0000);mask-image:linear-gradient(#0000,#000 16px calc(100% - 16px),#0000)}.gift-band>div{position:relative}.gift-seal{cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute}.gift-seal[aria-disabled=true]{cursor:default}.gift-seal-body{display:block;position:relative}.gift-seal-disc{display:block;overflow:visible}.gift-seal-rim{stroke:#2e152259;stroke-width:1px;transition:stroke .16s ease-out}.gift-seal.is-selected .gift-seal-rim{stroke:var(--color-ink-700);stroke-width:1.5px}.gift-seal-glyph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gift-seal-mark{position:absolute;overflow:visible}.gift-seal-shadow{opacity:0;background:radial-gradient(#6e3a5438,#0000 70%);border-radius:50%;height:10px;transition:opacity .18s ease-out;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.gift-seal.is-selected .gift-seal-shadow{opacity:1}.gift-seal:focus-visible .gift-seal-body:after{content:"";box-shadow:0 0 0 2px var(--color-ink-700);border-radius:50%;position:absolute;inset:-6px}.gift-seal.is-selected:focus-visible .gift-seal-body:after{inset:-10px}.gift-seal-title{max-width:100%;color:var(--color-ink-700);letter-spacing:.02em;text-align:center;text-wrap:balance;background:#fff3f8d9;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:.8125rem;font-weight:500;line-height:1.2}.gift-seal-title.lines-1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gift-seal.is-selected .gift-seal-title{box-shadow:inset 0 0 0 1px #4a233880}.gift-seal:focus-visible .gift-seal-title{box-shadow:inset 0 0 0 1px #4a233899}@media (width>=1024px){.gift-seal-title{font-size:1rem}}.gift-description{color:var(--color-ink-500);letter-spacing:.01em;text-align:center;text-wrap:balance;pointer-events:none;margin:0;font-size:1.25rem;font-style:italic;line-height:1.25;position:absolute}.gift-description:before{content:"";z-index:-1;background:radial-gradient(#f8dce7bf,#0000 75%);position:absolute;inset:-24px}.gift-control{pointer-events:auto;position:absolute}.gift-control-seal{width:56px;height:56px}@media (width>=1024px){.gift-control-seal{width:64px;height:64px}}.gift-flight{pointer-events:none;will-change:transform, opacity;background:radial-gradient(circle at 38% 34%,#f3c8d8,#d99bb6 48%,#9a6480);border-radius:50%;position:absolute;box-shadow:0 0 0 4px #fff3f8e6,0 0 0 5px #4a233899,0 0 24px #ffffffb3}.gift-flight-glyph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.roll-seals{pointer-events:none;position:absolute;inset:0}.roll-seal{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute}.roll-seal-disc{background:radial-gradient(circle at 38% 34%,#f3c8d8,#d99bb6 48%,#9a6480);border-radius:50%;justify-content:center;align-items:center;transition:box-shadow .16s ease-out;display:flex;position:relative;box-shadow:0 0 0 4px #fff3f8e6,0 0 0 5px #4a233899,0 0 18px #ffffff26}.roll-seal.is-lit .roll-seal-disc{box-shadow:0 0 0 4px #fff3f8f2, 0 0 0 5px var(--color-glow-white), 0 0 28px #fff9}.roll-seal-ring{border-radius:50%;position:absolute;inset:-12px;box-shadow:0 0 0 2px #ffffffe6}.seal-slot{width:96px;height:96px;position:relative}.seal-control{pointer-events:auto;justify-content:center;align-items:flex-start;display:flex;position:absolute}.seal-timer{color:var(--color-ink-500);letter-spacing:.12em;font-variant-numeric:tabular-nums;pointer-events:none;background:#fff3f8d9;border-radius:4px;justify-content:center;align-items:center;margin:0;font-size:.9375rem;font-weight:500;transition:color .16s,opacity .16s,box-shadow .16s;display:flex;position:absolute}.seal-timer.is-calm,.seal-timer.is-over{color:#6e3a54d9}.seal-timer.is-clear,.seal-timer.is-heartbeat{color:var(--color-ink-700);font-size:1.0625rem;box-shadow:inset 0 0 0 1px #4a233866}.seal-cooldown{color:var(--color-ink-700);letter-spacing:.06em;font-variant-numeric:tabular-nums;pointer-events:none;justify-content:center;align-items:center;margin:0;font-size:2rem;font-weight:300;display:flex;position:absolute}.seal-confirm-panel{flex-direction:column;align-items:center;gap:12px;display:flex}.seal-confirm-panel.is-inline{flex-direction:row;gap:16px}.seal-confirm-prompt{color:var(--color-ink-700);margin:0;font-size:1.125rem;font-style:italic;line-height:24px}.seal-confirm-actions{align-items:center;gap:24px;display:flex}.seal-edit{min-width:112px;min-height:48px;color:var(--color-ink-500);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:.8125rem;font-weight:500;display:inline-flex}.seal-edit:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:4px;border-radius:8px}.commit-medallion.is-dark-seal{color:var(--color-rose-050);background:radial-gradient(circle at 38% 34%,#9a6480 0%,#6e3a54 55%,#2e1522 100%)}.seal-propose[aria-disabled=true]{opacity:.5;cursor:default}.date-window.is-proposed{box-shadow:inset 0 -1.5px #c75c9e,0 2px 10px #e85fa84d}.seal-row{z-index:1;pointer-events:none;position:absolute;inset:0}.seal-slot-mark{justify-content:center;align-items:center;display:flex;position:absolute}.seal-mote{background:radial-gradient(circle,#6e3a54,#2e1522 70%);border-radius:50%;width:8px;height:8px;position:absolute;box-shadow:0 0 6px #2e152266}.seal-landing{display:flex}.seal-mark{display:block;position:relative}.seal-mark-art{display:block;position:relative;overflow:visible}.seal-mark-halo{background:radial-gradient(circle,#ffffffe6,#0000 68%);border-radius:50%;position:absolute;inset:-40%}.seal-mark-numeral{fill:var(--color-rose-050);fill-opacity:1;font-family:var(--font-display);letter-spacing:.02em;paint-order:stroke;stroke:#2e152299;stroke-width:.5px;font-weight:600}.seal-mark.is-broken .seal-mark-art{filter:drop-shadow(0 0 6px #ffffffb3)}.keepsake{touch-action:none;position:absolute;inset:0}.keepsake-heading{top:calc(env(safe-area-inset-top,0px) + 16px);text-align:center;pointer-events:none;position:absolute;left:16px;right:16px}.keepsake-line{color:var(--color-ink-500);margin:2px 0 0;font-size:.9375rem;font-style:italic}.keepsake-title{text-align:center;letter-spacing:.01em;color:var(--color-ink-700);margin:0;font-size:1.375rem;font-style:italic;font-weight:400}.keepsake-key{border-radius:12px;position:absolute}.keepsake-key:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:6px}.gallery-turn,.gallery-pivot{transform-style:preserve-3d;position:absolute;inset:0}.gallery-face{backface-visibility:hidden;position:absolute;inset:0}.gallery-face.is-back{transform:rotateY(180deg)}.gallery-face.is-front{transform:translateZ(.01px)}.gallery-arch{pointer-events:none;position:absolute;inset:0}.gallery-stage{touch-action:none;cursor:grab;position:absolute;inset:0}.gallery-stage:active{cursor:grabbing}.keepsake-key{pointer-events:none}.gallery-key{perspective:1400px;position:absolute;inset:0}.gallery-band{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);flex-direction:column;gap:12px;display:flex;position:absolute}.gallery-band.is-wide{flex-direction:row;justify-content:center;align-items:center;height:96px}.gallery-band.is-landscape{left:auto;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);justify-content:center;width:96px}.gallery-controls{align-items:center;gap:8px;height:48px;display:flex}.gallery-band.is-landscape .gallery-controls{flex-direction:column;height:auto}.gallery-round{width:44px;height:44px;color:var(--color-ink-700);cursor:pointer;background:#fff3f8b3;border:1px solid #6e3a5480;border-radius:9999px;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}.gallery-round:disabled{opacity:.45;cursor:default}.gallery-round:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:3px}.gallery-dim{background:var(--color-ink-900);pointer-events:none;opacity:0;position:absolute;inset:0}.sigils{scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;gap:12px;padding:0 4px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000)}.sigils::-webkit-scrollbar{display:none}.gallery-band.is-wide .sigils{gap:16px;overflow:visible;-webkit-mask-image:none;mask-image:none}.gallery-band.is-landscape .sigils{touch-action:pan-y;flex-direction:column;max-height:calc(100svh - 200px);overflow:hidden auto;-webkit-mask-image:none;mask-image:none}.sigil{scroll-snap-align:center;cursor:pointer;flex-direction:column;flex:none;align-items:center;gap:6px;width:72px;height:88px;display:flex}.sigil-wax{opacity:.9;background:radial-gradient(circle at 38% 34%,#fff3f8,#f3c8d8);border-radius:9999px;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .16s,box-shadow .16s,opacity .16s;display:inline-flex;box-shadow:inset 0 0 0 1px #4a233899}.sigil-label{font-variant:small-caps;letter-spacing:.04em;color:var(--color-ink-500);white-space:nowrap;font-size:.75rem}.sigil:hover:not([aria-disabled=true]) .sigil-wax,.sigil:focus-visible .sigil-wax{box-shadow:inset 0 0 0 1px #4a233899, 0 0 0 1px var(--color-gold-200);transform:translateY(-2px)}.sigil:focus-visible{outline:none}.sigil:focus-visible .sigil-wax{outline:2px solid var(--color-ink-700);outline-offset:3px}.sigil.is-playing .sigil-wax{opacity:1;box-shadow:inset 0 0 0 1px #4a233899,0 0 18px 4px #ffffffb3}.sigil.is-playing .sigil-label{color:var(--color-ink-700)}.sigil[aria-disabled=true]:not(.is-playing){cursor:default}.sigil[aria-disabled=true]:not(.is-playing) .sigil-wax{opacity:.45}.gallery-band.is-phone .gallery-round.is-gift{margin-left:auto}.gallery-band.is-wide .gallery-controls{order:2;margin-left:16px}.ghost-keyhole{pointer-events:none;position:absolute;inset:0}.ghost-keyhole>*{position:absolute}.ghost-bloom{border-radius:9999px}.bloom-wash{pointer-events:none;background:radial-gradient(circle, var(--color-rose-300) 0%, var(--color-iris-magenta) 35%, var(--color-iris-violet) 55%, transparent 72%);border-radius:9999px;position:absolute}.constellation{pointer-events:none;position:absolute;overflow:visible}.rose-trace{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.gift-memory{padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);background:#fff3f8b3;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset:0}.gift-memory-card{flex:none;position:relative}.gift-memory-close{min-height:44px;color:var(--color-ink-700);text-underline-offset:4px;padding:0 20px;font-size:1.125rem;font-style:italic;text-decoration:underline}.gift-memory-close:focus-visible{outline:2px solid var(--color-ink-700);outline-offset:3px}.gallery-hub{position:absolute}.gallery-secret{text-align:center;pointer-events:none;position:absolute;left:16px;right:16px}.seal-verse{pointer-events:none;justify-content:center;display:flex;position:absolute}.seal-verse-lines{text-align:left;color:var(--color-ink-700);font-style:italic;line-height:1.35}.server-line{top:calc(env(safe-area-inset-top) + 12px);z-index:60;text-align:center;color:var(--color-ink-500);pointer-events:none;margin:0;font-size:1rem;font-style:italic;position:fixed;left:16px;right:16px}.server-line[data-waiting]{animation:1.6s ease-in-out infinite server-wait}@keyframes server-wait{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.server-line[data-waiting]{animation:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
