.letter-page{align-items:center;display:flex;flex-direction:column;gap:clamp(2.5rem,7vh,4.5rem);min-height:calc(100dvh - var(--topbar-h));padding-bottom:var(--space-section);padding-top:clamp(2rem,6vh,4rem)}.letter-eyebrow{align-self:flex-start;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-micro)}.letter-eyebrow span{font-family:var(--font-sans)}.mute{color:var(--ink-3)}.letter-topic{align-items:center;display:flex;flex-direction:column;gap:1.75rem;margin-top:clamp(1rem,6vh,4rem);text-align:center}.letter-prompt{font-size:var(--text-display);font-weight:500;letter-spacing:-.03em;line-height:1.05}.letter-prompt .brace{color:var(--ink-3);font-weight:400}.letter-group{white-space:nowrap}.letter-label{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-micro);margin-bottom:.375rem}.letter-field:focus-within .letter-label{color:var(--ink)}.letter-word{animation:land var(--dur) var(--ease-out) both;display:inline-block}.letter-caret{animation:caret 1s steps(1) infinite;background:var(--ink);display:inline-block;height:.82em;margin-left:.06em;vertical-align:-.06em;width:3px}@keyframes caret{50%{opacity:0}}.letter-topics{display:flex;flex-wrap:wrap;gap:.25rem 1rem;justify-content:center;position:relative}.letter-topic-btn{color:var(--ink-3);font-size:var(--text-body-sm);height:2.75rem;padding:0 .5rem;transition:color var(--dur) var(--ease-out)}.letter-topic-btn.is-on,.letter-topic-btn:hover{color:var(--ink)}.letter-topic-btn:focus-visible{color:var(--ink);outline:none}.letter-sheet{transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out);width:min(100%,40rem)}.letter-sheet.is-folded{height:0;opacity:0;overflow:hidden;transform:translateY(-8px) scaleY(.96)}.letter-form{display:flex;flex-direction:column;gap:2rem}.letter-field{display:inline-flex;flex-direction:column;min-width:0;position:relative}.letter-field input,.letter-field textarea{background:#0000;background-image:linear-gradient(to right,var(--line-strong) 50%,#0000 50%);background-position:0 100%;background-repeat:repeat-x;background-size:8px 1px;border:0;color:var(--ink);font:inherit;outline:none;transition:background-image var(--dur) var(--ease-out);width:100%}.letter-field input:focus,.letter-field textarea:focus{background-image:linear-gradient(to right,var(--ink) 50%,#0000 50%)}.letter-field input::placeholder,.letter-field textarea::placeholder{color:var(--ink-3)}.letter-field [aria-invalid=true]{background-image:linear-gradient(90deg,#e5484d 50%,#0000 0)}.letter-body textarea{background-image:repeating-linear-gradient(to bottom,#0000 0 calc(2rem - 1px),var(--line-strong) calc(2rem - 1px) 2rem);background-position:0 0;background-repeat:repeat;background-size:auto;font-size:var(--text-h3);line-height:2rem;-webkit-mask-image:none;min-height:10rem;resize:none}.letter-body textarea:focus{background-image:repeating-linear-gradient(to bottom,#0000 0 calc(2rem - 1px),var(--ink-3) calc(2rem - 1px) 2rem)}.letter-sign{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:var(--text-body);gap:1.25rem 2rem}.letter-sign .letter-field{flex:1 1 10rem}.letter-sign input{height:2.5rem}.letter-error{color:#c4343a;font-family:var(--font-mono);font-size:var(--text-micro);margin-top:.4rem}.letter-send-row{display:flex;justify-content:flex-end}.letter-send{color:var(--ink);font-size:var(--text-body);font-weight:500;height:2.75rem;padding:0 .75rem}.letter-send .mute{font-family:var(--font-mono);font-size:var(--text-micro);margin-left:.4rem}.letter-report{display:flex;flex-direction:column;gap:1rem;width:min(100%,40rem)}.letter-report-head{font-size:var(--text-h2);font-weight:500;letter-spacing:-.015em}.letter-rows>li{font-size:.9375rem;font-weight:500;padding:.45rem 0}.letter-rows>li:before{top:1.15em}.letter-rows .mute{font-weight:400}.letter-rows .sq{display:inline-block;height:.6rem;margin-right:.6rem;vertical-align:.05em;width:.6rem}.letter-rows .dots:after{animation:dots 1s steps(3) infinite;content:"…";display:inline-block;overflow:hidden;vertical-align:bottom;width:1em}@keyframes dots{0%{width:0}to{width:1em}}.letter-link{align-self:flex-start;color:var(--ink-2);font-size:var(--text-body-sm);height:2.75rem;margin-left:2.2rem;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px}.letter-link:hover{color:var(--ink)}.letter-elsewhere{font-size:var(--text-body-sm);margin-top:auto;text-align:center}.letter-elsewhere a,.letter-elsewhere button{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px}.letter-elsewhere a:hover,.letter-elsewhere button:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.letter-elsewhere button .mute{text-decoration:none}@media (max-width:640px){.letter-prompt{font-size:var(--text-h1)}.letter-body textarea{background-image:repeating-linear-gradient(to bottom,#0000 0 calc(1.75rem - 1px),var(--line-strong) calc(1.75rem - 1px) 1.75rem);font-size:var(--text-body);line-height:1.75rem}}@media (prefers-reduced-motion:reduce){.letter-caret,.letter-rows .dots:after,.letter-word{animation:none}.letter-sheet{transition:none}}