@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:ital,wght@0,300..600;1,300..600&family=Caveat:wght@500;600;700&display=swap";@layer components;@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}}}@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;--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,-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;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}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.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}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}}:root{color-scheme:light dark;--bg:#fffaf8;--surface:#fff;--elevated:#fff5f5;--primary:#c75c75;--secondary:#8b6f97;--accent:#ecd7e9;--text:#352c31;--muted:#7e7077;--border:#efdfdf;--shadow:0 18px 50px #5d334017;--shadow-warm:0 8px 30px #c75c751f;--shadow-warm-lg:0 16px 40px #c75c752e;--glow-primary:0 0 20px var(--primary)}@supports (color:color-mix(in lab,red,red)){:root{--glow-primary:0 0 20px color-mix(in srgb, var(--primary) 25%, transparent)}}:root{--gradient-warm:linear-gradient(135deg, var(--primary), var(--primary))}@supports (color:color-mix(in lab,red,red)){:root{--gradient-warm:linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 70%, var(--secondary)))}}:root{--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:30px;--radius-full:999px;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif}@media(prefers-color-scheme:dark){:root{--bg:#1c171a;--surface:#282125;--elevated:#32262d;--primary:#ed93aa;--secondary:#c3a4cf;--accent:#523b4f;--text:#fbf1f4;--muted:#bbaeb4;--border:#46373e;--shadow:0 18px 50px #00000038;--shadow-warm:0 8px 30px #ed93aa1a;--shadow-warm-lg:0 16px 40px #ed93aa26;--glow-primary:0 0 20px var(--primary)}@supports (color:color-mix(in lab,red,red)){:root{--glow-primary:0 0 20px color-mix(in srgb, var(--primary) 20%, transparent)}}}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 5%,var(--accent),transparent 28%),radial-gradient(circle at 15% 90%,var(--primary),transparent 35%),var(--bg);min-height:100vh;margin:0}@supports (color:color-mix(in lab,red,red)){body{background:radial-gradient(circle at 85% 5%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 28%),radial-gradient(circle at 15% 90%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 35%),var(--bg)}}body{background-attachment:fixed}html,body,#root{width:100%;max-width:100%;overflow-x:clip}img,video,iframe,canvas{max-width:100%}body:before{content:"";z-index:-1;pointer-events:none;opacity:.55;background:radial-gradient(circle at 14% 18%,var(--primary) 0 4px,transparent 5px),radial-gradient(circle at 77% 72%,var(--secondary) 0 5px,transparent 6px),radial-gradient(circle at 45% 88%,var(--primary) 0 3px,transparent 4px),radial-gradient(circle at 60% 30%,var(--accent) 0 6px,transparent 7px);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){body:before{background:radial-gradient(circle at 14% 18%,color-mix(in srgb,var(--primary) 10%,transparent) 0 4px,transparent 5px),radial-gradient(circle at 77% 72%,color-mix(in srgb,var(--secondary) 9%,transparent) 0 5px,transparent 6px),radial-gradient(circle at 45% 88%,color-mix(in srgb,var(--primary) 7%,transparent) 0 3px,transparent 4px),radial-gradient(circle at 60% 30%,color-mix(in srgb,var(--accent) 12%,transparent) 0 6px,transparent 7px)}}body:before{background-size:190px 190px,260px 260px,145px 145px,220px 220px}button,a{font:inherit;cursor:pointer}button{transition:transform .17s,box-shadow .17s,border-color .17s,background .17s,color .17s}button:active{transform:scale(.975)}button:focus-visible,a:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent)}}button:focus-visible,a:focus-visible{outline-offset:3px}.skip-link{z-index:11000;background:var(--primary);color:var(--on-primary,#fff);border-radius:13px;padding:11px 16px;font-weight:800;transition:transform .16s;position:fixed;top:14px;left:18px;transform:translateY(calc(-100% - 24px));box-shadow:0 12px 30px #00000052}.skip-link:focus{transform:translateY(0)}#main-content:focus{outline:none}.shell{min-height:100vh}.rail{display:none}.auth-page{place-items:center;min-height:100dvh;padding:16px;display:grid}.login-card{border:1px solid var(--border);background:var(--surface);width:min(100%,440px);box-shadow:var(--shadow);border-radius:30px;padding:30px 34px}.auth-mark{color:#fff;background:var(--primary);border-radius:17px;place-items:center;width:50px;height:50px;margin-bottom:18px;display:grid}.login-card form{gap:13px;margin-top:22px;display:grid}.login-card h1{max-width:340px;margin:6px 0 7px;font-size:clamp(2rem,8vw,2.65rem)}.login-card label{color:var(--muted);gap:7px;font-size:.86rem;font-weight:600;display:grid}.login-card input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:13px;outline:none;padding:13px 15px;transition:border-color .18s,box-shadow .18s}.login-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary),var(--glow-primary)}@supports (color:color-mix(in lab,red,red)){.login-card input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent),var(--glow-primary)}}.password-field{display:block;position:relative}.password-field input{padding-right:48px}.setup{align-content:start;gap:44px;width:min(100%,1120px);padding:26px 0;display:grid}.setup-card{border:1px solid var(--primary);justify-self:center;width:min(100%,660px);padding:34px 22px 30px}@supports (color:color-mix(in lab,red,red)){.setup-card{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border))}}.setup-card{background:var(--surface);box-shadow:var(--shadow-warm-lg);border-radius:34px;animation:.54s cubic-bezier(.22,.68,.25,1) both fade-in-up}.setup-card-head{gap:8px;margin-bottom:24px;display:grid}.setup-card-head h2{margin:0;font-family:Newsreader,serif;font-size:clamp(1.45rem,3.5vw,1.8rem);font-style:italic;font-weight:500;line-height:1.15}.setup-card-lead{color:var(--muted);margin:0;font-size:.95rem;line-height:1.6}.setup-story{text-align:center;align-content:start;justify-items:center;gap:14px;display:grid}.setup-story-mark{color:#fff;background:var(--gradient-warm);width:64px;height:64px;box-shadow:var(--glow-primary),var(--shadow-warm);border-radius:22px;place-items:center;margin-bottom:8px;display:grid}.setup-story-mark svg{width:26px;height:26px}.setup-story h1{letter-spacing:-.01em;max-width:14ch;margin:0;font-family:Newsreader,serif;font-size:clamp(2.5rem,4.5vw,3.7rem);font-style:italic;font-weight:500;line-height:1.06}.setup-story-text{max-width:44ch;color:var(--muted);margin:0;font-size:1.04rem;line-height:1.7}.setup-story .privacy{color:var(--muted);align-items:center;gap:7px;margin:10px 0 0;font-size:.84rem;font-weight:600;display:inline-flex}.setup-story .privacy svg{width:14px}.setup-pair{gap:18px;display:grid}.setup-amp{border:1px solid var(--primary);border-radius:50%;justify-self:center;place-items:center;width:36px;height:36px;display:grid}@supports (color:color-mix(in lab,red,red)){.setup-amp{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}}.setup-amp{color:var(--primary);background:var(--surface);box-shadow:var(--shadow-warm)}.setup-error{border:1px solid #b84b5d;margin:0;padding:12px 14px}@supports (color:color-mix(in lab,red,red)){.setup-error{border:1px solid color-mix(in srgb,#b84b5d 35%,var(--border))}}.setup-error{background:#b84b5d;border-radius:14px}@supports (color:color-mix(in lab,red,red)){.setup-error{background:color-mix(in srgb,#b84b5d 9%,var(--surface))}}.setup-error{color:#b84b5d;font-size:.9rem;font-weight:600}.setup-form{gap:20px;display:grid}.setup-person{border:1px solid var(--border);background:linear-gradient(180deg,var(--elevated),var(--surface));border-radius:22px;gap:15px;margin:0;padding:24px 20px;display:grid}@supports (color:color-mix(in lab,red,red)){.setup-person{background:linear-gradient(180deg,color-mix(in srgb,var(--elevated) 72%,transparent),var(--surface))}}.setup-person-title{color:var(--primary);align-items:center;gap:9px;padding:0;font-size:.96rem;font-weight:700;display:inline-flex}.setup-person-icon{color:#fff;background:var(--gradient-warm);width:30px;height:30px;box-shadow:var(--shadow-warm);border-radius:50%;place-items:center;display:grid}.setup-person-icon svg{width:14px}.setup-person-caption{color:var(--muted);margin:-4px 0 2px;font-size:.88rem;font-weight:500;line-height:1.5}.setup-person label{color:var(--muted);gap:7px;font-size:.85rem;font-weight:600;display:grid}.setup-person label>small{color:var(--muted);font-weight:500}.setup-person input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:14px;outline:none;padding:13px 15px;transition:border-color .18s,box-shadow .18s}.setup-person input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary),var(--glow-primary)}@supports (color:color-mix(in lab,red,red)){.setup-person input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent),var(--glow-primary)}}.setup-submit{color:#fff;background:var(--gradient-warm);width:100%;box-shadow:var(--shadow-warm);border:0;border-radius:16px;justify-content:center;align-items:center;gap:9px;padding:16px;font-size:1.02rem;font-weight:700;display:inline-flex}.setup-submit:hover{box-shadow:var(--shadow-warm-lg);transform:translateY(-1px)}.setup-submit:disabled{opacity:.65;cursor:default;box-shadow:none;transform:none}@media(min-width:700px){.setup-card{padding:40px 40px 36px}.setup-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:20px}.setup-amp{place-self:center}}@media(min-width:960px){.setup{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:72px}.setup-card{justify-self:end}.setup-story{text-align:left;justify-items:start}}@media(prefers-reduced-motion:reduce){.setup-card{animation:none}}.password-toggle{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:11px;place-items:center;transition:color .16s,background .16s,transform .16s;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-toggle:hover{color:var(--primary);background:var(--elevated)}.password-toggle:active{transform:translateY(-50%)scale(.9)}.password-toggle svg{width:19px}@keyframes eye-in{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.primary-button{color:#fff;background:var(--primary);border:0;border-radius:14px;padding:14px;font-weight:700}.form-error{color:#b84b5d;margin:0;font-size:.86rem}.toast{z-index:20;border:1px solid var(--primary);width:min(100% - 32px,420px);padding:14px 18px;position:fixed;top:20px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.toast{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}}.toast{background:var(--surface);color:var(--text);box-shadow:var(--shadow);border-radius:16px;font-size:.9rem}.app-notification{z-index:80;width:min(100% - 40px,410px);color:var(--text);box-shadow:var(--shadow-warm-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px;animation:.3s cubic-bezier(.2,.8,.25,1) both notification-arrive;display:grid;position:fixed;bottom:20px;right:20px}.app-notification>span{color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.app-notification>span svg{width:18px;height:18px}.app-notification p{margin:0;font-weight:600;line-height:1.4}.app-notification button{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;transition:all .16s;display:grid}.app-notification button:hover{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.app-notification button:hover{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}}.app-notification button:hover{color:var(--primary);transform:scale(1.08)}.app-notification button svg{width:16px;height:16px}.toast-sparkle{width:14px;height:14px;color:var(--primary);animation:1.5s ease-in-out infinite toast-sparkle;position:absolute;top:8px;right:44px}@keyframes toast-sparkle{0%,to{opacity:.6;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.3)rotate(12deg)}}@media(max-width:600px){.app-notification{width:auto;bottom:12px;left:12px;right:12px}}.app-notification p{margin:0;font-size:.84rem;font-weight:650;line-height:1.4}.app-notification button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.app-notification button:hover{background:var(--elevated);color:var(--primary)}.app-notification button svg{width:16px}@keyframes notification-arrive{0%{opacity:0;transform:translateY(14px)scale(.97)}}@keyframes notification-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.update-toast{z-index:30;border:1px solid var(--border);background:var(--surface);width:min(100% - 36px,430px);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;display:grid;position:fixed;bottom:18px;right:18px}.install-toast{z-index:29;border:1px solid var(--border);background:var(--surface);width:min(100% - 36px,470px);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;animation:.35s both notification-arrive;display:grid;position:fixed;bottom:18px;right:18px}.install-toast strong,.install-toast p{margin:0;display:block}.install-toast p{color:var(--muted);margin-top:2px;font-size:.78rem}.install-action,.install-dismiss{border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:40px;display:inline-flex}.install-action{background:var(--primary);color:#fff;padding:9px 12px;font-weight:750}.install-action svg,.install-dismiss svg{width:17px}.install-dismiss{width:40px;color:var(--muted);background:0 0}.install-dismiss:hover{background:var(--elevated);color:var(--primary)}.update-icon{width:40px;height:40px;color:var(--primary);background:var(--elevated);border-radius:13px;place-items:center;display:grid}.update-icon svg{width:20px}.update-toast strong,.update-toast p{margin:0;display:block}.update-toast p{color:var(--muted);margin-top:2px;font-size:.78rem}.update-toast button{color:#fff;background:var(--primary);border:0;border-radius:12px;padding:10px 13px;font-size:.78rem;font-weight:700}.update-toast button:disabled{opacity:.7;cursor:wait}@media(max-width:560px){.app-notification{width:calc(100% - 28px);bottom:96px;right:14px}.update-toast{border-radius:16px;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:10px;bottom:88px}.install-toast{border-radius:16px;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;width:calc(100% - 28px);padding:10px;bottom:88px;right:14px}.install-toast p,.install-dismiss{display:none}.install-action{padding:8px 10px}.update-icon{width:36px;height:36px}.update-toast p{display:none}.update-toast button{white-space:nowrap;padding:8px 10px}body:has(.auth-page) .update-toast{top:max(10px,env(safe-area-inset-top));bottom:auto}body:has(.update-toast) .auth-page{padding-top:84px}}.privacy{text-align:center;color:var(--muted);margin:18px 0 0;font-size:.78rem}@media(max-height:650px){.login-card{padding-block:22px}.auth-mark{width:44px;height:44px;margin-bottom:12px}.login-card form{gap:10px;margin-top:16px}.privacy{margin-top:12px}}.logout{color:var(--muted);background:0 0;border:0;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.logout svg,.mobile-logout svg{width:19px}.bottom .mobile-logout{color:var(--muted);background:0 0}main{width:100%;max-width:none;margin:0;padding:32px 20px 110px;position:relative;container:app-content/inline-size}.route-transition,.memory-page,.memory-detail,.event-detail{min-width:0;max-width:100%}main:has(.app-select.open,.app-datepicker.open){z-index:20}header,.section-title{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}h1{letter-spacing:-.045em;margin:.2rem 0 .5rem;font-size:clamp(2rem,6vw,3.6rem);line-height:1.05}h2{margin:.2rem 0;font-size:1.35rem}h3{margin:0 0 .3rem}.subtitle,.timeline p{color:var(--muted);margin:0}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.76rem;font-weight:700}.icon{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:50%;padding:12px}.gesture{background:linear-gradient(130deg,var(--elevated),var(--surface));border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px;gap:18px;margin:42px 0;padding:26px;display:grid}.heart{background:var(--primary);color:#fff;border-radius:18px;place-items:center;width:54px;height:54px;display:grid;transform:rotate(-3deg)}.actions{flex-wrap:wrap;gap:10px;display:flex}.actions button{background:var(--primary);color:#fff;border:0;border-radius:999px;padding:12px 18px;font-weight:600}.actions .soft{background:var(--accent);color:var(--text)}.link{color:var(--primary);background:0 0;border:0;font-weight:700}.timeline{margin-top:22px}.timeline article{grid-template-columns:58px 14px 1fr;gap:14px;padding:12px 0 24px;display:grid;position:relative}.timeline article:after{content:"";border-left:1px solid var(--border);position:absolute;top:32px;bottom:-4px;left:78px}.timeline article:last-child:after{display:none}.timeline time{color:var(--muted);font-size:.85rem}.dot{background:var(--primary);width:12px;height:12px;box-shadow:0 0 0 5px var(--elevated);border-radius:50%}.note{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:24px;margin-top:24px;padding:28px}.script{color:var(--secondary);margin:0 0 8px;font-family:Newsreader,serif;font-size:1.4rem}.note>p:last-child{color:var(--muted);font-size:.8rem}.bottom{z-index:5;background:var(--surface);position:fixed;bottom:12px;left:12px;right:12px}@supports (color:color-mix(in lab,red,red)){.bottom{background:color-mix(in srgb,var(--surface) 90%,transparent)}}.bottom{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;justify-content:space-around;align-items:center;padding:10px 6px;display:flex}.bottom a{color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:.67rem;display:flex}.bottom svg{width:20px}.bottom .active{color:var(--primary)}.bottom button{background:var(--primary);color:#fff;border:0;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.memory-page,.memory-detail,.memory-form-page,.event-detail{width:100%}.heading-actions,.section-title,.notes-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.heading-actions>button:first-child,.section-title>button{color:var(--primary);background:0 0;border:0;font-weight:700}.section-title>button:hover{color:var(--secondary);transform:translate(3px)}.timeline-feed,.event-grid,.notes-list{gap:15px;display:grid}.event-card{border:1px solid var(--primary);grid-template-columns:54px 1fr;gap:17px;width:100%;padding:22px;display:grid}@supports (color:color-mix(in lab,red,red)){.event-card{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}}.event-card{background:linear-gradient(135deg,var(--elevated),var(--surface));border-radius:24px}@supports (color:color-mix(in lab,red,red)){.event-card{background:linear-gradient(135deg,color-mix(in srgb,var(--elevated) 75%,var(--surface)),var(--surface))}}.event-card{color:var(--text);text-align:left;transition:transform .16s,border-color .16s;box-shadow:0 12px 38px #5d334012}.event-card:hover{border-color:var(--primary);box-shadow:var(--shadow-warm-lg);transform:translateY(-4px)}.event-symbol,.event-heart{background:var(--primary);color:#fff;border-radius:17px;place-items:center;width:50px;height:50px;display:grid}.event-symbol{transition:transform .19s}.event-symbol svg{width:22px}.event-badge,.relationship-start{background:var(--accent);width:fit-content;color:var(--secondary);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800;display:inline-flex}.event-card h3{margin:8px 0 5px;font-size:1.2rem}.event-card p{color:var(--muted);margin:0}.event-card footer{color:var(--primary);flex-wrap:wrap;gap:12px;margin-top:13px;font-size:.78rem;font-weight:700;display:flex}.event-detail{max-width:none}.event-hero{border:1px solid var(--primary);padding:clamp(26px,7vw,58px)}@supports (color:color-mix(in lab,red,red)){.event-hero{border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border))}}.event-hero{background:radial-gradient(circle at 90% 8%,var(--accent),transparent 28%),var(--surface);border-radius:32px}@supports (color:color-mix(in lab,red,red)){.event-hero{background:radial-gradient(circle at 90% 8%,color-mix(in srgb,var(--accent) 65%,transparent),transparent 28%),var(--surface)}}.event-hero{box-shadow:var(--shadow)}.event-hero .event-heart{margin-bottom:18px}.event-hero h1{margin:10px 0 4px;font-size:clamp(2.2rem,7vw,4rem)}.event-date{color:var(--primary);margin:0;font-weight:800}.event-notes,.event-info{border:1px solid var(--border);background:var(--surface);border-radius:26px;margin-top:24px;padding:clamp(20px,5vw,32px)}.notes-title{justify-content:flex-start}.notes-title>svg{color:var(--primary)}.notes-title h2,.section-title h2{margin:3px 0 0}.notes-empty{color:var(--muted)}.notes-list article{background:var(--elevated);border-radius:17px;padding:17px}.notes-list article p{white-space:pre-wrap}.notes-list footer{gap:12px;display:flex}.notes-list footer button{color:var(--primary);background:0 0;border:0;padding:0;font-size:.78rem;font-weight:700}.note-form{border-top:1px solid var(--border);gap:12px;margin-top:20px;padding-top:20px;display:grid}.note-form label{color:var(--muted);gap:8px;font-size:.86rem;font-weight:700;display:grid}.note-form textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:14px;padding:13px 15px}.note-form>div{justify-content:flex-end;gap:10px;display:flex}.event-info dl{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.event-info dl div{background:var(--elevated);border-radius:15px;padding:14px}.event-info dt{color:var(--muted);font-size:.75rem}.event-info dd{margin:4px 0 0;font-weight:700}.reference-toggle{border:1px solid var(--border);border-radius:17px;flex-direction:row;align-items:flex-start;padding:17px;display:flex!important}.reference-toggle input{width:19px;height:19px;accent-color:var(--primary);flex:none}.reference-toggle small{margin-top:4px;font-weight:400;display:block}.app-select,.app-datepicker{width:100%;position:relative}.app-select.open,.app-datepicker.open{z-index:60}.select-trigger,.date-trigger,.year-picker{border:1px solid var(--border);background:var(--bg);width:100%;min-height:48px;color:var(--text);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex}.select-trigger:hover,.date-trigger:hover,.app-select.open .select-trigger,.app-datepicker.open .date-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary),var(--glow-primary)}@supports (color:color-mix(in lab,red,red)){.select-trigger:hover,.date-trigger:hover,.app-select.open .select-trigger,.app-datepicker.open .date-trigger{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent),var(--glow-primary)}}.select-trigger svg,.date-trigger svg{width:18px;color:var(--primary);flex:none;transition:transform .16s}.date-trigger span{flex:1}.app-select.open .select-trigger>svg:last-child,.app-datepicker.open .date-trigger>svg:last-child{transform:rotate(180deg)}.select-menu,.date-popover{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:17px;width:100%;padding:7px;position:absolute;top:calc(100% + 8px);left:0}@supports (color:color-mix(in lab,red,red)){.select-menu,.date-popover{background:color-mix(in srgb,var(--surface) 96%,transparent)}}.select-menu,.date-popover{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:.15s both control-pop}.app-select.drop-up .select-menu,.app-datepicker.drop-up .date-popover{transform-origin:bottom;top:auto;bottom:calc(100% + 8px)}.select-menu button{width:100%;min-height:42px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:11px;justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.select-menu button:hover,.select-menu button[aria-selected=true]{background:var(--elevated);color:var(--primary)}.select-menu button:disabled{cursor:not-allowed;opacity:.38}.select-menu svg{width:16px}.app-switch-row{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:16px 17px;transition:border-color .18s,background .18s;display:flex}.app-switch-row.checked{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.app-switch-row.checked{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}}.app-switch-row.checked{background:var(--elevated)}.switch-copy{gap:4px;display:grid}.switch-copy small{color:var(--muted);font-weight:400;line-height:1.4}.switch-track{background:var(--muted);border-radius:999px;flex:none;width:48px;height:28px;padding:3px}@supports (color:color-mix(in lab,red,red)){.switch-track{background:color-mix(in srgb,var(--muted) 38%,var(--border))}}.switch-track{transition:background .18s}.switch-track i{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .18s;display:block;box-shadow:0 2px 7px #2a182238}.app-switch-row.checked .switch-track{background:var(--primary)}.app-switch-row.checked .switch-track i{transform:translate(20px)}.date-popover{width:min(340px,100vw - 48px);padding:14px}.date-popover header{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.date-popover header button,.year-picker button{background:var(--elevated);width:36px;height:36px;color:var(--primary);border:0;border-radius:11px;place-items:center;display:grid}.date-popover header svg,.year-picker svg{width:17px}.weekdays,.day-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekdays span{color:var(--muted);text-align:center;padding:6px 0;font-size:.69rem}.day-grid button,.month-grid button{aspect-ratio:1;color:var(--text);background:0 0;border:0;border-radius:10px}.day-grid button:hover,.month-grid button:hover{background:var(--elevated);color:var(--primary)}.day-grid button.selected,.month-grid button.selected{background:var(--primary);color:#fff;font-weight:800}.month-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.month-grid button{aspect-ratio:auto;padding:12px 5px}.date-popover footer{border-top:1px solid var(--border);justify-content:space-between;margin-top:10px;padding-top:10px;display:flex}.date-popover footer button{color:var(--primary);background:0 0;border:0;font-size:.78rem;font-weight:700}.year-picker{padding:6px}.year-picker input{text-align:center;min-width:0;font-weight:800;box-shadow:none!important;background:0 0!important;border:0!important}.home-empty{align-content:center;place-items:center;min-height:380px;display:grid}.home-empty>svg{width:46px;height:46px;color:var(--primary);filter:drop-shadow(0 8px 16px var(--primary))}@supports (color:color-mix(in lab,red,red)){.home-empty>svg{filter:drop-shadow(0 8px 16px color-mix(in srgb,var(--primary) 35%,transparent))}}.home-empty>svg{animation:2.4s ease-in-out infinite heart-breathe}.home-empty>p:last-of-type{max-width:660px;line-height:1.65}.home-empty>div{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}@keyframes control-pop{0%{opacity:0;transform:translateY(-4px)scale(.985)}}.home-events{margin-top:38px}.home-counter{grid-template-columns:64px minmax(0,1fr) auto}.home-counter-link{z-index:1;color:var(--primary);white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:10px 3px;font-weight:800;display:inline-flex;position:relative}.home-counter-link svg{width:16px;transition:transform .16s}.home-counter-link:hover svg{transform:translate(3px)}.home-upcoming{margin-top:34px}.home-upcoming-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:13px;display:grid}.home-content-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));align-items:start;gap:34px 20px;margin-top:38px;display:grid}.home-summary-section{min-width:0}.home-divider{color:var(--primary);opacity:.45;align-items:center;gap:14px;margin:38px 0;display:flex}.home-divider:before,.home-divider:after{content:"";background:currentColor;flex:1;height:1px}.home-divider svg{flex-shrink:0;width:16px;height:16px}.home-summary-section .section-title{min-height:54px}.memory-card.compact{border-radius:19px;grid-template-columns:94px minmax(0,1fr)}.memory-card.compact .memory-card-date{border-radius:16px 0 0 16px;min-height:164px;padding:18px 15px}.memory-card.compact .memory-card-date svg{width:22px;height:22px}.memory-card.compact .memory-card-body,.event-card.compact .event-card-body{gap:8px;padding:18px}.memory-card.compact .memory-card-body h3,.event-card.compact .event-card-body h3{font-size:1.38rem}.memory-card.compact .memory-card-body>p,.event-card.compact .event-card-body>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;display:-webkit-box;overflow:hidden}.memory-card.compact .memory-card-body footer,.event-card.compact .event-card-body footer{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-top:11px}.memory-card.compact .memory-card-location,.event-card.compact .event-card-recurrence{display:none}.event-card.compact{border-radius:19px;grid-template-columns:100px minmax(0,1fr)}.event-card.compact .event-card-mark{border-radius:16px 0 0 16px;min-height:164px;padding:18px 15px}.event-card.compact .event-card-mark .event-symbol{border-radius:14px;width:42px;height:42px}.upcoming-card.compact{border-radius:19px;grid-template-columns:40px minmax(0,1fr);gap:11px;padding:16px}.upcoming-card.compact .upcoming-icon{border-radius:13px;width:40px;height:40px}.upcoming-card.compact h3{font-size:1rem}.upcoming-card.compact footer{gap:3px;display:grid}.upcoming-page{width:100%}.upcoming-heading>svg{background:var(--elevated);width:58px;height:58px;color:var(--primary);box-shadow:0 12px 28px var(--primary);border-radius:19px;padding:15px}@supports (color:color-mix(in lab,red,red)){.upcoming-heading>svg{box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 16%,transparent)}}.relationship-counter{border:1px solid var(--primary);grid-template-columns:64px minmax(0,1fr);align-items:center;gap:20px;padding:clamp(24px,5vw,42px);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.relationship-counter{border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border))}}.relationship-counter{background:linear-gradient(135deg,var(--elevated),var(--surface));border-radius:30px}@supports (color:color-mix(in lab,red,red)){.relationship-counter{background:linear-gradient(135deg,color-mix(in srgb,var(--elevated) 82%,var(--surface)),var(--surface))}}.relationship-counter{box-shadow:var(--shadow)}.relationship-counter:after{content:"♥";color:var(--primary);position:absolute;bottom:-55px;right:5%}@supports (color:color-mix(in lab,red,red)){.relationship-counter:after{color:color-mix(in srgb,var(--primary) 9%,transparent)}}.relationship-counter:after{font-size:10rem;transform:rotate(-12deg)}.relationship-counter>span{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;width:62px;height:62px;box-shadow:0 12px 27px var(--primary);border-radius:21px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.relationship-counter>span{box-shadow:0 12px 27px color-mix(in srgb,var(--primary) 25%,transparent)}}.relationship-counter>span{animation:2.8s ease-in-out infinite heart-breathe}.relationship-counter>span svg{width:29px}.relationship-counter h2{letter-spacing:-.04em;margin:4px 0;font-size:clamp(2rem,6vw,3.4rem)}.relationship-counter p{color:var(--secondary);margin:0;font-weight:700}.relationship-counter small{color:var(--muted);margin-top:6px;display:block}.counter-empty h2{max-width:720px;font-size:clamp(1.4rem,4vw,2.2rem)}.counter-empty button{color:var(--primary);background:0 0;border:0;margin-top:13px;padding:0;font-weight:800}.upcoming-section-heading{justify-content:space-between;align-items:end;gap:18px;margin:36px 0 16px;display:flex}.upcoming-section-heading h2{margin-top:3px}.upcoming-section-heading>span{background:var(--elevated);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700}.upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.upcoming-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 30px var(--primary);border-radius:22px;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:20px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.upcoming-card{box-shadow:0 10px 30px color-mix(in srgb,var(--primary) 7%,transparent)}}.upcoming-card{transition:transform .18s,border-color .18s,box-shadow .18s}button.upcoming-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.upcoming-card:hover{border-color:var(--primary);transform:translateY(-4px)}@supports (color:color-mix(in lab,red,red)){.upcoming-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}}.upcoming-card:hover{box-shadow:var(--shadow-warm-lg)}.upcoming-card.today{border-color:var(--primary);background:radial-gradient(circle at 90% 15%,var(--primary),transparent 28%),linear-gradient(135deg,var(--elevated),var(--surface));grid-column:1/-1}@supports (color:color-mix(in lab,red,red)){.upcoming-card.today{background:radial-gradient(circle at 90% 15%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 28%),linear-gradient(135deg,var(--elevated),var(--surface))}}.upcoming-card.today:after{content:"HOY ♥";color:var(--primary);letter-spacing:.08em;font-size:.67rem;font-weight:900;position:absolute;top:13px;right:16px}.upcoming-icon{background:var(--elevated);width:46px;height:46px;color:var(--primary);border-radius:15px;place-items:center;display:grid}.upcoming-icon svg{width:21px}.moment-calendar .upcoming-icon{color:var(--secondary)}.moment-kind{color:var(--primary);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:800}.upcoming-card h3{margin:5px 0;font-size:1.16rem}.moment-description{color:var(--muted);margin:0 0 10px;font-size:.82rem;line-height:1.45}.upcoming-card footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 14px;margin-top:10px;font-size:.76rem;display:flex}.upcoming-card footer strong{color:var(--primary)}.section-title{margin-bottom:15px}.page-heading,.form-heading{border:1px solid var(--primary);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;padding:clamp(20px,3vw,30px);display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.page-heading,.form-heading{border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border))}}.page-heading,.form-heading{background:linear-gradient(120deg,var(--surface),var(--elevated));border-radius:26px}@supports (color:color-mix(in lab,red,red)){.page-heading,.form-heading{background:linear-gradient(120deg,color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--elevated) 76%,transparent))}}.page-heading:after,.form-heading:after{content:"♥";color:var(--primary);position:absolute;bottom:-34px;right:24%}@supports (color:color-mix(in lab,red,red)){.page-heading:after,.form-heading:after{color:color-mix(in srgb,var(--primary) 8%,transparent)}}.page-heading:after,.form-heading:after{pointer-events:none;font-size:8rem;transform:rotate(-12deg)}.page-heading h1,.form-heading h1,.memory-paper h1{font-size:clamp(2rem,5vw,3.25rem)}.primary-cta,.danger-button{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary));border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:13px 18px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.primary-cta,.danger-button{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 70%,var(--secondary)))}}.primary-cta,.danger-button{box-shadow:var(--shadow-warm);font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s}.form-heading>div{width:100%}.primary-cta:hover{box-shadow:var(--shadow-warm-lg);transform:translateY(-2px)scale(1.01)}.primary-cta svg,.soft-cta svg{transition:transform .19s}.primary-cta:hover svg{transform:rotate(9deg)scale(1.12)}.soft-cta:hover{border-color:var(--primary);background:var(--elevated);box-shadow:var(--shadow-warm);transform:translateY(-2px)}.soft-cta:hover svg{transform:rotate(-8deg)scale(1.12)}.primary-cta svg,.back-link svg{width:18px}.memory-grid{gap:15px;display:grid}.pull-to-refresh-indicator{z-index:10;pointer-events:none;flex-direction:column;align-items:center;gap:6px;transition:opacity .2s,transform .15s;display:flex;position:sticky;top:-80px}.pull-to-refresh-heart{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;width:44px;height:44px;box-shadow:var(--shadow-warm);border-radius:50%;place-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:grid}.pull-to-refresh-heart svg{width:24px;height:24px}.pull-to-refresh-text{color:var(--muted);text-align:center;white-space:nowrap;font-size:.75rem;font-weight:600}.pull-to-refresh-spinner{width:20px;height:20px;color:var(--primary);animation:.8s linear infinite pwa-spin}@media(prefers-reduced-motion:reduce){.pull-to-refresh-heart,.pull-to-refresh-spinner{transition:none!important;animation:none!important}}.pull-to-refresh-content,.page-transition-wrapper,.route-transition{width:100%;min-width:0;max-width:100%;overflow:visible}.memory-card{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:22px;grid-template-columns:148px minmax(0,1fr);gap:0;padding:0;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;overflow:hidden;box-shadow:0 10px 35px #5d33400d}.memory-card:hover{border-color:var(--primary);transform:translateY(-4px)}@supports (color:color-mix(in lab,red,red)){.memory-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}}.memory-card:hover{box-shadow:var(--shadow-warm-lg)}.memory-card-date{border-right:1px solid var(--border);background:radial-gradient(circle at 18% 12%,var(--primary),transparent 34%),var(--surface);border-radius:18px 0 0 18px;flex-direction:column;align-items:flex-start;min-height:218px;padding:24px 21px;display:flex}@supports (color:color-mix(in lab,red,red)){.memory-card-date{background:radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--primary) 17%,transparent),transparent 34%),color-mix(in srgb,var(--surface) 84%,var(--elevated))}}.memory-card-date{color:var(--primary)}.memory-card-date svg{width:27px;height:27px;margin-bottom:auto}.memory-card-date span{letter-spacing:.045em;text-transform:uppercase;font-size:.82rem;font-weight:800;line-height:1.25}.memory-card-date small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:.67rem}.memory-card-body{align-content:center;gap:11px;min-width:0;padding:25px 28px;display:grid}.memory-card-labels{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.memory-kind{color:var(--muted);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:5px;font-size:.71rem;font-weight:700;display:inline-flex}.memory-kind svg{width:14px;height:14px;color:var(--primary)}.memory-card-body h3{margin:0;font-family:Newsreader,serif;font-size:clamp(1.55rem,3vw,2.05rem);font-weight:600;line-height:1.08}.memory-card-body>p{max-width:760px;color:var(--muted);margin:0;font-size:.94rem;line-height:1.55}.special-date-badge{background:var(--elevated);width:fit-content;color:var(--primary);border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.7rem;font-weight:700;display:inline-flex}.special-date-badge svg{width:13px;height:13px}.memory-card-body footer{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:6px;padding-top:15px;display:grid}@supports (color:color-mix(in lab,red,red)){.memory-card-body footer{border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent)}}.memory-card-body footer{color:var(--muted);font-size:.76rem}.memory-card-author{align-items:center;gap:8px;display:flex}.memory-card-author>span{border:1px solid var(--primary);flex:0 0 31px;place-items:center;width:31px;height:31px;display:grid}@supports (color:color-mix(in lab,red,red)){.memory-card-author>span{border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border))}}.memory-card-author>span{background:var(--elevated);color:var(--primary);border-radius:50%;font-weight:800}.memory-card-author small{line-height:1.25;display:grid}.memory-card-author strong{color:var(--text);font-size:.79rem}.memory-card-location{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.memory-card-location svg{width:15px;height:15px;color:var(--primary);flex:none}.memory-card-open{color:var(--primary);white-space:nowrap;align-items:center;gap:6px;font-size:.74rem;font-weight:700;display:inline-flex}.memory-card-open svg{width:15px;height:15px;transition:transform .16s}.memory-card:hover .memory-card-open svg{transform:translate(3px)}.memory-skeleton{background:linear-gradient(100deg,var(--surface) 30%,var(--elevated) 50%,var(--surface) 70%);background-size:200% 100%;border-radius:22px;height:125px;animation:1.3s infinite shimmer}.skeleton-card{background:linear-gradient(100deg,var(--surface) 30%,var(--elevated) 50%,var(--surface) 70%);background-size:200% 100%;border-radius:22px;animation:1.3s infinite shimmer}.skeleton-card:before{content:"♥";color:var(--primary);font-size:2.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.skeleton-card:before{color:color-mix(in srgb,var(--primary) 15%,transparent)}}.skeleton-card:before{pointer-events:none;animation:2s ease-in-out infinite heart-breathe}.skeleton-text{background:linear-gradient(100deg,var(--surface) 30%,var(--elevated) 50%,var(--surface) 70%);background-size:200% 100%;border-radius:6px;height:1.2rem;animation:1.3s infinite shimmer}.skeleton-text.short{width:40%}.skeleton-text.medium{width:65%}.skeleton-text.long{width:90%}.skeleton-avatar{background:linear-gradient(100deg,var(--surface) 30%,var(--elevated) 50%,var(--surface) 70%);background-size:200% 100%;border-radius:50%;width:48px;height:48px;animation:1.3s infinite shimmer}.skeleton-image{aspect-ratio:4/3;background:linear-gradient(100deg,var(--surface) 30%,var(--elevated) 50%,var(--surface) 70%);background-size:200% 100%;border-radius:16px;width:100%;animation:1.3s infinite shimmer}.skeleton-image:after{content:"♥";color:var(--primary);font-size:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.skeleton-image:after{color:color-mix(in srgb,var(--primary) 12%,transparent)}}.skeleton-image:after{animation:2.5s ease-in-out infinite heart-breathe}.skeleton-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.skeleton-row>.skeleton-text{flex:1}@keyframes shimmer-warm{0%{background-position:-200% 0}to{background-position:200% 0}}.state-card{border:1px dashed var(--border);background:var(--surface);text-align:center;color:var(--muted);border-radius:24px;padding:48px 24px}.animated-empty{isolation:isolate;background:radial-gradient(circle at 18% 24%,var(--primary),transparent 24%),radial-gradient(circle at 84% 78%,var(--secondary),transparent 25%),var(--surface);align-content:center;place-items:center;min-height:360px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.animated-empty{background:radial-gradient(circle at 18% 24%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 24%),radial-gradient(circle at 84% 78%,color-mix(in srgb,var(--secondary) 11%,transparent),transparent 25%),var(--surface)}}.animated-empty:before,.animated-empty:after{content:"♥";z-index:-1;color:var(--primary);position:absolute}@supports (color:color-mix(in lab,red,red)){.animated-empty:before,.animated-empty:after{color:color-mix(in srgb,var(--primary) 13%,transparent)}}.animated-empty:before,.animated-empty:after{font-size:4.8rem;animation:4.6s ease-in-out infinite empty-float}.animated-empty:before{top:28px;left:8%;transform:rotate(-14deg)}.animated-empty:after{font-size:3.2rem;animation-delay:-2.2s;bottom:20px;right:8%}.animated-empty>svg{width:48px;height:48px;color:var(--primary);filter:drop-shadow(0 9px 17px var(--primary));margin-bottom:8px}@supports (color:color-mix(in lab,red,red)){.animated-empty>svg{filter:drop-shadow(0 9px 17px color-mix(in srgb,var(--primary) 30%,transparent))}}.animated-empty>svg{animation:2.5s ease-in-out infinite empty-icon}.animated-empty>p:not(.eyebrow){max-width:620px;line-height:1.6}.animated-empty .primary-cta{margin-top:10px}.state-card h2{color:var(--text)}.gesture-history-tabs{border-bottom:1px solid var(--border);gap:8px;margin:24px 0;padding-bottom:8px;display:flex}.gesture-history-tabs .tab{color:var(--muted);background:0 0;border:0;border-radius:12px;padding:10px 16px;font-weight:700;transition:all .18s}.gesture-history-tabs .tab:hover{color:var(--primary);background:var(--elevated)}.gesture-history-tabs .tab.active{color:var(--primary);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.gesture-history-tabs .tab.active{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}}.gesture-history-tabs .badge{background:var(--accent);color:var(--primary);border-radius:999px;margin-left:6px;padding:2px 8px;font-size:.7rem}.gesture-history-content{position:relative}.tab-panel{display:none}.tab-panel.active{animation:.3s both fade-in-up;display:block}.gesture-history-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.gesture-history-item{border:1px solid var(--border);background:var(--surface);border-radius:16px;gap:14px;padding:16px;transition:all .18s;display:flex}.gesture-history-item:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.gesture-history-item:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}}.gesture-history-item:hover{box-shadow:var(--shadow-warm)}.gesture-history-icon{font-size:1.8rem;line-height:1}.gesture-history-text{flex-direction:column;flex:1;gap:4px;display:flex}.gesture-history-text strong{color:var(--text)}.gesture-history-text small{color:var(--muted);font-size:.8rem}.gesture-history-time{font-weight:500}.gesture-response{font-weight:600;color:var(--accent)!important}.back-link{color:var(--primary);background:0 0;border:0;align-items:center;gap:7px;margin-bottom:24px;padding:0;font-weight:700;display:inline-flex}.memory-paper{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:30px;padding:clamp(24px,6vw,54px)}.memory-chapter{background:radial-gradient(circle at 92% 9%,var(--accent),transparent 27%),linear-gradient(150deg,var(--surface),var(--elevated));padding:clamp(26px,6vw,58px);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.memory-chapter{background:radial-gradient(circle at 92% 9%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 27%),linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--elevated) 35%,var(--surface)))}}.memory-chapter:after{content:"♥";color:var(--primary);position:absolute;bottom:-75px;right:-18px}@supports (color:color-mix(in lab,red,red)){.memory-chapter:after{color:color-mix(in srgb,var(--primary) 7%,transparent)}}.memory-chapter:after{pointer-events:none;font-size:13rem;transform:rotate(-13deg)}.chapter-cover{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.chapter-mark{color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));width:48px;height:48px;box-shadow:0 10px 24px var(--primary);border-radius:16px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.chapter-mark{box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 24%,transparent)}}.chapter-mark svg{width:22px}.chapter-cover p{margin:0}.chapter-date{color:var(--secondary);font-size:.85rem;font-weight:750;margin-top:3px!important}.chapter-title-block{z-index:1;margin:28px 0 15px;position:relative}.chapter-title-block h1{z-index:1;max-width:900px;margin:3px 0 12px;font-family:Newsreader,serif;font-size:clamp(2.7rem,7vw,5.2rem);font-weight:500;line-height:.98;position:relative}.title-ornament{color:var(--primary);letter-spacing:.2em;margin-bottom:2px;font-size:.82rem;display:block}.title-rule{background:linear-gradient(90deg,var(--primary),transparent);border-radius:999px;width:min(180px,38%);height:2px;display:block}.chapter-labels{z-index:1;flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex;position:relative}.chapter-special-badge{font-size:.72rem}.chapter-reminder{color:var(--muted);font-size:.74rem}.chapter-location{z-index:1;width:fit-content;color:var(--secondary);align-items:center;gap:8px;margin:18px 0 0;font-size:.86rem;font-weight:700;display:flex;position:relative}.chapter-location svg{flex:none;width:17px;height:17px}.chapter-meta{z-index:1;flex-wrap:wrap;gap:9px;display:flex;position:relative}.chapter-meta span{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.chapter-meta span{background:color-mix(in srgb,var(--surface) 78%,transparent)}}.chapter-meta span{color:var(--muted);font-size:.75rem}.chapter-meta svg{width:14px;color:var(--primary)}.chapter-prose{z-index:1;border-left:3px solid var(--primary);grid-template-columns:32px minmax(0,1fr);gap:12px;max-width:850px;margin:38px 0;padding:22px 0 22px 22px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.chapter-prose{border-left:3px solid color-mix(in srgb,var(--primary) 40%,var(--border))}}.chapter-prose{font-family:Newsreader,serif;font-size:clamp(1.2rem,3vw,1.55rem);line-height:1.7}.chapter-prose>svg{width:27px;color:var(--primary);opacity:.55}.chapter-prose p{margin:0}.chapter-footer{z-index:1;border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding-top:18px;display:flex;position:relative}.chapter-signature{align-items:center;justify-content:initial;grid-template-columns:48px minmax(0,1fr) auto;display:grid}.author-avatar{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;width:46px;height:46px;box-shadow:0 8px 18px var(--primary);border-radius:16px;place-items:center;font-family:Newsreader,serif;font-size:1.3rem;font-weight:700;display:grid}@supports (color:color-mix(in lab,red,red)){.author-avatar{box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 20%,transparent)}}.author-copy{gap:1px;display:grid}.author-copy small{color:var(--muted);font-size:.7rem}.author-copy strong{color:var(--text);font-size:.9rem}.author-copy em{color:var(--muted);font-size:.7rem;font-style:normal}.chapter-closing{max-width:300px;color:var(--secondary);text-align:right;font-family:Newsreader,serif;font-size:.95rem}.chapter-actions{align-items:stretch}.chapter-share-action,.chapter-edit-action,.chapter-delete-action{border-radius:15px;justify-content:center;align-items:center;gap:8px;min-height:49px;padding:12px 17px;font-weight:750;display:inline-flex}.chapter-share-action{border:1px solid var(--secondary)}@supports (color:color-mix(in lab,red,red)){.chapter-share-action{border:1px solid color-mix(in srgb,var(--secondary) 36%,var(--border))}}.chapter-share-action{background:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.chapter-share-action{background:color-mix(in srgb,var(--secondary) 12%,var(--surface))}}.chapter-share-action{color:var(--secondary)}.chapter-share-action:hover{border-color:var(--secondary);background:var(--elevated);box-shadow:0 10px 23px var(--secondary);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.chapter-share-action:hover{box-shadow:0 10px 23px color-mix(in srgb,var(--secondary) 14%,transparent)}}.chapter-edit-action{border:1px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.chapter-edit-action{border:1px solid color-mix(in srgb,var(--primary) 36%,var(--border))}}.chapter-edit-action{background:var(--elevated);color:var(--primary)}.chapter-edit-action:hover{border-color:var(--primary);box-shadow:0 10px 23px var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.chapter-edit-action:hover{box-shadow:0 10px 23px color-mix(in srgb,var(--primary) 14%,transparent)}}.chapter-delete-action{border:1px solid #b84b5d}@supports (color:color-mix(in lab,red,red)){.chapter-delete-action{border:1px solid color-mix(in srgb,#b84b5d 28%,var(--border))}}.chapter-delete-action{color:#b84b5d;background:0 0}.chapter-delete-action:hover{background:#b84b5d17;transform:translateY(-2px)}.chapter-edit-action svg,.chapter-delete-action svg{width:17px;transition:transform .18s}.chapter-edit-action:hover svg{transform:rotate(-7deg)scale(1.1)}.chapter-delete-action:hover svg{transform:rotate(7deg)scale(1.08)}.memory-paper time{color:var(--primary);font-weight:700}.detail-location{color:var(--secondary)}.memory-description{white-space:pre-wrap;margin:30px 0;line-height:1.75}.special-date-card{border:1px solid var(--primary);align-items:flex-start;gap:17px;margin-top:24px;padding:22px;display:flex}@supports (color:color-mix(in lab,red,red)){.special-date-card{border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border))}}.special-date-card{background:linear-gradient(135deg,var(--elevated),var(--surface));border-radius:23px}.special-date-card h2{margin:5px 0 9px}.special-date-card p:last-child{color:var(--muted);margin:5px 0 0;font-size:.82rem}.special-date-heart{background:var(--primary);color:#fff;border-radius:15px;flex:none;place-items:center;width:45px;height:45px;display:grid}.special-date-heart svg{width:22px}.make-special-link{color:var(--primary);background:0 0;border:0;align-items:center;gap:7px;margin-top:17px;padding:8px 2px;font-weight:700;display:inline-flex}.make-special-link svg{width:17px}.memory-paper footer{color:var(--muted);font-size:.85rem}.detail-actions,.form-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.danger-link{color:#b84b5d;background:0 0;border:0;padding:12px 16px;font-weight:700}.dialog-backdrop{z-index:40;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1911158c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--border);background:var(--surface);width:min(100%,430px);box-shadow:var(--shadow);text-align:center;border-radius:25px;padding:28px}.dialog-icon{color:#b84b5d;background:var(--elevated);border-radius:16px;place-items:center;width:50px;height:50px;margin:0 auto 12px;display:grid}.danger-button{background:#b84b5d}.form-banner{background:var(--elevated);color:var(--primary);border-radius:14px;margin-bottom:18px;padding:13px 16px}.memory-form{box-shadow:none;background:0 0;border:0;gap:22px;padding:0;display:grid}.form-chapter{border:1px solid var(--border);background:var(--surface);border-radius:26px;gap:22px;padding:clamp(22px,4vw,34px);display:grid;position:relative;overflow:visible}@supports (color:color-mix(in lab,red,red)){.form-chapter{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.form-chapter{box-shadow:0 13px 38px var(--primary)}@supports (color:color-mix(in lab,red,red)){.form-chapter{box-shadow:0 13px 38px color-mix(in srgb,var(--primary) 7%,transparent)}}.form-chapter{transition:border-color .19s,box-shadow .19s,transform .19s}.form-chapter:focus-within{z-index:20;border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.form-chapter:focus-within{border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}}.form-chapter:focus-within{box-shadow:0 18px 46px var(--primary)}@supports (color:color-mix(in lab,red,red)){.form-chapter:focus-within{box-shadow:0 18px 46px color-mix(in srgb,var(--primary) 13%,transparent)}}.form-chapter:focus-within{transform:translateY(-2px)}.affectionate-chapter{background:linear-gradient(135deg,var(--elevated),var(--surface))}@supports (color:color-mix(in lab,red,red)){.affectionate-chapter{background:linear-gradient(135deg,color-mix(in srgb,var(--elevated) 74%,var(--surface)),var(--surface))}}.chapter-heading{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:15px;display:grid}.chapter-heading>span{background:linear-gradient(135deg,var(--primary),var(--primary));border-radius:15px;place-items:center;width:46px;height:46px;display:grid}@supports (color:color-mix(in lab,red,red)){.chapter-heading>span{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 62%,var(--secondary)))}}.chapter-heading>span{color:#fff;box-shadow:0 9px 21px var(--primary)}@supports (color:color-mix(in lab,red,red)){.chapter-heading>span{box-shadow:0 9px 21px color-mix(in srgb,var(--primary) 22%,transparent)}}.chapter-heading>span{transition:transform .19s}.form-chapter:focus-within .chapter-heading>span{transform:rotate(-5deg)scale(1.06)}.chapter-heading svg{width:21px}.chapter-heading h2{margin:3px 0 5px;font-size:clamp(1.25rem,3vw,1.55rem)}.chapter-heading p{color:var(--muted);margin:0;line-height:1.5}.chapter-heading .eyebrow{color:var(--primary);font-size:.68rem;line-height:1.2}.chapter-fields{margin-left:63px}.story-fields{gap:17px;display:grid}.story-fields>label:first-child input{padding-block:15px;font-size:1.08rem;font-weight:650}.field-label{color:inherit;display:inline}.field-label small{color:var(--muted);margin-left:4px;font-size:.76rem;font-weight:500;display:inline}.choice-explanation{color:var(--muted);margin-top:-1px;font-size:.73rem;font-weight:500;line-height:1.4}.location-field{grid-column:1/-1}.memory-form label{color:var(--muted);gap:8px;font-size:.86rem;font-weight:700;display:grid}.memory-form input,.memory-form textarea,.memory-form select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:13px;outline:none;padding:13px 15px;transition:border-color .18s,box-shadow .18s}.memory-form input:focus,.memory-form textarea:focus,.memory-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary),var(--glow-primary)}@supports (color:color-mix(in lab,red,red)){.memory-form input:focus,.memory-form textarea:focus,.memory-form select:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent),var(--glow-primary)}}.date-fields{background:var(--elevated);border-radius:18px;grid-template-columns:1fr 1fr;gap:16px;padding:18px;display:grid}@supports (color:color-mix(in lab,red,red)){.date-fields{background:color-mix(in srgb,var(--elevated) 70%,transparent)}}.date-help{color:var(--muted);align-self:end;margin:0;padding:12px 0;font-size:.84rem}.form-row>:only-child{grid-column:1/-1}.special-date-form{border:1px solid var(--border);border-radius:19px;padding:0;transition:border-color .18s,background .18s}.affectionate-chapter .special-date-form{background:0 0;border:0;margin-left:63px}.affectionate-chapter .special-date-form.enabled{background:0 0;border:0}.affectionate-chapter>.app-switch-row{width:calc(100% - 63px);margin-left:63px}.relationship-preview{border:1px dashed var(--primary);grid-template-columns:42px minmax(0,1fr);gap:13px;width:calc(100% - 63px);margin-left:63px;padding:17px;display:grid}@supports (color:color-mix(in lab,red,red)){.relationship-preview{border:1px dashed color-mix(in srgb,var(--primary) 35%,var(--border))}}.relationship-preview{background:var(--surface);border-radius:18px}@supports (color:color-mix(in lab,red,red)){.relationship-preview{background:color-mix(in srgb,var(--surface) 72%,transparent)}}.relationship-preview{opacity:.72;transition:opacity .18s,border-color .18s,transform .18s,box-shadow .18s}.relationship-preview.active{opacity:1;border-style:solid;border-color:var(--primary);box-shadow:0 12px 28px var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.relationship-preview.active{box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 13%,transparent)}}.relationship-preview>span{background:var(--elevated);width:40px;height:40px;color:var(--primary);border-radius:13px;place-items:center;display:grid}.relationship-preview svg{width:19px}.relationship-preview div{min-width:0}.relationship-preview small,.relationship-preview strong,.relationship-preview em{display:block}.relationship-preview small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.68rem}.relationship-preview strong{color:var(--primary);font-size:.78rem}.relationship-preview h3{margin:5px 0 2px;font-size:1.08rem}.relationship-preview p{color:var(--secondary);margin:0 0 8px;font-size:.82rem;font-weight:700}.relationship-preview blockquote{border-left:2px solid var(--accent);color:var(--text);margin:8px 0;padding-left:10px;font-family:Newsreader,serif;font-size:.9rem}.preview-recurrence{background:var(--accent);width:fit-content;color:var(--secondary);border-radius:999px;margin:1px 0 8px;padding:4px 8px;font-size:.68rem;font-weight:800;display:inline-flex!important}.relationship-preview em{color:var(--muted);font-size:.74rem}.special-date-form.enabled{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.special-date-form.enabled{border-color:color-mix(in srgb,var(--primary) 36%,var(--border))}}.special-date-form.enabled{background:var(--elevated)}@supports (color:color-mix(in lab,red,red)){.special-date-form.enabled{background:color-mix(in srgb,var(--elevated) 65%,transparent)}}.memory-form .special-toggle{color:var(--text);align-items:flex-start;gap:12px;display:flex}.memory-form .special-toggle>input,.memory-form fieldset input{width:19px;height:19px;accent-color:var(--primary);flex:none}.special-toggle span,.special-toggle small{display:block}.special-toggle span>svg{vertical-align:middle;width:17px;color:var(--primary);margin-right:7px}.special-toggle small{color:var(--muted);margin-top:4px;font-weight:400}.special-date-form fieldset{border:0;border-top:1px solid var(--border);flex-wrap:wrap;gap:10px 18px;margin:17px 0 0;padding:16px 0 0;display:flex}.special-date-form fieldset .app-select{flex-basis:100%}.special-date-form legend{color:var(--muted);padding:0 0 10px;font-size:.82rem;font-weight:700}.special-date-form fieldset label{color:var(--text);flex-direction:row;align-items:center;gap:7px;display:flex}.special-date-form fieldset p{color:var(--muted);flex-basis:100%;margin:2px 0 0;font-size:.78rem}.disabled-choice{opacity:.45}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.future-content{border:1px dashed var(--border);color:var(--muted);border-radius:15px;padding:17px;font-size:.84rem}.future-content p{margin:0}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.photos-section{border:1px solid var(--border);background:var(--surface);border-radius:28px;margin-top:30px;padding:clamp(20px,5vw,34px)}@supports (color:color-mix(in lab,red,red)){.photos-section{background:color-mix(in srgb,var(--surface) 88%,var(--elevated))}}.photos-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.photos-heading h2{margin-top:4px}.soft-cta,.photos-empty button,.photo-message button{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--primary);border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:11px 15px;font-weight:700;display:inline-flex}.soft-cta svg,.upload-photos svg{width:18px}.photo-review{border:1px solid var(--primary);margin-bottom:24px;padding:clamp(16px,4vw,22px)}@supports (color:color-mix(in lab,red,red)){.photo-review{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border))}}.photo-review{background:var(--surface);border-radius:20px}.photo-review-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.photo-review>.photo-review-heading p{color:var(--muted);margin:3px 0 0;font-size:.82rem}.photo-review>.photo-review-heading .eyebrow{color:var(--primary);margin:0 0 3px;font-size:.67rem}.photo-review-heading strong{font-family:Newsreader,serif;font-size:1.35rem}.photo-add-more{border:1px solid var(--border);background:var(--elevated);min-height:42px;color:var(--primary);border-radius:13px;flex:none;align-items:center;gap:6px;padding:9px 12px;font-weight:750;display:inline-flex}.photo-add-more:hover{border-color:var(--primary);transform:translateY(-2px)}.photo-add-more svg{width:16px}.preview-grid,.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px;display:grid}.photo-preview{min-width:0;position:relative}.photo-preview img,.gallery-photo img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.photo-preview img{aspect-ratio:1;border-radius:14px}.photo-preview>button{color:#fff;background:#191115c7;border:0;border-radius:50%;place-items:center;width:31px;height:31px;display:grid;position:absolute;top:7px;right:7px}.photo-preview>button svg{width:17px}.photo-preview p,.photo-preview span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:6px 2px 0;font-size:.72rem;display:block;overflow:hidden}.photo-preview .photo-error{color:#b84b5d;white-space:normal}.upload-photos{min-width:min(100%,310px)}.photo-review-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.photo-cancel-selection{min-height:46px;color:var(--muted);background:0 0;border:0;padding:10px 13px;font-weight:700}.photo-cancel-selection:hover{color:var(--primary)}.photo-message{background:var(--elevated);color:var(--text);border-radius:15px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:13px 15px;font-size:.84rem;display:flex}.photos-empty{text-align:center;color:var(--muted);padding:34px 18px}.chapter-media-empty{border:1px dashed var(--primary);align-content:center;place-items:center;min-height:330px;padding:38px 20px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.chapter-media-empty{border:1px dashed color-mix(in srgb,var(--primary) 32%,var(--border))}}.chapter-media-empty{background:radial-gradient(circle at 18% 20%,var(--primary),transparent 25%),var(--surface);border-radius:22px}@supports (color:color-mix(in lab,red,red)){.chapter-media-empty{background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 25%),var(--surface)}}.chapter-media-empty:after{content:"♡";color:var(--primary);position:absolute;bottom:-34px;right:7%}@supports (color:color-mix(in lab,red,red)){.chapter-media-empty:after{color:color-mix(in srgb,var(--primary) 10%,transparent)}}.chapter-media-empty:after{font-size:8rem;transform:rotate(-10deg)}.chapter-media-empty>span{background:var(--elevated);width:58px;height:58px;color:var(--primary);border-radius:19px;place-items:center;margin-bottom:8px;animation:2.5s ease-in-out infinite empty-icon;display:grid}.chapter-media-empty>span svg{width:28px}.chapter-media-empty h3{max-width:570px;margin:6px 0;font-family:Newsreader,serif;font-size:clamp(1.45rem,4vw,2rem)}.chapter-media-empty p:not(.eyebrow){max-width:600px;line-height:1.55}.chapter-media-empty button{z-index:1;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;min-height:48px;box-shadow:0 10px 23px var(--primary);border:0;border-radius:14px;align-items:center;gap:8px;margin-top:10px;padding:12px 17px;font-weight:800;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.chapter-media-empty button{box-shadow:0 10px 23px color-mix(in srgb,var(--primary) 22%,transparent)}}.chapter-media-empty button:hover{box-shadow:0 15px 30px var(--primary);transform:translateY(-3px)}@supports (color:color-mix(in lab,red,red)){.chapter-media-empty button:hover{box-shadow:0 15px 30px color-mix(in srgb,var(--primary) 30%,transparent)}}.chapter-media-empty button svg{width:18px}.event-card{background:var(--surface);border-radius:24px;grid-template-columns:170px minmax(0,1fr);gap:0;padding:0;overflow:hidden}.event-card-mark{border-right:1px solid var(--secondary);flex-direction:column;align-items:flex-start;min-height:230px;padding:24px 22px;display:flex}@supports (color:color-mix(in lab,red,red)){.event-card-mark{border-right:1px solid color-mix(in srgb,var(--secondary) 24%,var(--border))}}.event-card-mark{background:radial-gradient(circle at 16% 12%,var(--secondary),transparent 35%),var(--surface);border-radius:20px 0 0 20px}@supports (color:color-mix(in lab,red,red)){.event-card-mark{background:radial-gradient(circle at 16% 12%,color-mix(in srgb,var(--secondary) 20%,transparent),transparent 35%),color-mix(in srgb,var(--surface) 82%,var(--accent))}}.event-card-mark .event-symbol{margin-bottom:auto}.event-card-mark>span:not(.event-symbol){color:var(--secondary);text-transform:uppercase;font-size:.84rem;font-weight:850;line-height:1.3}.event-card-mark small{color:var(--muted);letter-spacing:.075em;text-transform:uppercase;margin-top:5px;font-size:.67rem}.event-card-body{align-content:center;gap:11px;min-width:0;padding:26px 29px;display:grid}.event-card-labels{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.event-kind{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;font-size:.7rem;font-weight:750;display:inline-flex}.event-kind svg{width:13px;height:13px;color:var(--secondary)}.event-card-body h3{margin:0;font-family:Newsreader,serif;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;line-height:1.08}.event-card-body>p{max-width:760px;color:var(--muted);margin:0;font-size:.94rem;line-height:1.55}.event-card-body footer{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:6px;padding-top:15px;display:grid}@supports (color:color-mix(in lab,red,red)){.event-card-body footer{border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent)}}.event-card-body footer{color:var(--muted);font-size:.76rem}.event-card-author{align-items:center;gap:8px;display:flex}.event-card-author>span{border:1px solid var(--secondary);flex:0 0 31px;place-items:center;width:31px;height:31px;display:grid}@supports (color:color-mix(in lab,red,red)){.event-card-author>span{border:1px solid color-mix(in srgb,var(--secondary) 35%,var(--border))}}.event-card-author>span{background:var(--accent);color:var(--secondary);border-radius:50%;font-weight:850}.event-card-author small{color:var(--muted);line-height:1.25;display:grid}.event-card-author strong{color:var(--text);font-size:.79rem}.event-card-recurrence,.event-card-open{align-items:center;gap:6px;display:inline-flex}.event-card-recurrence svg,.event-card-open svg{flex:none;width:15px;height:15px}.event-card-recurrence{color:var(--muted)}.event-card-open{color:var(--secondary);white-space:nowrap;font-weight:750}.event-card-open svg{transition:transform .16s}.event-card:hover .event-card-open svg{transform:translate(3px)}.event-card:hover .event-symbol{transform:rotate(-6deg)scale(1.07)}.milestone-piece{background:radial-gradient(circle at 88% 10%,var(--accent),transparent 31%),var(--surface);border-radius:32px;padding:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.milestone-piece{background:radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--accent) 75%,transparent),transparent 31%),var(--surface)}}.milestone-piece:after{content:"♥";color:var(--secondary);position:absolute;bottom:-48px;right:5%}@supports (color:color-mix(in lab,red,red)){.milestone-piece:after{color:color-mix(in srgb,var(--secondary) 7%,transparent)}}.milestone-piece:after{pointer-events:none;font-family:Newsreader,serif;font-size:12rem;line-height:1}.milestone-cover{z-index:1;border-bottom:1px solid var(--border);background:var(--elevated);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:24px clamp(22px,5vw,48px);display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.milestone-cover{background:color-mix(in srgb,var(--elevated) 55%,transparent)}}.milestone-cover .event-heart{background:linear-gradient(145deg,var(--secondary),var(--primary));box-shadow:0 10px 24px var(--secondary);margin:0}@supports (color:color-mix(in lab,red,red)){.milestone-cover .event-heart{box-shadow:0 10px 24px color-mix(in srgb,var(--secondary) 22%,transparent)}}.milestone-cover p{margin:0}.milestone-cover .event-date{color:var(--text);margin-top:2px;font-size:.86rem;font-weight:750}.milestone-title-block{z-index:1;text-align:center;justify-items:center;padding:clamp(40px,8vw,74px) 24px 25px;display:grid;position:relative}.milestone-title-block>span{color:var(--secondary);font-size:.95rem}.milestone-title-block h1{max-width:900px;margin:9px 0 18px;font-family:Newsreader,serif;font-size:clamp(2.5rem,7vw,5.2rem);font-weight:500;line-height:.98}.milestone-title-block i{background:linear-gradient(90deg,transparent,var(--secondary),transparent);width:min(180px,38vw);height:1px}.milestone-meaning{z-index:1;grid-template-columns:auto minmax(0,1fr);gap:15px;max-width:780px;margin:0 auto;padding:0 clamp(22px,6vw,62px) clamp(40px,7vw,66px);display:grid;position:relative}.milestone-meaning svg{width:21px;color:var(--secondary)}.milestone-meaning p{color:var(--muted);margin:0;font-family:Newsreader,serif;font-size:clamp(1.2rem,2.4vw,1.65rem);line-height:1.55}.milestone-footer{z-index:1;border-top:1px solid var(--border);background:var(--elevated);justify-content:space-between;align-items:center;gap:22px;padding:22px clamp(22px,5vw,48px);display:flex;position:relative}@supports (color:color-mix(in lab,red,red)){.milestone-footer{background:color-mix(in srgb,var(--elevated) 38%,transparent)}}.milestone-author{align-items:center;gap:11px;display:flex}.milestone-author>span{border:1px solid var(--secondary);flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab,red,red)){.milestone-author>span{border:1px solid color-mix(in srgb,var(--secondary) 40%,var(--border))}}.milestone-author>span{background:var(--accent);color:var(--secondary);border-radius:50%;font-weight:850}.milestone-author div{gap:2px;display:grid}.milestone-author small{color:var(--muted);font-size:.72rem}.milestone-details{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.milestone-details span{background:var(--elevated);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.milestone-details svg{width:14px;height:14px;color:var(--secondary)}.event-notes{border-color:var(--secondary);padding:clamp(24px,5vw,40px);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.event-notes{border-color:color-mix(in srgb,var(--secondary) 24%,var(--border))}}.event-notes{background:radial-gradient(circle at 96% 4%,var(--accent),transparent 27%),var(--surface)}@supports (color:color-mix(in lab,red,red)){.event-notes{background:radial-gradient(circle at 96% 4%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 27%),var(--surface)}}.notes-title{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding-bottom:24px;display:grid}.notes-title-icon{background:linear-gradient(145deg,var(--secondary),var(--primary));color:#fff;width:50px;height:50px;box-shadow:0 10px 24px var(--secondary);border-radius:17px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.notes-title-icon{box-shadow:0 10px 24px color-mix(in srgb,var(--secondary) 20%,transparent)}}.notes-title-icon svg{width:23px;height:23px}.notes-title h2{margin:2px 0 3px;font-family:Newsreader,serif;font-size:clamp(1.65rem,3vw,2.25rem);font-weight:600}.notes-title>div>p:last-child{color:var(--muted);margin:0;font-size:.84rem}.notes-count{background:var(--elevated);color:var(--secondary);border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:800}.notes-empty{border:1px dashed var(--secondary);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;margin:22px 0 0;padding:18px;display:grid}@supports (color:color-mix(in lab,red,red)){.notes-empty{border:1px dashed color-mix(in srgb,var(--secondary) 32%,var(--border))}}.notes-empty{background:var(--elevated);border-radius:18px}@supports (color:color-mix(in lab,red,red)){.notes-empty{background:color-mix(in srgb,var(--elevated) 65%,transparent)}}.notes-empty>svg{width:24px;color:var(--secondary)}.notes-empty strong{color:var(--text)}.notes-empty p{color:var(--muted);margin:3px 0 0;font-size:.84rem}.notes-list{gap:14px;margin-top:22px}.notes-list article{border:1px solid var(--border);background:var(--elevated);border-radius:6px 20px 20px;width:min(82%,780px);padding:18px 19px;position:relative}@supports (color:color-mix(in lab,red,red)){.notes-list article{background:color-mix(in srgb,var(--elevated) 72%,var(--surface))}}.notes-list article{box-shadow:0 9px 26px #5d33400d}.notes-list article.own-note{border-color:var(--primary);justify-self:end}@supports (color:color-mix(in lab,red,red)){.notes-list article.own-note{border-color:color-mix(in srgb,var(--primary) 27%,var(--border))}}.notes-list article.own-note{background:var(--accent);border-radius:20px 6px 20px 20px}@supports (color:color-mix(in lab,red,red)){.notes-list article.own-note{background:color-mix(in srgb,var(--accent) 43%,var(--surface))}}.notes-list article header{align-items:center;gap:9px;display:flex}.notes-list article header>div{gap:1px;display:grid}.notes-list article header small{color:var(--muted);font-size:.67rem}.notes-list article header>svg{width:13px;height:13px;color:var(--primary);margin-left:auto}.note-avatar{border:1px solid var(--secondary);flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab,red,red)){.note-avatar{border:1px solid color-mix(in srgb,var(--secondary) 35%,var(--border))}}.note-avatar{background:var(--surface);color:var(--secondary);border-radius:50%;font-size:.78rem;font-weight:850}.note-words{grid-template-columns:auto minmax(0,1fr);gap:9px;margin-top:13px;display:grid}.note-words>svg{width:16px;height:16px;color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.note-words>svg{color:color-mix(in srgb,var(--secondary) 65%,var(--muted))}}.notes-list article .note-words p{color:var(--text);margin:0;font-family:Newsreader,serif;font-size:1.08rem;line-height:1.55}.notes-list article footer{border-top:1px solid var(--border);justify-content:flex-end;margin-top:13px;padding-top:10px}@supports (color:color-mix(in lab,red,red)){.notes-list article footer{border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}}.notes-list article footer button{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.notes-list article footer button:hover{color:var(--primary)}.notes-list article footer svg{width:13px;height:13px}.notes-list article footer .note-reaction{border:1px solid var(--primary);gap:6px;min-height:31px;padding:5px 9px}@supports (color:color-mix(in lab,red,red)){.notes-list article footer .note-reaction{border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border))}}.notes-list article footer .note-reaction{background:var(--surface);border-radius:999px;transition:transform .16s,border-color .16s,background .16s}.notes-list article footer .note-reaction:hover{border-color:var(--primary);background:var(--elevated);box-shadow:var(--shadow-warm);transform:translateY(-2px)}.notes-list article footer .note-reaction.active{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.notes-list article footer .note-reaction.active{border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}}.notes-list article footer .note-reaction.active{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.notes-list article footer .note-reaction.active{background:color-mix(in srgb,var(--primary) 11%,var(--surface))}}.notes-list article footer .note-reaction.active{color:var(--primary)}.note-reaction.active svg{animation:.28s note-heart-pop}.note-reaction>span{background:var(--elevated);border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:.64rem;display:inline-grid}@keyframes note-heart-pop{50%{transform:scale(1.35)rotate(-8deg)}}.note-form{border:1px solid var(--secondary);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;margin-top:24px;padding:22px}@supports (color:color-mix(in lab,red,red)){.note-form{border:1px solid color-mix(in srgb,var(--secondary) 22%,var(--border))}}.note-form{background:var(--elevated);border-radius:20px}@supports (color:color-mix(in lab,red,red)){.note-form{background:color-mix(in srgb,var(--elevated) 52%,transparent)}}.composer-avatar{text-transform:uppercase;width:38px;height:38px}.note-form>.note-composer{justify-content:stretch;gap:8px;display:grid;position:relative}.note-composer label{color:var(--text);font-size:.82rem;font-weight:750}.note-form .note-composer textarea{resize:vertical;background:var(--surface);border-radius:16px;min-height:105px;padding:14px 15px 28px;line-height:1.5;transition:border-color .16s,box-shadow .16s}.note-form .note-composer textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px var(--secondary);outline:none}@supports (color:color-mix(in lab,red,red)){.note-form .note-composer textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary) 12%,transparent)}}.note-composer>small{color:var(--muted);font-size:.65rem;position:absolute;bottom:8px;right:11px}.note-form>.form-banner,.note-form-actions{grid-column:2}.note-form>.note-form-actions{justify-content:flex-end;gap:10px;display:flex}.note-form-actions .primary-cta{min-height:44px;padding:10px 16px}.note-form-actions .primary-cta svg{width:16px;height:16px}.timeline-feed{gap:20px;padding-left:30px;position:relative}.timeline-feed:before{content:"";background:linear-gradient(var(--primary),var(--accent),var(--secondary));opacity:.42;border-radius:999px;width:2px;position:absolute;top:12px;bottom:12px;left:8px}.timeline-feed>.memory-card,.timeline-feed>.event-card{content-visibility:auto;contain-intrinsic-size:auto 280px;position:relative;overflow:visible}.timeline-feed>.memory-card:before,.timeline-feed>.event-card:before{content:"";border:4px solid var(--bg);background:var(--primary);width:13px;height:13px;box-shadow:0 0 0 2px var(--primary);border-radius:50%;position:absolute;top:28px;left:-29px}@supports (color:color-mix(in lab,red,red)){.timeline-feed>.memory-card:before,.timeline-feed>.event-card:before{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}}.timeline-feed>.event-card:before{background:var(--secondary)}.timeline-feed>.memory-card{border-left:4px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.timeline-feed>.memory-card{border-left:4px solid color-mix(in srgb,var(--primary) 58%,var(--border))}}.timeline-feed>.event-card{border-left:4px solid var(--secondary)}@supports (color:color-mix(in lab,red,red)){.timeline-feed>.event-card{border-left:4px solid color-mix(in srgb,var(--secondary) 60%,var(--border))}}.story-page{--story-line:var(--primary)}@supports (color:color-mix(in lab,red,red)){.story-page{--story-line:color-mix(in srgb, var(--primary) 36%, var(--border))}}.story-hero{border:1px solid var(--primary);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:42px;padding:clamp(26px,5cqw,48px);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.story-hero{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}}.story-hero{background:radial-gradient(circle at 90% 15%,var(--primary),transparent 30%),radial-gradient(circle at 8% 92%,var(--secondary),transparent 34%),var(--surface);border-radius:32px}@supports (color:color-mix(in lab,red,red)){.story-hero{background:radial-gradient(circle at 90% 15%,color-mix(in srgb,var(--primary) 17%,transparent),transparent 30%),radial-gradient(circle at 8% 92%,color-mix(in srgb,var(--secondary) 12%,transparent),transparent 34%),var(--surface)}}.story-hero{box-shadow:var(--shadow-warm)}.story-hero:after{content:"♥";color:var(--primary);position:absolute;bottom:-42px;right:clamp(28px,7vw,100px)}@supports (color:color-mix(in lab,red,red)){.story-hero:after{color:color-mix(in srgb,var(--primary) 9%,transparent)}}.story-hero:after{pointer-events:none;font-family:serif;font-size:clamp(8rem,20vw,16rem);line-height:1;transform:rotate(-8deg)}.story-hero>*{z-index:1;position:relative}.story-hero .eyebrow{align-items:center;gap:7px;display:flex}.story-hero .eyebrow svg{width:15px}.story-hero h1{max-width:17ch;margin-top:10px;font-family:Newsreader,serif;font-size:clamp(2.6rem,7cqw,5rem);font-weight:500;line-height:.96}.story-hero .subtitle{max-width:64ch;margin-top:16px;font-size:1rem;line-height:1.65}.story-counts{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.story-counts span{border:1px solid var(--primary);align-items:center;gap:7px;padding:7px 11px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.story-counts span{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border))}}.story-counts span{background:var(--primary);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.story-counts span{background:color-mix(in srgb,var(--primary) 6%,var(--surface))}}.story-counts span{color:var(--muted);font-size:.72rem;font-weight:700}.story-counts svg{width:14px;color:var(--primary)}.story-hero-actions{justify-items:stretch;gap:9px;display:grid}.story-hero-actions button{white-space:nowrap;justify-content:center}.romantic-timeline{width:100%;max-width:1120px;margin:0 auto;padding:0 0 10px;position:relative}.romantic-timeline:before{content:"";background:linear-gradient(to bottom,transparent,var(--primary) 5%,var(--accent) 52%,var(--secondary) 95%,transparent);border-radius:999px;width:2px;position:absolute;top:46px;bottom:104px;left:50%;transform:translate(-50%)}.story-opening{z-index:1;border:1px solid var(--story-line);background:var(--surface);width:fit-content;box-shadow:var(--shadow-warm);border-radius:999px;align-items:center;gap:12px;margin:0 auto 48px;padding:12px 18px 12px 12px;display:flex;position:relative}.story-opening>span{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:39px;height:39px;display:grid}.story-opening svg{width:18px}.story-opening small,.story-opening strong{display:block}.story-opening small{color:var(--muted);font-size:.65rem}.story-opening strong{font-family:Newsreader,serif;font-size:1rem}.story-year{margin-bottom:62px;position:relative}.story-year-heading{z-index:2;border:1px solid var(--story-line);background:var(--surface);border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;width:min(100%,470px);margin:0 auto 30px;padding:10px 18px 10px 10px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.story-year-heading{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.story-year-heading{box-shadow:0 13px 32px var(--primary)}@supports (color:color-mix(in lab,red,red)){.story-year-heading{box-shadow:0 13px 32px color-mix(in srgb,var(--primary) 9%,transparent)}}.story-year-heading{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.story-year-heading>span{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:16px;place-items:center;min-width:78px;min-height:58px;padding:8px;font-family:Newsreader,serif;font-size:1.25rem;font-weight:700;display:grid}.story-year-heading h2{margin:3px 0 0;font-family:Newsreader,serif;font-size:1.15rem;font-weight:500}.story-year-moments{gap:30px;display:grid}.story-moment{width:calc(50% - 38px);position:relative}.story-moment.left{justify-self:start}.story-moment.right{justify-self:end}.story-moment-node{z-index:3;border:5px solid var(--bg);background:var(--primary);color:#fff;width:34px;height:34px;box-shadow:0 0 0 2px var(--primary);border-radius:50%;place-items:center;display:grid;position:absolute;top:34px}@supports (color:color-mix(in lab,red,red)){.story-moment-node{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 34%,transparent)}}.story-moment.left .story-moment-node{right:-55px}.story-moment.right .story-moment-node{left:-55px}.story-moment.event .story-moment-node{background:var(--secondary);box-shadow:0 0 0 2px var(--secondary)}@supports (color:color-mix(in lab,red,red)){.story-moment.event .story-moment-node{box-shadow:0 0 0 2px color-mix(in srgb,var(--secondary) 34%,transparent)}}.story-moment-node svg{width:13px}.story-moment>button{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);box-shadow:0 16px 42px var(--text);border-radius:25px;padding:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.story-moment>button{box-shadow:0 16px 42px color-mix(in srgb,var(--text) 7%,transparent)}}.story-moment>button{text-align:left}.story-moment>button:before{content:"";border:solid var(--border);background:var(--surface);width:18px;height:18px;position:absolute;top:45px;transform:rotate(45deg)}.story-moment.left>button:before{border-width:1px 1px 0 0;right:-10px}.story-moment.right>button:before{border-width:0 0 1px 1px;left:-10px}.story-moment>button:hover{border-color:var(--primary);transform:translateY(-5px)}@supports (color:color-mix(in lab,red,red)){.story-moment>button:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}}.story-moment>button:hover{box-shadow:var(--shadow-warm-lg)}.story-moment.special>button{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.story-moment.special>button{border-color:color-mix(in srgb,var(--primary) 48%,var(--border))}}.story-moment.special>button{background:linear-gradient(135deg,var(--primary),var(--surface))}@supports (color:color-mix(in lab,red,red)){.story-moment.special>button{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 6%,var(--surface)),var(--surface))}}.story-moment-photo{aspect-ratio:16/9;position:relative;overflow:hidden}.story-moment-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.story-moment>button:hover .story-moment-photo img{transform:scale(1.035)}.story-moment-photo>span{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2c2228ad;border-radius:999px;padding:6px 9px;font-size:.65rem;font-weight:700;position:absolute;bottom:12px;left:13px}.story-moment-copy{padding:20px}.story-moment-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.story-moment-meta span,.story-moment-meta time{color:var(--muted);align-items:center;gap:6px;font-size:.68rem;font-weight:700;display:inline-flex}.story-moment-meta span{color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.story-moment.event .story-moment-meta span{color:var(--secondary)}.story-moment-meta svg{width:14px}.story-moment h3{margin:13px 0 7px;font-family:Newsreader,serif;font-size:clamp(1.45rem,3cqw,2rem);font-weight:600;line-height:1.05}.story-moment-copy>p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.story-place,.story-event-kind{background:var(--elevated);width:fit-content;color:var(--muted);border-radius:999px;align-items:center;gap:6px;margin-top:13px;padding:6px 9px;font-size:.68rem;font-weight:650;display:flex}.story-place svg,.story-event-kind svg{width:13px;color:var(--primary)}.story-event-kind svg{color:var(--secondary)}.story-moment footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.story-author,.story-open{color:var(--muted);align-items:center;gap:6px;font-size:.65rem;display:flex}.story-author i{background:var(--accent);width:25px;height:25px;color:var(--secondary);border-radius:50%;place-items:center;font-style:normal;font-weight:800;display:grid}.story-open{color:var(--primary);font-weight:750}.story-open svg{width:14px;transition:transform .16s}.story-moment>button:hover .story-open svg{transform:translate(3px)}.story-continuation{z-index:2;border:1px dashed var(--primary);grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:15px;width:min(100%,680px);margin:32px auto 0;padding:18px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.story-continuation{border:1px dashed color-mix(in srgb,var(--primary) 46%,var(--border))}}.story-continuation{background:var(--surface);box-shadow:var(--shadow-warm);border-radius:24px}.story-continuation>span{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:17px;place-items:center;width:50px;height:50px;display:grid}.story-continuation h2,.story-continuation p{margin:2px 0}.story-continuation h2{font-family:Newsreader,serif}.story-continuation p:last-child{color:var(--muted);font-size:.78rem}@media(max-width:760px){.story-hero{margin-inline:-4px;border-radius:26px;grid-template-columns:1fr;align-items:start;margin-bottom:34px;padding:28px 20px}.story-hero h1{max-width:none;font-size:clamp(2.45rem,13vw,4rem)}.story-hero-actions,.story-hero-actions button{width:100%}.story-counts span:last-child{display:none}.romantic-timeline:before{left:18px;transform:none}.story-opening{margin-left:0;margin-right:0}.story-year{margin-bottom:48px}.story-year-heading{width:calc(100% - 36px);margin-left:36px}.story-year-heading>span{min-width:67px}.story-year-moments{gap:20px}.story-moment,.story-moment.left,.story-moment.right{justify-self:end;width:calc(100% - 45px)}.story-moment.left .story-moment-node,.story-moment.right .story-moment-node{top:27px;left:-44px;right:auto}.story-moment.left>button:before,.story-moment.right>button:before{border-width:0 0 1px 1px;top:37px;left:-10px;right:auto}.story-moment-copy{padding:18px 16px}.story-moment-meta{flex-direction:column;align-items:flex-start;gap:5px}.story-moment footer{flex-direction:column;align-items:flex-start}.story-continuation{grid-template-columns:43px minmax(0,1fr);width:calc(100% - 36px);margin-left:36px}.story-continuation>span{width:43px;height:43px}.story-continuation>button{grid-column:1/-1;width:100%}}.photos-empty>svg{width:42px;height:42px;color:var(--secondary)}.photos-empty h3{color:var(--text);margin-top:12px}.gallery-photo,.photo-loading{aspect-ratio:1;background:var(--elevated);border:0;border-radius:17px;position:relative;overflow:hidden}.gallery-photo{padding:0}.gallery-photo img{transition:transform .24s}.gallery-photo:hover img{transform:scale(1.035)}.photo-loading{background:linear-gradient(100deg,var(--elevated) 30%,var(--surface) 50%,var(--elevated) 70%);background-size:200% 100%;animation:1.3s infinite shimmer}.broken-photo{height:100%;color:var(--muted);align-content:center;place-items:center;gap:7px;padding:12px;font-size:.75rem;display:grid}.lightbox{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f0a0df0;place-items:center;padding:54px 14px 18px;display:grid;position:fixed;inset:0}.lightbox-content{z-index:1;background:#1d171b;border:1px solid #ffffff1f;border-radius:22px;flex-direction:column;width:min(100%,1050px);height:min(82dvh,860px);max-height:calc(100dvh - 76px);display:flex;position:relative;overflow:hidden}.lightbox-stage{cursor:zoom-out;background:0 0;border:0;flex:auto;justify-content:center;align-items:stretch;width:100%;min-width:0;min-height:0;padding:clamp(10px,3vw,30px);display:flex;overflow:hidden}.lightbox-details{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);flex:0 auto;min-height:200px;max-height:50%;overflow-y:auto}.lightbox-dismiss-area{background:0 0;border:0;position:absolute;inset:0}.lightbox-stage>img{object-fit:contain;object-position:center;cursor:default;flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:block}.lightbox-content footer{color:#fff7fa;justify-content:space-between;align-items:center;gap:15px;padding:14px 17px;display:flex}.lightbox-content footer div,.lightbox-content footer span{min-width:0;display:block}.lightbox-content footer strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.lightbox-content footer span{color:#cdbfc6;margin-top:3px;font-size:.76rem}.lightbox-details footer{color:var(--text);padding-top:16px}.lightbox-details footer span{color:var(--muted)}.lightbox-details footer .photo-panel-title{white-space:normal;text-overflow:clip;color:var(--primary);font-family:Caveat,Segoe Print,cursive;font-size:clamp(1.6rem,4.2vw,2.15rem);font-weight:600;line-height:1.05;overflow:visible}.lightbox-details footer .photo-panel-attribution{white-space:normal;text-overflow:clip;color:var(--secondary);margin-top:5px;overflow:visible}@supports (color:color-mix(in lab,red,red)){.lightbox-details footer .photo-panel-attribution{color:color-mix(in srgb,var(--secondary) 82%,var(--text))}}.lightbox-details footer .photo-panel-attribution{font-family:Newsreader,Georgia,serif;font-size:clamp(1.05rem,2.5vw,1.3rem);font-style:italic;font-weight:500;line-height:1.4}.lightbox-details .lightbox-delete{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.lightbox-details .lightbox-delete{color:color-mix(in srgb,var(--primary) 82%,#3a0d1b)}}.lightbox-details .photo-description-editor,.lightbox-details .photo-notes{padding-left:clamp(16px,4vw,30px);padding-right:clamp(16px,4vw,30px)}.lightbox-details .notes-list article{width:min(88%,760px)}.lightbox-notes .photo-notes-heading{align-items:center;gap:12px;margin:6px 0 2px;display:flex}.photo-notes-icon{background:linear-gradient(145deg,var(--secondary),var(--primary));color:#fff;width:40px;height:40px;box-shadow:0 8px 18px var(--secondary);border-radius:14px;flex:0 0 40px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.photo-notes-icon{box-shadow:0 8px 18px color-mix(in srgb,var(--secondary) 22%,transparent)}}.photo-notes-icon svg{width:19px;height:19px}.photo-notes-heading h3{margin:0;font-family:Newsreader,serif;font-size:clamp(1.2rem,4vw,1.55rem);font-weight:600}.photo-notes .notes-count{margin-top:3px;display:inline-block}.photo-notes-empty{grid-template-columns:auto minmax(0,1fr);margin:14px 18px 0}.photo-notes .notes-list{margin-top:16px}.photo-note-form{margin:18px 12px 10px 0;padding:16px}.photo-note-form .note-composer textarea{min-height:64px}.photo-notes{margin-bottom:8px}.lightbox-close,.lightbox-nav{z-index:2;color:#fff;background:#ffffff1f;border:0;border-radius:50%;place-items:center;transition:transform .16s,background .16s;display:grid;position:fixed}.lightbox-close:hover,.lightbox-nav:hover{background:#ffffff38}.lightbox-close{width:38px;height:38px;top:12px;right:14px}.lightbox-nav{width:42px;height:42px;top:50%;transform:translateY(-50%)}.lightbox-nav.previous{left:12px}.lightbox-nav.next{right:12px}.lightbox-delete{color:#ffb4c4;background:0 0;border:0;flex:none;align-items:center;gap:6px;display:inline-flex}.lightbox-delete svg{width:17px}.lightbox-confirm-backdrop{z-index:4;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0f0a0dad;place-items:center;padding:20px;animation:.17s both confirm-backdrop-in;display:grid;position:absolute;inset:0}.lightbox-confirm{color:#fff;text-align:center;background:radial-gradient(circle at 92% 8%,#e88fa926,#0000 32%),#2b2127;border:1px solid #ffffff24;border-radius:25px;width:min(100%,430px);padding:28px;animation:.21s cubic-bezier(.2,.8,.25,1) both confirm-dialog-in;box-shadow:0 24px 70px #0000006b}.lightbox-confirm-icon{color:#ffb4c4;background:#b84b5d26;border:1px solid #ffb4c440;border-radius:17px;place-items:center;width:52px;height:52px;margin:0 auto 13px;display:grid}.lightbox-confirm-icon svg{width:23px}.lightbox-confirm .eyebrow{color:#e8a4ba}.lightbox-confirm h3{margin:6px 0 9px;font-family:Newsreader,serif;font-size:clamp(1.7rem,5vw,2.15rem);font-weight:600}.lightbox-confirm>p:not(.eyebrow){color:#cdbfc6;max-width:350px;margin:0 auto;font-size:.86rem;line-height:1.55}.lightbox-confirm>div{justify-content:center;gap:10px;margin-top:22px;display:flex}.lightbox-confirm button{border:0;border-radius:12px;min-height:42px;padding:10px 13px;font-weight:750}.lightbox-confirm button:first-child{color:#fff7fa;background:#ffffff1c;border:1px solid #ffffff3d}.lightbox-confirm button:first-child:hover{background:#ffffff2e;border-color:#ffffff80}.lightbox-confirm .danger-button{color:#fff;background:linear-gradient(135deg,#b84b5d,#8f3548);justify-content:center;align-items:center;gap:6px;display:inline-flex;box-shadow:0 8px 20px #b84b5d3d}.lightbox-confirm .danger-button svg{width:16px}@keyframes confirm-backdrop-in{0%{opacity:0}}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes heart-burst{0%{opacity:1;transform:scale(0)}50%{opacity:1}to{opacity:0;transform:scale(1.6)}}@keyframes heart-float-up{0%{opacity:1;transform:translateY(0)scale(1)rotate(0)}to{transform:translateY(-80px) scale(.4) rotate(var(--rotate,15deg));opacity:0}}@keyframes pulse-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}@keyframes gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes route-arrive{0%{opacity:0;filter:blur(4px);transform:translateY(20px)scale(.98)}to{opacity:1;filter:none;transform:none}}@keyframes empty-float{50%{transform:translateY(-12px)rotate(8deg)scale(1.08)}}@keyframes empty-icon{50%{transform:translateY(-6px)rotate(-4deg)scale(1.06)}}.route-transition{animation:.42s cubic-bezier(.22,.68,.25,1) both route-arrive}.route-transition.route-exit{animation:.18s cubic-bezier(.4,0,.2,1) both route-exit}.page-enter{animation:.38s cubic-bezier(.22,.68,.25,1) both fade-in-up}@keyframes route-exit{0%{opacity:1;filter:none;transform:none}to{opacity:0;filter:blur(3px);transform:translateY(-12px)scale(.985)}}@keyframes heart-breathe{50%{transform:translateY(-5px)scale(1.08)}}.heart-burst-container{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:visible}.heart-burst-particle{color:var(--primary);animation:heart-burst-particle .7s ease-out var(--delay,0s) both;will-change:transform,opacity;position:absolute}@keyframes heart-burst-particle{0%{opacity:1;transform:translate(0)scale(.3)rotate(0)}to{transform:translate(var(--tx,20px),var(--ty,-40px)) scale(1) rotate(var(--rotate,10deg));opacity:0}}.gesture-heart-response{position:relative;overflow:visible}.gesture-heart-response.bursting:after{content:"";background:var(--primary);border-radius:50%;position:absolute;inset:-4px}@supports (color:color-mix(in lab,red,red)){.gesture-heart-response.bursting:after{background:color-mix(in srgb,var(--primary) 20%,transparent)}}.gesture-heart-response.bursting:after{animation:.5s ease-out heart-burst}@media(max-width:600px){.photos-section{border-radius:23px;margin-inline:-3px;padding:20px 16px}.photos-heading,.photo-review-heading{flex-direction:column;align-items:stretch}.photos-heading .soft-cta,.photo-add-more{width:100%}.photo-review-actions{flex-direction:column-reverse;align-items:stretch}.photo-review-actions button,.upload-photos{width:100%}.lightbox{align-items:center;padding:56px 8px 16px}.lightbox-content{border-radius:18px;width:100%;height:calc(100dvh - 76px);max-height:none}.lightbox-details{max-height:55%}.lightbox-content footer{flex-direction:column;align-items:stretch;gap:11px;padding:13px 14px}.lightbox-content footer strong,.lightbox-content footer span{white-space:normal;overflow-wrap:anywhere}.lightbox-delete{align-self:flex-start;min-height:40px;padding:8px 2px}.lightbox-close{width:44px;height:44px}.lightbox-nav{background:#191115ad;width:44px;height:44px}.lightbox-nav.previous{left:12px}.lightbox-nav.next{right:12px}.lightbox-confirm-backdrop{padding:14px}.lightbox-confirm{border-radius:22px;padding:24px 18px 19px}.lightbox-confirm>div{flex-direction:column;align-items:stretch}.page-heading,.form-heading{border-radius:22px;flex-direction:column;align-items:flex-start;gap:18px;margin-inline:-4px;padding:20px}.page-heading:after,.form-heading:after{font-size:6rem;bottom:-26px;right:-8px}.page-heading h1,.form-heading h1{font-size:clamp(2rem,10vw,2.65rem)}.page-heading .primary-cta{width:100%}.memory-card{grid-template-columns:1fr}.memory-card-date{border-right:0;border-bottom:1px solid var(--border);border-radius:18px 18px 0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:auto;padding:15px 17px;display:grid}.memory-card-date svg{width:21px;height:21px;margin:0}.memory-card-date small{margin:0}.memory-card-body{padding:20px 18px}.memory-card-body footer{grid-template-columns:1fr;align-items:start;gap:11px}.memory-card-open{margin-top:2px}.form-row,.date-fields{grid-template-columns:1fr}.form-chapter{border-radius:22px;padding:20px 17px}.chapter-heading{grid-template-columns:42px minmax(0,1fr);gap:12px}.chapter-heading>span{border-radius:14px;width:42px;height:42px}.chapter-fields,.affectionate-chapter .special-date-form,.affectionate-chapter>.app-switch-row,.relationship-preview{width:100%;margin-left:0}.date-fields.chapter-fields{padding:15px}.heading-actions{flex-direction:column-reverse;align-items:stretch;width:100%}.event-card{grid-template-columns:1fr}.event-card-mark{border-right:0;border-bottom:1px solid var(--border);border-radius:20px 20px 0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:auto;padding:15px 17px;display:grid}.event-card-mark .event-symbol{border-radius:13px;width:40px;height:40px;margin:0}.event-card-body{padding:20px 18px}.event-card-body footer{grid-template-columns:1fr;align-items:start;gap:11px}.milestone-cover{grid-template-columns:auto minmax(0,1fr);padding:18px}.milestone-cover .event-badge{grid-column:1/-1;margin-left:0}.milestone-title-block{padding:38px 18px 23px}.milestone-meaning{grid-template-columns:1fr;gap:9px;padding:0 20px 38px}.milestone-footer{flex-direction:column;align-items:flex-start;padding:20px 18px}.milestone-details{justify-content:flex-start}.event-notes{padding:21px 17px}.notes-title{grid-template-columns:auto minmax(0,1fr);align-items:start}.notes-title-icon{border-radius:14px;width:43px;height:43px}.notes-count{grid-column:2;justify-self:start}.notes-list article{width:95%}.note-form{grid-template-columns:1fr;padding:17px}.composer-avatar{display:none}.note-form>.form-banner,.note-form-actions{grid-column:1}.note-form>.note-form-actions{flex-direction:column-reverse;align-items:stretch}.note-form-actions button,.note-form-actions .primary-cta{width:100%}.event-info dl{grid-template-columns:1fr}.date-popover{width:min(320px,100vw - 28px);padding:11px;animation:none;position:fixed;inset:auto auto 92px 50%;transform:translate(-50%)}.app-datepicker.drop-up .date-popover{top:auto;bottom:92px}.day-grid button{aspect-ratio:auto;min-height:34px}.form-actions{grid-template-columns:1fr;display:grid}.form-actions button{width:100%;min-height:48px}.form-actions .primary-cta{order:-1}.home-empty{min-height:430px;padding:34px 20px}.home-empty>div{width:100%;display:grid}.home-empty>div button{width:100%}.upcoming-heading>svg{display:none}.relationship-counter{border-radius:24px;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:22px 18px}.relationship-counter>span{border-radius:16px;width:48px;height:48px}.relationship-counter>span svg{width:23px}.relationship-counter h2{font-size:clamp(1.75rem,8vw,2.4rem)}.upcoming-grid{grid-template-columns:1fr}.upcoming-card.today{grid-column:auto}.upcoming-card{grid-template-columns:42px minmax(0,1fr);padding:17px}.upcoming-icon{border-radius:14px;width:42px;height:42px}.upcoming-section-heading{align-items:flex-start}.memory-chapter{border-radius:24px;padding:25px 19px}.chapter-title-block h1{margin-top:24px;font-size:clamp(2.45rem,13vw,3.5rem)}.chapter-prose{grid-template-columns:24px minmax(0,1fr);gap:8px;margin:28px 0;padding:17px 0 17px 13px}.chapter-prose>svg{width:21px}.chapter-footer{display:grid}.chapter-signature{grid-template-columns:46px minmax(0,1fr)}.chapter-closing{text-align:left;grid-column:1/-1;max-width:none;margin-top:12px}.chapter-actions{grid-template-columns:1fr;display:grid}.chapter-actions button{width:100%}.timeline-feed{padding-left:23px}.timeline-feed:before{left:5px}.timeline-feed>.memory-card:before,.timeline-feed>.event-card:before{left:-24px}.chapter-media-empty{min-height:360px;padding:34px 17px}}@media(min-width:650px){.preview-grid,.photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1050px){.photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.lightbox-nav.previous{left:28px}.lightbox-nav.next{right:28px}}@media(min-width:960px){.lightbox-content{flex-direction:row;width:min(100%,1180px)}.lightbox-stage{flex:auto}.lightbox-details{border-left:1px solid var(--border);flex:0 0 440px;width:440px;min-width:0;max-width:440px;min-height:0;max-height:none}.lightbox-details footer{padding:26px 36px 20px}.lightbox-details .photo-description-editor{padding-top:8px;padding-left:36px;padding-right:36px}.lightbox-details .photo-description-editor textarea{min-height:80px;padding:14px 16px}.lightbox-details .photo-notes{margin-top:10px;margin-bottom:34px;padding-left:36px;padding-right:36px}.lightbox-details .notes-list{gap:20px;margin-top:26px}.lightbox-details .notes-list article{width:min(100%,720px);padding:20px 22px}.lightbox-details .photo-note-form{margin-top:22px;padding:18px}.lightbox-details .photo-notes-empty{margin:22px 24px 24px}}@media(min-width:850px){.shell{grid-template-columns:240px 1fr;display:grid}.rail{border-right:1px solid var(--border);flex-direction:column;gap:70px;height:100vh;padding:38px 26px;display:flex;position:sticky;top:0}.brand{color:var(--primary);align-items:center;gap:9px;font-size:1.1rem;font-weight:700;display:flex}.rail nav{gap:10px;display:grid}.rail a{color:var(--muted);border-radius:14px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.rail svg{width:19px}.rail .active{background:var(--elevated);color:var(--primary)}main{padding:70px 50px}.bottom{display:none}.gesture{grid-template-columns:auto 1fr auto;align-items:center}}@container app-content (max-width:680px){.page-heading,.form-heading{flex-direction:column;align-items:flex-start;gap:18px}.page-heading>div,.form-heading>div,.page-heading .primary-cta{width:100%}.page-heading h1,.form-heading h1{overflow-wrap:anywhere;font-size:clamp(2rem,8cqw,2.7rem)}.memory-card,.event-card,.memory-card.compact,.event-card.compact{grid-template-columns:minmax(0,1fr)}.memory-card-date,.event-card-mark{border-right:0;border-bottom:1px solid var(--border);border-radius:18px 18px 0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:auto;padding:15px 17px;display:grid}.memory-card.compact .memory-card-date,.event-card.compact .event-card-mark{border-right:0;border-bottom:1px solid var(--border);border-radius:16px 16px 0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:auto;padding:15px 17px;display:grid}.memory-card-date svg,.event-card-mark .event-symbol{margin:0}.memory-card-date small,.event-card-mark small{text-align:right;margin:0}.memory-card-body,.event-card-body{padding:21px 19px}.memory-card-body h3,.event-card-body h3{overflow-wrap:anywhere}.memory-card-body footer,.event-card-body footer{grid-template-columns:minmax(0,1fr);align-items:start;gap:11px}.memory-card-location{white-space:normal;overflow-wrap:anywhere;width:100%}.memory-card-open,.event-card-open{min-height:32px}.timeline-feed{padding-left:23px}.timeline-feed:before{left:5px}.timeline-feed>.memory-card:before,.timeline-feed>.event-card:before{left:-24px}.memory-chapter{border-radius:25px;padding:clamp(23px,6cqw,34px)}.chapter-title-block h1{overflow-wrap:anywhere;font-size:clamp(2.35rem,11cqw,3.65rem)}.chapter-location{overflow-wrap:anywhere;align-items:flex-start;width:100%}.chapter-prose{grid-template-columns:24px minmax(0,1fr);gap:9px;margin:29px 0;padding:18px 0 18px 13px}.chapter-prose>svg{width:21px}.chapter-signature{grid-template-columns:46px minmax(0,1fr)}.chapter-closing{text-align:left;grid-column:1/-1;max-width:none;margin-top:12px}.chapter-actions{grid-template-columns:minmax(0,1fr);display:grid}.chapter-actions button{width:100%}.milestone-cover{grid-template-columns:auto minmax(0,1fr);padding:19px}.milestone-cover .event-badge{grid-column:1/-1;margin-left:0}.milestone-title-block{padding:40px 20px 24px}.milestone-title-block h1{overflow-wrap:anywhere;font-size:clamp(2.4rem,11cqw,3.8rem)}.milestone-meaning{grid-template-columns:minmax(0,1fr);gap:9px;padding:0 21px 40px}.milestone-footer{flex-direction:column;align-items:flex-start;padding:21px 19px}.milestone-details{justify-content:flex-start}.event-notes{padding:22px 18px}.notes-title{grid-template-columns:auto minmax(0,1fr);align-items:start}.notes-count{grid-column:2;justify-self:start}.notes-list article{width:min(95%,780px)}.note-form{grid-template-columns:minmax(0,1fr);padding:18px}.composer-avatar{display:none}.note-form>.form-banner,.note-form-actions{grid-column:1}.note-form>.note-form-actions{flex-direction:column-reverse;align-items:stretch}.note-form-actions button,.note-form-actions .primary-cta{width:100%}.home-counter{grid-template-columns:48px minmax(0,1fr)}.home-counter-link{grid-column:1/-1;justify-self:start}}@container app-content (max-width:390px){.page-heading,.form-heading{padding:18px 17px}.memory-card-date,.event-card-mark,.memory-card.compact .memory-card-date,.event-card.compact .event-card-mark{grid-template-columns:auto minmax(0,1fr)}.memory-card-date small,.event-card-mark small{text-align:left;grid-column:2}.chapter-cover,.milestone-cover{gap:11px}.chapter-mark,.milestone-cover .event-heart{border-radius:14px;width:43px;height:43px}.notes-title-icon{border-radius:14px;width:42px;height:42px}.notes-list article,.notes-list article.own-note{width:100%}}.gallery-photo{position:relative;overflow:hidden}.gallery-caption{color:#fff;text-align:left;white-space:nowrap;text-overflow:ellipsis;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1b1418d1;border-radius:10px;padding:7px 10px;font-size:.76rem;line-height:1.3;position:absolute;inset:auto 8px 8px;overflow:hidden}.photo-description-editor{border-top:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface));padding:14px 18px 17px}@supports (color:color-mix(in lab,red,red)){.photo-description-editor{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 90%,var(--accent)),var(--surface))}}.photo-description-editor label{color:var(--primary);margin-bottom:10px;font-family:Caveat,Segoe Print,cursive;font-size:1.35rem;font-weight:600;line-height:1.15;display:block}.photo-description-editor textarea{resize:vertical;border:1px solid var(--primary);width:100%;min-height:66px;padding:12px 15px}@supports (color:color-mix(in lab,red,red)){.photo-description-editor textarea{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border))}}.photo-description-editor textarea{background:var(--background);color:var(--text);font:inherit;border-radius:15px;transition:border-color .16s,box-shadow .16s}.photo-description-editor textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary);outline:none}@supports (color:color-mix(in lab,red,red)){.photo-description-editor textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}}.photo-description-editor>div{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.photo-description-editor button{background:var(--accent);color:#fff;border:0;border-radius:12px;min-height:40px;padding:8px 14px;font-weight:700}.memory-words{margin-top:28px}.settings-page{width:100%;max-width:1080px;margin:0 auto}.settings-hero{border:1px solid var(--border);background:radial-gradient(circle at 90% 15%,#e68bac2e,transparent 34%),var(--surface);border-radius:30px;align-items:center;gap:20px;padding:clamp(22px,4vw,38px);display:flex}.settings-hero>span,.identity-icon{width:58px;height:58px;color:var(--accent);background:#e68bac24;border-radius:20px;flex:none;place-items:center;display:grid}.settings-hero h1{margin:4px 0 8px;font-size:clamp(2rem,5vw,3.8rem);line-height:.98}.settings-hero p:last-child{max-width:650px;color:var(--muted);margin:0}.identity-form{gap:20px;margin-top:24px;display:grid}.identity-form article{border:1px solid var(--border);background:var(--surface);border-radius:26px;gap:20px;padding:clamp(20px,3.5vw,32px);display:flex;box-shadow:0 18px 55px #0c080a14}.identity-form .nickname-card{background:linear-gradient(135deg,var(--surface),var(--surface))}@supports (color:color-mix(in lab,red,red)){.identity-form .nickname-card{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,var(--accent)),var(--surface))}}.identity-copy{flex:1;min-width:0}.identity-copy h2{margin:3px 0 7px;font-size:clamp(1.5rem,3vw,2.1rem)}.identity-copy>p:not(.eyebrow){color:var(--muted);margin:0 0 20px}.identity-copy label{gap:8px;font-weight:700;display:grid}.identity-copy label small{color:var(--muted);font-weight:500}.identity-copy input{border:1px solid var(--border);background:var(--background);width:100%;min-height:50px;color:var(--text);font:inherit;border-radius:14px;padding:0 15px}.identity-copy input:focus{outline:2px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.identity-copy input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent)}}.identity-copy input:focus{border-color:var(--accent)}.identity-preview{background:var(--background);border-radius:16px;align-items:center;gap:12px;margin-top:18px;padding:13px 15px;display:flex}.identity-preview>span{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.identity-preview p{margin:0;display:grid}.identity-preview small{color:var(--muted)}.pwa-settings{gap:14px;display:grid}.pwa-version{border:1px solid var(--border);background:var(--background);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.pwa-version span,.pwa-guidance,.pwa-check-result{color:var(--muted);font-size:.86rem}.pwa-version strong{overflow-wrap:anywhere;color:var(--accent);font-size:.82rem}.pwa-guidance,.pwa-check-result{margin:0}.pwa-check-result{background:var(--accent);border-radius:13px;padding:11px 13px}@supports (color:color-mix(in lab,red,red)){.pwa-check-result{background:color-mix(in srgb,var(--accent) 9%,var(--background))}}.spin{animation:.9s linear infinite pwa-spin}@keyframes pwa-spin{to{transform:rotate(360deg)}}.settings-actions{justify-content:flex-end;gap:12px;display:flex}.settings-logout{border:1px solid var(--border);min-height:48px;color:var(--muted);background:0 0;border-radius:14px;justify-content:center;align-items:center;gap:8px;display:none}.activity-notifications{z-index:140;position:fixed;top:22px;right:24px}.notification-bell{border:1px solid var(--border);background:var(--surface);border-radius:16px;place-items:center;width:48px;height:48px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.notification-bell{background:color-mix(in srgb,var(--surface) 92%,transparent)}}.notification-bell{color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .2s,border-color .2s;box-shadow:0 12px 35px #0c080a2e}.notification-bell:hover{border-color:var(--accent);transform:translateY(-2px)rotate(-3deg)}.notification-bell>span{border:2px solid var(--background);background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.notification-scrim{z-index:-1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c080a6b;border:0;position:fixed;inset:0}.notification-panel{border:1px solid var(--border);background:var(--surface);border-radius:24px;flex-direction:column;width:min(410px,100vw - 28px);max-height:min(680px,100vh - 90px);display:flex;position:absolute;top:58px;right:0;overflow:hidden;box-shadow:0 28px 80px #0a060859}.notification-panel>header{justify-content:space-between;align-items:center;gap:14px;padding:22px 22px 14px;display:flex}.notification-panel h2{margin:3px 0 0;font-size:1.7rem}.notification-panel>header button{background:var(--background);width:38px;height:38px;color:var(--muted);border:0;border-radius:12px;place-items:center;display:grid}.read-all{color:var(--accent);background:0 0;border:0;align-self:flex-end;align-items:center;gap:7px;margin:0 18px 10px;font-weight:700;display:flex}.clear-read{color:var(--muted);background:0 0;border:0;align-self:flex-end;align-items:center;gap:6px;margin:-3px 18px 10px;font-size:.78rem;font-weight:700;display:flex}.clear-read svg{width:15px}.read-all svg{width:17px}.notification-list{padding:4px 10px 12px;overflow-y:auto}.notification-entry{border-radius:16px;position:relative}.notification-entry.unread{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.notification-entry.unread{background:color-mix(in srgb,var(--accent) 9%,transparent)}}.notification-entry>button:first-child{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:16px;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 12px;transition:background .18s,transform .18s;display:grid;position:relative}.notification-entry>button:first-child:hover{background:var(--background);transform:translate(-2px)}.notification-entry>button:first-child>span:nth-child(2){gap:3px;display:grid}.notification-list strong{line-height:1.35}.notification-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notification-list time{color:var(--muted);font-size:.75rem}.notification-entry i{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:42px;right:18px}.gesture-heart-response{background:var(--accent);border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:11px;right:11px}@supports (color:color-mix(in lab,red,red)){.gesture-heart-response{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}.gesture-heart-response{color:var(--accent)}.gesture-heart-response:hover svg{fill:currentColor;transform:scale(1.12)}.gesture-heart-response:hover{box-shadow:var(--glow-primary)}.gesture-heart-response.reacted{background:var(--accent);color:#fff;opacity:1}.gesture-heart-response:disabled{cursor:default}.gesture-heart-response.bursting{animation:.5s ease-out pulse-ring}.gesture-respond-button{background:var(--accent);border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:11px;right:50px}@supports (color:color-mix(in lab,red,red)){.gesture-respond-button{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}.gesture-respond-button{color:var(--accent);transition:all .18s}.gesture-respond-button:hover{background:var(--elevated);color:var(--primary);box-shadow:var(--glow-primary);transform:scale(1.08)}.gesture-response-form{background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:8px;padding:12px;animation:.2s both fade-in-up;display:grid}.gesture-response-form textarea{border:1px solid var(--border);background:var(--bg);width:100%;min-height:56px;color:var(--text);font:inherit;resize:vertical;border-radius:10px;outline:none;padding:10px 12px;transition:border-color .16s,box-shadow .16s}.gesture-response-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary),var(--glow-primary)}@supports (color:color-mix(in lab,red,red)){.gesture-response-form textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent),var(--glow-primary)}}.gesture-response-actions{justify-content:flex-end;gap:8px;display:flex}.gesture-response-actions .primary-cta,.gesture-response-actions .soft-cta{min-height:36px;padding:8px 14px;font-size:.8rem}.gesture-response-sent{background:var(--accent);align-items:center;gap:8px;padding:8px 12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.gesture-response-sent{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}}.gesture-response-sent{border:1px solid var(--accent);color:var(--accent);border-radius:10px;font-size:.8rem}.gesture-response-sent small{font-style:italic}.gesture-response-time{color:var(--muted);font-size:.7rem}.notification-remove{width:28px;height:28px;color:var(--muted);opacity:0;background:0 0;border:0;border-radius:9px;place-items:center;transition:opacity .18s,background .18s;display:grid;position:absolute;top:8px;right:8px}.notification-entry:hover .notification-remove,.notification-remove:focus-visible{opacity:1}.notification-remove:hover{background:var(--surface);color:var(--text)}.notification-remove svg{width:15px}.affection-card{border:1px solid var(--accent);margin:22px 0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.affection-card{border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border))}}.affection-card{background:radial-gradient(circle at 8% 20%,#e68bac33,transparent 30%),linear-gradient(135deg,var(--surface),var(--surface));border-radius:26px}@supports (color:color-mix(in lab,red,red)){.affection-card{background:radial-gradient(circle at 8% 20%,#e68bac33,transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--surface) 95%,var(--accent)),var(--surface))}}.affection-card{box-shadow:0 20px 55px #28161f1a}.affection-intro{align-items:center;gap:18px;padding:clamp(20px,3vw,28px);display:flex}.affection-intro>span{background:var(--accent);color:#fff;width:54px;height:54px;box-shadow:0 10px 28px var(--accent);border-radius:19px;flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.affection-intro>span{box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 35%,transparent)}}.affection-intro>div{flex:1}.affection-intro h2{margin:3px 0 5px;font-size:clamp(1.35rem,2.6vw,2rem)}.affection-intro p:last-child{color:var(--muted);margin:0}.affection-intro>button:not(.affection-close){background:var(--accent);color:#fff;border:0;border-radius:14px;align-items:center;gap:8px;min-height:46px;padding:10px 16px;font-weight:800;display:flex}.affection-close{background:var(--background);width:40px;height:40px;color:var(--muted);border:0;border-radius:13px;place-items:center;display:grid}.affection-composer{padding:0 clamp(20px,3vw,28px) clamp(20px,3vw,28px)}.gesture-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.gesture-options button{border:1px solid var(--border);background:var(--background);min-height:84px;color:var(--text);border-radius:15px;justify-items:center;gap:5px;padding:10px 7px;font-size:.78rem;font-weight:700;display:grid}.gesture-options button span{font-size:1.45rem;transition:transform .2s}.gesture-options button:hover span,.gesture-options button.selected span{transform:scale(1.18)rotate(-4deg)}.gesture-options button.selected{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.gesture-options button.selected{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}}.kiss-location-picker{margin-top:14px;animation:.25s both fade-in-up}.kiss-location-picker .eyebrow{margin-bottom:8px}.kiss-location-options{flex-wrap:wrap;gap:8px;display:flex}.kiss-location-options button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .18s}.kiss-location-options button:hover{border-color:var(--primary);background:var(--elevated);transform:translateY(-1px)}.kiss-location-options button.selected{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.kiss-location-options button.selected{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}}.kiss-location-options button.selected{color:var(--primary);box-shadow:var(--shadow-warm)}.custom-gesture{gap:8px;margin-top:14px;font-weight:700;display:grid;position:relative}.custom-gesture textarea{border:1px solid var(--border);background:var(--background);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:15px;padding:13px 15px 25px}.custom-gesture small{color:var(--muted);position:absolute;bottom:8px;right:12px}.affection-send{margin:16px 0 0 auto}.affection-sent{color:var(--accent);text-align:center;justify-items:center;gap:7px;padding:24px;animation:.35s both rise;display:grid}.affection-sent-icon{justify-content:center;align-items:center;display:inline-flex;position:relative}.affection-sent-icon>svg{width:42px;height:42px;animation:.6s .2s both gentle-bounce}.affection-sent strong{color:var(--text);font-size:1.15rem}@container app-content (max-width:700px){.affection-intro{flex-wrap:wrap;align-items:flex-start}.affection-intro>button:not(.affection-close){justify-content:center;width:100%}.gesture-options{grid-template-columns:repeat(2,minmax(0,1fr))}.gesture-options button:last-child{grid-column:1/-1}.affection-send{width:100%}}.reminders-page{width:100%}.reminder-form{border:1px solid var(--border);background:var(--surface);border-radius:26px;gap:18px;margin:22px 0;padding:clamp(20px,3vw,30px);scroll-margin-top:22px;display:grid;box-shadow:0 22px 60px #140c101f}.reminder-form>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.reminder-form>header h2{margin:3px 0;font-size:2rem}.reminder-form>header button{background:var(--background);width:40px;height:40px;color:var(--muted);border:0;border-radius:12px;place-items:center;display:grid}.reminder-form label{gap:8px;font-weight:700;display:grid}.reminder-form input,.reminder-form textarea{border:1px solid var(--border);background:var(--background);width:100%;color:var(--text);font:inherit;border-radius:14px;padding:13px 15px}.reminder-form>.primary-cta{justify-self:end}.checklist-editor{gap:9px;display:grid}.checklist-editor>div{grid-template-columns:32px minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.checklist-editor>div>span{background:var(--accent);border-radius:50%;place-items:center;width:30px;height:30px;display:grid}@supports (color:color-mix(in lab,red,red)){.checklist-editor>div>span{background:color-mix(in srgb,var(--accent) 12%,transparent)}}.checklist-editor>div>span{color:var(--accent);font-weight:800}.checklist-editor>div>button{height:38px;color:var(--muted);background:0 0;border:0;border-radius:11px;place-items:center;display:grid}.checklist-editor>div svg{width:17px}.checklist-editor>button{color:var(--accent);background:0 0;border:0;justify-self:start;align-items:center;gap:7px;font-weight:800;display:flex}.reminder-date{background:var(--background);border-radius:18px;gap:14px;padding:16px;display:grid}.reminder-list{gap:26px;display:grid}.reminder-group{gap:13px;display:grid}.reminder-group>header{justify-content:space-between;align-items:flex-end;gap:15px;padding:0 4px;display:flex}.reminder-group>header h2{margin:2px 0 4px;font-size:clamp(1.35rem,2.5vw,1.9rem)}.reminder-group>header p:last-child{color:var(--muted);margin:0}.reminder-group>header>span{background:var(--accent);border-radius:12px;place-items:center;min-width:34px;height:34px;display:grid}@supports (color:color-mix(in lab,red,red)){.reminder-group>header>span{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}}.reminder-group>header>span{color:var(--accent);font-weight:800}.reminder-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.reminder-group article{border:1px solid var(--accent);padding:clamp(20px,3vw,30px);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.reminder-group article{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border))}}.reminder-group article{background:linear-gradient(90deg,transparent 49px,var(--accent) 50px,transparent 51px),repeating-linear-gradient(0deg,transparent 0 31px,var(--text) 32px),var(--surface);border-radius:8px 28px 24px 24px}@supports (color:color-mix(in lab,red,red)){.reminder-group article{background:linear-gradient(90deg,transparent 49px,color-mix(in srgb,var(--accent) 10%,transparent) 50px,transparent 51px),repeating-linear-gradient(0deg,transparent 0 31px,color-mix(in srgb,var(--text) 4%,transparent) 32px),color-mix(in srgb,var(--surface) 94%,#fff)}}.reminder-group article{transition:transform .25s,border-color .25s,box-shadow .25s;box-shadow:0 16px 44px #0c070b21,inset 0 1px #ffffff06}.reminder-group article:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;inset:20px auto auto 17px}@supports (color:color-mix(in lab,red,red)){.reminder-group article:before{background:color-mix(in srgb,var(--accent) 62%,var(--surface))}}.reminder-group article:before{box-shadow:0 34px 0 var(--accent),0 68px 0 var(--accent)}@supports (color:color-mix(in lab,red,red)){.reminder-group article:before{box-shadow:0 34px color-mix(in srgb,var(--accent) 42%,var(--surface)),0 68px color-mix(in srgb,var(--accent) 42%,var(--surface))}}.reminder-group article:before{opacity:.55}.reminder-group.sent article:before{background:#c69b68}.reminder-group.private article:before{background:#8f8391}.reminder-group.completed article:before{background:#789b89}.reminder-group article:hover{border-color:var(--accent);transform:translateY(-4px)rotate(-.15deg)}@supports (color:color-mix(in lab,red,red)){.reminder-group article:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}}.reminder-group article:hover{box-shadow:var(--shadow-warm-lg)}.reminder-group article.completed{opacity:.72}.reminder-audience-mark{background:var(--accent);border-radius:999px;align-items:center;gap:6px;margin-bottom:7px;padding:6px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.reminder-audience-mark{background:color-mix(in srgb,var(--accent) 11%,transparent)}}.reminder-audience-mark{color:var(--accent);letter-spacing:.04em;text-transform:none;font-size:.7rem;font-weight:800}.reminder-audience-mark svg{width:13px;height:13px}.reminder-paper-fold{border:1px solid var(--accent);width:43px;height:43px;position:absolute;top:-1px;right:-1px}@supports (color:color-mix(in lab,red,red)){.reminder-paper-fold{border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border))}}.reminder-paper-fold{background:var(--accent);border-width:0 0 1px 1px;border-radius:0 0 0 14px}@supports (color:color-mix(in lab,red,red)){.reminder-paper-fold{background:color-mix(in srgb,var(--accent) 7%,var(--background))}}.reminder-paper-fold{box-shadow:-5px 5px 14px #0a06091f}.reminder-card-heading h2{max-width:21ch;margin:5px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:500;line-height:1.08}.reminder-card-heading>p{font-size:.78rem!important}.checklist-progress{background:var(--background);border-radius:15px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:22px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab,red,red)){.checklist-progress{background:color-mix(in srgb,var(--background) 70%,transparent)}}.checklist-progress-icon{background:var(--accent);border-radius:12px;place-items:center;width:36px;height:36px;display:grid}@supports (color:color-mix(in lab,red,red)){.checklist-progress-icon{background:color-mix(in srgb,var(--accent) 13%,transparent)}}.checklist-progress-icon{color:var(--accent)}.checklist-progress-icon svg{width:18px}.checklist-progress>div{gap:7px;display:grid}.checklist-progress strong{font-size:.79rem}.checklist-progress>div>span{background:var(--text);border-radius:99px;height:6px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.checklist-progress>div>span{background:color-mix(in srgb,var(--text) 8%,transparent)}}.checklist-progress i{border-radius:inherit;background:linear-gradient(90deg,var(--accent),#eab3c7);height:100%;transition:width .3s;display:block}.checklist-progress small{color:var(--muted);white-space:nowrap;font-size:.75rem}.reminder-card-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:17px;padding-top:12px;font-size:.75rem;display:flex}.reminder-card-footer>span{align-items:center;gap:6px;display:inline-flex}.reminder-card-footer>span svg{fill:currentColor;width:13px;color:var(--accent)}.reminder-list>article{border:1px solid var(--border);background:var(--surface);border-radius:23px;padding:clamp(18px,3vw,26px);transition:transform .2s,border-color .2s}.reminder-list>article:hover{border-color:var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.reminder-list>article:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}}.reminder-list>article:hover{box-shadow:var(--shadow-warm)}.reminder-list>article.completed{opacity:.66}.reminder-group article>header{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:13px;display:grid}.reminder-list h2{margin:0 0 5px}.reminder-list header p,.reminder-list time{color:var(--muted);margin:0;font-size:.86rem}.reminder-list header>button:last-child{color:var(--accent);background:0 0;border:0;font-weight:800}.reminder-check{border:1px solid var(--border);background:var(--surface);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}@supports (color:color-mix(in lab,red,red)){.reminder-check{background:color-mix(in srgb,var(--surface) 82%,var(--background))}}.reminder-check{color:#0000;box-shadow:0 6px 16px #0a06091f}.reminder-card-actions{align-items:center;gap:8px;display:flex}.reminder-card-actions button{border:1px solid var(--border);background:var(--surface);border-radius:11px;align-items:center;gap:5px;min-height:34px;padding:7px 10px;display:flex}@supports (color:color-mix(in lab,red,red)){.reminder-card-actions button{background:color-mix(in srgb,var(--surface) 82%,transparent)}}.reminder-card-actions button{color:var(--accent);font-weight:800}.reminder-card-actions button:last-child{color:var(--muted);padding-inline:9px}.reminder-card-actions svg{width:16px}.reminder-delete-confirm{border:1px solid #c05c74;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:15px;display:flex}@supports (color:color-mix(in lab,red,red)){.reminder-delete-confirm{border:1px solid color-mix(in srgb,#c05c74 35%,var(--border))}}.reminder-delete-confirm{background:#c05c74;border-radius:16px}@supports (color:color-mix(in lab,red,red)){.reminder-delete-confirm{background:color-mix(in srgb,#c05c74 8%,var(--surface))}}.reminder-delete-confirm p{gap:3px;margin:0;display:grid}.reminder-delete-confirm span{color:var(--muted);font-size:.84rem}.reminder-delete-confirm>div{gap:8px;display:flex}.reminder-delete-confirm button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);border-radius:11px;align-items:center;gap:5px;padding:8px 12px;font-weight:700;display:flex}.completed .reminder-check{background:var(--accent);color:#fff}.reminder-detail{border-left:2px solid var(--accent);margin:22px 0 0 59px;padding:4px 5px 4px 18px;position:relative}@supports (color:color-mix(in lab,red,red)){.reminder-detail{border-left:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}}.reminder-detail{white-space:pre-wrap;background:0 0;border-radius:0;font-family:Georgia,Times New Roman,serif;font-size:1.03rem;font-style:italic;line-height:1.65}.reminder-date-ribbon{border:1px solid var(--accent);align-items:center;gap:10px;width:fit-content;margin:20px 0 0 59px;padding:10px 13px;display:flex}@supports (color:color-mix(in lab,red,red)){.reminder-date-ribbon{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border))}}.reminder-date-ribbon{background:var(--accent);border-radius:13px}@supports (color:color-mix(in lab,red,red)){.reminder-date-ribbon{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}}.reminder-date-ribbon{color:var(--accent)}.reminder-date-ribbon>svg{width:20px}.reminder-date-ribbon>svg:last-child{width:14px;color:var(--muted)}.reminder-date-ribbon span{gap:1px;display:grid}.reminder-date-ribbon small{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.64rem;font-weight:800}.reminder-date-ribbon time{color:var(--text);font-size:.82rem;font-weight:800}.interactive-checklist{gap:7px;margin-top:18px;display:grid}.interactive-checklist button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:9px 10px;display:flex}.interactive-checklist button:hover{background:var(--accent);padding-left:14px}@supports (color:color-mix(in lab,red,red)){.interactive-checklist button:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}}.interactive-checklist span{border:1px solid var(--border);color:#0000;border-radius:9px;place-items:center;width:27px;height:27px;display:grid}.interactive-checklist button.done{color:var(--muted);text-decoration:line-through}.interactive-checklist button.done span{border-color:var(--accent);background:var(--accent);color:#fff}.reminder-summary{border:1px solid var(--border);background:var(--surface);border-radius:23px;margin:22px 0;padding:20px}.reminder-summary>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.reminder-summary h2{margin:2px 0}.reminder-summary header button{color:var(--accent);background:0 0;border:0;font-weight:800}.reminder-summary>button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:13px;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:10px;display:grid}.reminder-summary>button:hover{background:var(--background)}.reminder-summary>button>svg{color:var(--accent)}.reminder-summary>button span{display:grid}.reminder-summary small{color:var(--muted)}.daily-affection-summary{border:1px solid var(--accent);margin:22px 0;padding:20px}@supports (color:color-mix(in lab,red,red)){.daily-affection-summary{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border))}}.daily-affection-summary{background:linear-gradient(135deg,var(--accent),var(--surface));border-radius:23px}@supports (color:color-mix(in lab,red,red)){.daily-affection-summary{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface))}}.daily-affection-summary>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.daily-affection-summary h2{margin:2px 0}.daily-affection-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.daily-affection-card{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:16px;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:14px;transition:all .18s;display:grid}.daily-affection-card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.daily-affection-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}}.daily-affection-card:hover{box-shadow:var(--shadow-warm);transform:translateY(-2px)}.daily-affection-emoji{font-size:1.6rem;line-height:1}.daily-affection-content strong{color:var(--text);font-size:.95rem;display:block}.daily-affection-content small{color:var(--muted);font-size:.75rem}.daily-affection-summary>footer{border-top:1px dashed var(--accent);margin-top:14px;padding-top:12px}@supports (color:color-mix(in lab,red,red)){.daily-affection-summary>footer{border-top:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border))}}.daily-affection-summary>footer{text-align:center}.daily-affection-summary>footer p{color:var(--accent);margin:0;font-size:.85rem;font-weight:600}.on-this-day-section{border:1px solid var(--secondary);margin:22px 0;padding:20px}@supports (color:color-mix(in lab,red,red)){.on-this-day-section{border:1px solid color-mix(in srgb,var(--secondary) 22%,var(--border))}}.on-this-day-section{background:linear-gradient(135deg,var(--secondary),var(--surface));border-radius:23px}@supports (color:color-mix(in lab,red,red)){.on-this-day-section{background:linear-gradient(135deg,color-mix(in srgb,var(--secondary) 8%,var(--surface)),var(--surface))}}.on-this-day-section>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.on-this-day-section h2{margin:2px 0}.on-this-day-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}@container app-content (max-width:600px){.reminder-form>.primary-cta{width:100%}.reminder-group article>header{grid-template-columns:42px minmax(0,1fr)}.reminder-group article{background:linear-gradient(90deg,transparent 43px,var(--accent) 44px,transparent 45px),repeating-linear-gradient(0deg,transparent 0 31px,var(--text) 32px),var(--surface);border-radius:7px 23px 21px 21px;padding:19px 16px 18px}@supports (color:color-mix(in lab,red,red)){.reminder-group article{background:linear-gradient(90deg,transparent 43px,color-mix(in srgb,var(--accent) 9%,transparent) 44px,transparent 45px),repeating-linear-gradient(0deg,transparent 0 31px,color-mix(in srgb,var(--text) 4%,transparent) 32px),color-mix(in srgb,var(--surface) 94%,#fff)}}.reminder-detail,.reminder-date-ribbon{margin-left:0}.reminder-date-ribbon{width:100%}.reminder-card-footer{flex-direction:column;align-items:stretch}.reminder-card-actions{justify-content:space-between}.reminder-card-actions button:first-child{flex:1;justify-content:center}.reminder-list header>button:last-child{grid-column:2;justify-self:start}.reminder-summary>header{align-items:flex-start}.bottom{overflow-x:auto}}.notification-kind{background:var(--accent);border-radius:14px;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab,red,red)){.notification-kind{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}.notification-kind{color:var(--accent)}.notification-kind svg{width:20px}.notification-empty{color:var(--muted);text-align:center;justify-items:center;padding:45px 28px 55px;display:grid}.notification-empty>svg{width:38px;height:38px;color:var(--accent);margin-bottom:14px}.notification-empty strong{color:var(--text)}.notification-empty p{margin:7px 0 0;line-height:1.5}.notification-error{color:#c05c74;background:#be465f1a;border-radius:12px;margin:10px 18px 20px;padding:12px}@media(max-width:700px){.activity-notifications{top:12px;right:12px}.notification-bell{border-radius:14px;width:44px;height:44px}.notification-panel{border-radius:22px;width:calc(100vw - 20px);max-height:none;position:fixed;top:66px;bottom:82px;right:10px}.notification-remove{opacity:1}}@container app-content (max-width:600px){.settings-hero,.identity-form article{border-radius:22px;flex-direction:column;align-items:flex-start}.settings-hero>span,.identity-icon{border-radius:16px;width:48px;height:48px}.settings-actions{flex-direction:column;align-items:stretch}.settings-actions button{width:100%}.settings-logout{display:flex}.photo-description-editor>div{flex-direction:column;align-items:stretch}.photo-description-editor button{width:100%}.reminder-group>div{grid-template-columns:1fr}.reminder-group>header{align-items:flex-start}}@media(prefers-reduced-motion:no-preference){.password-toggle svg{animation:.18s eye-in}.gesture,.timeline article{animation:.5s both rise}.timeline article:nth-child(2){animation-delay:80ms}.gallery-photo,.lightbox-content{animation:.35s both rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}.soundtrack-section{border:1px solid var(--secondary);margin-top:26px;padding:clamp(22px,4vw,34px);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.soundtrack-section{border:1px solid color-mix(in srgb,var(--secondary) 28%,var(--border))}}.soundtrack-section{background:radial-gradient(circle at 92% 12%,var(--secondary),transparent 28%),linear-gradient(145deg,var(--surface),var(--surface));border-radius:30px}@supports (color:color-mix(in lab,red,red)){.soundtrack-section{background:radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--secondary) 18%,transparent),transparent 28%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,var(--accent)),var(--surface))}}.soundtrack-section{box-shadow:var(--shadow)}.soundtrack-section:after{content:"♫";color:var(--secondary);position:absolute;bottom:-48px;right:24px}@supports (color:color-mix(in lab,red,red)){.soundtrack-section:after{color:color-mix(in srgb,var(--secondary) 9%,transparent)}}.soundtrack-section:after{pointer-events:none;font-family:Newsreader,serif;font-size:10rem;line-height:1}.soundtrack-heading{z-index:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:17px;display:grid;position:relative}.soundtrack-heading-icon{color:#fff;background:linear-gradient(145deg,var(--secondary),var(--primary));width:58px;height:58px;box-shadow:0 12px 28px var(--secondary);border-radius:20px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.soundtrack-heading-icon{box-shadow:0 12px 28px color-mix(in srgb,var(--secondary) 24%,transparent)}}.soundtrack-heading-icon svg{width:27px}.soundtrack-heading h2{margin:3px 0 4px;font-size:clamp(1.35rem,3vw,1.85rem)}.soundtrack-heading p{color:var(--muted);margin:0}.soundtrack-heading .eyebrow{color:var(--primary)}.soundtrack-heading .soft-cta{min-height:46px}.soundtrack-heading .soft-cta svg{width:17px}.soundtrack-form{z-index:2;border:1px solid var(--secondary);gap:17px;margin-top:24px;padding:22px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.soundtrack-form{border:1px solid color-mix(in srgb,var(--secondary) 22%,var(--border))}}.soundtrack-form{background:var(--surface);border-radius:24px}@supports (color:color-mix(in lab,red,red)){.soundtrack-form{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.soundtrack-form{animation:.28s both route-arrive}.soundtrack-form-intro{align-items:center;gap:13px;display:flex}.soundtrack-form-intro>svg{width:36px;height:36px;color:var(--secondary)}.soundtrack-form-intro div{gap:2px;display:grid}.soundtrack-form-intro span{color:var(--muted);font-size:.88rem}.soundtrack-form label,.soundtrack-edit-dialog label{color:var(--text);gap:8px;font-size:.9rem;font-weight:650;display:grid}.soundtrack-form label>span{color:var(--muted);font-size:.78rem;font-weight:500}.soundtrack-form input,.soundtrack-form textarea,.soundtrack-edit-dialog input,.soundtrack-edit-dialog textarea{border:1px solid var(--border);width:100%;color:var(--text);background:var(--bg);font:inherit;resize:vertical;border-radius:15px;padding:12px 14px}.soundtrack-form input:focus,.soundtrack-form textarea:focus,.soundtrack-edit-dialog input:focus,.soundtrack-edit-dialog textarea:focus{outline:3px solid var(--secondary)}@supports (color:color-mix(in lab,red,red)){.soundtrack-form input:focus,.soundtrack-form textarea:focus,.soundtrack-edit-dialog input:focus,.soundtrack-edit-dialog textarea:focus{outline:3px solid color-mix(in srgb,var(--secondary) 20%,transparent)}}.soundtrack-form input:focus,.soundtrack-form textarea:focus,.soundtrack-edit-dialog input:focus,.soundtrack-edit-dialog textarea:focus{border-color:var(--secondary)}.soundtrack-form-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:15px;display:grid}.soundtrack-form .primary-cta{justify-self:end;min-height:48px}.soundtrack-empty{z-index:1;border:1px dashed var(--secondary);justify-items:center;gap:7px;width:100%;margin-top:22px;padding:30px 18px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.soundtrack-empty{border:1px dashed color-mix(in srgb,var(--secondary) 46%,var(--border))}}.soundtrack-empty{color:var(--text);background:var(--elevated);border-radius:24px}@supports (color:color-mix(in lab,red,red)){.soundtrack-empty{background:color-mix(in srgb,var(--elevated) 70%,transparent)}}.soundtrack-empty{text-align:center}.soundtrack-empty:hover{border-color:var(--secondary);box-shadow:0 16px 30px var(--secondary);transform:translateY(-3px)}@supports (color:color-mix(in lab,red,red)){.soundtrack-empty:hover{box-shadow:0 16px 30px color-mix(in srgb,var(--secondary) 12%,transparent)}}.soundtrack-empty>span{width:54px;height:54px;color:var(--primary);background:var(--surface);box-shadow:0 8px 22px var(--primary);border-radius:50%;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.soundtrack-empty>span{box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 13%,transparent)}}.soundtrack-empty strong{margin-top:4px;font-size:1.06rem}.soundtrack-empty small{max-width:520px;color:var(--muted);font-size:.9rem}.soundtrack-empty em{color:var(--primary);align-items:center;gap:6px;margin-top:6px;font-style:normal;font-weight:700;display:inline-flex}.soundtrack-empty em svg{width:17px}.soundtrack-loading{color:var(--muted);align-items:center;gap:9px;margin-top:22px;padding:20px;display:flex}.soundtrack-loading svg{animation:2.5s linear infinite spin}.soundtrack-list{z-index:1;gap:14px;margin-top:24px;display:grid;position:relative}.soundtrack-song{border:1px solid var(--border);background:var(--surface);border-radius:23px;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:19px;padding:13px;display:grid}@supports (color:color-mix(in lab,red,red)){.soundtrack-song{background:color-mix(in srgb,var(--surface) 96%,transparent)}}.soundtrack-song{box-shadow:0 8px 24px var(--secondary)}@supports (color:color-mix(in lab,red,red)){.soundtrack-song{box-shadow:0 8px 24px color-mix(in srgb,var(--secondary) 7%,transparent)}}.soundtrack-song:hover{border-color:var(--secondary);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.soundtrack-song:hover{border-color:color-mix(in srgb,var(--secondary) 42%,var(--border))}}.song-cover{background:var(--elevated);border:0;border-radius:17px;width:132px;height:96px;padding:0;position:relative;overflow:hidden}.song-cover img{object-fit:cover;width:100%;height:100%}.song-cover:after{content:"";background:linear-gradient(#0000,#1d121961);position:absolute;inset:0}.song-cover>span{z-index:1;color:#fff;place-items:center;display:grid;position:absolute;inset:0}.song-cover>span svg{filter:drop-shadow(0 4px 8px #00000047);width:29px;transition:transform .18s}.song-cover:hover>span svg{transform:scale(1.18)}.song-copy{min-width:0}.song-copy small{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:.73rem;font-weight:750}.song-copy h3{overflow-wrap:anywhere;margin:3px 0 5px}.song-copy p{color:var(--muted);margin:0 0 8px;font-family:Newsreader,serif;font-size:1.05rem;font-style:italic}.listen-link{color:var(--secondary);background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:.86rem;font-weight:700;display:inline-flex}.listen-link:hover{color:var(--primary);transform:translate(3px)}.listen-link svg{width:14px}.song-actions{grid-template-columns:repeat(2,36px);gap:5px;display:grid}.song-actions button{border:1px solid var(--border);width:36px;height:36px;color:var(--muted);background:var(--surface);border-radius:12px;place-items:center;padding:0;display:grid}.song-actions button:hover:not(:disabled){color:var(--primary);border-color:var(--primary);transform:translateY(-2px)}.song-actions button:disabled{opacity:.3;cursor:default}.song-actions svg{width:16px}.soundtrack-edit-dialog{gap:14px;width:min(100%,480px);display:grid}.soundtrack-edit-dialog>div{margin-top:4px}.soundtrack-remove-dialog .eyebrow{margin-bottom:-5px}.soundtrack-remove-dialog .danger-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.soundtrack-remove-dialog .danger-button svg{width:17px}.soundtrack-dock{z-index:35;border:1px solid var(--secondary);width:340px;position:fixed;bottom:22px;right:22px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.soundtrack-dock{border:1px solid color-mix(in srgb,var(--secondary) 32%,var(--border))}}.soundtrack-dock{background:var(--surface);border-radius:22px;animation:.32s cubic-bezier(.2,.8,.25,1) both player-arrive;box-shadow:0 24px 70px #22141d4d}.soundtrack-dock-title{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;padding:9px 10px 9px 12px;display:grid}.soundtrack-dock-title>span{color:#fff;background:linear-gradient(145deg,var(--secondary),var(--primary));border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.soundtrack-dock-title>span svg{width:20px;animation:5s linear infinite spin}.soundtrack-dock-title div{min-width:0;display:grid}.soundtrack-dock-title small{color:var(--muted);font-size:.7rem}.soundtrack-dock-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.soundtrack-dock-title button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.soundtrack-dock-title button:hover{color:var(--primary);background:var(--elevated)}.soundtrack-dock-title button svg{width:18px}.soundtrack-dock iframe{background:#171216;border:0;width:100%;height:200px;display:block}.soundtrack-dock-nav{justify-content:space-between;align-items:center;min-height:44px;padding:6px 10px;display:flex}.soundtrack-dock-nav button{color:var(--secondary);background:0 0;border:0;align-items:center;gap:2px;padding:7px;font-size:.76rem;font-weight:700;display:inline-flex}.soundtrack-dock-nav button:hover{color:var(--primary)}.soundtrack-dock-nav button svg{width:15px}.soundtrack-dock-nav span{color:var(--muted);font-size:.72rem}@keyframes player-arrive{0%{opacity:0;transform:translateY(18px)scale(.96)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.soundtrack-section{border-radius:23px;margin-inline:-3px;padding:20px 16px}.soundtrack-heading{grid-template-columns:auto minmax(0,1fr);align-items:start}.soundtrack-heading-icon{border-radius:16px;width:48px;height:48px}.soundtrack-heading .soft-cta{grid-column:1/-1;width:100%}.soundtrack-form{border-radius:20px;padding:17px}.soundtrack-form-row{grid-template-columns:1fr}.soundtrack-form .primary-cta{justify-self:stretch;width:100%}.soundtrack-song{grid-template-columns:104px minmax(0,1fr);align-items:start;gap:13px;padding:11px}.song-cover{width:104px;height:104px}.song-actions{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.song-actions button{width:100%}.soundtrack-dock{border-radius:19px;width:min(236px,100vw - 16px);bottom:82px;right:8px}.soundtrack-dock iframe{height:200px}}@media(max-width:390px){.soundtrack-song{grid-template-columns:88px minmax(0,1fr)}.song-cover{width:88px;height:88px}.song-copy p{font-size:.94rem}.listen-link{grid-column:1/-1}}.share-card-modal{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0809b3;justify-content:center;align-items:center;padding:20px;animation:.25s both fade-in-up;display:flex;position:fixed;inset:0}.share-card-content{background:var(--surface);border:1px solid var(--border);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-warm-lg);border-radius:28px;flex-direction:column;display:flex;overflow:hidden}.share-card-content header{border-bottom:1px solid var(--border);padding:24px 24px 16px;position:relative}.share-card-content header h2{margin:0 0 4px;font-size:1.4rem}.subtitle{color:var(--muted);margin:0;font-size:.9rem;font-weight:500}.close-btn{background:var(--background);width:36px;height:36px;color:var(--muted);border:0;border-radius:12px;place-items:center;transition:all .16s;display:grid;position:absolute;top:16px;right:16px}.close-btn:hover{background:var(--elevated);color:var(--primary)}.close-btn svg{width:20px;height:20px}.share-card-body{flex-direction:column;flex:1;gap:20px;padding:20px 24px;display:flex;overflow-y:auto}.share-card-preview{aspect-ratio:4/5;background:linear-gradient(135deg,var(--elevated),var(--surface));border:1px solid var(--border);border-radius:20px;justify-content:center;align-items:center;display:flex;overflow:hidden}.generated-image{object-fit:contain;width:100%;height:100%}.preview-placeholder{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.preview-placeholder svg{width:48px;height:48px;color:var(--accent)}.share-card-options section{margin-bottom:20px}.share-card-options h4{color:var(--text);align-items:center;gap:8px;margin:0 0 10px;font-size:.95rem;display:flex}.share-card-options label{border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;transition:all .16s;display:flex}.share-card-options label:hover{border-color:var(--primary);background:var(--elevated)}.share-card-options input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}.share-card-options textarea{border:1px solid var(--border);background:var(--bg);width:100%;min-height:80px;color:var(--text);font:inherit;resize:vertical;border-radius:12px;outline:none;padding:12px;transition:border-color .16s,box-shadow .16s}.share-card-options textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary),var(--glow-primary)}@supports (color:color-mix(in lab,red,red)){.share-card-options textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent),var(--glow-primary)}}.share-card-options small{text-align:right;color:var(--muted);margin-top:4px;font-size:.75rem;display:block}.photo-selector{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;display:grid}.photo-option{aspect-ratio:1;border:2px solid var(--border);background:var(--surface);border-radius:12px;padding:0;transition:all .16s;position:relative;overflow:hidden}.photo-option.selected{border-color:var(--primary);box-shadow:var(--glow-primary)}.photo-option img{object-fit:contain;object-position:center;width:100%;height:100%}.photo-option .check{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.7rem;display:grid;position:absolute;top:4px;right:4px}.photo-selector-more{border:1px dashed var(--primary);justify-content:center;align-items:center;gap:6px;width:100%;min-height:44px;margin-top:10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.photo-selector-more{border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--border))}}.photo-selector-more{background:var(--primary);border-radius:12px}@supports (color:color-mix(in lab,red,red)){.photo-selector-more{background:color-mix(in srgb,var(--primary) 7%,transparent)}}.photo-selector-more{color:var(--primary);font-weight:750;transition:background .16s,border-color .16s}.photo-selector-more:hover{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.photo-selector-more:hover{background:color-mix(in srgb,var(--primary) 12%,transparent)}}.photo-selector-more svg{width:16px;height:16px}.song-selector{flex-direction:column;gap:8px;display:flex}.share-card-content footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:20px 24px;display:flex}.share-card-content footer .primary-cta,.share-card-content footer .soft-cta{flex:1;min-width:160px}.share-card-modal{overscroll-behavior:contain;touch-action:none;padding:clamp(10px,2.5vw,28px)}.share-card-content{overscroll-behavior:contain;touch-action:pan-y;border-radius:30px;width:min(1080px,100%);max-width:1080px;max-height:min(92dvh,900px)}.share-card-header{background:radial-gradient(circle at 8% 10%,var(--primary),transparent 28%),var(--surface);grid-template-columns:48px minmax(0,1fr) 40px;align-items:center;gap:14px;display:grid;padding:22px 26px!important}@supports (color:color-mix(in lab,red,red)){.share-card-header{background:radial-gradient(circle at 8% 10%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 28%),var(--surface)}}.share-card-heading-icon{width:46px;height:46px;color:var(--primary);background:var(--primary);border-radius:16px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.share-card-heading-icon{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}}.share-card-heading-icon{box-shadow:var(--shadow-warm)}.share-card-heading-icon svg{width:22px}.share-card-header .eyebrow{margin:0 0 3px}.share-card-header h2{margin:0;font-family:Newsreader,serif;font-size:clamp(1.45rem,3vw,2rem)!important}.share-card-header>div>p:last-child{color:var(--muted);margin:3px 0 0;font-size:.85rem}.share-card-header .close-btn{position:static}.share-card-workspace{flex:1;grid-template-columns:minmax(310px,.88fr) minmax(360px,1.12fr);min-height:0;display:grid;overflow:hidden}.share-card-preview-column,.share-card-options{min-width:0;padding:22px 26px;overflow-y:auto}.share-card-preview-column{background:linear-gradient(145deg,var(--primary),var(--bg))}@supports (color:color-mix(in lab,red,red)){.share-card-preview-column{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--bg)),var(--bg))}}.share-card-preview-column{border-right:1px solid var(--border)}.share-card-step{color:var(--text);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:9px;margin:0 0 14px;font-size:.78rem;font-weight:800;display:flex}.share-card-step span{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.share-card-preview{aspect-ratio:4/5;background:#fff8f8;border:0;border-radius:24px;width:min(100%,370px);margin:0 auto;box-shadow:0 22px 54px #5c2f3e2e}.postal-live-preview{color:#493e44;text-align:center;background:radial-gradient(circle at 12% 8%,#d8799121,#0000 30%),linear-gradient(145deg,#fff8f8,#fffdfb 55%,#f9eaef);flex-direction:column;align-items:center;width:100%;height:100%;padding:clamp(20px,5vw,38px) clamp(18px,4vw,34px);display:flex}.postal-live-preview>small{color:#c75c75;letter-spacing:.18em;font-size:.66rem;font-weight:800}.postal-live-preview h3{margin:11px 0 3px;font-family:Newsreader,serif;font-size:clamp(1.35rem,3vw,2rem);line-height:1.02}.postal-memory-details{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px 8px;min-height:0;margin-top:3px;display:flex}.postal-memory-details time,.postal-memory-details span{color:#c75c75;font-size:.72rem;font-weight:700}.postal-memory-details span{color:#7e7077}.postal-memory-details span:before{content:"·";color:#d87991;margin-right:8px}.postal-photo-grid{flex-direction:column;flex:1;gap:8px;width:100%;min-height:0;margin:16px 0 14px;display:flex;overflow:hidden}.postal-photo-row{flex:1 1 0;justify-content:center;gap:8px;width:100%;height:0;min-height:0;display:flex;overflow:hidden}.postal-photo-cell{background:#493e440f;border-radius:10px;flex:1 1 0;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:3px;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 14px #493e4417}.postal-photo-cell img{object-fit:contain;object-position:center;width:calc(100% - 6px);height:calc(100% - 6px);display:block;position:absolute;inset:3px}.postal-heart-art{color:#d87991;flex:1;place-items:center;width:98px;height:98px;display:grid}.postal-heart-art svg{filter:drop-shadow(0 9px 15px #c75c7533);width:68px;height:68px;animation:2.4s ease-in-out infinite heart-breathe}.postal-words{color:#493e44;flex:none;grid-template-columns:18px minmax(0,1fr) 18px;align-items:start;width:100%;margin:3px 0 9px;display:grid;position:relative}.postal-words>span{color:#c75c758c;font-family:Newsreader,Georgia,serif;font-size:1.7rem;line-height:.9}.postal-words>span:last-child{align-self:end}.postal-words blockquote{-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;font-family:Caveat,Segoe Print,cursive;font-size:clamp(1.05rem,2.6vw,1.3rem);font-weight:600;line-height:1.08;display:-webkit-box;overflow:hidden}.postal-signature{flex:none;justify-items:center;gap:1px;width:100%;display:grid}.postal-signature>div{color:#d87991;align-items:center;gap:7px;width:78%;margin-bottom:2px;display:flex}.postal-signature>div i{background:#d8799161;flex:1;height:1px}.postal-signature>div svg{width:10px;height:10px}.postal-signature strong{color:#c75c75;font-family:Caveat,Segoe Print,cursive;font-size:clamp(.9rem,2.2vw,1.08rem);font-weight:700;line-height:1.05}.postal-signature small{color:#8b7d84;font-family:Newsreader,Georgia,serif;font-size:.58rem;font-style:italic;line-height:1.1}.share-card-privacy{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:15px 0 0;font-size:.76rem;display:flex}.share-card-privacy svg{width:14px}.share-card-options{display:block}.share-card-options section{margin:0 0 18px}.share-card-message{position:relative}.share-card-message label{color:var(--text);cursor:default;border:0;margin:0 0 8px;padding:0;font-weight:750;display:block}.share-card-message label:hover{background:0 0;border:0}.share-card-message textarea{background:var(--elevated);border-radius:16px;min-height:104px;padding:14px 15px 27px}.share-card-message small{position:absolute;bottom:8px;right:10px}.postal-detail-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.postal-detail-choices>button{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--muted);text-align:left;border-radius:14px;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:7px;padding:11px;font-size:.74rem;font-weight:700;transition:all .16s;display:grid}.postal-detail-choices>button:hover:not(:disabled){border-color:var(--primary);transform:translateY(-2px)}.postal-detail-choices>button.active{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.postal-detail-choices>button.active{border-color:color-mix(in srgb,var(--primary) 54%,var(--border))}}.postal-detail-choices>button.active{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.postal-detail-choices>button.active{background:color-mix(in srgb,var(--primary) 9%,var(--surface))}}.postal-detail-choices>button.active{color:var(--primary)}.postal-detail-choices>button:disabled{opacity:.42;cursor:not-allowed}.postal-detail-choices svg{width:18px}.postal-detail-choices i{opacity:.42;border:1px solid;border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.postal-detail-choices .active i{background:var(--primary);color:#fff;opacity:1}.postal-detail-choices i svg{width:11px}.share-card-assets{padding-top:2px}.share-card-assets h3{align-items:center;gap:7px;margin:0 0 10px;font-size:.92rem;display:flex}.share-card-assets h3>svg{width:18px;color:var(--primary)}.share-card-assets h3 small{margin:0 0 0 auto;font-size:.68rem;font-weight:500;position:static}.share-card-assets .photo-selector{grid-template-columns:repeat(5,minmax(60px,1fr))}.share-card-assets .photo-option{border-radius:14px}.share-card-assets .photo-option .check{width:23px;height:23px}.share-card-assets .photo-option .check svg{width:13px}.postal-empty-asset,.postal-assets-loading{border:1px dashed var(--primary);justify-content:center;align-items:center;gap:10px;min-height:68px;padding:13px;display:flex}@supports (color:color-mix(in lab,red,red)){.postal-empty-asset,.postal-assets-loading{border:1px dashed color-mix(in srgb,var(--primary) 35%,var(--border))}}.postal-empty-asset,.postal-assets-loading{color:var(--muted);background:var(--primary);border-radius:14px}@supports (color:color-mix(in lab,red,red)){.postal-empty-asset,.postal-assets-loading{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}}.postal-empty-asset,.postal-assets-loading{text-align:center;font-size:.78rem}.postal-empty-asset svg{width:20px;color:var(--primary)}.song-option{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:13px;grid-template-columns:52px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:7px;display:grid}.song-option.selected{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.song-option.selected{background:color-mix(in srgb,var(--primary) 8%,var(--surface))}}.song-option img{object-fit:cover;border-radius:8px;width:52px;height:38px}.song-option>svg{width:17px;color:var(--primary)}.share-card-error{border:1px solid #b04759;margin:0 0 12px;padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.share-card-error{border:1px solid color-mix(in srgb,#b04759 40%,var(--border))}}.share-card-error{color:#b04759;background:#b04759;border-radius:12px}@supports (color:color-mix(in lab,red,red)){.share-card-error{background:color-mix(in srgb,#b04759 7%,var(--surface))}}.share-card-error{font-size:.8rem}.share-card-footer{background:var(--surface);justify-content:space-between;align-items:center;gap:16px;flex-wrap:nowrap!important;padding:15px 24px!important;display:flex!important}.share-card-footer>p{color:var(--muted);margin:0;font-size:.78rem}.share-card-footer>div{gap:9px;display:flex}.share-card-footer .primary-cta,.share-card-footer .soft-cta{white-space:nowrap;min-height:44px;flex:none!important;min-width:0!important}@media(max-width:760px){.share-card-modal{align-items:flex-end;padding:0}.share-card-content{border-radius:24px 24px 0 0;max-height:96dvh}.share-card-header{grid-template-columns:38px minmax(0,1fr) 36px;padding:15px 16px!important}.share-card-heading-icon{border-radius:12px;width:36px;height:36px}.share-card-header h2{font-size:1.25rem!important}.share-card-header>div>p:last-child{display:none}.share-card-workspace{display:block;overflow-y:auto}.share-card-preview-column,.share-card-options{padding:17px 16px;overflow:visible}.share-card-preview-column{border-right:0;border-bottom:1px solid var(--border)}.share-card-preview{width:min(72vw,290px)}.postal-detail-choices{grid-template-columns:1fr}.share-card-assets .photo-selector{grid-template-columns:repeat(4,minmax(58px,1fr))}.share-card-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;display:block!important}.share-card-footer>p{display:none}.share-card-footer>div{width:100%}.share-card-footer .primary-cta,.share-card-footer .soft-cta{padding-inline:12px;flex:1!important}}@media(max-width:849px){main{min-width:0;padding-bottom:20px}.pull-to-refresh-content{padding-bottom:calc(130px + env(safe-area-inset-bottom))}.memory-page,.memory-detail,.memory-form-page,.event-detail,.reminder-page,.timeline-feed,.event-grid,.reminder-list{padding-bottom:12px}.form-actions,.detail-actions,.chapter-actions{margin-bottom:12px}.bottom{bottom:calc(12px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.recovery-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.recovery-card{border:1px solid var(--primary);width:min(100%,620px);margin-inline:auto;padding:clamp(28px,6vw,52px)}@supports (color:color-mix(in lab,red,red)){.recovery-card{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}}.recovery-card{background:radial-gradient(circle at 88% 12%,var(--primary),transparent 32%),var(--surface);border-radius:30px}@supports (color:color-mix(in lab,red,red)){.recovery-card{background:radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 32%),var(--surface)}}.recovery-card{text-align:center;box-shadow:0 24px 70px #0000003d}.recovery-icon{background:var(--elevated);width:64px;height:64px;color:var(--primary);border-radius:22px;place-items:center;margin:0 auto 20px;display:grid}.recovery-icon svg{width:30px;height:30px}.recovery-card h1{margin:8px 0 12px}.recovery-card>p:not(.eyebrow){max-width:48ch;color:var(--muted);margin:0 auto 24px;line-height:1.7}.recovery-card .primary-cta{margin-inline:auto}.route-not-found{margin-block:clamp(20px,8vh,80px)}.connectivity-notice{z-index:10020;left:50%;bottom:max(22px,env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--surface);border-radius:19px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:13px;width:min(100% - 32px,520px);padding:14px 17px;display:grid;position:fixed}@supports (color:color-mix(in lab,red,red)){.connectivity-notice{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.connectivity-notice{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:.26s both notification-in;transform:translate(-50%);box-shadow:0 18px 55px #00000052}.connectivity-notice>svg{background:var(--elevated);width:42px;height:42px;color:var(--primary);border-radius:14px;padding:10px}.connectivity-notice.restored>svg{color:#72c89a}.connectivity-notice strong,.connectivity-notice span{display:block}.connectivity-notice span{color:var(--muted);margin-top:3px;font-size:.82rem;line-height:1.4}@media(max-width:700px){.connectivity-notice{bottom:calc(82px + env(safe-area-inset-bottom))}.recovery-card{border-radius:24px}}.protection-card{border-color:var(--secondary)!important}@supports (color:color-mix(in lab,red,red)){.protection-card{border-color:color-mix(in srgb,var(--secondary) 34%,var(--border))!important}}.protection-card{background:radial-gradient(circle at 92% 12%,var(--primary),transparent 34%),var(--surface)}@supports (color:color-mix(in lab,red,red)){.protection-card{background:radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 34%),color-mix(in srgb,var(--surface) 96%,var(--secondary))}}.protection-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.35rem;display:flex}.protection-actions button{min-height:48px}.protection-note{max-width:62ch;color:var(--muted);margin-top:1rem;line-height:1.55;display:block}.trash-page{width:min(100%,1050px);margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.trash-hero{border:1px solid var(--primary);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,1.75rem);padding:clamp(4.7rem,8vw,6rem) clamp(1.25rem,4vw,2.5rem) clamp(1.5rem,4vw,2.5rem);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.trash-hero{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}}.trash-hero{background:radial-gradient(circle at 88% 20%,var(--primary),transparent 34%),linear-gradient(145deg,var(--surface),var(--surface));border-radius:30px}@supports (color:color-mix(in lab,red,red)){.trash-hero{background:radial-gradient(circle at 88% 20%,color-mix(in srgb,var(--primary) 20%,transparent),transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,var(--primary)),var(--surface))}}.trash-hero{box-shadow:0 22px 60px var(--text)}@supports (color:color-mix(in lab,red,red)){.trash-hero{box-shadow:0 22px 60px color-mix(in srgb,var(--text) 8%,transparent)}}.trash-hero:after{content:"";border:1px solid var(--primary);width:180px;height:180px;position:absolute;bottom:-95px;right:-55px}@supports (color:color-mix(in lab,red,red)){.trash-hero:after{border:1px solid color-mix(in srgb,var(--primary) 22%,transparent)}}.trash-hero:after{border-radius:50%}.trash-back{color:var(--muted);background:0 0;border:0;align-items:center;gap:.45rem;padding:.55rem .8rem;display:inline-flex;position:absolute;top:1.3rem;left:1.35rem}.trash-back svg{width:17px;transform:rotate(45deg)}.trash-hero-icon{aspect-ratio:1;color:#fff;background:linear-gradient(145deg,var(--secondary),var(--primary));width:clamp(62px,9vw,84px);box-shadow:0 16px 34px var(--primary);border-radius:26px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.trash-hero-icon{box-shadow:0 16px 34px color-mix(in srgb,var(--primary) 25%,transparent)}}.trash-hero-icon svg{width:42%;height:42%}.trash-hero h1{margin:.2rem 0 .55rem;font-size:clamp(2rem,5vw,4rem);line-height:1.02}.trash-hero p:last-child{max-width:65ch;color:var(--muted);margin:0;line-height:1.65}.trash-list{gap:1rem;margin-top:1.4rem;display:grid}.trash-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.15rem;display:grid}@supports (color:color-mix(in lab,red,red)){.trash-card{background:color-mix(in srgb,var(--surface) 97%,var(--primary))}}.trash-card{box-shadow:0 12px 34px var(--text)}@supports (color:color-mix(in lab,red,red)){.trash-card{box-shadow:0 12px 34px color-mix(in srgb,var(--text) 6%,transparent)}}.trash-card{transition:transform .18s,border-color .18s,box-shadow .18s}.trash-card:hover{border-color:var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.trash-card:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}}.trash-card:hover{box-shadow:var(--shadow-warm)}.trash-kind{width:52px;height:52px;color:var(--primary);background:var(--primary);border-radius:18px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.trash-kind{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}}.trash-kind.event,.trash-kind.reminder{color:var(--secondary);background:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.trash-kind.event,.trash-kind.reminder{background:color-mix(in srgb,var(--secondary) 12%,var(--surface))}}.trash-kind svg{width:23px}.trash-card-copy h2{margin:.1rem 0 .25rem;font-size:clamp(1.05rem,2vw,1.3rem)}.trash-card-copy>p:not(.eyebrow){color:var(--muted);margin:0}.trash-card-copy small{color:var(--muted);align-items:center;gap:.35rem;margin-top:.65rem;display:flex}.trash-card-copy small svg{width:15px}.trash-actions{gap:.55rem;display:flex}.restore-button,.remove-forever-button{border-radius:14px;justify-content:center;align-items:center;gap:.45rem;min-height:43px;padding:.7rem .9rem;font-weight:700;display:inline-flex}.restore-button{border:1px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.restore-button{border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border))}}.restore-button{color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.restore-button{background:color-mix(in srgb,var(--primary) 8%,var(--surface))}}.remove-forever-button{color:var(--muted);background:0 0;border:0}.restore-button svg,.remove-forever-button svg{width:18px;transition:transform .18s}.restore-button:hover svg{transform:rotate(-18deg)}.remove-forever-button:hover{color:#bd4960;background:#bd496014}.trash-empty{text-align:center;border:1px dashed var(--primary);align-content:center;place-items:center;min-height:300px;margin-top:1.4rem;padding:2rem;display:grid}@supports (color:color-mix(in lab,red,red)){.trash-empty{border:1px dashed color-mix(in srgb,var(--primary) 38%,var(--border))}}.trash-empty{background:var(--surface);border-radius:28px}@supports (color:color-mix(in lab,red,red)){.trash-empty{background:color-mix(in srgb,var(--surface) 96%,var(--primary))}}.trash-empty>svg{width:44px;height:44px;color:var(--primary)}.trash-empty h2{margin:.85rem 0 .35rem}.trash-empty p{max-width:48ch;color:var(--muted);margin:0}.trash-confirm{border:1px solid var(--primary);width:min(100vw - 2rem,490px);padding:clamp(1.4rem,5vw,2rem)}@supports (color:color-mix(in lab,red,red)){.trash-confirm{border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}}.trash-confirm{text-align:center;background:var(--surface);border-radius:28px;box-shadow:0 28px 80px #00000047}.trash-confirm>span{color:#bd4960;background:#bd4960;border-radius:21px;place-items:center;width:62px;height:62px;margin:0 auto 1rem;display:grid}@supports (color:color-mix(in lab,red,red)){.trash-confirm>span{background:color-mix(in srgb,#bd4960 11%,var(--surface))}}.trash-confirm h2{margin:.3rem 0 .7rem}.trash-confirm>p:not(.eyebrow){color:var(--muted);line-height:1.6}.trash-confirm>div{justify-content:center;gap:.7rem;margin-top:1.4rem;display:flex}@media(max-width:760px){.protection-actions,.protection-actions button,.trash-confirm>div,.trash-confirm>div button{width:100%}.trash-hero{border-radius:24px;grid-template-columns:1fr;align-items:start}.trash-hero-icon{border-radius:19px;width:58px}.trash-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.trash-actions{grid-column:1/-1;grid-template-columns:1fr;display:grid}.trash-actions button{width:100%}.trash-confirm>div{flex-direction:column-reverse}}@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}
