:root{--ivory:#f8f3e9;--paper:#fffdf8;--ink:#28231e;--soft-ink:#625b51;--brown:#806956;--line:#d9d0c2;--rose:#a77d76;--letter-font:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, "Songti TC", "Noto Serif TC", serif}*{box-sizing:border-box}html{background:var(--ivory);min-height:100dvh}body{min-width:320px;min-height:100dvh;color:var(--ink);background:var(--ivory);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.app-loading{min-height:65dvh;color:var(--ink);background:var(--ivory);flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.app-loading--fullscreen{min-height:100dvh;padding-top:max(32px, env(safe-area-inset-top));padding-bottom:max(32px, env(safe-area-inset-bottom))}.app-loading__scene{perspective:500px;align-items:center;gap:20px;width:80px;height:70px;display:flex}.app-loading__orb{background:radial-gradient(circle at 30% 25%,#8b7a68 0%,#514437 38%,#28231e 76%);border-radius:50%;flex:0 0 30px;height:30px;animation:3.6s ease-in-out infinite ours-arrival;position:relative;box-shadow:inset -2px -3px 5px #1c181940,0 15px 12px -9px #51443755}.app-loading__orb--second{animation-delay:-1.8s}.app-loading__brand{font-family:var(--letter-font);letter-spacing:-.04em;margin-top:8px;font-size:2rem;line-height:1.2}.app-loading__label{color:var(--soft-ink);letter-spacing:.04em;margin-top:16px;font-size:.76rem;line-height:1.5}@keyframes ours-arrival{0%,to{transform:translate3d(0,3px,-8px)rotateY(-10deg)}50%{transform:translate3d(0,-5px,12px)rotateY(10deg)}}@media (prefers-reduced-motion:reduce){.app-loading__orb{animation:none;transform:none}}.app-shell{max-width:720px;min-height:100dvh;margin:0 auto;padding:24px 24px 40px}.app-shell.has-navigation{padding-bottom:calc(106px + env(safe-area-inset-bottom))}.site-header{color:var(--soft-ink);justify-content:space-between;align-items:center;display:flex}.brand{color:var(--ink);font-family:var(--letter-font);letter-spacing:-.04em;align-items:center;gap:9px;font-size:1.45rem;display:inline-flex}.brand-mark{align-items:center;gap:4px;display:inline-flex}.brand-mark i{background:var(--ink);border-radius:50%;width:7px;height:7px;display:block}.header-note,.auth-link{color:var(--soft-ink);letter-spacing:.04em;font-size:.69rem}.auth-link{border-bottom:1px solid var(--line)}.auth-status{max-width:54%;color:var(--soft-ink);letter-spacing:.04em;align-items:center;gap:10px;font-size:.69rem;display:flex}.auth-status span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-status a,.auth-status button{border:0;border-bottom:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;padding:0}.screen-content{padding-top:58px}.screen-content>section,.relationship-shell>section{animation:.26s cubic-bezier(.22,.61,.36,1) both page-content-arrive}.eyebrow{color:var(--brown);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700}.relationship-shell{padding-bottom:calc(106px + env(safe-area-inset-bottom))}.relationship-context{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:0 0 26px;padding:0 0 13px;display:flex}.relationship-person{min-width:0;font-family:var(--letter-font);align-items:center;gap:10px;font-size:1.06rem;display:inline-flex}.relationship-person-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.relationship-person-chevron{color:var(--brown);flex:none;font-family:Arial,Helvetica,sans-serif;font-size:.9rem}.relationship-switch{color:var(--brown);letter-spacing:.04em;flex:none;font-size:.7rem}.profile-avatar{border:1px solid var(--brown);width:42px;height:42px;color:var(--brown);background:var(--paper);font-family:var(--letter-font);letter-spacing:.08em;border-radius:50%;flex:none;place-items:center;font-size:.82rem;display:inline-grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%;display:block}.profile-avatar-small{width:28px;height:28px;font-size:.64rem}.profile-avatar-large{width:92px;height:92px;font-size:1.5rem}.home-space,.home-letter-presence{border-bottom:1px solid var(--line);padding:49px 0 48px}.home-greeting,.story-intro{max-width:19ch;font-family:var(--letter-font);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1.07}.home-subtitle{max-width:26ch;color:var(--soft-ink);font-family:var(--letter-font);margin:18px 0 33px;font-size:1.08rem;line-height:1.5}.home-note{max-width:34ch;color:var(--soft-ink);font-family:var(--letter-font);margin:28px 0 0;font-size:.96rem;line-height:1.5}.home-envelope-link{width:max-content;color:var(--ink);justify-items:start;gap:13px;font-size:.85rem;display:grid}.home-envelope{border:1px solid var(--brown);background:var(--paper);width:188px;height:119px;display:block;position:relative;overflow:hidden;box-shadow:0 11px 28px #3e322417}.home-envelope:before,.home-envelope:after{border-top:1px solid var(--line);background:var(--paper);content:"";width:131px;height:76px;position:absolute;top:43px}.home-envelope:before{transform-origin:100% 0;right:-17px;transform:rotate(29deg)}.home-envelope:after{transform-origin:0 0;left:-17px;transform:rotate(-29deg)}.home-envelope i:first-child{z-index:1;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);transform-origin:bottom;width:131px;height:87px;position:absolute;top:-43px;left:50%;transform:translate(-50%)rotate(45deg)}.home-envelope i:last-child{z-index:2;border:1px solid var(--rose);background:var(--rose);width:21px;height:21px;box-shadow:0 0 0 4px var(--paper);border-radius:50%;position:absolute;top:50px;left:50%;transform:translate(-50%)}.home-delivery-groups{gap:31px;margin-top:31px;display:grid}.home-delivery-section h2{color:var(--brown);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.71rem}.home-letter-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.home-letter-row{border-bottom:1px solid var(--line);gap:5px;padding:17px 0;display:grid}.home-letter-row-copy{font-family:var(--letter-font);font-size:1.08rem;line-height:1.25}.home-letter-row-detail{color:var(--soft-ink);font-size:.76rem;line-height:1.4}.primary-action{border:1px solid var(--ink);background:var(--ink);color:var(--ivory);padding:12px 18px;font-size:.9rem;transition:background-color .16s,color .16s;display:inline-block}.primary-action:hover{color:var(--ink);background:0 0}.section-heading{color:var(--soft-ink);letter-spacing:.04em;justify-content:space-between;gap:16px;padding:31px 0 13px;font-size:.72rem;display:flex}.letter-list,.story-period ol{margin:0;padding:0;list-style:none}.letter-list li{border-top:1px solid var(--line);grid-template-columns:102px minmax(0,1fr);gap:4px 12px;padding:17px 0;display:grid}.letter-list li:last-child{border-bottom:1px solid var(--line)}.letter-date,.letter-from{color:var(--soft-ink);font-size:.75rem;line-height:1.45}.letter-title{font-family:var(--letter-font);font-size:1.05rem;line-height:1.25}.letter-from{grid-column:2}.sample-note{color:var(--brown);margin:24px 0 0;font-size:.72rem;font-style:italic;line-height:1.5}.auth-screen{max-width:480px}.auth-copy{border-bottom:1px solid var(--line);padding:43px 0 31px}.auth-copy h1{max-width:18ch;font-family:var(--letter-font);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1.07}.auth-copy p{max-width:38ch;color:var(--soft-ink);font-family:var(--letter-font);margin:18px 0 0;font-size:1.05rem;line-height:1.5}.magic-link-form{gap:12px;padding-top:31px;display:grid}.magic-link-form label{color:var(--soft-ink);letter-spacing:.04em;font-size:.76rem}.magic-link-form input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;padding:13px 12px}.magic-link-form input:focus{outline:2px solid var(--brown);outline-offset:2px}.magic-link-form .primary-action,.magic-link-form .text-action{cursor:pointer;justify-self:start;margin-top:5px}.magic-link-form .primary-action:disabled,.magic-link-form .text-action:disabled{cursor:wait;opacity:.7}.auth-message{max-width:39ch;color:var(--soft-ink);font-family:var(--letter-font);margin:6px 0 0;font-size:.95rem;line-height:1.45}.auth-message.error{color:#8a4f48}.setup-screen{max-width:520px}.setup-copy{border-bottom:1px solid var(--line);padding:43px 0 31px}.setup-copy h1{max-width:17ch;font-family:var(--letter-font);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1.07}.setup-copy p{max-width:39ch;color:var(--soft-ink);font-family:var(--letter-font);margin:18px 0 0;font-size:1.05rem;line-height:1.5}.space-setup-form{gap:12px;padding-top:31px;display:grid}.space-setup-form label{color:var(--soft-ink);letter-spacing:.04em;font-size:.76rem}.space-setup-form input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;padding:13px 12px}.space-setup-form input:focus{outline:2px solid var(--brown);outline-offset:2px}.space-setup-form .primary-action{cursor:pointer;justify-self:start;margin-top:5px}.space-setup-form .primary-action:disabled,.setup-screen>.primary-action:disabled{cursor:wait;opacity:.7}.setup-screen>.primary-action{cursor:pointer;margin-top:31px}.setup-note,.setup-message{max-width:41ch;color:var(--soft-ink);font-family:var(--letter-font);margin:20px 0 0;font-size:.95rem;line-height:1.5}.setup-message.error{color:#8a4f48}.profile-form{gap:12px;padding-top:31px;display:grid}.profile-form label{color:var(--soft-ink);letter-spacing:.04em;font-size:.76rem}.profile-form input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;padding:13px 12px}.profile-form input:focus{outline:2px solid var(--brown);outline-offset:2px}.profile-form p{max-width:41ch;color:var(--soft-ink);font-family:var(--letter-font);margin:2px 0 8px;font-size:.92rem;line-height:1.5}.profile-form .primary-action{cursor:pointer;justify-self:start}.profile-form .primary-action:disabled{cursor:wait;opacity:.7}.space-names-screen{max-width:520px}.space-names-heading{border-bottom:1px solid var(--line);padding:36px 0 28px}.space-names-heading h1{max-width:16ch;font-family:var(--letter-font);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,2.8rem);font-weight:400;line-height:1.08}.space-names-heading p{max-width:39ch;color:var(--soft-ink);font-family:var(--letter-font);margin:16px 0 0;font-size:1.02rem;line-height:1.5}.space-name-field{color:var(--soft-ink);letter-spacing:.04em;gap:9px;padding-top:30px;font-size:.76rem;display:grid}.space-name-field input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;padding:13px 12px}.space-name-field input:focus{outline:2px solid var(--brown);outline-offset:2px}.space-name-field em{font-style:normal}.space-name-field small{color:var(--soft-ink);font-family:var(--letter-font);letter-spacing:0;font-size:.88rem}.space-name-preview{min-height:280px}.space-name-preview-body{min-height:128px;color:var(--soft-ink);margin:27px 0 0;font-size:1rem;line-height:1.55}.space-name-message{color:var(--brown);font-family:var(--letter-font);margin:18px 0;font-size:.94rem}.space-names-screen>.primary-action{cursor:pointer}.space-names-screen>.primary-action:disabled{cursor:wait;opacity:.7}.relationships-screen{max-width:560px}.relationships-copy{border-bottom:1px solid var(--line);padding:36px 0 28px}.relationships-copy h1{max-width:16ch;font-family:var(--letter-font);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,2.8rem);font-weight:400;line-height:1.08}.relationships-copy p,.relationship-empty,.relationship-note,.relationship-invite>p,.relationships-message{max-width:40ch;color:var(--soft-ink);font-family:var(--letter-font);font-size:.96rem;line-height:1.5}.relationships-copy p{margin:16px 0 0}.relationship-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.relationship-list li{border-bottom:1px solid var(--line)}.relationship-link,.relationship-invitation{justify-content:space-between;align-items:center;gap:18px;padding:18px 0;display:flex}.relationship-link>span,.relationship-invitation>span:first-child{gap:5px;display:grid}.relationship-link strong,.relationship-invitation strong{font-family:var(--letter-font);font-size:1.1rem;font-weight:400;line-height:1.3}.relationship-link small,.relationship-invitation small{color:var(--soft-ink);font-size:.77rem;line-height:1.4}.relationship-link em{color:var(--brown);letter-spacing:.04em;white-space:nowrap;font-size:.72rem;font-style:normal}.relationship-empty{border-bottom:1px solid var(--line);margin:29px 0 0;padding-bottom:29px}.relationship-section{margin-top:38px}.relationship-section h2{color:var(--brown);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.71rem}.relationship-invitation{align-items:flex-start}.relationship-invitation>.text-action{flex:none;margin-top:4px}.relationship-invitation-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:12px;display:flex}.relationship-shelf{gap:12px;margin:0;padding:28px 0 0;list-style:none;display:grid}.relationship-book{border:1px solid var(--line);border-left:5px solid var(--brown);background:linear-gradient(90deg,#8069561a,#fffdf8a6);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:78px;padding:15px 16px;transition:transform .17s,box-shadow .17s;display:grid;box-shadow:0 8px 21px #3e32240d}.relationship-book:hover{transform:translateY(-1px);box-shadow:0 12px 25px #3e32241a}.relationship-book-copy{gap:4px;min-width:0;display:grid}.relationship-book-copy strong{font-family:var(--letter-font);text-overflow:ellipsis;white-space:nowrap;font-size:1.16rem;font-weight:400;line-height:1.25;overflow:hidden}.relationship-book-copy small{color:var(--soft-ink);font-size:.76rem}.relationship-book-open{color:var(--brown);letter-spacing:.06em;text-transform:uppercase;font-size:.69rem}.relationship-envelope-mark{border:1px solid var(--rose);min-width:24px;min-height:21px;color:var(--rose);border-radius:999px;place-items:center;padding:2px 6px;font-size:.72rem;display:inline-grid}.relationship-invite{padding-top:1px}.invite-trigger{border:0;border-bottom:1px solid var(--brown);color:var(--ink);font-family:var(--letter-font);cursor:pointer;background:0 0;padding:0;font-size:1.1rem}.invite-trigger:disabled{cursor:wait;opacity:.65}.relationship-invite-panel{border:1px solid var(--line);background:#fffdf8a8;gap:18px;margin-top:18px;padding:20px;animation:.19s ease-out both invitation-unfold;display:grid}.relationship-invite-panel>p{max-width:40ch;color:var(--soft-ink);font-family:var(--letter-font);margin:0;padding:0;font-size:.96rem;line-height:1.5}.relationship-invite form{gap:11px;display:grid}.relationship-invite label{color:var(--soft-ink);letter-spacing:.04em;font-size:.76rem}.relationship-invite input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;padding:13px 12px}.relationship-invite input:focus{outline:2px solid var(--brown);outline-offset:2px}.relationship-invite-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:7px;display:flex}.relationship-invite .primary-action{cursor:pointer}.relationship-invite .primary-action:disabled{cursor:wait;opacity:.7}.relationships-message{color:var(--brown);margin:20px 0 0}.relationship-note{border-top:1px solid var(--line);margin:30px 0 0;padding-top:22px;font-size:.86rem}.relationship-about{max-width:420px}.relationship-about-card{border:1px solid var(--line);background:var(--paper);justify-items:start;gap:19px;margin-top:30px;padding:34px 28px;display:grid;box-shadow:0 11px 30px #3e322414}.relationship-about-card h1{font-family:var(--letter-font);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,8vw,2.7rem);font-weight:400}.relationship-about-card p{color:var(--soft-ink);font-family:var(--letter-font);margin:0;font-size:1rem;line-height:1.5}.birthday-prompt{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;padding:17px 0;display:flex}.birthday-prompt p{font-family:var(--letter-font);margin:0;font-size:1rem;line-height:1.4}.birthday-prompt a{border-bottom:1px solid var(--brown);color:var(--brown);letter-spacing:.03em;white-space:nowrap;font-size:.78rem}.profile-details-form{gap:30px;padding-top:31px;display:grid}.profile-details-section{border-top:1px solid var(--line);gap:14px;padding-top:26px;display:grid}.profile-details-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.profile-details-heading h2{font-family:var(--letter-font);margin:0;font-size:1.3rem;font-weight:400}.profile-details-heading p,.profile-details-section>label>span{max-width:40ch;color:var(--soft-ink);font-family:var(--letter-font);margin:7px 0 0;font-size:.92rem;line-height:1.5}.profile-details-section>label,.birthday-fields label{color:var(--soft-ink);letter-spacing:.04em;gap:8px;font-size:.76rem;display:grid}.profile-details-section select{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;padding:12px}.birthday-fields{grid-template-columns:minmax(0,1fr) minmax(100px,.55fr);gap:12px;display:grid}.file-choice{justify-self:start;gap:7px;color:var(--ink)!important;letter-spacing:0!important;font-size:.82rem!important;display:inline-grid!important}.file-choice input{max-width:100%;color:var(--soft-ink);font:inherit}.checkbox-choice{align-items:center;gap:9px;color:var(--soft-ink)!important;letter-spacing:0!important;font-size:.82rem!important;display:inline-flex!important}.checkbox-choice input{width:.95rem;height:.95rem;accent-color:var(--brown);margin:0}.profile-details-actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.profile-details-actions .primary-action{cursor:pointer}.profile-details-actions .primary-action:disabled{cursor:wait;opacity:.7}.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}.letter-paper{background:var(--paper);min-height:440px;font-family:var(--letter-font);margin-top:26px;padding:34px 28px;box-shadow:0 11px 30px #3e322414}.letter-paper time{color:var(--soft-ink);font-size:.86rem}.salutation{margin:45px 0 0;font-size:1.27rem}.letter-body{resize:none;width:100%;min-height:274px;color:var(--ink);font-family:var(--letter-font);background:0 0;border:0;outline:0;margin-top:30px;padding:0;font-size:1.1rem;line-height:1.72;display:block;overflow:hidden}.letter-body::placeholder{color:#9a9185;opacity:1}.writing-mode-choice{margin-top:15px}.handwriting-area{margin-top:22px}.handwriting-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 17px;margin:0 0 11px;display:flex}.handwriting-toolbar p{max-width:37ch;color:var(--soft-ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.4}.handwriting-toolbar div{gap:13px;display:flex}.handwriting-toolbar .text-action:disabled{cursor:default;opacity:.5}.handwriting-pad,.handwritten-letter{width:100%;color:var(--ink);display:block}.handwriting-pad{aspect-ratio:5/7;border:1px solid var(--line);touch-action:pan-y;background-color:#fffdf8;background-image:linear-gradient(#0000 44px,#9d8d7524 45px);background-size:100% 45px;min-height:310px}.handwritten-letter{aspect-ratio:5/7;min-height:224px;margin-top:23px}.handwriting-placeholder{box-sizing:border-box;color:#9a9185;width:100%;height:100%;font-family:var(--letter-font);pointer-events:none;padding:51px 42px;font-size:31px;line-height:1.5}.letter-additions{border-top:1px solid var(--line);gap:16px;margin-top:30px;padding:20px 0 28px;display:grid}.memory-picker{justify-items:start;gap:14px;display:grid}.memory-picker-trigger{border:0;border-bottom:1px solid var(--brown);color:var(--ink);font-family:var(--letter-font);cursor:pointer;background:0 0;align-items:center;gap:9px;padding:0;font-size:1.03rem;display:inline-flex}.memory-picker-trigger:after{content:"+";color:var(--brown);font-family:Arial,Helvetica,sans-serif;font-size:.95rem}.memory-picker-trigger[aria-expanded=true]:after{content:"−"}.memory-picker-choices,.memory-editor-actions,.letter-memory-summary-actions{flex-wrap:wrap;gap:12px 18px;display:flex}.memory-picker-choices{padding:2px 0 1px}.unfinished-photo-grid,.letter-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:5px 0;display:grid}.unfinished-photo,.letter-photos figure{gap:9px;margin:0;padding:0;display:grid}.unfinished-photo img,.letter-photos img{aspect-ratio:1;border:1px solid var(--line);object-fit:cover;width:100%;display:block}.unfinished-photo .text-action{justify-self:start}.letter-memory-fields{border:1px solid var(--line);background:#f8f3e98c;gap:14px;padding:19px;display:grid}.letter-memory-fields legend{color:var(--brown);letter-spacing:.08em;text-transform:uppercase;margin-left:-5px;padding:0 5px;font-size:.74rem}.letter-memory-fields label{gap:7px;display:grid}.letter-memory-fields label span{color:var(--soft-ink);letter-spacing:.04em;font-family:Arial,Helvetica,sans-serif;font-size:.73rem}.letter-memory-fields label em{opacity:.78;font-style:normal}.letter-memory-fields input,.letter-memory-fields textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;outline:0;padding:11px 10px;font-size:.96rem;line-height:1.45}.letter-memory-fields textarea{resize:vertical}.letter-memory-fields input:focus,.letter-memory-fields textarea:focus{outline:2px solid var(--brown);outline-offset:2px}.memory-link-feedback{color:var(--soft-ink);margin:-4px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:.76rem;line-height:1.45}.location-choice{gap:7px;display:grid}.location-choice .text-action{justify-self:start}.location-choice p,.location-confirmation p{color:var(--soft-ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:.76rem;line-height:1.45}.location-confirmation{border:1px solid var(--line);background:#f8f3e9b8;gap:9px;padding:13px;display:grid}.location-confirmation>a{border-bottom:1px solid var(--brown);width:max-content;color:var(--brown);letter-spacing:.03em;font-family:Arial,Helvetica,sans-serif;font-size:.75rem}.location-confirmation-actions{flex-wrap:wrap;gap:14px;display:flex}.spotify-song-picker,.spotify-search,.spotify-search-results,.manual-memory-entry{gap:10px;display:grid}.spotify-song-picker>.text-action,.spotify-search>.text-action{justify-self:start}.spotify-search label,.manual-memory-entry label{gap:7px;display:grid}.spotify-search label span,.manual-memory-entry label span{color:var(--soft-ink);letter-spacing:.04em;font-family:Arial,Helvetica,sans-serif;font-size:.73rem}.spotify-search input,.manual-memory-entry input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;outline:0;padding:11px 10px;font-size:.96rem;line-height:1.45}.spotify-search input:focus,.manual-memory-entry input:focus{outline:2px solid var(--brown);outline-offset:2px}.spotify-track-choice{border:0;border-top:1px solid var(--line);width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;justify-content:space-between;gap:14px;padding:11px 0;display:flex}.spotify-track-choice span{gap:2px;display:grid}.spotify-track-choice strong{font-weight:400}.spotify-track-choice small{color:var(--soft-ink);font-size:.82rem}.spotify-track-choice em{color:var(--brown);letter-spacing:.04em;align-self:center;font-family:Arial,Helvetica,sans-serif;font-size:.7rem;font-style:normal}.manual-memory-entry{padding-top:3px}.manual-memory-entry summary{width:max-content;color:var(--brown);cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:.75rem}.chosen-song{color:var(--ink);margin:-3px 0 0;font-size:.94rem}.chosen-song strong{font-weight:400}.letter-memory-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:17px 0;display:flex}.letter-memory-summary-copy{gap:6px;min-width:0;display:grid}.letter-memory-summary-copy>span{color:var(--brown);letter-spacing:.11em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:.69rem;font-weight:700}.letter-memory-summary-copy>p{margin:0;font-size:1rem;line-height:1.45}.letter-memory-summary-copy .memory-link-preview{justify-self:start}.letter-memory-summary-note{color:var(--soft-ink);font-size:.88rem!important}.letter-memory-summary-actions{flex:none;justify-content:flex-end;gap:10px 14px}.signature{margin:0;font-size:1.13rem}.write-footer{border-top:1px solid var(--line);color:var(--soft-ink);justify-content:space-between;align-items:baseline;gap:16px;margin-top:29px;padding-top:18px;font-size:.75rem;display:flex}.save-note{font-family:var(--letter-font);margin:0;font-size:.9rem;font-style:italic}.save-note.error{color:#8a4f48}.finish-link,.text-action{border:0;border-bottom:1px solid var(--brown);color:var(--brown);font:inherit;cursor:pointer;background:0 0;padding:0;font-size:.78rem}.finish-link{white-space:nowrap}.finish-link:disabled{cursor:default;opacity:.46}.write-next{max-width:38ch;color:var(--soft-ink);font-family:var(--letter-font);margin:17px 0 0;font-size:.92rem;line-height:1.5}.write-unavailable{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:36ch;margin-top:31px;padding:29px 0 31px}.write-unavailable p{color:var(--soft-ink);font-family:var(--letter-font);margin:0 0 22px;font-size:1.05rem;line-height:1.5}.write-unavailable-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.write-back-reference{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:27px}.write-back-reference summary{color:var(--brown);cursor:pointer;font-family:var(--letter-font);padding:17px 25px 17px 0;font-size:1rem;line-height:1.45}.write-back-reference summary::marker{color:var(--brown)}.write-back-paper{border:1px solid var(--line);min-height:0;font-family:var(--letter-font);background:#fffdf8b3;margin:0 0 21px;padding:28px}.write-back-paper .review-letter-body{min-height:0}.review-screen{max-width:560px}.review-heading{padding:28px 0 25px}.review-heading h1,.seal-success h1{max-width:15ch;font-family:var(--letter-font);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,2.75rem);line-height:1.08}.review-heading p,.seal-success p{max-width:38ch;color:var(--soft-ink);font-family:var(--letter-font);margin:16px 0 0;font-size:1.03rem;line-height:1.5}.review-paper{min-height:0}.review-letter-body{white-space:pre-wrap;min-height:224px;margin:23px 0 0;font-size:1.1rem;line-height:1.72}.review-after-letter{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.memory-title-field{color:var(--soft-ink);letter-spacing:.04em;gap:8px;font-size:.76rem;display:grid}.memory-title-field input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;font-family:var(--letter-font);letter-spacing:0;border-radius:0;padding:13px 12px;font-size:1rem}.memory-title-field input:focus{outline:2px solid var(--brown);outline-offset:2px}.memory-title-field em{color:var(--soft-ink);font-style:normal}.memory-title-field small{max-width:40ch;font-family:var(--letter-font);letter-spacing:0;font-size:.88rem;line-height:1.4}.letter-photos{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0;padding:19px 0}.letter-memories{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:16px;margin:28px 0;padding:19px 0;display:grid}.letter-memory{gap:5px;display:grid}.letter-memory-label{color:var(--brown);letter-spacing:.11em;text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:.69rem;font-weight:700}.letter-memory p{margin:0;font-size:1rem;line-height:1.45}.letter-memory strong{font-weight:400}.letter-memory small{color:var(--soft-ink);font-size:.88rem;line-height:1.45}.letter-memory a{border-bottom:1px solid var(--brown);width:max-content;color:var(--brown);letter-spacing:.04em;margin-top:2px;font-family:Arial,Helvetica,sans-serif;font-size:.73rem}.review-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:27px;display:flex}.review-actions .primary-action{cursor:pointer}.review-actions .primary-action:disabled,.review-actions .text-action:disabled{cursor:wait;opacity:.7}.delivery-options{border:0;border-top:1px solid var(--line);gap:0;margin:30px 0 0;padding:0;display:grid}.delivery-option{border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;align-items:flex-start;gap:13px;padding:19px 0;display:flex}.delivery-option.selected{box-shadow:inset 2px 0 0 var(--brown);padding-left:13px}.delivery-option input{width:1.05rem;height:1.05rem;accent-color:var(--brown);margin:2px 0 0}.delivery-option span{gap:5px;display:grid}.delivery-option strong{font-family:var(--letter-font);font-size:1.08rem;font-weight:400}.delivery-option small{color:var(--soft-ink);font-size:.8rem;line-height:1.4}.delivery-detail{color:var(--soft-ink);letter-spacing:.04em;gap:8px;margin-top:20px;font-size:.76rem;display:grid}.delivery-detail input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;padding:13px 12px}.delivery-detail input:focus{outline:2px solid var(--brown);outline-offset:2px}.review-message{max-width:38ch;color:var(--soft-ink);font-family:var(--letter-font);margin:22px 0 0;font-size:.95rem;line-height:1.5}.review-message.error{color:#8a4f48}.seal-summary{border-top:1px solid var(--line);gap:0;margin:31px 0 0;display:grid}.seal-summary div{border-bottom:1px solid var(--line);grid-template-columns:96px minmax(0,1fr);gap:16px;padding:15px 0;display:grid}.seal-summary dt{color:var(--soft-ink);letter-spacing:.04em;font-size:.74rem}.seal-summary dd{font-family:var(--letter-font);margin:0;font-size:1rem}.seal-note{max-width:38ch;color:var(--soft-ink);font-family:var(--letter-font);margin:24px 0 0;font-size:.92rem;line-height:1.5}.seal-success{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:31px;padding:34px 0}.seal-success .primary-action{margin-top:27px}.story-intro{max-width:22ch;margin-top:24px;font-size:clamp(1.75rem,7vw,2.5rem)}.story-search{border-bottom:1px solid var(--line);margin-top:33px;padding:0 0 17px}.story-search summary{color:var(--brown);cursor:pointer;font-family:var(--letter-font);justify-content:space-between;align-items:center;font-size:1rem;list-style:none;display:flex}.story-search summary::-webkit-details-marker{display:none}.story-search summary:after{content:"+";font-family:Arial,Helvetica,sans-serif;font-size:1rem}.story-search[open] summary:after{content:"−"}.story-search-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:19px;display:grid}.story-search input{border:0;border-bottom:1px solid var(--brown);width:100%;color:var(--ink);font-family:var(--letter-font);background:0 0;border-radius:0;outline:0;padding:11px 0;font-size:1rem}.story-search input:focus{border-bottom-color:var(--ink)}.story-search-actions{gap:14px;padding-bottom:12px;display:flex}.story-search-note{max-width:39ch;color:var(--soft-ink);font-family:var(--letter-font);margin:14px 0 0;font-size:.9rem;line-height:1.45}.story-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:31ch;color:var(--soft-ink);font-family:var(--letter-font);margin-top:46px;padding:28px 0;font-size:1.03rem;line-height:1.5}.story-empty p{margin:0}.story-empty .primary-action{margin-top:24px}.story-empty .text-action{margin-top:20px;display:inline-block}.story-waiting{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:43px;padding:21px 0}.story-waiting h2{color:var(--brown);letter-spacing:.12em;text-transform:uppercase;margin:0 0 13px;font-size:.71rem}.story-waiting-list{margin:0;padding:0;list-style:none}.story-waiting-list li+li{border-top:1px solid var(--line)}.story-waiting-row{gap:5px;padding:13px 0;display:grid}.story-waiting-row strong{font-family:var(--letter-font);font-size:1.03rem;font-weight:400;line-height:1.3}.story-waiting-row small{color:var(--soft-ink);font-size:.77rem;line-height:1.4}.story-archive,.story-year+.story-year{margin-top:52px}.story-year>h2{font-family:var(--letter-font);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,2.85rem);font-weight:400;line-height:1}.story-month{margin-top:31px}.story-month h3{color:var(--brown);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.71rem}.story-letter-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.story-letter-row{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);gap:15px;padding:17px 0;display:grid}.story-letter-row time{color:var(--soft-ink);font-size:.87rem;line-height:1.4}.story-letter-copy{gap:4px;min-width:0;display:grid}.story-letter-row strong{font-family:var(--letter-font);font-size:1.08rem;font-weight:400;line-height:1.25}.story-letter-row small{color:var(--soft-ink);font-size:.76rem;line-height:1.4}.story-memory-cues{color:var(--soft-ink);font-family:var(--letter-font);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.4;overflow:hidden}.route-loading{align-content:center;justify-items:center;min-height:min(42dvh,380px);padding:18px 0 32px;display:grid}.screen-content>.route-loading,.relationship-shell>.route-loading{animation:.22s .16s both paper-wait-arrive}.quiet-wait{width:100%;color:var(--soft-ink);font-family:var(--letter-font);justify-items:center;gap:8px;font-size:.96rem;line-height:1.5;display:grid}.quiet-wait__label{text-align:center;letter-spacing:.03em}@keyframes paper-wait-arrive{0%{opacity:0}to{opacity:1}}@keyframes page-content-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.opening-screen,.letter-reading-screen{max-width:560px}.opening-stage{aspect-ratio:390/236;width:min(100%,390px);margin-top:43px;position:relative}.opening-stage .sealed-envelope{width:100%;margin-top:0}.opening-paper{z-index:0;border:1px solid var(--line);background:var(--paper);opacity:0;pointer-events:none;transform-origin:top;width:86%;height:122%;position:absolute;top:14%;left:7%;transform:translateY(30%)scaleY(.52);box-shadow:0 11px 30px #3e322414}.sealed-envelope{aspect-ratio:390/236;border:1px solid var(--brown);background:var(--paper);width:min(100%,390px);height:auto;margin-top:43px;position:relative;overflow:hidden;box-shadow:0 11px 30px #3e322414}.sealed-envelope:before,.sealed-envelope:after{border-top:1px solid var(--line);background:var(--paper);content:"";width:70.5%;height:63.6%;position:absolute;top:36.9%}.sealed-envelope:before{transform-origin:100% 0;right:-9.7%;transform:rotate(29deg)}.sealed-envelope:after{transform-origin:0 0;left:-9.7%;transform:rotate(-29deg)}.envelope-flap{z-index:1;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);transform-origin:bottom;width:70.5%;height:78%;position:absolute;top:-36.9%;left:50%;transform:translate(-50%)rotate(45deg)}.envelope-seal{z-index:2;aspect-ratio:1;border:1px solid var(--rose);background:var(--rose);width:7.45%;height:auto;box-shadow:0 0 0 clamp(3px, 1.28vw, 5px) var(--paper);border-radius:50%;position:absolute;top:42.8%;left:50%;transform:translate(-50%)}.future-envelope{opacity:.76}.opening-copy{padding:30px 0 27px}.opening-copy h1{max-width:16ch;font-family:var(--letter-font);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,2.75rem);line-height:1.08}.opening-copy p{max-width:34ch;color:var(--soft-ink);font-family:var(--letter-font);margin:16px 0 0;font-size:1.02rem;line-height:1.5}.opening-copy em{color:var(--ink)}.opening-screen .primary-action,.letter-reading-screen .primary-action{cursor:pointer}.opening-screen .primary-action:disabled{cursor:wait;opacity:.7}.opening-message{color:#8a4f48;max-width:36ch;font-family:var(--letter-font);margin:21px 0 0;font-size:.94rem;line-height:1.5}.site-header,.navigation{transition:opacity .22s}:is(.app-shell:has(.opening-screen.is-opening) .site-header,.app-shell:has(.opening-screen.is-opening) .navigation){opacity:0;pointer-events:none}.opening-screen.is-opening>.eyebrow,.opening-screen.is-opening .opening-copy,.opening-screen.is-opening>.primary-action{animation:.24s forwards opening-ui-fade}.opening-screen.is-opening .sealed-envelope{animation:.62s ease-in .28s forwards opening-envelope-recede}.opening-screen.is-opening .envelope-flap{animation:.42s ease-out forwards opening-flap-lift}.opening-screen.is-opening .envelope-seal{animation:.22s ease-out .18s forwards opening-seal-fade}.opening-screen.is-opening .opening-paper{z-index:3;animation:.6s cubic-bezier(.22,.61,.36,1) .22s forwards opening-paper-unfold}@keyframes opening-ui-fade{to{opacity:0;transform:translateY(4px)}}@keyframes opening-envelope-recede{to{opacity:0;transform:translateY(10%)scale(.97)}}@keyframes opening-flap-lift{to{transform:translate(-50%)translateY(-7%)rotate(18deg)}}@keyframes opening-seal-fade{to{opacity:0;transform:translate(-50%)scale(.72)}}@keyframes opening-paper-unfold{to{opacity:1;transform:translateY(-3%)scaleY(1)}}@media (prefers-reduced-motion:reduce){.site-header,.navigation{transition-duration:1ms}.screen-content>section,.relationship-shell>section,.route-loading,.opening-screen.is-opening>.eyebrow,.opening-screen.is-opening .opening-copy,.opening-screen.is-opening>.primary-action,.opening-screen.is-opening .sealed-envelope,.opening-screen.is-opening .envelope-flap,.opening-screen.is-opening .envelope-seal,.opening-screen.is-opening .opening-paper{animation-duration:1ms;animation-delay:0s}.paper-motion__paper,.paper-motion__shadow,.paper-motion__crease{animation:none!important}.screen-content>.route-loading,.relationship-shell>.route-loading{animation:none}}.reading-paper{min-height:0}.reading-note{max-width:32ch;color:var(--soft-ink);font-family:var(--letter-font);margin:27px 0;font-size:.96rem;line-height:1.5}.later-delivery-control{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:14px;max-width:38ch;margin-top:27px;padding:21px 0;display:grid}.later-delivery-control p{font-family:var(--letter-font);margin:0;font-size:1.03rem;line-height:1.45}.later-delivery-control small{color:var(--soft-ink);font-size:.8rem;line-height:1.45}.later-delivery-control .opening-message{margin:0}.later-delivery-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.later-delivery-actions .primary-action{cursor:pointer}.later-delivery-actions .primary-action:disabled,.later-delivery-actions .text-action:disabled{cursor:wait;opacity:.7}.navigation{z-index:2;max-width:720px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f3e9f0;grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-link{min-height:58px;color:var(--soft-ink);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:9px 8px 10px;font-size:.72rem;transition:color .22s;display:flex}.nav-dot{opacity:0;background:currentColor;border-radius:50%;width:5px;height:5px;transition:opacity .18s,transform .18s;transform:scale(.72)}.nav-link.active{color:var(--ink)}.nav-link.active .nav-dot{opacity:1;transform:scale(1)}.paper-motion{perspective:850px;flex:none;width:240px;max-width:100%;height:184px;display:block;position:relative}.paper-motion__shadow{background:var(--brown);opacity:.12;filter:blur(15px);border-radius:50%;width:144px;height:63px;animation:3.8s ease-in-out infinite paper-shadow-breathe;position:absolute;top:115px;left:calc(50% - 71px);transform:rotate(-18deg)}.paper-motion__paper{width:150px;height:108px;transform-style:preserve-3d;animation:3.8s ease-in-out infinite paper-breathe;position:absolute;top:45px;left:calc(50% - 75px);transform:translateY(-8px)rotateX(44deg)rotateY(-12deg)rotate(-24deg)}.paper-motion__sheet{background:linear-gradient(145deg, #fffefb, var(--paper) 65%, #ede5d8);border-radius:2px;position:absolute;inset:0;box-shadow:0 1px #cbbda9,0 2px #e0d4c2,0 3px #bfb09a,0 7px 12px #78634912}.paper-motion__crease{background:linear-gradient(165deg, #fffefa, var(--paper));transform-origin:bottom;border-bottom:1px solid #bcab9221;border-radius:2px 2px 0 0;animation:3.8s ease-in-out infinite paper-crease-breathe;position:absolute;inset:0 0 50%;transform:rotateX(-12deg);box-shadow:0 1px 2px #876b380f}.paper-motion__mark{gap:6px;display:flex;position:absolute;bottom:21px;left:65px;transform:translateZ(1px)}.paper-motion__mark i{background:var(--brown);border-radius:50%;width:4px;height:4px}@keyframes paper-breathe{0%,to{transform:translateY(-8px)rotateX(44deg)rotateY(-12deg)rotate(-24deg)}50%{transform:translateY(-17px)rotateX(39deg)rotateY(-12deg)rotate(-21deg)}}@keyframes paper-crease-breathe{0%,to{transform:rotateX(-12deg)}50%{transform:rotateX(-20deg)}}@keyframes paper-shadow-breathe{0%,to{opacity:.12;transform:rotate(-18deg)scale(1)}50%{opacity:.07;transform:rotate(-18deg)scale(.88)}}@keyframes invitation-unfold{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.relationship-invite-panel{animation-duration:1ms;animation-delay:0s}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:639px){.app-shell{padding:20px 20px 40px}.app-shell.has-navigation,.relationship-shell{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.site-header{min-height:44px}.primary-action{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.text-action,.finish-link,.auth-link,.auth-status a,.auth-status button,.relationship-person,.relationship-switch{align-items:center;min-height:44px;display:inline-flex}.letter-paper{margin-top:22px;padding:28px 20px}.handwriting-toolbar{align-items:flex-start}.handwriting-toolbar div{width:100%}.write-back-reference summary{padding-right:18px}.write-back-paper{padding:24px 20px}.letter-memory-fields{padding:16px}.letter-memory-fields input,.letter-memory-fields textarea{font-size:1rem}.letter-body{min-height:300px;font-size:1.12rem}.memory-picker-choices,.memory-editor-actions{gap:8px 16px}.letter-memory-summary{gap:13px;display:grid}.letter-memory-summary-actions{justify-content:flex-start}.write-footer{flex-direction:column;align-items:flex-start;gap:7px}.unfinished-photo-grid,.letter-photos{gap:10px}.story-search-form{grid-template-columns:1fr;gap:0}.story-search input{min-height:44px}.story-search-actions{justify-content:flex-end;padding-bottom:0}}@media (min-width:640px){.app-shell{padding-left:48px;padding-right:48px}.letter-list li{grid-template-columns:130px minmax(0,1fr) 130px;align-items:baseline}.letter-from{text-align:right;grid-column:3}.navigation{width:100%;left:50%;right:auto;transform:translate(-50%)}}:focus-visible{outline:2px solid var(--brown);outline-offset:5px}button,input,textarea,select{font:inherit}button,.text-action,summary{min-height:44px}a,button,input,textarea{-webkit-tap-highlight-color:#a77d761f}input:not([type=checkbox]):not([type=radio]),textarea{font-size:max(16px,1em)}input,textarea{scroll-margin-block:100px}p,h1,h2,h3,dd,.review-letter-body{overflow-wrap:anywhere}h1,h2{text-wrap:balance}.letter-paper{background:linear-gradient(112deg, #80695604, transparent 24%), var(--paper);border:1px solid #80695621;min-height:340px;padding:clamp(28px,5vw,48px);box-shadow:0 2px 4px #3e322406,0 16px 40px #3e32240e}.letter-paper .letter-body,.review-letter-body{letter-spacing:.012em;word-break:normal;line-break:strict;font-size:clamp(1.06rem,2.4vw,1.2rem);line-height:1.95}.letter-body{min-height:168px}.letter-body:focus-visible{outline:none;padding-left:9px;box-shadow:-2px 0 #80695659}.review-letter-body{white-space:pre-wrap;min-height:90px}.signature{margin-top:38px;line-height:1.65}.reading-paper{max-width:660px}.auth-copy h1{font-weight:400}.home-envelope-link{gap:17px;width:min(100%,380px)}.home-envelope{aspect-ratio:1.62;background:linear-gradient(128deg,#fffefb 12%,#f8f1e5 72%,#eee3d2);border-color:#d9cdbc;border-radius:2px;width:100%;height:auto;transition:transform .32s,box-shadow .32s;transform:perspective(900px)rotateX(12deg)rotateY(-9deg)rotate(-3deg);box-shadow:inset 0 1px #fffefb,inset -1px -1px #80695617,0 1px #d4c5ae,0 3px #e8dcc8,0 4px #cbbba3,0 7px 9px -4px #3e32242b,4px 16px 13px -9px #3e32243b,12px 30px 30px -9px #3e322433}.home-envelope:before,.home-envelope:after,.home-envelope i{display:none}.envelope-address{font-family:var(--letter-font);overflow-wrap:anywhere;gap:8px;max-width:75%;font-size:clamp(1.2rem,4vw,1.55rem);display:grid;position:absolute;inset:22% 12% auto}.envelope-address small,.envelope-address time{color:var(--soft-ink);font:.76rem/1.45 Arial,sans-serif}.envelope-address time{margin-top:10px}.envelope-monogram,.success-seal{aspect-ratio:1;width:38px;color:var(--paper);font:italic 1.4rem var(--letter-font);background:#a77d76;border:1px solid #95665f;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 3px #fffdf824}.envelope-monogram{aspect-ratio:1;background:radial-gradient(at 28% 16%,#c8a69b,#0000 52%),linear-gradient(145deg,#b59084,#9d7268 68%,#896157);border:0;border-radius:39% 61% 43% 57%/53% 39% 61% 47%;width:clamp(42px,12%,52px);position:absolute;bottom:12%;right:9%;box-shadow:inset 1px 2px 2px #ffeddc7a,inset -2px -3px 3px #56312840,1px 2px #845d51,2px 4px #92695d,3px 7px 7px #3f271d3d}.envelope-monogram:before{content:"";background:linear-gradient(145deg,#a17a6e,#b18a7c);border-radius:44% 56% 48% 52%/51% 46% 54% 49%;position:absolute;inset:13% 14% 16% 15%;box-shadow:inset 1px 1px 2px #4a291e2b,0 1px 1px #ffe6d33d}.envelope-monogram:after{content:"";background:radial-gradient(circle at 40%,#866052 0 4.5%,#0000 5.5%),radial-gradient(circle at 61%,#866052 0 4.5%,#0000 5.5%),radial-gradient(circle at 40% 53%,#d0aa97 0 4.5%,#0000 6%),radial-gradient(circle at 61% 53%,#d0aa97 0 4.5%,#0000 6%);position:absolute;inset:0}.success-seal{margin:25px 0}.home-keepsakes{margin-top:30px}.home-shelf,.device-setting,.push-introduction{border-top:1px solid var(--line);margin-top:32px;padding:24px 0}.home-shelf h2,.device-setting h2,.push-introduction h2{font:400 1.25rem/1.3 var(--letter-font);margin:0 0 12px}.home-shelf ul{margin:0 0 12px;padding:0;list-style:none}.home-shelf li a{border-bottom:1px solid var(--line);font:1.04rem/1.4 var(--letter-font);justify-content:space-between;align-items:baseline;gap:16px;padding:17px 0;display:flex}.home-shelf li time{color:var(--soft-ink);flex-shrink:0;font:.72rem/1.4 Arial,sans-serif}.push-introduction p,.device-setting p{max-width:47ch;color:var(--soft-ink);font:1rem/1.6 var(--letter-font)}.unfinished-versions{color:var(--soft-ink);padding:8px 0 12px;font-size:.85rem}.unfinished-versions summary{cursor:pointer;padding-block:10px}.memory-moment-anchor{min-height:1px}.memory-moment{border:1px solid var(--line);background:var(--paper);margin:24px 0;padding:30px;position:relative}.memory-moment:before{clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);content:"";background:#a77d7640;width:26px;height:45px;position:absolute;top:-1px;right:26px}.memory-moment h2{font:400 1.8rem/1.15 var(--letter-font);margin-top:20px}.memory-moment p{font:1rem/1.6 var(--letter-font);color:var(--soft-ink)}.push-introduction .text-action+.text-action{margin-left:20px}.device-setting small{color:var(--soft-ink);margin-top:14px;font-size:.78rem;line-height:1.5;display:block}.setting-toggle{align-items:center;gap:13px;min-height:44px;display:flex}.setting-toggle input{width:20px;height:20px;accent-color:var(--brown)}#push-heading{scroll-margin-top:30px}.draft-conflict{border:1px solid var(--rose);background:var(--paper);margin:24px 0;padding:22px}.draft-conflict h2{font:400 1.4rem var(--letter-font)}.draft-conflict>div{grid-template-columns:1fr 1fr;gap:20px;display:grid}.draft-conflict section{min-width:0}.conflict-words{white-space:pre-wrap;max-height:260px;font:1rem/1.7 var(--letter-font);overflow:auto}.draft-conflict button{margin:12px 18px 0 0}.signout-choice{z-index:20;border:1px solid var(--brown);background:var(--paper);letter-spacing:0;width:min(90vw,440px);padding:26px;font-size:1rem;position:fixed;top:20%;left:50%;transform:translate(-50%);box-shadow:0 20px 100px #28231e4d}.signout-choice p{line-height:1.6}.signout-choice button{white-space:normal;margin:18px 0 0;display:block}.auth-status>p{background:var(--paper);border:1px solid var(--rose);z-index:10;padding:14px;line-height:1.5;position:absolute;top:70px;left:24px;right:24px}.story-year>h2{color:var(--brown);letter-spacing:-.03em}.story-letter-row{padding-block:22px}.story-letter-row strong{font-size:1.17rem;line-height:1.4}.story-letter-row time{font-family:var(--letter-font);padding-top:4px}.story-memory-cues{white-space:normal}@media (hover:hover) and (prefers-reduced-motion:no-preference){.home-envelope-link:hover .home-envelope{transform:perspective(900px)translateY(-5px)rotateX(6deg)rotateY(-5deg)rotate(-2deg)}}.home-envelope-link:active .home-envelope{transform:perspective(900px)translateY(2px)rotateX(10deg)rotateY(-7deg)rotate(-3deg)}@media (prefers-reduced-motion:reduce){.home-envelope-link:active .home-envelope{transform:none}}@media (max-width:480px){.app-shell{padding-inline:max(20px, env(safe-area-inset-left))}.screen-content{padding-top:34px}.letter-paper{margin-inline:-6px;padding:28px 22px}.home-shelf li a{flex-direction:column;gap:6px}.draft-conflict>div{grid-template-columns:1fr}.auth-status>span{display:none}.auth-status{gap:16px;max-width:65%}.memory-moment{padding:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}
