:root{--ink: #2e2617;--muted: #7a7062;--paper: #fffaea;--surface: #ffffff;--accent: #006d94;--accent-hover: #005674;--accent-soft: #d6f7f0;--highlight: #ffeb7f;--highlight-hover: #ffe155;--action: #00739a;--action-hover: #005c7c;--action-ink: #ffffff;--disabled: #dbe4e8;--disabled-ink: #56646b;--attention: #ff8a43;--line: #efe3cb;--danger: #b3261e;--danger-line: #f0b4b0;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-letter: var(--font-ui);--font-code: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", Menlo, "DejaVu Sans Mono", "Courier New", monospace;font-family:var(--font-ui);color-scheme:light;font-size:110%}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}body.no-scroll{overflow:hidden}a{color:var(--accent)}.nav{display:flex;align-items:baseline;gap:1.5rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--line);background:var(--surface)}.nav .brand{font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--accent)}.nav nav{display:flex;gap:1rem}.nav a{color:var(--ink);text-decoration:none}@media (hover: hover){.nav a:hover{text-decoration:underline}}.nav-right{margin-left:auto;display:flex;align-items:center;gap:1rem}.kebab{background:none;color:var(--ink);font-size:1.3rem;line-height:1;padding:.15rem .5rem}.nav-menu{position:fixed;inset:auto;margin:0;min-width:12rem;padding:.35rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 6px 20px #2e261729;flex-direction:column;gap:.1rem}.nav-menu:popover-open{display:flex}.nav-menu .menu-item{display:block;width:100%;text-align:left;background:none;color:var(--ink);border-radius:6px;padding:.6rem .7rem;text-decoration:none}@media (hover: hover){.nav-menu .menu-item:hover{background:var(--accent-soft);text-decoration:none}}.nav-menu hr{width:100%;border:none;border-top:1px solid var(--line);margin:.35rem 0}.nav-menu .menu-confirm{padding:.25rem .7rem .4rem}@supports not selector(:popover-open){.nav-menu{position:static;flex-direction:row;min-width:0;border:none;box-shadow:none;background:none;padding:0}.nav-menu hr,.kebab{display:none}}.profile-id{font-family:var(--font-code);font-size:.85em;font-variant-numeric:slashed-zero;font-feature-settings:"zero" 1;letter-spacing:.04em;background:var(--highlight);color:var(--ink);padding:.15rem .5rem;border-radius:4px;border:none;white-space:nowrap;transition:background .15s ease}button.profile-id{cursor:pointer}.badge{background:var(--accent);color:#fff;border-radius:999px;padding:0 .45rem;font-size:.8rem;display:inline-block;overflow:hidden;line-height:1.25}.page{max-width:46rem;margin:0 auto;padding:1.5rem}.landing{text-align:center;padding-top:3.5rem}.landing h1{margin:0 0 1rem}.landing .lockup{width:20.25rem;max-width:100%;height:auto}.landing-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem}.landing-more{margin-top:1.5rem}.about{text-align:left}.about h3{margin:1.75rem 0 .5rem}.about p{margin:0 0 .75rem}button,.button{font:inherit;background:var(--action);color:var(--action-ink);border:none;border-radius:6px;padding:.5rem 1rem;cursor:pointer;text-decoration:none;display:inline-block}@media (hover: hover){button:hover:not(:disabled),.button:hover{background:var(--action-hover)}button.link:hover,a.link:hover,.tabs button:hover{background:var(--accent-soft)}button.profile-id:hover:not(:disabled){background:var(--highlight-hover)}}button.profile-id.copied:not(:disabled){background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{background:var(--disabled);color:var(--disabled-ink);cursor:default}button.link:disabled{background:none;color:var(--muted)}button.link,a.link,.tabs button{background:none;color:var(--accent);padding:.25rem .5rem;text-decoration:underline}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{text-decoration:none;border-bottom:2px solid transparent;border-radius:0}.tabs button.active{border-bottom-color:var(--accent);font-weight:700}.letter-list{list-style:none;padding:0}.mailbox-group{font-size:1rem;color:var(--muted);margin:1.75rem 0 .25rem}.mailbox-group:first-of-type{margin-top:1rem}.letter-list li{border-bottom:1px solid var(--line)}.letter-row{display:flex;gap:1rem;padding:.75rem .25rem;color:inherit;text-decoration:none;align-items:baseline}.letter-row .who{min-width:10rem;font-weight:700}.letter-row .who .muted{font-weight:400}.letter-row .subject{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row{display:flex;align-items:baseline;gap:.75rem}.person-row .letter-row{flex:1;min-width:0}.person-row .person-all{white-space:nowrap}.letter-list li.unread .letter-row{border-left:3px solid var(--attention);padding-left:.5rem}.letter-list li.unread .subject{font-weight:600}.letter-list li.unread .subject .muted{font-weight:400}.thread-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.thread-header h2{margin:0}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger)}.status{font-style:italic;min-height:1.4em;margin:0}fieldset>.status{min-height:0}.letter footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.letter h2,.letter-body{font-family:var(--font-letter)}.letter-body p{line-height:1.7}.compose .paper-choice{display:flex;flex-direction:row;align-items:center;gap:.4rem;margin-left:.75rem}.paper-toggle{margin:0 0 .5rem;text-align:right}.paper-lined,.compose textarea.paper-lined{--rule: 2.1rem;--font-letter: "Segoe Print", "Bradley Hand", "Chalkboard SE", "Comic Sans MS", cursive;font-family:var(--font-letter);font-size:1.1rem;line-height:var(--rule);--margin: 3.5rem;--margin-ink: rgb(216 104 100 / .32);--rule-width: 1px;--margin-width: calc(var(--rule-width) * 2);--header: calc(var(--rule) * 4 / 3);--ruling-shift: calc(var(--header) - var(--rule));background-color:var(--surface);background-image:linear-gradient(to right,transparent 0,transparent calc(var(--margin) - var(--margin-width)),var(--margin-ink) calc(var(--margin) - var(--margin-width)),var(--margin-ink) var(--margin),transparent var(--margin)),linear-gradient(to bottom,var(--surface) 0,var(--surface) var(--header),transparent var(--header)),linear-gradient(to bottom,transparent 0,transparent calc(var(--rule) - var(--rule-width)),var(--accent-soft) calc(var(--rule) - var(--rule-width)),var(--accent-soft) var(--rule));background-size:auto auto,auto auto,100% var(--rule);background-repeat:no-repeat,no-repeat,repeat;background-position:0 0,0 0,0 var(--ruling-shift);background-attachment:local;padding:calc(var(--header) + .35rem) 1rem 1rem calc(var(--margin) + .75rem);border-radius:4px;border:1px solid var(--line)}.letter-body.paper-lined p{line-height:var(--rule);margin:0 0 var(--rule)}.letter-body.paper-lined p:last-child{margin-bottom:0}.letter-body.paper-lined h1,.letter-body.paper-lined h2,.letter-body.paper-lined h3,.letter-body.paper-lined blockquote,.letter-body.paper-lined pre,.letter-body.paper-lined .inline-image{background:var(--surface)}.paper-floral,.compose textarea.paper-floral{--font-letter: Georgia, "Iowan Old Style", "Palatino Linotype", serif;font-family:var(--font-letter);font-size:1.05rem;--rule: 2.1rem;--rule-width: 1px;--rule-ink: rgb(214 160 175 / .38);line-height:var(--rule);--header: 3.6rem;--footer: 2.8rem;--ruling-shift: calc(var(--header) - var(--rule));background-color:var(--paper);background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='46' viewBox='0 0 120 46'><path d='M0 34C20 24 40 44 60 34C80 24 100 44 120 34' fill='none' stroke='%239db98d' stroke-width='1.5'/><g fill='%239db98d'><ellipse cx='9' cy='32' rx='2.2' ry='4.8' transform='rotate(-42 9 32)'/><ellipse cx='37' cy='34' rx='2.2' ry='4.8' transform='rotate(38 37 34)'/><ellipse cx='47' cy='37' rx='1.9' ry='4.1' transform='rotate(-28 47 37)'/><ellipse cx='75' cy='31' rx='2.2' ry='4.8' transform='rotate(42 75 31)'/><ellipse cx='110' cy='33' rx='2.2' ry='4.8' transform='rotate(-38 110 33)'/></g><g fill='%23d98fa4'><circle cx='20' cy='16.6' r='3.6'/><circle cx='25.14' cy='20.33' r='3.6'/><circle cx='23.17' cy='26.37' r='3.6'/><circle cx='16.83' cy='26.37' r='3.6'/><circle cx='14.86' cy='20.33' r='3.6'/><circle cx='96' cy='14.79' r='2.81'/><circle cx='100.01' cy='17.7' r='2.81'/><circle cx='98.47' cy='22.41' r='2.81'/><circle cx='93.53' cy='22.41' r='2.81'/><circle cx='91.99' cy='17.7' r='2.81'/></g><g fill='%23c9a6cf'><circle cx='58' cy='21.25' r='3.17'/><circle cx='62.52' cy='24.53' r='3.17'/><circle cx='60.79' cy='29.85' r='3.17'/><circle cx='55.21' cy='29.85' r='3.17'/><circle cx='53.48' cy='24.53' r='3.17'/></g><g fill='%23f0cf7a'><circle cx='20' cy='22' r='2'/><circle cx='96' cy='19' r='1.6'/><circle cx='58' cy='26' r='1.8'/></g></svg>"),url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='36' viewBox='0 0 120 36'><path d='M0 12C20 22 40 2 60 12C80 22 100 2 120 12' fill='none' stroke='%239db98d' stroke-width='1.4'/><g fill='%239db98d'><ellipse cx='14' cy='18' rx='2' ry='4.3' transform='rotate(35 14 18)'/><ellipse cx='48' cy='9' rx='2' ry='4.3' transform='rotate(-35 48 9)'/><ellipse cx='72' cy='18' rx='2' ry='4.3' transform='rotate(38 72 18)'/><ellipse cx='104' cy='9' rx='2' ry='4.3' transform='rotate(-32 104 9)'/></g><g fill='%23d98fa4'><circle cx='31' cy='16.11' r='2.59'/><circle cx='34.7' cy='18.8' r='2.59'/><circle cx='33.28' cy='23.15' r='2.59'/><circle cx='28.72' cy='23.15' r='2.59'/><circle cx='27.3' cy='18.8' r='2.59'/></g><g fill='%23c9a6cf'><circle cx='87' cy='17.54' r='2.3'/><circle cx='90.29' cy='19.93' r='2.3'/><circle cx='89.03' cy='23.8' r='2.3'/><circle cx='84.97' cy='23.8' r='2.3'/><circle cx='83.71' cy='19.93' r='2.3'/></g><g fill='%23f0cf7a'><circle cx='31' cy='20' r='1.5'/><circle cx='87' cy='21' r='1.3'/></g></svg>"),linear-gradient(to bottom,var(--paper) 0,var(--paper) var(--header),transparent var(--header)),linear-gradient(to top,var(--paper) 0,var(--paper) var(--footer),transparent var(--footer)),linear-gradient(to bottom,transparent 0,transparent calc(var(--rule) - var(--rule-width)),var(--rule-ink) calc(var(--rule) - var(--rule-width)),var(--rule-ink) var(--rule));background-size:120px 46px,120px 36px,auto auto,auto auto,100% var(--rule);background-repeat:round no-repeat,round no-repeat,no-repeat,no-repeat,repeat;background-position:0 6px,0 calc(100% - 5px),0 0,0 0,0 var(--ruling-shift);background-attachment:local;padding:calc(var(--header) + .35rem) 1.15rem calc(var(--footer) + .4rem);border-radius:4px;border:1px solid var(--line)}.letter-body.paper-floral p{line-height:var(--rule);margin:0 0 var(--rule)}.letter-body.paper-floral p:last-child{margin-bottom:0}.letter-body.paper-floral h1,.letter-body.paper-floral h2,.letter-body.paper-floral h3,.letter-body.paper-floral blockquote,.letter-body.paper-floral .inline-image{background:var(--paper)}.letter-body.paper-floral code,.letter-body.paper-floral pre,.letter-body.paper-floral th{background:var(--surface)}.letter-body h1,.letter-body h2,.letter-body h3{font-size:1.15rem;margin:1.2rem 0 .4rem}.letter-body ul,.letter-body ol{padding-left:1.4rem;line-height:1.7}.letter-body blockquote{margin:.8rem 0;padding-left:.9rem;border-left:3px solid var(--accent-soft);color:var(--muted)}.letter-body code{font-family:Courier New,monospace;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:.05rem .3rem;font-size:.9em}.letter-body pre{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:.75rem;overflow-x:auto}.letter-body pre code{border:none;background:none;padding:0}.letter-body a{color:var(--accent);overflow-wrap:anywhere}.letter-body table{border-collapse:collapse;margin:.8rem 0;display:block;overflow-x:auto}.letter-body th,.letter-body td{border:1px solid var(--line);padding:.35rem .6rem;text-align:left}.letter-body th{background:var(--paper)}.letter-body hr{border:none;border-top:1px solid var(--line);margin:1.5rem 0}.reply-target{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--accent-soft);border-radius:6px;padding:.75rem 1rem;max-height:22rem;overflow-y:auto}.reply-target h3{margin:0 0 .5rem;font-size:1rem}.reply-target-earlier{border-top:1px dashed var(--line);margin-top:.75rem;padding-top:.75rem}.draft-notice{border:1px solid var(--line);border-left:3px solid var(--accent-soft);border-radius:6px;padding:.6rem .9rem}.draft-notice p{margin:0}.draft-notice p+p{margin-top:.35rem}.draft-conflict{border-left-color:var(--accent)}.draft-conflict-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:.6rem 0}.other-drafts ul{list-style:none;padding:0;margin:.4rem 0 0}.other-drafts li+li{margin-top:.5rem}.draft-preview{margin:.15rem 0 0;color:var(--muted);font-style:italic;overflow-wrap:anywhere}.editor{display:flex;flex-direction:column;gap:.5rem}.editor-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.editor-toolbar button{min-width:2rem;text-decoration:none}.editor-preview{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:.75rem 1rem;min-height:12rem}.editor-expand{margin-left:auto}.compose.expanded{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--paper);padding:1rem;gap:.75rem;overflow-y:auto}.compose.expanded>*{width:100%;max-width:60rem;margin-inline:auto}.compose.expanded>h2,.compose.expanded>.reply-target,.compose.expanded>label,.compose.expanded>.compose-tools,.compose.expanded>.attachments,.compose.expanded>p.muted,.compose.expanded .editor-heading{display:none}.compose.expanded .editor{flex:1;min-height:0}.compose.expanded .editor textarea,.compose.expanded .editor-preview{flex:1;min-height:0;height:auto;resize:none;overflow-y:auto}.compose.expanded>button{flex:none}.inline-image{max-width:100%;border-radius:4px;display:block;margin:.5rem 0}.context{margin-top:2rem;border-top:1px dashed var(--line);padding-top:1rem}.context details{margin-bottom:.75rem}.compose,.settings{display:flex;flex-direction:column;gap:1rem}.compose>h2,.settings>h2{margin-bottom:0}.compose label,.settings label{display:flex;flex-direction:column;gap:.3rem}.compose label.button{display:inline-block;flex:none;white-space:nowrap}.compose input,.compose select,.compose textarea,.settings input,.add-friend input,.keygate input,.nickname-edit input{font:inherit;font-size:1rem;padding:.5rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);max-width:100%}input[type=checkbox],input[type=radio]{font-size:inherit;width:auto;padding:0;margin:0;border:none;border-radius:0;background:none;flex:none;accent-color:var(--accent)}.compose-tools{display:flex;align-items:center;gap:1rem}.attachments{list-style:none;padding:.5rem 0}.sent-confirmation{border:1px solid var(--accent);border-left-width:4px;border-radius:8px;background:var(--accent-soft);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.sent-confirmation h2{margin:0;color:var(--accent)}.sent-confirmation p{margin:0}.sent-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.25rem}.add-friend{display:flex;gap:.5rem}.add-friend input{flex:1}.profile-id-input{font-family:var(--font-code);font-variant-numeric:slashed-zero;font-feature-settings:"zero" 1;letter-spacing:.04em;text-transform:uppercase}.profile-id-input::placeholder{text-transform:none;letter-spacing:normal}fieldset{border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:1rem .75rem .5rem}fieldset:not(:has(>.status)){padding-bottom:1rem}fieldset>p{margin:0}fieldset>button{margin-top:.5rem}.subgroup{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem}.subgroup-label{display:block}fieldset label.radio{flex-direction:row!important;align-items:center;gap:.5rem}fieldset label.checkbox{flex-direction:row;align-items:center;justify-content:flex-start}.experiment{display:grid;grid-template-columns:auto 1fr;column-gap:.5rem;align-items:baseline}.experiment>label{display:block;grid-column:2}.experiment>.muted{grid-column:2;margin:.1rem 0 .35rem}.keygate{display:flex;flex-direction:column;gap:1rem;max-width:28rem;margin:2rem auto}.keygate label{display:flex;flex-direction:column;gap:.5rem}.keygate label.checkbox{flex-direction:row;align-items:center;justify-content:center;gap:.5rem}.recovery-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.recovery-code{font-family:var(--font-code);font-variant-numeric:slashed-zero;font-feature-settings:"zero" 1;font-size:1.15rem;letter-spacing:.05em;background:var(--highlight);padding:.75rem;border-radius:6px;text-align:center;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.checkbox{display:flex;align-items:center;gap:.5rem}.friends li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;padding:.3rem 0}.friend-who,.friend-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.friend-label{font-weight:700}.friend-id{font-family:var(--font-code);font-variant-numeric:slashed-zero;font-feature-settings:"zero" 1;font-size:.8em;color:var(--muted)}.friend-list{border-top:1px solid var(--line);padding-top:1rem;margin-top:.5rem}.nickname-edit,.confirm-inline{display:inline-flex;gap:.4rem;align-items:baseline;flex-wrap:wrap}.confirm-inline button.danger{padding:.2rem .6rem;font-size:.9em}fieldset.danger{border-color:var(--danger-line)}button.danger{background:var(--danger);color:#fff}@media (max-width: 640px){.nav{flex-wrap:wrap;gap:.5rem 1rem;padding:.6rem 1rem}.nav nav{order:3;width:100%;justify-content:space-between;gap:.5rem}.nav-right{gap:.5rem}.page{padding:1rem}.landing{padding-top:2.5rem}.letter-row{flex-direction:column;align-items:stretch;gap:.15rem}.letter-row .who{min-width:0}.person-row{flex-wrap:wrap;gap:.25rem .75rem}.person-row .letter-row{flex-basis:100%}.person-row .person-all{padding-left:0}.compose-tools{flex-direction:column;align-items:flex-start;gap:.5rem}.add-friend{flex-direction:column}.friends li{flex-direction:column;align-items:stretch;gap:.15rem;padding:.6rem 0}.friends li+li{border-top:1px solid var(--line)}.friends li .friend-actions:has(>.link:first-child){margin-left:-.5rem}button,.button{padding:.65rem 1.1rem}button.link{padding:.4rem .5rem}}.excerpt-field textarea{font-size:.95rem;resize:vertical}.excerpt-input{display:flex;align-items:flex-start;gap:.4rem}.excerpt-input textarea{flex:1;min-width:0}.excerpt-refresh{flex:none;padding:.4rem .7rem;font-size:1.1rem;line-height:1.2;background:var(--surface);color:var(--accent);border:1px solid var(--line)}@media (hover: hover){.excerpt-refresh:hover:not(:disabled){background:var(--accent-soft)}}.invite-card{background:var(--accent-soft);border-radius:8px;padding:.9rem 1rem;margin:.5rem 0 1rem}.invite-card p{margin:0 0 .5rem}.invite-card p:last-of-type{margin-bottom:.75rem}.invite-card-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem}.invitations{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem}.invitations h4{margin:1.25rem 0 .25rem;color:var(--muted);font-size:.9em}.invite-list{list-style:none;padding:0;margin:.5rem 0 0}.invite-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;padding:.3rem 0}.invite-page{max-width:34rem}.invite-page .invite-for{display:flex;flex-direction:column;gap:.35rem;margin:1rem 0}.invite-page .invite-for input{font:inherit;font-size:1rem;padding:.5rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);max-width:100%}.invite-page-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:.75rem 0}.invite-code{font-family:var(--font-code);font-variant-numeric:slashed-zero;font-feature-settings:"zero" 1;font-size:1.6rem;letter-spacing:.05em;margin:.5rem 0;-webkit-user-select:all;user-select:all}.open-link{border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}.open-link h4{margin:0 0 .25rem}.open-link p{margin:0 0 .75rem}
