:root{--ease-gentle:cubic-bezier(.22, 1, .36, 1);--ease-settle:cubic-bezier(.2, .8, .3, 1.15);--motion-fast:.16s;--motion-enter:.36s}:is(.button,.icon-button,.text-button,.floating-add,.plan-checkbox,.calendar-day,.nav-item,.bottom-nav a,.section-tabs a,.local-tabs button,.onboarding-choice){transition:background-color var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), box-shadow .22s, translate .22s var(--ease-gentle), scale .22s var(--ease-gentle)}:is(.button,.icon-button,.floating-add,.plan-checkbox):active:not(:disabled){scale:.96}:is(.button,.icon-button,.floating-add,.nav-item,.text-link,.back-link)>svg{transition:translate .22s var(--ease-gentle), rotate .26s var(--ease-gentle)}:is(input,textarea,.select-trigger){transition:border-color .16s,box-shadow .16s,background-color .16s}:is(.list-card,.letter-card,.memory-card,.snapshot-card,.new-list-card,.place-memory,.ritual-card,.capsule-card){transition:translate .28s var(--ease-gentle), box-shadow .28s, border-color .22s, background-color .22s}@media (hover:hover) and (pointer:fine){.button:hover:not(:disabled){translate:0 -2px}:is(.button,.text-link):hover>.lucide-arrow-right{translate:3px}.back-link:hover>svg{translate:-3px}.floating-add:hover>svg{rotate:90deg}:is(.list-card,button.letter-card,.memory-card,.snapshot-card,.new-list-card,.place-memory):hover{translate:0 -4px;box-shadow:0 12px 26px #73536012}.nav-item:hover>svg{rotate:-5deg}.connection-feature:hover .letter-paper{translate:0 -10px;rotate:-2deg}.letter-card:hover>.lucide-mail{rotate:-8deg}}.letter-paper,.letter-card>.lucide-mail{transition:translate .5s var(--ease-gentle), rotate .5s var(--ease-gentle)}.main-content{animation:.26s ease-out motion-fade}:is(.page-heading,.detail-heading,.landing-hero-copy,.auth-card,.onboarding-card,.story-content,.motion-reveal,.answer-card,.invitation-result){animation:motion-rise var(--motion-enter) var(--ease-gentle) both}:is(.memories-grid,.letter-grid,.lists-grid,.capsule-grid,.ritual-grid,.snapshot-grid,.place-grid,.plan-items,.milestone-timeline)>*{animation:motion-rise .42s var(--ease-gentle) backwards}:is(.memories-grid,.letter-grid,.lists-grid,.capsule-grid,.ritual-grid,.snapshot-grid,.place-grid,.plan-items)>:nth-child(2){animation-delay:35ms}:is(.memories-grid,.letter-grid,.lists-grid,.capsule-grid,.ritual-grid,.snapshot-grid,.place-grid,.plan-items)>:nth-child(3){animation-delay:70ms}:is(.memories-grid,.letter-grid,.lists-grid,.capsule-grid,.ritual-grid,.snapshot-grid,.place-grid,.plan-items)>:nth-child(n+4){animation-delay:.105s}.progress-track>span{transition:width .6s var(--ease-gentle)}.onboarding-progress>span,.story-progress>button{transition:background-color .25s,opacity .25s}.nav-active-dot{animation:motion-pop .3s var(--ease-settle)}.control-popover{animation:motion-popover .18s var(--ease-gentle)}.calendar-grid,.day-agenda,.dialog-overlay[data-state=open]{animation:.22s ease-out motion-fade}.dialog-overlay[data-state=closed]{animation:.18s ease-in both motion-fade-out}.dialog-content[data-state=open]{animation:.24s ease-out motion-fade}.dialog-content[data-state=open]>*{animation:motion-rise .3s var(--ease-gentle)}.dialog-content[data-state=closed]{pointer-events:none;animation:.16s ease-in both motion-fade-out}.toast[data-state=open]{animation:motion-rise .34s var(--ease-gentle)}.toast[data-state=closed]{pointer-events:none;animation:.18s ease-in both motion-toast-out}.toast-symbol{width:28px;height:28px;animation:motion-pop .4s var(--ease-settle);background:#71865812;border-radius:50%;flex:none;place-items:center;display:grid}.toast-symbol .lucide-check polyline,.plan-checkbox .lucide-check polyline,.toast-symbol .lucide-check path,.plan-checkbox .lucide-check path{stroke-dasharray:30;animation:.38s ease-out backwards motion-check}.toast-error .toast-symbol{background:#984b6510}.toast-viewport{inset-inline:16px;bottom:max(24px, env(safe-area-inset-bottom));z-index:100;pointer-events:none;justify-items:center;display:grid;position:fixed}.toast-viewport .toast{pointer-events:auto;border-radius:16px;width:fit-content;max-width:min(560px,100%);font-size:12px;line-height:1.7;position:relative;inset:auto;transform:none;box-shadow:0 12px 42px #63495318}.toast-viewport .toast>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.toast-viewport .toast>.icon-button{flex:0 0 36px;width:36px;height:36px}.dialog-content:has(.ceremony-panel){scrollbar-gutter:stable both-edges;background:radial-gradient(at 50% 20%,#fffdfb,#fffaf6 74%);border-radius:26px;width:min(620px,100vw - 32px);padding:28px 32px 22px;overflow-x:hidden}.dialog-content:has(.ceremony-panel) .dialog-heading{margin:0}.dialog-content:has(.ceremony-panel) .dialog-heading>div{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dialog-content:has(.ceremony-panel) .dialog-heading>.icon-button{z-index:5;background:#f3eae580;border-radius:50%;width:38px;height:38px;margin:0;position:absolute;top:13px;right:13px}.ceremony-demo-note{text-align:center;color:var(--muted);margin:16px auto 0;font-size:10px;line-height:1.6}@media (max-width:800px){.toast-viewport{bottom:calc(88px + env(safe-area-inset-bottom))}}@media (max-width:600px){.dialog-content:has(.ceremony-panel){border-radius:22px;width:calc(100vw - 20px);padding:26px 14px 18px}.ceremony-demo-note{margin-top:12px;font-size:9px}}.letter-reveal{perspective:600px;width:150px;height:126px;margin:8px auto 20px;position:relative}.reveal-envelope-back{background:#e8c6c8;border-radius:7px;position:absolute;inset:38px 0 0}.reveal-paper{color:var(--rose);animation:letter-unfold .85s var(--ease-gentle) backwards;background:#fffaf6;border:1px solid #f0e3dc;border-radius:5px;align-content:center;justify-items:center;gap:10px;display:grid;position:absolute;inset:23px 13px 10px;translate:0 -23px}.reveal-paper i{background:#ead9d6;width:55%;height:2px}.reveal-paper i:last-child{width:36%}.reveal-envelope-front{clip-path:polygon(0 0,50% 50%,100% 0,100% 100%,0 100%);background:#f1d8d5;border-radius:0 0 7px 7px;position:absolute;inset:38px 0 0}.reveal-envelope-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:-1;width:100%;height:60px;animation:letter-flap .6s var(--ease-gentle) backwards;background:#e4bdc2;position:absolute;top:38px;transform:rotateX(180deg)}.letter-reading>p{animation:motion-rise .5s .18s var(--ease-gentle) backwards}.letter-reading .capsule-unlock{width:68px;height:68px;color:var(--purple);animation:motion-pop .5s var(--ease-settle);background:#eee9f4;border-radius:50%;place-items:center;margin:0 auto 24px;display:grid;position:relative}.capsule-unlock>svg{animation:unlock-turn .7s var(--ease-gentle)}.plan-checkbox,.large-plan-icon,.ritual-count{position:relative}.plan-row{transition:background-color .35s,border-color .35s}.plan-row.completed{background-color:#71865808}.plan-row.completed .plan-checkbox,.plan-achieved>svg{animation:motion-pop .42s var(--ease-settle)}.ritual-count{animation:motion-pop .35s var(--ease-settle);display:inline-block}.moment-celebration{pointer-events:none;position:absolute;inset:0}.moment-celebration i{opacity:0;width:4px;height:7px;animation:moment-petal .7s var(--ease-gentle) backwards;background:#b38b66;border-radius:3px;position:absolute;top:50%;left:50%}.moment-celebration i:first-child{--petal-x:-28px;--petal-y:-25px}.moment-celebration i:nth-child(2){--petal-x:0px;--petal-y:-36px;background:#b87d90}.moment-celebration i:nth-child(3){--petal-x:28px;--petal-y:-22px}.moment-celebration i:nth-child(4){--petal-x:32px;--petal-y:15px;background:#859371}.moment-celebration i:nth-child(5){--petal-x:-4px;--petal-y:30px}.moment-celebration i:nth-child(6){--petal-x:-30px;--petal-y:12px;background:#b87d90}.seal-ceremony{text-align:center;animation:motion-rise .36s var(--ease-gentle);padding:10px 0 4px}.seal-stage{isolation:isolate;place-items:center;width:min(250px,100%);height:230px;margin:8px auto 0;display:grid;position:relative}.seal-orbit{background:#eee8f45c;border:1px solid #d9cde6;border-radius:50%;width:172px;height:172px;position:absolute}.seal-orbit-outer{background:0 0;border-color:#e9e0ed;width:220px;height:220px}.seal-lock{width:114px;height:144px;color:var(--purple);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:scale .22s var(--ease-gentle), background-color .22s;background:0 0;border:0;border-radius:28px;padding:8px;position:relative}.seal-lock svg{width:100%;height:100%;overflow:visible}.seal-lock:focus-visible{outline:2px solid var(--purple);outline-offset:7px}.seal-lock:not(:disabled):hover{background:#e4d9ed60}.seal-lock:not(:disabled):active{scale:.94}.seal-shackle{transform:translateY(calc(-24px * (1 - var(--seal-progress,0))));transition:transform .45s var(--ease-settle)}.seal-ceremony[data-dragging=true] .seal-shackle{transition:none}.seal-ceremony[data-dragging=true] .seal-lock{cursor:grabbing}.seal-lock:disabled{opacity:1;cursor:default}.seal-ceremony[data-phase=saving] .seal-lock{cursor:wait}.seal-drag-cue{color:var(--purple);opacity:.65;position:absolute;bottom:5px}.seal-alternative{text-underline-offset:3px;font-size:11px;text-decoration:underline}.seal-check{opacity:0}.seal-keyhole{transition:opacity .18s}.seal-copy h3{font-family:var(--serif);color:var(--purple);font-size:clamp(24px,5vw,32px);font-weight:400}.seal-copy p{max-width:350px;color:var(--muted);margin:10px auto 20px;font-size:12px;line-height:1.8}.seal-summary{overflow-wrap:anywhere;background:#eee8f460;border-radius:12px;gap:6px;padding:16px;display:grid}.seal-summary strong{font-size:13px;font-weight:600}.seal-summary span{color:var(--muted);font-size:11px}.seal-ceremony>.field-help{margin:16px 0}.seal-ceremony .button-row{justify-content:center}.seal-saving{color:var(--purple);align-items:center;gap:8px;font-size:12px;display:inline-flex}.seal-ceremony[data-phase=saving] .seal-orbit{animation:1.4s ease-in-out infinite seal-breathe}.seal-ceremony[data-phase=sealed] .seal-shackle{animation:seal-close .65s var(--ease-gentle);transform:translateY(0)}.seal-ceremony[data-phase=sealed] .seal-lock{animation:seal-settle .7s var(--ease-gentle)}.seal-ceremony[data-phase=sealed] .seal-keyhole{opacity:0}.seal-ceremony[data-phase=sealed] .seal-check{opacity:1;stroke-dasharray:55;animation:.9s ease-out seal-check}.seal-ceremony[data-phase=sealed] .seal-orbit{animation:seal-ring .9s var(--ease-gentle)}.seal-ceremony[data-phase=sealed] .seal-orbit-outer{animation-delay:90ms}.seal-sparkles{color:#b68d62;pointer-events:none;animation:seal-sparkle 1s var(--ease-gentle) both;justify-content:space-between;align-items:center;font-size:25px;display:flex;position:absolute;inset:28px 22px}.seal-sparkles span{align-self:start}@keyframes motion-fade{0%{opacity:0}to{opacity:1}}@keyframes motion-fade-out{to{opacity:0}}@keyframes motion-rise{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@keyframes motion-pop{0%{opacity:0;scale:.8}to{opacity:1;scale:1}}@keyframes motion-popover{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0}}@keyframes motion-toast-out{to{opacity:0;translate:0 7px}}@keyframes motion-check{0%{stroke-dashoffset:30px}to{stroke-dashoffset:0}}@keyframes letter-flap{0%{z-index:2;transform:rotateX(0)}45%{z-index:2}to{z-index:-1;transform:rotateX(180deg)}}@keyframes letter-unfold{0%,25%{translate:0 10px}to{translate:0 -23px}}@keyframes unlock-turn{0%{rotate:-12deg;scale:.85}50%{rotate:5deg}to{rotate:0deg;scale:1}}@keyframes moment-petal{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}20%{opacity:.8}to{opacity:0;transform:translate(var(--petal-x), var(--petal-y)) rotate(65deg) scale(.6)}}@keyframes seal-close{0%,15%{transform:translateY(-3px)}55%{transform:translateY(2px)}75%,to{transform:translateY(0)}}@keyframes seal-settle{0%,35%{scale:1}55%{scale:.94}80%,to{scale:1}}@keyframes seal-check{0%,45%{opacity:0;stroke-dashoffset:55px}55%{opacity:1}to{stroke-dashoffset:0}}@keyframes seal-ring{0%,25%{opacity:.5;scale:.95}70%{opacity:1;scale:1.07}to{opacity:1;scale:1}}@keyframes seal-sparkle{0%,35%{opacity:0;scale:.7}65%{opacity:1}to{opacity:0;scale:1.13}}@keyframes seal-breathe{50%{opacity:.45}}@media (max-width:600px){.seal-stage{height:180px}.seal-orbit{width:140px;height:140px}.seal-orbit-outer{width:178px;height:178px}.seal-lock{width:100px;height:128px}.seal-copy p{margin-bottom:14px}.seal-summary{padding:12px}.seal-ceremony>.field-help{margin:12px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.moment-celebration,.seal-sparkles{display:none}:is(.button,.icon-button,.floating-add,.plan-checkbox):active:not(:disabled){scale:1}:is(.button,.list-card,.letter-card,.memory-card,.snapshot-card,.new-list-card,.place-memory):hover{translate:none}.connection-feature:hover .letter-paper{translate:none;rotate:none}}
