@font-face{font-family:DM;src:url('/assets/fonts/dm-sans.ttf');font-weight:100 1000;font-display:swap}@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif.ttf');font-display:swap}
:root{--ink:#2b335d;--muted:#686779;--paper:#fffcf7;--canvas:#fbf8f3;--line:#ded8d2;--blush:#efdce6;--blue:#dde4f0;--red:#c34432;--sage:#dee5dc}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.6 DM,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button,a,input,summary{touch-action:manipulation}button:disabled{opacity:.45;cursor:default}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.04em;line-height:1.12}h1{font-size:clamp(40px,4.5vw,64px)}h2{font-size:32px}h3{font-size:22px}em{font:normal 1.12em/1.05 Instrument,serif;letter-spacing:-.025em}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}h1:focus,h2:focus,main:focus{outline:none}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);padding:12px;z-index:99}.skip:focus{top:10px}header{height:86px;border-bottom:1px solid var(--line);padding:22px max(24px,4vw);display:flex;align-items:center;justify-content:space-between;gap:24px}header img{width:220px}header button{font-size:13px;min-height:44px;padding:8px 0 8px 20px}#account{display:flex;gap:16px;align-items:center}#account span{font-size:12px;color:var(--muted)}footer{padding:24px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}footer button{font-size:11px;text-decoration:underline;min-height:44px}.eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;line-height:1.65;font-weight:500}.fine{font-size:12px;line-height:1.6;color:var(--muted)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:13px 24px;border-radius:99px;text-decoration:none;font-size:14px;font-weight:500}.primary{background:var(--ink);color:var(--paper)}.primary span{margin-left:auto}.secondary{border:1px solid var(--ink);background:transparent}.text{min-height:44px;text-decoration:underline;text-underline-offset:5px;font-size:13px;padding:10px 0}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:24px}.loading{padding:80px;text-align:center}.toast{position:fixed;z-index:10;bottom:22px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);padding:12px 20px;background:var(--ink);color:var(--paper);border-radius:12px;font-size:13px;box-shadow:0 10px 40px #0002}.toast:empty{display:none}.entry{max-width:1220px;margin:auto;padding:70px 50px 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;min-height:740px}.entry h1{margin:18px 0 24px}.entry .intro{font-size:18px;max-width:480px;color:var(--muted)}.entry .fine{margin-top:24px}.promise{display:flex;gap:20px;font-size:11px;color:var(--muted);margin-top:28px;flex-wrap:wrap}.card-scene{position:relative;padding:30px 30px 65px;max-width:420px;width:100%;justify-self:center}.paper-card{background:linear-gradient(135deg,#f2e4ec,var(--blush));aspect-ratio:9/13;border:1px solid #d8c4d1;outline:1px solid #cdb7c5;outline-offset:-12px;border-radius:12px;padding:28px;display:flex;flex-direction:column;box-shadow:0 4px 0 #eee6d8,0 7px 0 #dfd7cb,0 22px 46px #2b335d14;position:relative}.paper-card .number{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #ccb8c5;padding-bottom:14px}.paper-card h2{font:40px/1.05 Instrument,serif;letter-spacing:-.035em;margin-top:30px}.paper-card p{font-size:12px;margin-top:16px}.paper-card .smile{font:48px/1 Instrument,serif;color:var(--red);margin-top:20px}.paper-card img{width:150px;margin-top:auto;padding-top:30px}.paper-card .edition{font-size:6px;letter-spacing:.13em;margin-top:9px}.entry .paper-card{transform:rotate(-3deg)}.photo-peek{position:absolute;width:155px;right:-10px;bottom:0;transform:rotate(6deg);padding:8px 8px 28px;background:var(--paper);box-shadow:0 8px 25px #2b335d25;border:1px solid var(--line)}.photo-peek img{aspect-ratio:1;object-fit:cover}.photo-peek span{font-size:8px;display:block;margin-top:8px;text-align:center}.entry-trail{max-width:1100px;margin:0 auto 60px;padding:28px 0;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.entry-trail strong{font-size:15px;font-weight:500}.entry-trail p{font-size:13px;margin-top:8px;color:var(--muted)}
.workspace{max-width:1180px;padding:40px 40px 80px;margin:auto;display:grid;grid-template-columns:290px minmax(0,1fr);gap:64px;min-height:760px}.story-side{align-self:start;position:sticky;top:30px}.story-side .paper-card h2{font-size:32px}.story-side .paper-card{padding:25px}.story-side .paper-card img{width:135px}.story-side>p{margin-top:24px}.story-side .people{font-size:14px}.side-photo{margin-top:22px;border:8px solid var(--paper);box-shadow:0 5px 20px #2b335d12;transform:rotate(-2deg)}.side-photo img{aspect-ratio:1.4;object-fit:cover}.story-main{min-width:0}.story-nav{display:flex;border-bottom:1px solid var(--line);gap:30px;margin-bottom:32px}.story-nav button{font-size:13px;padding:12px 0 15px;border-bottom:2px solid transparent;white-space:nowrap}.story-nav button[aria-current=page]{border-color:var(--red);color:var(--red)}.sample-label{background:#e9edf4;border-left:2px solid #b6c7e5;padding:10px 14px;font-size:11px;margin-bottom:28px;color:var(--muted)}.scene-heading{margin-bottom:24px}.scene-heading .eyebrow{margin-bottom:10px}.scene-heading>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:14px;max-width:560px}.thread{margin-bottom:24px}.turn{padding:22px 0;border-bottom:1px solid var(--line)}.turn>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:9px}.turn p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.7}.turn.ai p{font:25px/1.4 Instrument,serif;letter-spacing:-.015em}.turn.ai{padding-left:20px;border-left:2px solid #bdcbe3}.turn .text{font-size:11px}.interview-form{position:relative}.interview-form label,.draft-area>label,.field{font-size:12px;font-weight:500;display:block;margin-bottom:9px}textarea,input[type=text],input[type=email],input[type=password]{display:block;width:100%;background:var(--paper);border:1px solid #d0c9c1;border-radius:10px;padding:14px 16px;font-size:16px;outline-offset:3px}textarea{resize:vertical;min-height:108px;line-height:1.6}.interview-form .actions{margin-top:12px}.interview-form>.fine{margin-top:12px}.interview-form .secondary{font-size:12px}.divider-label{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:11px;margin:32px 0}.divider-label:before,.divider-label:after{content:'';flex:1;border-top:1px solid var(--line)}.draft-area{margin-top:28px}.draft-area summary{cursor:pointer;font-size:16px;padding:16px 0}.draft-area summary span{font-size:12px;color:var(--muted);margin-left:10px}.draft-area textarea{margin-top:12px;min-height:140px}.draft-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px}.draft-actions .fine{font-size:10px}.media-section{padding:28px 0;border-top:1px solid var(--line);margin-top:30px}.media-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:16px}.media-heading h3{font-size:21px}.media-actions{display:flex;gap:10px;flex-wrap:wrap}.media-actions button,.file-pick{font-size:12px;display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;background:#ede8e1;border-radius:30px;cursor:pointer}.media-section>.fine{margin-top:13px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.media-tile{min-width:0}.media-tile img,.media-tile video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px;background:#e8e3df}.media-tile audio{width:100%;height:42px}.audio-tile{height:130px;background:var(--blue);padding:20px 9px 12px;display:flex;flex-direction:column;justify-content:space-between;border-radius:5px}.audio-tile span{text-align:center;font-size:13px}.media-tile>div:last-child{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-top:7px}.media-tile label{font-size:10px;display:flex;gap:5px;align-items:center}.media-tile button{font-size:10px;min-height:34px;text-decoration:underline}.media-tile .fine{font-size:9px;overflow-wrap:anywhere;margin-top:4px}input[type=checkbox]{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0}.bottom-action{display:flex;align-items:center;gap:24px;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:6px}.bottom-action>.fine{max-width:230px;font-size:11px}.empty-note{padding:30px 0;font:26px/1.35 Instrument,serif;color:var(--muted)}.story-contribution{padding:28px 0;border-top:1px solid var(--line)}.story-contribution h3{font-size:13px;font-weight:500;letter-spacing:.01em;margin-bottom:12px}.story-contribution blockquote{font:25px/1.4 Instrument,serif;white-space:pre-wrap;overflow-wrap:anywhere}.story-contribution .media-grid{margin-top:18px}.contribution-actions{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-top:12px}.contribution-actions button{font-size:10px}.invite-strip{padding:20px;background:var(--blue);margin:24px 0;border-radius:6px}.invite-strip h3{font-size:19px;margin-bottom:9px}.invite-strip p{font-size:13px}.invite-strip .actions{margin-top:12px}.invite-strip input{font-size:12px;margin-top:14px}.connection{background:#e8ece5;border-radius:6px;padding:24px;margin:24px 0}.connection p{font:25px/1.35 Instrument,serif;white-space:pre-wrap;margin-top:14px}.connection .text{font-size:11px}.recipient-intro{border-left:2px solid #b9c8df;padding-left:18px;margin-bottom:26px}.recipient-intro p{font-size:14px;line-height:1.7}.recipient-intro span{font-size:10px;color:var(--muted)}.keepsake-layout{display:grid;grid-template-columns:1fr;gap:28px}.keepsake-preview{aspect-ratio:9/13;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 36px #2b335d0c;max-width:350px;width:100%;justify-self:center;padding:26px;display:flex;flex-direction:column}.keepsake-preview .cover{height:42%;width:100%;object-fit:cover;margin-bottom:20px}.keepsake-preview h3{font:29px/1.08 Instrument,serif;margin:12px 0 18px}.keepsake-preview blockquote{font-size:13px;line-height:1.55;margin:10px 0}.keepsake-preview blockquote small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.keepsake-preview .logo{width:145px;margin-top:auto;padding-top:20px}.quote-choice{display:block;padding:16px 0;border-bottom:1px solid var(--line)}.quote-choice>span{display:flex;align-items:center;gap:12px;font-size:12px;margin-bottom:9px}.quote-choice textarea{font-size:14px;min-height:78px}.cover-picker{display:flex;gap:10px;overflow-x:auto;padding:10px 4px}.cover-picker button{flex:0 0 70px;height:70px;border-radius:5px;border:2px solid transparent;padding:3px;font-size:10px}.cover-picker button[aria-pressed=true]{border-color:var(--red)}.cover-picker img{width:100%;height:100%;object-fit:cover}.keep-controls>.field{margin-top:22px}.keep-controls>.fine{margin-top:12px}.library{max-width:900px;margin:auto;padding:60px 30px;min-height:650px}.library h1{margin-bottom:24px}.library-list{margin-top:35px}.library-item{display:block;width:100%;text-align:left;padding:24px 0;border-bottom:1px solid var(--line)}.library-item strong{font:28px/1.3 Instrument,serif}.library-item span{display:block;font-size:12px;color:var(--muted);margin-top:8px}.review-story{margin:25px 0;border-top:1px solid var(--line);padding-top:25px}.review-story blockquote{font:26px/1.4 Instrument,serif;white-space:pre-wrap;overflow-wrap:anywhere}.review-story .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.error{color:#a33022;font-size:13px;line-height:1.5}.error:empty{display:none}
body:has(dialog[open]){overflow:hidden}dialog{width:min(600px,calc(100% - 28px));max-height:88dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:30px}dialog::backdrop{background:#20263e66;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-top h2{font-size:30px;line-height:1.15;max-width:430px}.close{flex:0 0 44px;height:44px;border-radius:50%;border:1px solid var(--line);font-size:23px}.dialog-body>p{font-size:14px;color:var(--muted);margin-bottom:18px}dialog form>label{display:block;font-size:12px;margin:16px 0 8px}dialog form input{margin-top:7px}.check{display:flex!important;align-items:flex-start;gap:10px;font-size:12px!important;line-height:1.6}.check input{margin-top:3px!important}.record-preview{width:100%;max-height:260px;background:#dde4f0;border-radius:6px;object-fit:cover}.record-meter{font-size:13px;margin:16px 0}.record-controls{display:flex;gap:12px;flex-wrap:wrap}.upload-progress{font-size:13px;margin:12px 0;color:var(--muted)}
@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.scene{animation:enter .25s ease-out}
@media(max-width:1000px){.entry{gap:45px;padding:50px 35px}.entry-trail{margin-inline:35px;gap:24px}.workspace{grid-template-columns:240px minmax(0,1fr);gap:36px;padding-inline:30px}.story-side .paper-card h2{font-size:28px}.paper-card .smile{font-size:36px}.story-side .paper-card p{font-size:11px}.story-side .paper-card .number{font-size:6px}.story-side .paper-card img{width:115px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){header{height:72px;padding:16px 20px;gap:10px}header img{width:175px}header button{font-size:11px;padding-left:8px}#account{gap:6px}#account>span{display:none}footer{font-size:9px;padding:16px 20px;align-items:center}footer button{font-size:9px;max-width:100px}.entry{display:flex;flex-direction:column;gap:42px;padding:36px 24px 65px;min-height:0}.entry h1{font-size:43px;margin-top:13px}.entry .intro{font-size:16px}.entry .actions{gap:12px}.entry .actions .primary{width:100%}.entry .actions .text{width:100%;text-align:center}.entry .fine{font-size:11px;margin-top:12px}.promise{gap:12px;font-size:10px;margin-top:18px}.card-scene{width:280px;padding:0 20px 40px}.paper-card h2{font-size:32px}.paper-card .smile{margin-top:15px}.paper-card p{font-size:11px}.paper-card img{width:125px;padding-top:20px}.photo-peek{width:120px;right:-2px;bottom:-10px}.entry-trail{display:block;margin:0 24px 30px;padding:14px 0}.entry-trail>div{padding:16px 0}.entry-trail p{font-size:13px}.workspace{display:block;padding:20px 24px 45px;min-height:0}.story-side{position:static;display:flex;gap:12px;align-items:center;margin-bottom:16px}.story-side .paper-card{display:none}.story-side>p{margin:0}.story-side .fine{font-size:10px}.story-side .people{font-size:12px}.story-side .side-photo{display:none}.story-nav{gap:25px;margin-bottom:24px}.story-nav button{font-size:12px;padding:12px 0}.scene-heading h2{font-size:31px}.scene-heading>p:not(.eyebrow){font-size:14px}.sample-label{font-size:10px;padding:9px 12px;margin-bottom:22px}.turn{padding-block:18px}.turn p{font-size:15px}.turn.ai p{font-size:25px}.turn.ai{padding-left:15px}.interview-form .actions{align-items:stretch}.interview-form .primary{flex:1}.interview-form .text{font-size:12px}.interview-form .fine{font-size:11px}.draft-area summary{font-size:15px}.draft-area summary span{font-size:10px}.media-heading{display:block}.media-heading h3{font-size:21px;margin-bottom:6px}.media-actions{gap:8px}.media-actions button,.file-pick{font-size:11px;padding:9px 12px}.media-grid{gap:10px}.bottom-action{flex-direction:column;align-items:stretch;gap:14px}.bottom-action .fine{max-width:none;font-size:11px}.bottom-action .primary{width:100%}.story-contribution blockquote{font-size:24px}.invite-strip{padding:20px}.invite-strip .actions{gap:12px}.invite-strip .primary{width:100%}.keepsake-preview{max-width:290px;padding:22px}.keepsake-preview h3{font-size:26px}.keepsake-preview blockquote{font-size:12px}.keep-controls .actions{flex-direction:column;align-items:stretch}.library{padding:35px 24px}.library h1{font-size:38px}.library-item strong{font-size:25px}dialog{padding:24px;max-height:86dvh}.dialog-top{gap:12px}.dialog-top h2{font-size:27px}.dialog-body>.fine{font-size:11px}.review-story blockquote{font-size:24px}.actions.stacked{flex-direction:column;align-items:stretch}.toast{bottom:12px;font-size:12px}.primary,.secondary{font-size:13px;padding-inline:21px}}
@media(max-width:360px){header img{width:150px}.workspace,.entry{padding-inline:20px}.entry h1{font-size:38px}.story-nav{gap:19px}.story-nav button{font-size:11px}.scene-heading h2{font-size:28px}.media-actions{gap:5px}.media-actions button,.file-pick{padding:9px 10px;font-size:10px}.draft-area summary span{display:block;margin:5px 0 0}dialog{padding:20px}.dialog-top h2{font-size:24px}.keepsake-preview{padding:18px}.keepsake-preview h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.keepsake-preview{padding:0;position:relative;overflow:hidden;display:block}.keepsake-preview #keep-image{width:100%;height:100%;object-fit:contain;margin:0}.keepsake-preview #keep-image:not([src]){display:none}.keepsake-preview figcaption:not(:empty){padding:24px;position:absolute;inset:0;display:grid;place-content:center}
