@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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:ui-sans-serif, system-ui, 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;--spacing:.25rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 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)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.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}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.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,)}.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))}.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)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--bg:#fbf8f6;--card-bg:#fffdfc;--surface:#f2edeb;--surface-low:#fffaf8;--input-bg:#fffefd;--primary:#934158;--accent:#df93a6;--accent-dark:#c9798f;--accent-light:#edbbc7;--soft:#e7d8dc;--soft-dark:#eee5e6;--outline-variant:#d8c8ca;--ink:#342d2f;--muted:#817176;--on-accent-light:#704858;--danger:#c66;--danger-bg:#fee;--shadow-color:#70565f1a;--shadow-accent:#ac687e29;--shadow-strong:#7e485c3d;--card-border:#b69ca457;--card-border-strong:#ca7e9480;--card-shadow:0 6px 18px #5e404b12;--card-shadow-hover:0 10px 26px #5e404b1c;--card-shadow-accent:0 8px 22px #ac687e26;--glass-filter:blur(8px) saturate(118%);--glass-card:#fffdfcd6;--glass-card-strong:#fffdfcf0;--glass-sheen:#ffffff29;--glass-header:#fbf8f6b8;--glass-nav:#f4eeedb8;--relationship-banner-bg-color:var(--accent);--relationship-banner-bg:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);--font-body:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display:var(--font-gaegu), "Pretendard Variable", cursive;--font-numeric:var(--font-fraunces), "Times New Roman", serif}[data-theme=dark]{--bg:#171414;--card-bg:#242020;--surface:#2c2627;--surface-low:#1f1b1c;--input-bg:#2c2627;--primary:#edb2c0;--accent:#cf8297;--accent-dark:#e5a1b1;--accent-light:#563240;--soft:#3c3033;--soft-dark:#493d3f;--outline-variant:#4d3d41;--ink:#f0e5e7;--muted:#b69da3;--on-accent-light:#f4d5dc;--danger:#e87070;--danger-bg:#5a1c1c;--shadow-color:#0000006b;--shadow-accent:#e5a1b11f;--shadow-strong:#e5a1b12b;--card-border:#ffeef324;--card-border-strong:#f4b6c557;--card-shadow:0 8px 22px #00000047;--card-shadow-hover:0 12px 30px #0000005c;--card-shadow-accent:0 10px 26px #e5a1b11c;--glass-filter:blur(9px) saturate(116%);--glass-card:#242020d1;--glass-card-strong:#242020f0;--glass-sheen:#fff4f80a;--glass-header:#171414b8;--glass-nav:#262122bd;--relationship-banner-bg-color:#7d3d51;--relationship-banner-bg:linear-gradient(135deg, #7d3d51 0%, #4c2a36 100%)}[data-special-day=valentines]{--bg:#fff0f5;--surface:#ffe1eb;--surface-low:#fff7fa;--input-bg:#fffafb;--primary:#8a1f49;--accent:#e23d75;--accent-dark:#b91f58;--accent-light:#ff9fbd;--soft:#f7c6d6;--outline-variant:#e89ab3;--muted:#8f4c63;--shadow-accent:#e23d753d;--card-border-strong:#e23d75a8;--card-shadow-accent:0 2px 4px #8a1f491a, 0 8px 24px #e23d7538;--relationship-banner-bg-color:var(--accent);--relationship-banner-bg:linear-gradient(135deg, #e23d75 0%, #8a1f49 100%)}[data-theme=dark][data-special-day=valentines]{--bg:#211018;--surface:#351826;--surface-low:#2a121e;--input-bg:#351826;--primary:#ffb3cb;--accent:#ff5f93;--accent-dark:#ff8fb1;--accent-light:#6f2543;--soft:#4b2233;--outline-variant:#7a3450;--muted:#d895aa;--shadow-accent:#ff5f9333;--card-border-strong:#ff5f937a;--card-shadow-accent:0 2px 4px #00000042, 0 10px 28px #ff5f932e;--relationship-banner-bg-color:#b91f58;--relationship-banner-bg:linear-gradient(135deg, #b91f58 0%, #5f1d39 100%)}[data-special-day=white-day]{--bg:#f3f7ff;--surface:#e5edff;--surface-low:#fbfcff;--input-bg:#fff;--primary:#4f46a5;--accent:#7c8cff;--accent-dark:#5968e8;--accent-light:#c7d2ff;--soft:#dbe4ff;--outline-variant:#aebcff;--muted:#59618b;--shadow-accent:#7c8cff3d;--card-border-strong:#7c8cff9e;--card-shadow-accent:0 2px 4px #4f46a514, 0 8px 24px #7c8cff38;--relationship-banner-bg-color:var(--accent);--relationship-banner-bg:linear-gradient(135deg, #7c8cff 0%, #f5f7ff 100%)}[data-theme=dark][data-special-day=white-day]{--bg:#10152b;--surface:#1b2244;--surface-low:#141a34;--input-bg:#1b2244;--primary:#dce4ff;--accent:#92a3ff;--accent-dark:#c3ccff;--accent-light:#38427a;--soft:#2b335f;--outline-variant:#4a5590;--muted:#a9b4e8;--shadow-accent:#92a3ff33;--card-border-strong:#92a3ff75;--card-shadow-accent:0 2px 4px #00000042, 0 10px 28px #92a3ff2b;--relationship-banner-bg-color:#6676f2;--relationship-banner-bg:linear-gradient(135deg, #6676f2 0%, #36417c 100%)}[data-special-day=rose-day]{--bg:#fff0f3;--surface:#ffdce4;--surface-low:#fff7f9;--input-bg:#fffafb;--primary:#8f1234;--accent:#d72655;--accent-dark:#b3133d;--accent-light:#ff9aaa;--soft:#f5bdc8;--outline-variant:#e98ba0;--muted:#8c4858;--shadow-accent:#d726553d;--card-border-strong:#d72655a8;--card-shadow-accent:0 2px 4px #8f12341a, 0 8px 24px #d7265538;--relationship-banner-bg-color:var(--accent);--relationship-banner-bg:linear-gradient(135deg, #d72655 0%, #8f1234 100%)}[data-theme=dark][data-special-day=rose-day]{--bg:#210d14;--surface:#371420;--surface-low:#2a1018;--input-bg:#371420;--primary:#ffb0bf;--accent:#ff4d73;--accent-dark:#ff879d;--accent-light:#6b2133;--soft:#4c1f2c;--outline-variant:#7a2d42;--muted:#dc91a2;--shadow-accent:#ff4d7333;--card-border-strong:#ff4d737a;--card-shadow-accent:0 2px 4px #00000042, 0 10px 28px #ff4d732e;--relationship-banner-bg-color:#b3133d;--relationship-banner-bg:linear-gradient(135deg, #b3133d 0%, #5a1c2d 100%)}[data-special-day=kiss-day]{--bg:#fff0fb;--surface:#ffd9f4;--surface-low:#fff8fd;--input-bg:#fffafd;--primary:#861567;--accent:#d946ef;--accent-dark:#b516c7;--accent-light:#f5a8ff;--soft:#f1c1eb;--outline-variant:#e28bdd;--muted:#884678;--shadow-accent:#d946ef38;--card-border-strong:#d946ef99;--card-shadow-accent:0 2px 4px #86156717, 0 8px 24px #d946ef33;--relationship-banner-bg-color:var(--accent);--relationship-banner-bg:linear-gradient(135deg, #d946ef 0%, #861567 100%)}[data-theme=dark][data-special-day=kiss-day]{--bg:#210d24;--surface:#35143b;--surface-low:#2a102f;--input-bg:#35143b;--primary:#f7b4ff;--accent:#e56bff;--accent-dark:#f0a2ff;--accent-light:#65256f;--soft:#48204f;--outline-variant:#73347d;--muted:#d892df;--shadow-accent:#e56bff30;--card-border-strong:#e56bff70;--card-shadow-accent:0 2px 4px #00000042, 0 10px 28px #e56bff29;--relationship-banner-bg-color:#a91fc2;--relationship-banner-bg:linear-gradient(135deg, #a91fc2 0%, #5a2264 100%)}[data-special-day=pepero-day]{--bg:#fff4e8;--surface:#ffe1c5;--surface-low:#fff9f3;--input-bg:#fffaf6;--primary:#6f371c;--accent:#c26422;--accent-dark:#8f4318;--accent-light:#f4b47a;--soft:#edc9aa;--outline-variant:#d49b72;--muted:#80553e;--shadow-accent:#c2642238;--card-border-strong:#c2642299;--card-shadow-accent:0 2px 4px #6f371c17, 0 8px 24px #c2642233;--relationship-banner-bg-color:var(--accent);--relationship-banner-bg:linear-gradient(135deg, #c26422 0%, #6f371c 100%)}[data-theme=dark][data-special-day=pepero-day]{--bg:#1f140f;--surface:#332017;--surface-low:#281912;--input-bg:#332017;--primary:#f4c39a;--accent:#d9823a;--accent-dark:#f1ac70;--accent-light:#56341f;--soft:#442b1e;--outline-variant:#6a432b;--muted:#d59d77;--shadow-accent:#d9823a2e;--card-border-strong:#d9823a6b;--card-shadow-accent:0 2px 4px #00000042, 0 10px 28px #d9823a26;--relationship-banner-bg-color:#9a4e1f;--relationship-banner-bg:linear-gradient(135deg, #9a4e1f 0%, #4a2b1d 100%)}[data-special-day=hug-day]{--bg:#f4f1ff;--surface:#e5dcff;--surface-low:#fbfaff;--input-bg:#fefcff;--primary:#5b3db8;--accent:#7c5cff;--accent-dark:#6040df;--accent-light:#c4b5ff;--soft:#ddd3ff;--outline-variant:#b4a2ff;--muted:#655898;--shadow-accent:#7c5cff38;--card-border-strong:#7c5cff94;--card-shadow-accent:0 2px 4px #5b3db817, 0 8px 24px #7c5cff33;--relationship-banner-bg-color:var(--accent);--relationship-banner-bg:linear-gradient(135deg, #7c5cff 0%, #5b3db8 100%)}[data-theme=dark][data-special-day=hug-day]{--bg:#17112b;--surface:#241a45;--surface-low:#1c1435;--input-bg:#241a45;--primary:#d4c7ff;--accent:#9b7cff;--accent-dark:#c1adff;--accent-light:#44336f;--soft:#342753;--outline-variant:#594489;--muted:#b4a3e8;--shadow-accent:#9b7cff2e;--card-border-strong:#9b7cff6b;--card-shadow-accent:0 2px 4px #00000042, 0 10px 28px #9b7cff26;--relationship-banner-bg-color:#6d50d7;--relationship-banner-bg:linear-gradient(135deg, #6d50d7 0%, #3f2f70 100%)}[data-special-day=christmas]{--bg:#eef8ef;--surface:#d8efd9;--surface-low:#f7fff7;--input-bg:#fbfffb;--primary:#166534;--accent:#dc2626;--accent-dark:#b91c1c;--accent-light:#fca5a5;--soft:#cfe8d1;--outline-variant:#8fcf9b;--muted:#4f7359;--shadow-accent:#dc262633;--card-border-strong:#16653475;--card-shadow-accent:0 2px 4px #16653414, 0 8px 24px #dc26262e;--relationship-banner-bg-color:var(--accent);--relationship-banner-bg:linear-gradient(135deg, #166534 0%, #dc2626 100%)}[data-theme=dark][data-special-day=christmas]{--bg:#0f1f17;--surface:#183525;--surface-low:#12291c;--input-bg:#183525;--primary:#a9e7b8;--accent:#ff6b6b;--accent-dark:#ff9a9a;--accent-light:#5a2a2a;--soft:#254631;--outline-variant:#3e7350;--muted:#a7cfaf;--shadow-accent:#ff6b6b2e;--card-border-strong:#a9e7b85c;--card-shadow-accent:0 2px 4px #00000042, 0 10px 28px #ff6b6b24;--relationship-banner-bg-color:#19713a;--relationship-banner-bg:linear-gradient(135deg, #19713a 0%, #a72b2b 100%)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;transition:background-color .3s,color .3s}button,a,[role=button]{touch-action:manipulation}.glass{background-color:var(--glass-card);background-image:linear-gradient(145deg, var(--glass-sheen) 0%, transparent 54%);-webkit-backdrop-filter:var(--glass-filter);isolation:isolate;background-clip:padding-box}[data-theme=dark] .glass{background-color:var(--glass-card);background-image:linear-gradient(145deg, var(--glass-sheen) 0%, transparent 58%)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background-color:var(--glass-card-strong)}}@media (prefers-reduced-transparency:reduce){.glass{background-color:var(--glass-card-strong);-webkit-backdrop-filter:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-4px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}@keyframes pulseHeart{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes expandCard{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1.01)}}@keyframes collapseCard{0%{transform:scale(1.01)}to{transform:scale(1)}}@keyframes deleteSlide{0%{opacity:1;transform:translate(0)scale(1)}50%{opacity:.5;transform:translate(20px)scale(.98)}to{opacity:0;transform:translate(60px)scale(.95)}}@keyframes ripple{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheetDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes modalPop{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modalDrop{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes logoutVeilDrift{0%{opacity:.36;transform:translate(-4%,5%)rotate(-8deg)scale(.96)}48%{opacity:.72}to{opacity:.44;transform:translate(4%,-3%)rotate(4deg)scale(1.04)}}@keyframes logoutRing{0%{opacity:0;transform:scale(.72)}42%{opacity:.55}to{opacity:0;transform:scale(1.34)}}@keyframes logoutIconLeave{0%{opacity:0;transform:translate(-8px)}32%{opacity:1;transform:translate(0)}to{opacity:.72;transform:translate(9px,-1px)}}@keyframes horoscopeOnboardingFade{0%{opacity:0}12%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes auroraSweep{0%{opacity:0;transform:translate(-8%,10%)rotate(-7deg)skew(-5deg)scale(.96,.82)}22%{opacity:.72}52%{opacity:.68;transform:translateY(2%)rotate(-2deg)skew(2deg)scale(1.02,.88)}82%{opacity:.5}to{opacity:0;transform:translate(3%,-2%)rotate(0)skew(2deg)scale(1.03,.84)}}@keyframes auroraDrift{0%{opacity:0;transform:translate(7%,16%)rotate(8deg)skew(8deg)scale(.84,.62)}28%{opacity:.46}64%{opacity:.42;transform:translate(-2%,5%)rotate(3deg)skew(-3deg)scale(.98,.72)}to{opacity:0;transform:translate(-4%,3%)rotate(1deg)skew(-2deg)scaleY(.68)}}@keyframes auroraCurtain{0%{opacity:0;transform:translate(-4%,-5%)rotate(2deg)skewY(4deg)scale(.78,1.02)}24%{opacity:.52}58%{opacity:.46;transform:translate(4%,4%)rotate(-3deg)skewY(-3deg)scale(.9,.92)}to{opacity:0;transform:translate(5%,5%)rotate(-4deg)skewY(-3deg)scale(.92,.88)}}@keyframes auroraVeil{0%{opacity:0;transform:translate(12%,5%)rotate(-12deg)skew(-9deg)scale(.7,.5)}30%{opacity:.34}68%{opacity:.38;transform:translate(3%,-2%)rotate(-5deg)skew(4deg)scale(.9,.56)}to{opacity:0;transform:translateY(-3%)rotate(-3deg)skew(5deg)scale(.94,.52)}}@keyframes starTwinkle{0%,to{opacity:.1;transform:scale(.6)}45%{opacity:1;transform:scale(1.4)}}@keyframes horoscopeCopyIn{0%{opacity:0;transform:translateY(10px)scale(.98)}24%{opacity:0;transform:translateY(10px)scale(.98)}46%{opacity:1;transform:translate(0)scale(1)}82%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translateY(-6px)scale(1.01)}}.fade-in-up{animation:.4s cubic-bezier(.22,1,.36,1) both fadeInUp}.fade-in{animation:.3s both fadeIn}.slide-down{animation:.3s cubic-bezier(.22,1,.36,1) both slideDown;overflow:visible}.pulse-heart{will-change:transform;animation:1.6s ease-in-out infinite pulseHeart;display:inline-block}.pop{animation:.3s pop}.logout-transition-overlay{z-index:1000;pointer-events:all;color:#fff;-webkit-backdrop-filter:blur(12px)saturate(128%);background:radial-gradient(at 50% 36%,#ffe2eb4d,#0000 32%),radial-gradient(at 18% 18%,#edbbc761,#0000 34%),radial-gradient(at 82% 74%,#93415847,#0000 38%),#1c1218ad;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.logout-transition-overlay:before{content:"";filter:blur(24px);background:linear-gradient(105deg,#0000 8%,#ffd6e257 32%,#df93a65c 57%,#0000 88%);border-radius:999px;width:min(520px,112vw);height:min(260px,54vh);animation:.82s cubic-bezier(.22,1,.36,1) both logoutVeilDrift;position:absolute}.logout-transition-content{z-index:1;text-align:center;text-shadow:0 2px 18px #180c127a;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.logout-transition-mark{background:var(--relationship-banner-bg);border-radius:50%;place-items:center;width:76px;height:76px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff4d,0 18px 46px #501a2c47}.logout-transition-mark:before,.logout-transition-mark:after{content:"";border-radius:inherit;border:1px solid #ffffff75;animation:.82s ease-out both logoutRing;position:absolute;inset:-8px}.logout-transition-mark:after{animation-delay:.18s}.logout-transition-icon{animation:.82s cubic-bezier(.22,1,.36,1) both logoutIconLeave;display:flex}.logout-transition-title{font-family:var(--font-display);font-size:23px;font-weight:800;line-height:1.25}.home-tab-panel-active{will-change:transform, opacity;animation:.24s cubic-bezier(.22,1,.36,1) both fadeInUp}.bottom-nav-pill-track{pointer-events:none;will-change:transform;height:32px;transition:transform .34s cubic-bezier(.22,1,.36,1);position:absolute;top:12px;left:4px}.bottom-nav-pill{background:var(--accent-light);border:1px solid var(--card-border-strong);width:min(64px,100% - 8px);height:32px;box-shadow:0 5px 16px var(--shadow-accent);border-radius:16px;margin:0 auto;display:block}.relationship-banner{background-color:var(--relationship-banner-bg-color);background-image:var(--relationship-banner-bg);color:#fff}.horoscope-onboarding{z-index:5;pointer-events:none;-webkit-backdrop-filter:blur(1px);background:radial-gradient(at 18% 16%,#69dccd38,#0000 34%),radial-gradient(at 80% 24%,#ae80ff42,#0000 36%),linear-gradient(#090b1fd1,#11112dad 58%,#1c162a29);animation:4.2s both horoscopeOnboardingFade;position:absolute;inset:0;overflow:hidden}.horoscope-onboarding:before,.horoscope-onboarding:after{content:"";filter:blur(24px);mix-blend-mode:screen;opacity:0;border-radius:52% 48% 46% 54%/62% 44% 56% 38%;height:34%;animation:3.6s cubic-bezier(.22,1,.36,1) both auroraDrift;position:absolute;left:-14%;right:-14%}.horoscope-onboarding:before{background:linear-gradient(100deg,#0000 2%,#5be8b95c 30%,#869cff3d 57%,#0000 92%);animation-duration:4.4s;top:4%}.horoscope-onboarding:after{background:linear-gradient(92deg,#0000 0%,#f896d03d 22%,#63d6e44d 54%,#0000 88%);animation-duration:4.7s;animation-delay:.28s;top:36%}.horoscope-aurora{filter:blur(18px);mix-blend-mode:screen;opacity:0;transform-origin:50%;border-radius:999px;height:44%;position:absolute;left:-34%;right:-34%}.horoscope-aurora-one{background:linear-gradient(104deg,#0000 8%,#52e1b8d6 29%,#7cafffa8 52%,#b07bff80 70%,#0000 93%);height:46%;animation:4.8s cubic-bezier(.22,1,.36,1) both auroraSweep;top:7%}.horoscope-aurora-two{background:linear-gradient(94deg,#0000 4%,#f597ca7a 24%,#7ad7ffad 58%,#68eeb857 78%,#0000 96%);height:34%;animation:5s cubic-bezier(.22,1,.36,1) .16s both auroraCurtain;top:25%;left:-22%;right:-46%}.horoscope-aurora-three{filter:blur(22px);background:linear-gradient(108deg,#0000 12%,#70f4cd47 34%,#c691ff61 64%,#0000 90%);height:24%;animation:4.9s cubic-bezier(.22,1,.36,1) .42s both auroraVeil;top:45%;left:-44%;right:-18%}.horoscope-onboarding-star{background:#fff;border-radius:50%;animation:1.15s ease-in-out 3 both starTwinkle;position:absolute;box-shadow:0 0 12px #fffffff2,0 0 24px #8dbeff6b}.horoscope-onboarding-copy{z-index:2;color:#fffffff0;font-family:var(--font-display);text-align:center;text-shadow:0 2px 18px #0c0c20b8,0 0 28px #84d2ff57;font-size:24px;font-weight:700;line-height:1.35;animation:4.2s both horoscopeCopyIn;position:absolute;top:42%;left:24px;right:24px;transform:translateY(-50%)}.stagger>*{animation:.4s cubic-bezier(.22,1,.36,1) both fadeInUp}.stagger>:first-child{animation-delay:20ms}.stagger>:nth-child(2){animation-delay:60ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.14s}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(6){animation-delay:.22s}.stagger>:nth-child(7){animation-delay:.26s}.stagger>:nth-child(8){animation-delay:.3s}.stagger>:nth-child(n+9){animation-delay:.34s}input,textarea,select,button{font-family:inherit;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 0 0 3px #e8a0b038;border-color:var(--accent)!important}[data-theme=dark] input:focus,[data-theme=dark] textarea:focus,[data-theme=dark] select:focus{box-shadow:0 0 0 3px #e8909e2e}.diary-journal{z-index:1;isolation:isolate;background:var(--bg);position:relative}.diary-journal input[type=text],.diary-journal textarea{box-shadow:none!important;outline:none!important}.diary-journal input[type=text]:focus,.diary-journal input[type=text]:focus-visible,.diary-journal textarea:focus,.diary-journal textarea:focus-visible{border-color:var(--card-border)!important;box-shadow:none!important;outline:none!important}.diary-loading{background:var(--card-bg);border:1px solid var(--card-border);animation:.28s ease-out both fadeInUp}@supports (color:color-mix(in lab, red, red)){.diary-loading{border:1px solid color-mix(in srgb, var(--card-border) 86%, transparent)}}.diary-loading{box-shadow:var(--card-shadow);border-radius:18px;margin-top:18px;padding:20px;position:relative;overflow:hidden}.diary-loading-stack{flex-direction:column;gap:12px;width:100%;display:flex}.diary-loading-row{align-items:center;gap:10px;display:flex}.diary-loading-dot,.diary-loading-line,.diary-loading-card{background:var(--muted);animation:1.35s ease-in-out infinite diary-loading-pulse}@supports (color:color-mix(in lab, red, red)){.diary-loading-dot,.diary-loading-line,.diary-loading-card{background:color-mix(in srgb, var(--muted) 13%, var(--surface-low))}}.diary-loading-dot{border-radius:50%;flex:none;width:34px;height:34px}.diary-loading-line{border-radius:999px;height:12px;display:block}.diary-loading-line-sm{width:42%}.diary-loading-line-md{width:58%}.diary-loading-line-lg{width:100%}.diary-loading-card{border-radius:16px;flex-direction:column;gap:10px;min-height:84px;padding:16px;display:flex}.diary-loading-card-muted{opacity:.76}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes diary-loading-pulse{0%,to{opacity:.58}50%{opacity:1}}button{cursor:pointer}.floating-add-button{outline:none}.floating-add-button:focus-visible{box-shadow:0 0 0 4px #e8a0b03d, 0 14px 34px var(--shadow-strong), inset 0 1px 0 #fff3!important}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar{width:0;height:0}}.scrollbar-none{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-none::-webkit-scrollbar{width:0;height:0;display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.horoscope-onboarding{opacity:1!important;animation:none!important}.horoscope-aurora{opacity:.85!important;animation:none!important;transform:translate(0)rotate(-4deg)scaleX(1)!important}.horoscope-onboarding-star{opacity:.95!important;animation:none!important}.horoscope-onboarding-copy{opacity:1!important;animation:none!important;transform:translateY(-50%)!important}.logout-transition-overlay:before,.logout-transition-mark:before,.logout-transition-mark:after,.logout-transition-icon{animation:none!important}}.memo-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}@media (max-width:480px){.memo-grid{grid-template-columns:1fr}}input[type=date]{color:var(--ink);letter-spacing:.03em;cursor:pointer;border-radius:12px;font-size:16px;font-style:italic;transition:all .25s cubic-bezier(.22,1,.36,1);position:relative;box-shadow:0 1px 2px #0000000a,inset 0 1px #ffffff80;appearance:none!important;background:linear-gradient(135deg, var(--input-bg) 0%, var(--card-bg) 100%)!important;font-family:var(--font-numeric), Georgia, serif!important;border:1.5px solid var(--soft)!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23E8A0B0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>")!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:18px!important;padding-right:44px!important}[data-theme=dark] input[type=date]{box-shadow:0 1px 3px #00000026,inset 0 1px #ffffff0d;background:linear-gradient(135deg, var(--input-bg) 0%, var(--card-bg) 100%)!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23D9A0AC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>")!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:18px!important}input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;color:#0000;background:0 0;width:100%;height:100%;position:absolute;top:0;right:0}input[type=date]::-webkit-inner-spin-button{-webkit-appearance:none;display:none}input[type=date]::-webkit-clear-button{-webkit-appearance:none;display:none}input[type=date]:hover{box-shadow:0 2px 8px var(--shadow-color), 0 0 0 3px #e8a0b024, inset 0 1px 0 #ffffff80;transform:translateY(-1px);border-color:var(--accent)!important}[data-theme=dark] input[type=date]:hover{box-shadow:0 2px 8px #00000040,0 0 0 3px #e8a0b01f,inset 0 1px #ffffff0d}input[type=date]:focus{transform:translateY(-1px);border-color:var(--accent)!important;box-shadow:0 2px 12px var(--shadow-accent), 0 0 0 3px #e8a0b038, inset 0 1px 0 #ffffff80!important}[data-theme=dark] input[type=date]:focus{box-shadow:0 2px 12px #e8909e33,0 0 0 3px #e8909e26,inset 0 1px #ffffff0d!important}input[type=date]:active{transform:translateY(0)}input[type=date]:not(:valid)::-webkit-datetime-edit{color:var(--muted)}select{cursor:pointer;color:var(--ink);font-weight:500;appearance:none!important;background-color:var(--input-bg)!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23E8A0B0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:14px!important;padding-right:40px!important}[data-theme=dark] select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23D9A0AC' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")!important}input[type=checkbox]{border:1.5px solid var(--card-border);cursor:pointer;vertical-align:middle;--checkbox-fill:var(--primary);--checkbox-mark:#fff;border-radius:8px;flex-shrink:0;min-width:22px;margin:0;padding:0;transition:background .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 1px 2px #5e404b0f;appearance:none!important;background:var(--surface-low)!important;width:22px!important;height:22px!important}[data-theme=dark] input[type=checkbox]{--checkbox-mark:var(--bg);box-shadow:none}input[type=checkbox]:before{content:"";background:var(--checkbox-mark);opacity:0;pointer-events:none;transform-origin:0;border-radius:999px;width:6px;height:1.8px;transition:opacity .14s,transform .18s;position:absolute;top:8px;left:4px;transform:rotate(45deg)scaleX(.5)}input[type=checkbox]:after{content:"";background:var(--checkbox-mark);opacity:0;pointer-events:none;transform-origin:0;border-radius:999px;width:10px;height:2px;transition:opacity .14s,transform .18s;position:absolute;top:10.8px;left:8px;transform:rotate(-45deg)scaleX(.5)}input[type=checkbox]:checked{box-shadow:0 2px 8px var(--shadow-accent);border-color:var(--checkbox-fill)!important;background:var(--checkbox-fill)!important}input[type=checkbox]:checked:before{opacity:1;transform:rotate(45deg)scaleX(1)}input[type=checkbox]:checked:after{opacity:1;transform:rotate(-45deg)scaleX(1)}input[type=checkbox]:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px #e8a0b01f,0 1px 2px #5e404b14}[data-theme=dark] input[type=checkbox]:hover:not(:disabled){box-shadow:0 0 0 3px #e8909e1f,0 1px 2px #0000003d}input[type=checkbox]:focus-visible{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 3px #e8a0b038, 0 2px 8px var(--shadow-accent)!important}[data-theme=dark] input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px #e8909e2e,0 2px 8px #e8909e24!important}input[type=checkbox]:active:not(:disabled){transform:scale(.94)}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.54;box-shadow:none}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;min-height:38px;color:var(--ink);background:0 0;align-items:center;gap:10px;padding:6px 2px;font-size:14px;font-weight:700;line-height:1.35;transition:color .2s,opacity .2s;display:flex}.checkbox-label-text{flex:1;min-width:0}.checkbox-label:hover{color:var(--primary)}.checkbox-label:hover input[type=checkbox]{border-color:var(--accent)}.checkbox-label:has(input[type=checkbox]:checked){color:var(--primary)}.checkbox-label:has(input[type=checkbox]:disabled){cursor:not-allowed;opacity:.62}@keyframes floatPetal{0%{opacity:0;transform:translateY(-10vh)translate(0)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(110vh)translate(100px)rotate(720deg)}}@keyframes swayPetal{0%,to{transform:translate(0)}50%{transform:translate(30px)}}.season-spring{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.seasonal-diary-hidden{opacity:0}.season-spring:before{content:"";pointer-events:none;background:radial-gradient(at 20% 20%,#ffb6c114 0%,#0000 50%),radial-gradient(at 80% 80%,#ffdae90f 0%,#0000 50%),radial-gradient(#ffc0cb0a 0%,#0000 70%);position:absolute;inset:0}[data-theme=dark] .season-spring:before{background:radial-gradient(at 20% 20%,#d9a0ac0f 0%,#0000 50%),radial-gradient(at 80% 80%,#c8909c0a 0%,#0000 50%),radial-gradient(#d9a0ac08 0%,#0000 70%)}.petal{opacity:0;will-change:transform, opacity;background:linear-gradient(160deg,#ffd6e0 0%,#ffb3c6 50%,#ff8fab 100%);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;width:9px;height:14px;animation:linear infinite floatPetal;position:absolute;box-shadow:0 1px 4px #ff698740}[data-theme=dark] .petal{background:linear-gradient(160deg,#e0b0bea6 0%,#c8909c73 50%,#b4788759 100%);box-shadow:0 1px 4px #c8788c33}.petal:first-child{width:9px;height:14px;animation-duration:15s;animation-delay:0s;left:10%;transform:rotate(10deg)}.petal:nth-child(2){width:11px;height:17px;animation-duration:18s;animation-delay:2s;left:20%;transform:rotate(-30deg)}.petal:nth-child(3){width:7px;height:11px;animation-duration:12s;animation-delay:4s;left:30%;transform:rotate(55deg)}.petal:nth-child(4){width:10px;height:15px;animation-duration:20s;animation-delay:1s;left:40%;transform:rotate(-15deg)}.petal:nth-child(5){width:8px;height:13px;animation-duration:16s;animation-delay:3s;left:50%;transform:rotate(80deg)}.petal:nth-child(6){width:11px;height:17px;animation-duration:14s;animation-delay:5s;left:60%;transform:rotate(-50deg)}.petal:nth-child(7){width:8px;height:12px;animation-duration:19s;animation-delay:2.5s;left:70%;transform:rotate(35deg)}.petal:nth-child(8){width:9px;height:14px;animation-duration:17s;animation-delay:4.5s;left:80%;transform:rotate(-70deg)}.petal:nth-child(9){width:10px;height:16px;animation-duration:13s;animation-delay:1.5s;left:90%;transform:rotate(20deg)}.petal:nth-child(10){width:9px;height:13px;animation-duration:21s;animation-delay:3.5s;left:5%;transform:rotate(-40deg)}.petal:nth-child(11){width:7px;height:11px;animation-duration:16s;animation-delay:6s;left:25%;transform:rotate(65deg)}.petal:nth-child(12){width:10px;height:15px;animation-duration:14s;animation-delay:7s;left:45%;transform:rotate(-25deg)}.petal:nth-child(13){width:9px;height:14px;animation-duration:18s;animation-delay:.5s;left:65%;transform:rotate(45deg)}.petal:nth-child(14){width:8px;height:12px;animation-duration:15s;animation-delay:5.5s;left:85%;transform:rotate(-60deg)}.petal:nth-child(15){width:9px;height:14px;animation-duration:22s;animation-delay:8s;left:15%;transform:rotate(15deg)}.season-summer{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.season-summer:before{content:"";pointer-events:none;background:radial-gradient(at 85% 5%,#ffdf802e 0%,#0000 35%),radial-gradient(at 15% 95%,#87ceeb1a 0%,#0000 45%),radial-gradient(#fffacd0d 0%,#0000 60%);position:absolute;inset:0}[data-theme=dark] .season-summer:before{background:radial-gradient(at 85% 5%,#ffc86414 0%,#0000 35%),radial-gradient(at 15% 95%,#64b4dc0d 0%,#0000 45%)}.sun-rays{will-change:transform, opacity;background:radial-gradient(circle,#ffdf804d 0%,#0000 70%);border-radius:50%;width:200px;height:200px;animation:4s ease-in-out infinite sunPulse;position:absolute;top:-50px;right:-50px}[data-theme=dark] .sun-rays{background:radial-gradient(circle,#ffc86426 0%,#0000 70%)}@keyframes sunPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes floatLeaf{0%{opacity:0;transform:translateY(-10vh)translate(0)rotate(0)}10%{opacity:.9}50%{transform:translateY(50vh)translate(50px)rotate(180deg)}90%{opacity:.9}to{opacity:0;transform:translateY(110vh)translate(-30px)rotate(360deg)}}.season-autumn{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.season-autumn:before{content:"";pointer-events:none;background:radial-gradient(at 30% 30%,#d2691e14 0%,#0000 50%),radial-gradient(at 70% 70%,#ff8c000f 0%,#0000 50%),radial-gradient(at 50% 80%,#8b45130a 0%,#0000 60%);position:absolute;inset:0}[data-theme=dark] .season-autumn:before{background:radial-gradient(at 30% 30%,#b45a1e0f 0%,#0000 50%),radial-gradient(at 70% 70%,#c878000a 0%,#0000 50%)}.leaf{clip-path:polygon(50% 0%,95% 30%,100% 55%,75% 90%,50% 100%,25% 90%,0% 55%,5% 30%);opacity:0;will-change:transform, opacity;box-shadow:none;animation:ease-in-out infinite floatLeaf;position:absolute}[data-theme=dark] .leaf{opacity:.75}@keyframes snowfall{0%{opacity:0;transform:translateY(-10vh)translate(0)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(110vh)translate(20px)rotate(360deg)}}.season-winter{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.season-winter:before{content:"";pointer-events:none;background:radial-gradient(at 20% 20%,#c8dcff1a 0%,#0000 50%),radial-gradient(at 80% 80%,#dce6ff14 0%,#0000 50%);position:absolute;inset:0}[data-theme=dark] .season-winter:before{background:radial-gradient(at 20% 20%,#b4c8e60f 0%,#0000 50%),radial-gradient(at 80% 80%,#c8d2e60a 0%,#0000 50%)}.snowflake{color:#82afdcd9;font-variant-emoji:text;opacity:0;will-change:transform, opacity;-webkit-user-select:none;user-select:none;background:0 0;line-height:1;animation:linear infinite snowfall;position:absolute}[data-theme=dark] .snowflake{color:#d2e6fab3}@media (prefers-reduced-motion:reduce){.petal,.leaf,.snowflake,.sun-rays{opacity:0!important;animation:none!important}}.diary-route-stage,.timeline-route-stage{z-index:1;isolation:isolate;min-height:100dvh;position:relative}::view-transition-old(.detail-route-open){animation:.17s ease-in both detail-route-fade-out}::view-transition-new(.detail-route-open){animation:.21s ease-out .19s both detail-route-fade-in,.3s cubic-bezier(.22,1,.36,1) .19s both detail-route-lift-in}::view-transition-new(.detail-route-open){--detail-route-y-offset:12px}.detail-route-exit{pointer-events:none;animation:.23s ease-in both detail-route-home-exit}::view-transition-new(.diary-forward){--diary-route-enter-delay:.21s}::view-transition-new(.diary-back){--diary-route-enter-delay:.21s}::view-transition-old(.diary-forward){--diary-route-offset:-26px;animation:.17s ease-in both detail-route-fade-out,.36s cubic-bezier(.22,1,.36,1) both diary-route-slide-out}::view-transition-new(.diary-forward){--diary-route-offset:26px;animation:.24s ease-out var(--diary-route-enter-delay) both detail-route-fade-in, .39s cubic-bezier(.22, 1, .36, 1) var(--diary-route-enter-delay) both diary-route-slide-in}::view-transition-old(.diary-back){--diary-route-offset:26px;animation:.17s ease-in both detail-route-fade-out,.36s cubic-bezier(.22,1,.36,1) both diary-route-slide-out}::view-transition-new(.diary-back){--diary-route-offset:-26px;animation:.24s ease-out var(--diary-route-enter-delay) both detail-route-fade-in, .39s cubic-bezier(.22, 1, .36, 1) var(--diary-route-enter-delay) both diary-route-slide-in}@keyframes detail-route-fade-out{to{opacity:0;filter:blur(2px)}}@keyframes detail-route-fade-in{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur()}}@keyframes diary-route-slide-out{to{transform:translateX(var(--diary-route-offset))}}@keyframes diary-route-slide-in{0%{transform:translateX(var(--diary-route-offset))}to{transform:translate(0)}}@keyframes detail-route-lift-in{0%{transform:translateY(var(--detail-route-y-offset))}to{transform:translateY(0)}}@keyframes detail-route-home-exit{to{opacity:0;filter:blur(2px);transform:translateY(-8px)}}.d50-surface{--d50-bg:#fffaf4;--d50-paper:#fffdf9;--d50-paper-soft:#fdf0e8;--d50-ink:#493531;--d50-muted:#8e716a;--d50-accent:#ad6b68;--d50-accent-soft:#f4d9d0;--d50-border:#af7e7440;--d50-shadow:#6f413b1c;color:var(--d50-ink)}.d50-letter{min-height:100dvh;padding:calc(60px + env(safe-area-inset-top)) 20px calc(30px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 11%, #df9d9321, transparent 34%), radial-gradient(circle at 10% 86%, #e8b9ac21, transparent 28%), var(--d50-bg);justify-content:center;display:flex;overflow-x:hidden}.d50-letter:before{content:"";pointer-events:none;opacity:.24;background-image:radial-gradient(#744c434d .45px,#0000 .45px);background-size:4px 4px;position:fixed;inset:0}.d50-home-button{z-index:4;left:max(16px, env(safe-area-inset-left));top:calc(14px + env(safe-area-inset-top));border:1px solid var(--d50-border);width:42px;height:42px;color:var(--d50-accent);box-shadow:0 5px 18px var(--d50-shadow);cursor:pointer;background:#fffdf9e0;border-radius:50%;place-items:center;display:grid;position:fixed}.d50-eyebrow{color:var(--d50-accent);font-family:var(--font-numeric);letter-spacing:.16em;margin:0 0 10px;font-size:11px;font-style:italic;font-weight:700}.d50-envelope-mark{width:82px;height:82px;color:var(--d50-accent);background:linear-gradient(145deg, #fff5ee, var(--d50-accent-soft));border:1px solid #b36f692e;border-radius:27px;place-items:center;margin:0 auto 24px;display:grid;box-shadow:0 18px 38px #9d585321,inset 0 1px #ffffffbd}.d50-primary-button{color:#fffaf6;width:min(100%,340px);min-height:52px;font:700 15px var(--font-body);cursor:pointer;background:linear-gradient(135deg,#c68079 0%,#9e5c5c 100%);border:1px solid #0000;border-radius:17px;justify-content:center;align-items:center;gap:8px;padding:0 20px;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .2s;display:inline-flex;box-shadow:0 11px 25px #924e4a33}.d50-primary-button:active{transform:translateY(1px)}.d50-primary-button:disabled{opacity:.68;cursor:wait}.d50-text-button{min-height:46px;color:var(--d50-muted);font:700 14px var(--font-body);cursor:pointer;background:0 0;border:0;margin-top:9px}.d50-cover,.d50-act-divider,.d50-static-card,.d50-closing{z-index:1;text-align:center;align-self:center;width:min(100%,480px);position:relative}.d50-cover{min-height:calc(100dvh - 114px - env(safe-area-inset-top) - env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;display:flex}.d50-cover-mark{width:88px;height:88px;margin-bottom:27px}.d50-cover-title{color:var(--d50-ink);font-family:var(--font-display);margin:0;font-size:clamp(31px,9vw,39px);font-weight:800;line-height:1.3}.d50-cover-title strong{color:#8e514f;font-size:1.08em;display:block}.d50-cover-date{color:var(--d50-muted);margin:18px 0 0;font-size:14px;line-height:1.72}.d50-expiry{color:#9b7b73;margin:34px 0 17px;font-size:12px;line-height:1.6}.d50-resume-title{font-family:var(--font-display);margin:0;font-size:clamp(27px,8vw,34px);font-weight:800;line-height:1.35}.d50-resume-title+.d50-cover-date{margin-bottom:33px}.d50-act-divider{min-height:calc(100dvh - 114px - env(safe-area-inset-top) - env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;display:flex}.d50-act-divider h1{color:var(--d50-ink);font:800 clamp(58px, 18vw, 76px) var(--font-display);margin:10px 0 16px;line-height:1.1}.d50-act-comment{width:min(100%,396px);color:var(--d50-ink);font:700 clamp(17px, 4.8vw, 20px) var(--font-display);word-break:keep-all;margin:0 0 20px;line-height:1.72}.d50-act-count{color:var(--d50-muted);margin:0 0 38px;font-size:14px;font-weight:700}.d50-act-divider-final{isolation:isolate}.d50-act-divider-final .d50-eyebrow{animation:.72s cubic-bezier(.22,1,.36,1) .24s both d50FinalActCopyIn}.d50-act-divider-final h1{color:#88504d;text-shadow:0 8px 30px #a5585321;animation:.96s cubic-bezier(.22,1,.36,1) .18s both d50FinalActTitleIn}.d50-act-divider-final>p:not(.d50-eyebrow),.d50-act-divider-final .d50-primary-button{animation:.72s cubic-bezier(.22,1,.36,1) .53s both d50FinalActCopyIn}.d50-final-act-bloom{z-index:-1;aspect-ratio:1;pointer-events:none;place-items:center;width:min(78vw,342px);display:grid;position:absolute}.d50-final-act-bloom:before{content:"";background:radial-gradient(circle,#dd999133,#efbfb317 45%,#0000 70%);border-radius:50%;animation:2.5s ease-out .12s both d50FinalBloomGlow;position:absolute;inset:20%}.d50-final-act-bloom span{border:1px solid #bb6b6638;border-radius:50%;animation:1.45s cubic-bezier(.22,1,.36,1) both d50FinalBloomRing;position:absolute}.d50-final-act-bloom span:first-child{animation-delay:80ms;inset:26%}.d50-final-act-bloom span:nth-child(2){animation-delay:.24s;inset:12%}.d50-final-act-bloom span:nth-child(3){animation-delay:.4s;inset:0}.d50-reasons{z-index:1;width:min(100%,520px);height:calc(100dvh - 90px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:none;flex-direction:column;min-height:0;padding:20px 14px 28px;display:flex;position:relative;overflow:visible}.d50-progress{color:var(--d50-accent);font:italic 700 12px var(--font-numeric);letter-spacing:.08em;flex-shrink:0;justify-content:space-between;gap:16px;margin-bottom:26px;display:flex}.d50-accumulated{flex-direction:column;flex:auto;justify-content:flex-start;gap:9px;min-height:0;margin-bottom:16px;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 22px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 22px calc(100% - 18px),#0000 100%)}.d50-accumulated p{color:#755b55b3;border-left:1px solid #ad6b682b;margin:0;padding-left:11px;font-size:13px;line-height:1.55}.d50-current-reason{border:1px solid var(--d50-border);box-shadow:0 12px 33px var(--d50-shadow), inset 0 1px 0 #ffffffd1;text-align:center;background:#fffdf9e6;border-radius:24px;flex-shrink:0;margin-top:auto;margin-bottom:22px;padding:clamp(22px,7vw,32px) 21px}.d50-current-reason span{color:var(--d50-accent);font:italic 700 11px var(--font-numeric);letter-spacing:.14em;margin-bottom:13px;display:block}.d50-current-reason p{color:var(--d50-ink);font-family:var(--font-display);word-break:keep-all;margin:0;font-size:clamp(21px,6vw,25px);font-weight:700;line-height:1.62}.d50-current-reason-final{isolation:isolate;background:radial-gradient(circle at 50% 20%,#f6dad08a,#0000 52%),#fffdf9f2;border-color:#b5645f4d;flex-direction:column;justify-content:center;min-height:min(38dvh,300px);display:flex;position:relative;box-shadow:0 22px 54px #8b4b472e,inset 0 1px #ffffffe0}.d50-current-reason-final p{color:#422d2b;font-size:clamp(23px,6.5vw,28px)}.d50-reasons-to-letter .d50-progress,.d50-reasons-to-letter .d50-accumulated{animation:1.25s both d50FinalReasonQuiet}.d50-reasons-to-letter .d50-current-reason-final{animation:3.55s ease-in-out .1s both d50FinalReasonFarewell}.d50-final-reason-halo{z-index:-1;pointer-events:none;position:absolute;inset:-20px}.d50-final-reason-halo span{border:1px solid #be6f6933;border-radius:30px;animation:1.65s cubic-bezier(.22,1,.36,1) .18s both d50FinalReasonRing;position:absolute;inset:5px}.d50-final-reason-halo span+span{opacity:.55;animation-delay:.38s;inset:-7px}.d50-next-button{flex-shrink:0;align-self:center}.d50-next-button-final{animation:.7s cubic-bezier(.22,1,.36,1) .72s both d50FinalButtonIn}.d50-letter-threshold{color:#86524f;pointer-events:none;place-items:center;width:min(100%,360px);min-height:58px;margin:0 auto 18px;display:grid;position:relative}.d50-letter-threshold p{max-width:210px;font-family:var(--font-display);text-align:center;text-shadow:0 8px 28px #8b4b4724;margin:0;font-size:clamp(17px,4.7vw,20px);font-weight:800;line-height:1.55}@keyframes d50FinalActTitleIn{0%{opacity:0;filter:blur(4px);transform:translateY(16px)scale(.92)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes d50FinalActCopyIn{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes d50FinalBloomRing{0%{opacity:0;transform:scale(.58)}42%{opacity:.6}to{opacity:0;transform:scale(1.08)}}@keyframes d50FinalBloomGlow{0%{opacity:0;transform:scale(.68)}45%{opacity:1}to{opacity:.75;transform:scale(1.2)}}@keyframes d50FinalReasonRing{0%{opacity:0;transform:scale(.94)}46%{opacity:1}to{opacity:0;transform:scale(1.065)}}@keyframes d50FinalReasonQuiet{0%{opacity:1;transform:translateY(0)}to{opacity:.22;transform:translateY(-8px)}}@keyframes d50FinalReasonFarewell{0%{box-shadow:0 22px 54px #8b4b472e,inset 0 1px #ffffffe0}34%{box-shadow:0 34px 76px #8b4b4740,inset 0 1px #ffffffe6}72%{box-shadow:0 30px 70px #8b4b4736,inset 0 1px #ffffffe0}to{box-shadow:0 16px 42px #8b4b4724,inset 0 1px #ffffffdb}}@keyframes d50FinalButtonIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.d50-closing{height:auto;max-height:calc(100dvh - 90px - env(safe-area-inset-top) - env(safe-area-inset-bottom));text-align:left;isolation:isolate;flex-direction:column;justify-content:flex-end;align-self:flex-end;margin:0 auto;padding:clamp(12px,3dvh,28px) 8px 0;display:flex;overflow:visible}.d50-closing-reading{cursor:pointer}.d50-closing:before{content:"";z-index:-1;background:linear-gradient(#fffdf9cc,#fff7ef8a),radial-gradient(circle at 80% 10%,#c59d661f,#0000 38%);border:1px solid #b5645f24;border-radius:27px;animation:1.15s ease-out .16s both d50ClosingPaperIn;position:absolute;inset:-18px -16px -12px;box-shadow:0 24px 62px #6f413b1a}.d50-closing h1{color:var(--d50-ink);font:800 clamp(30px, 8.2vw, 38px) var(--font-display);margin:clamp(8px,1.8dvh,17px) 0 clamp(14px,3.6dvh,30px)}.d50-closing p{color:var(--d50-ink);font-family:var(--font-display);word-break:keep-all;margin:0 0 clamp(11px,2.45dvh,22px);font-size:clamp(17px,4.65vw,20px);line-height:1.72}.d50-closing-lines{flex-direction:column;flex:0 auto;justify-content:flex-end;min-height:0;display:flex}.d50-closing strong{color:#8e514f;font:800 clamp(24px, 6.6vw, 30px) var(--font-display);margin:clamp(12px,2.4dvh,24px) 0 clamp(12px,2.8dvh,28px);display:block}.d50-closing-love-line{margin-bottom:clamp(9px,1.8dvh,16px)}.d50-closing .d50-primary-button{flex-shrink:0;width:100%}@keyframes d50ClosingPaperIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.d50-static-card{border:1px solid var(--d50-border);box-shadow:0 15px 42px var(--d50-shadow);background:#fffdf9d1;border-radius:28px;padding:clamp(42px,12vw,55px) 25px}.d50-static-title{color:var(--d50-ink);font:800 clamp(28px, 8vw, 34px) var(--font-display);margin:0;line-height:1.38}.d50-static-copy{color:var(--d50-muted);margin:16px auto 0;font-size:14px;line-height:1.8}.d50-loading{z-index:1;color:var(--d50-accent);align-self:center;position:relative}@media (prefers-reduced-motion:reduce){.d50-act-divider-final .d50-eyebrow,.d50-act-divider-final h1,.d50-act-divider-final>p:not(.d50-eyebrow),.d50-act-divider-final .d50-primary-button,.d50-final-act-bloom:before,.d50-final-act-bloom span,.d50-current-reason-final,.d50-reasons-to-letter .d50-progress,.d50-reasons-to-letter .d50-accumulated,.d50-reasons-to-letter .d50-current-reason-final,.d50-final-reason-halo span,.d50-next-button-final,.d50-closing:before{animation:none!important}.d50-final-act-bloom span,.d50-final-reason-halo{display:none}::view-transition-old(.detail-route-open){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(.detail-route-open){animation-duration:0s!important;animation-delay:0s!important}::view-transition-old(.diary-forward){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(.diary-forward){animation-duration:0s!important;animation-delay:0s!important}::view-transition-old(.diary-back){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(.diary-back){animation-duration:0s!important;animation-delay:0s!important}}@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-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}
