:root{--paper:#f2f2ec;--paper-raised:#fafaf6;--sage:#d6e0d7;--line:#d3dbd3;--line-strong:#6c7a74;--ink:#16231f;--ink-muted:#55655f;--on-ink:#f2f2ec;--forest:#1d3a34;--on-forest:#f2f2ec;--moss:#2f5a4f;--forest-field:#1d3a34;--apricot:#e89a6a;--on-apricot:#16231f;--apricot-ink:#9a4f22;--danger:#a8323e;--focus:var(--moss);--shadow-sheet:0 12px 32px #16231f24;--font-serif:"Newsreader", "Iowan Old Style", Georgia, serif;--font-sans:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-18:72px;--radius-sm:6px;--radius-md:14px;--radius-lg:24px;--radius-full:999px;--tab-bar-height:79px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#0f1715;--paper-raised:#17211e;--sage:#233430;--line:#26332f;--line-strong:#6f817a;--ink:#e9eee9;--ink-muted:#a3b1ab;--on-ink:#0f1715;--moss:#9cc7b5;--forest-field:#1f3e37;--apricot:#eea67a;--apricot-ink:#eea67a;--danger:#f19a9f;--focus:var(--apricot);--shadow-sheet:0 12px 32px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:16px/24px var(--font-sans);margin:0}a{color:var(--moss)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.display{font:400 56px/60px var(--font-serif);letter-spacing:-.01em}.title{font:400 32px/38px var(--font-serif)}.heading{font:500 22px/29px var(--font-serif)}.answer{font:italic 400 20px/30px var(--font-serif)}.message{font:400 17px/26px var(--font-serif)}.body{font:400 16px/24px var(--font-sans)}.small{font:400 14px/20px var(--font-sans)}.label{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.display,.title,.heading{text-wrap:balance;margin:0}.muted{color:var(--ink-muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}p.body,p.small{margin:0}.error{color:var(--danger)}.masthead,main{width:100%;max-width:640px;padding-left:max(var(--space-4), env(safe-area-inset-left,0px));padding-right:max(var(--space-4), env(safe-area-inset-right,0px));margin:0 auto}.masthead{padding-top:max(var(--space-4), env(safe-area-inset-top,0px));padding-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.lockup{width:auto;height:30px;display:block}main{padding-bottom:max(var(--space-12), env(safe-area-inset-bottom,0px))}main.with-tabs{padding-bottom:calc(var(--tab-bar-height) + var(--space-12) + env(safe-area-inset-bottom,0px))}.masthead-link{min-width:44px;min-height:44px;padding:0 var(--space-3);margin-right:calc(-1 * var(--space-3));border-radius:var(--radius-full);color:var(--ink-muted);font:600 15px/20px var(--font-sans);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.masthead-link:hover{background:var(--sage)}.masthead-link[aria-current=page]{color:var(--ink)}.tab-bar{z-index:10;border-top:1px solid var(--line);background:var(--paper);padding:10px max(var(--space-4), env(safe-area-inset-right,0px)) max(var(--space-3), env(safe-area-inset-bottom,0px)) max(var(--space-4), env(safe-area-inset-left,0px));position:fixed;bottom:0;left:0;right:0}.tab-bar-inner{gap:var(--space-1);max-width:608px;padding:var(--space-1);border-radius:var(--radius-full);background:var(--sage);margin:0 auto;display:flex}.tab{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);min-height:48px;color:var(--ink-muted);font:600 15px/20px var(--font-sans);border:1px solid #0000;flex:1 1 0;text-decoration:none;transition:background-color .2s ease-out,color .2s ease-out;display:flex}.tab[aria-current=page]{background:var(--paper-raised);border-color:var(--line);color:var(--ink)}.tab-count{color:var(--ink-muted);font-variant-numeric:tabular-nums}body:has(main :is(input:not([type=file]),textarea):focus) .tab-bar{display:none}.back-link{align-self:flex-start;align-items:center;gap:var(--space-1);min-height:44px;margin-left:calc(-1 * var(--space-2));padding:0 var(--space-2);color:var(--ink-muted);font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack-lg{gap:var(--space-8);flex-direction:column;display:flex}.row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.btn{min-height:44px;padding:0 var(--space-6);border:1px solid var(--line-strong);border-radius:var(--radius-full);color:var(--ink);font:600 15px/20px var(--font-sans);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background-color .2s ease-out,filter .2s ease-out;display:inline-flex}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.btn-reveal{background:var(--apricot);border-color:var(--apricot);color:var(--on-apricot)}.btn:not(.btn-primary):not(.btn-reveal):hover{background:var(--sage)}.btn-primary:hover,.btn-reveal:hover{filter:brightness(.94)}.btn-danger{color:var(--danger)}.btn-small{min-height:40px;padding:0 var(--space-4)}a.btn{text-decoration:none}.text-button{min-height:44px;color:var(--moss);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:600;text-decoration:underline;display:inline-flex}.pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.pill{min-height:44px;padding:0 var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-full);color:var(--ink);font:500 15px/20px var(--font-sans);cursor:pointer;background:0 0;transition:background-color .2s ease-out,color .2s ease-out}.pill:hover{background:var(--sage)}.pill[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.card{gap:var(--space-3);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-raised);flex-direction:column;display:flex}.card p{margin:0}.answers{gap:var(--space-6);margin-top:var(--space-3);flex-direction:column;display:flex}.answers figure{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.answers figcaption{color:var(--ink-muted)}.answers blockquote{margin:0}.nudge-list{gap:var(--space-1);padding-left:var(--space-6);color:var(--ink);flex-direction:column;margin:0;display:flex}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.save-status{flex:none;min-height:20px}.answer-edit{gap:var(--space-2)}.answer-edit .field>span{color:var(--ink-muted)}textarea.answer-input{font:italic 400 18px/28px var(--font-serif);resize:vertical}.answer-foot{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.prompt-choices{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.prompt-choice{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-raised);color:var(--ink);font:400 17px/24px var(--font-serif);text-align:left;cursor:pointer}.prompt-choice:hover{background:var(--sage)}.date-fields{gap:var(--space-3);border:0;grid-template-columns:1fr 1fr 1.6fr;max-width:340px;margin:0;padding:0;display:grid}.date-fields input{text-align:center;font-variant-numeric:tabular-nums}.login{justify-content:center;gap:var(--space-8);flex-direction:column;min-height:100dvh;display:flex}.login .lockup{max-width:100%;height:48px}.login form{gap:var(--space-4);flex-direction:column;display:flex}.promise{align-items:baseline;gap:var(--space-1) var(--space-4);margin:var(--space-2) 0 0;font:600 13px/20px var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);flex-wrap:wrap;display:flex}.promise>span{white-space:nowrap}.promise-dot{color:var(--moss);font:500 22px/1 var(--font-serif);letter-spacing:0;margin-left:-.1em}.code-input{font:600 28px/36px var(--font-sans);letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.ink{color:var(--ink)}.btn:disabled{opacity:.6;cursor:default}label.field{gap:var(--space-2);color:var(--ink-muted);flex-direction:column;display:flex}input[type=email],input[type=text],textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper-raised);width:100%;min-height:44px;color:var(--ink);font:16px/24px var(--font-sans);padding:10px 14px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}.list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.list a{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;display:flex}.list .name{font:400 18px/26px var(--font-serif);flex-grow:1}.list .ended .name{color:var(--ink-muted)}.chat-list a{gap:14px;min-height:76px}.chat-row{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.chat-line{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.chat-list .name{font-size:19px}.chat-list .when{font:400 13px/18px var(--font-sans);color:var(--ink-muted);flex:none}.chat-list .tab-count{flex:none;font-weight:600}.stack-sm{flex-direction:column;gap:6px;display:flex}h2.label,p.label{margin:0}.intro-card{gap:var(--space-6)}.rule{background:var(--line);height:1px}.intro-card .answers{margin-top:0}.intro-card .actions{padding-top:var(--space-6)}.mark{flex:none;width:24px;height:19px;position:relative}.mark span{border:2px solid var(--ink);border-radius:50%;width:11px;height:11px;transition:background-color .4s ease-out,border-color .4s ease-out;position:absolute}.mark span:first-child{top:8px;left:0}.mark span:last-child{top:0;left:13px}.mark.revealed span{border-color:var(--apricot);background:var(--apricot)}.mark.ended span{border-color:var(--line-strong)}.photos{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.photos img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-md);background:var(--sage);width:100%;max-width:100%}.photos img.pending{opacity:.5}.photos.fade-in img{animation:.6s ease-out both fade-in}.photo-list{margin:0;padding:0;list-style:none}.photo-list li{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.photo-preview img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-md);background:var(--sage);width:100%;max-width:320px;display:block}.file-pick{display:inline-flex}.file-pick input{opacity:0;width:1px;height:1px;position:absolute}.conv-head{align-items:center;gap:var(--space-3);display:flex}.conv-head .who{flex-direction:column;flex-grow:1;min-width:0;display:flex}.conv-head .heading{font-weight:400}details summary{cursor:pointer;color:var(--ink-muted);align-items:center;min-height:44px;display:flex}.thread{gap:var(--space-2);flex-direction:column;display:flex}.msg{max-width:80%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.msg.them{border:1px solid var(--line);background:var(--paper-raised);align-self:flex-start}.msg.me{background:var(--sage);align-self:flex-end}.composer{gap:var(--space-2);align-items:flex-end;display:flex}.composer textarea{resize:none;border-radius:22px;padding:10px 16px}.status{align-items:flex-start;gap:var(--space-3);display:flex}.status .mark{margin-top:2px}.reveal-done{color:var(--apricot-ink)}.reveal-moment{z-index:20;justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-8) max(var(--space-6), env(safe-area-inset-right,0px)) var(--space-8) max(var(--space-6), env(safe-area-inset-left,0px));background:var(--forest-field);color:var(--on-forest);text-align:center;flex-direction:column;transition:opacity .4s ease-out;display:flex;position:fixed;inset:0}.reveal-moment.leaving{opacity:0}.eye-swap{width:200px;height:110px;position:relative}.eye-swap svg{transition:opacity .4s ease-out,transform .4s ease-out;position:absolute;inset:0}.eye-swap .eye-open{opacity:0;transform:scaleY(.2)}.eye-swap.open .eye-closed{opacity:0}.eye-swap.open .eye-open{opacity:1;transform:scaleY(1)}.reveal-line{opacity:0;max-width:300px;transition:opacity .4s ease-out}.reveal-line.shown{opacity:1}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
