.letter-day{letter-spacing:.01em;color:var(--sky-ink-soft);align-items:center;gap:1rem;font-size:.85rem;line-height:1.5;display:flex}.letter-day:before,.letter-day:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--sky-1) 40%, transparent), transparent);flex:1;height:1px}.letter-signature{font-family:var(--sky-display);color:var(--sky-ink);align-items:center;gap:.6rem;margin:0 .5rem .45rem;font-size:1.05rem;line-height:1.3;display:flex}.letter-bubble{max-width:min(34rem,86%);color:var(--sky-ink);transition:opacity .4s var(--sky-ease);border-radius:clamp(12px,1.4vw,18px);padding:.7rem 1rem .55rem;font-size:1.04rem;line-height:1.6}.letter-bubble-mine{background:color-mix(in srgb, var(--sky-1) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sky-1) 22%, transparent)}.letter-bubble-theirs{background:color-mix(in srgb, var(--sky-ink) 7%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sky-ink) 10%, transparent)}.letter-bubble-mine.letter-bubble-first{border-top-right-radius:6px}.letter-bubble-theirs.letter-bubble-first{border-top-left-radius:6px}.letter-bubble-pending{opacity:.6}.letter-bubble:has(.letter-withdrawing){opacity:.5}@keyframes letter-arrive{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:none}}.letter-new{animation:letter-arrive .7s var(--sky-ease) both}html[data-motion=reduced] .letter-new{animation:none}.letter-body{white-space:pre-wrap;overflow-wrap:anywhere}.letter-meta{color:var(--sky-ink-soft);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.25rem .9rem;margin-top:.2rem;font-size:.85rem;line-height:1.5;display:flex}.letter-withdraw,.letter-answer{color:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--sky-accent) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--sky-accent) 55%, transparent);text-underline-offset:.36em;transition:color .4s var(--sky-ease), opacity .4s var(--sky-ease), text-decoration-color .4s var(--sky-ease);border-radius:999px;text-decoration-thickness:1px}.letter-withdraw:hover,.letter-answer:hover{color:var(--sky-ink);-webkit-text-decoration-color:var(--sky-accent);text-decoration-color:var(--sky-accent)}.letter-withdraw{opacity:0;pointer-events:none}.letter-bubble[data-chosen] .letter-withdraw,.letter-withdraw:focus-visible{opacity:1;pointer-events:auto}@media (hover:hover){.letter-bubble:hover .letter-withdraw{opacity:1;pointer-events:auto}}.letter-question{flex-wrap:wrap;gap:.25rem .75rem;display:inline-flex}.letter-dock{z-index:10;padding:1.5rem 0 max(.75rem, env(safe-area-inset-bottom));margin-top:2.5rem;position:sticky;bottom:0}.letter-dock:before{content:"";z-index:-1;background:linear-gradient(to top, var(--sky-ground) 78%, transparent);pointer-events:none;opacity:0;transition:opacity .4s var(--sky-ease);position:absolute;inset:0 calc(50% - 50vw)}[data-dock-pinned] .letter-dock:before{opacity:1}.letter-composer{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sky-ink) 18%, transparent);transition:box-shadow .4s var(--sky-ease);background:0 0;border-radius:clamp(12px,1.4vw,18px);align-items:flex-end;gap:.6rem;padding:.4rem .4rem .4rem 1.1rem;display:flex}.letter-composer:focus-within{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sky-1) 60%, transparent)}.letter-field{resize:none;min-height:2.75rem;font-family:var(--font-sans);color:var(--sky-ink);caret-color:var(--sky-1);background:0 0;border:0;flex:1;padding:.6rem 0;font-size:1.04rem;line-height:1.55;overflow-y:auto}.letter-field::placeholder{color:var(--sky-ink-soft)}.letter-field:focus{outline:none}.letter-send{width:2.75rem;height:2.75rem;color:var(--sky-ground);background:var(--sky-accent);box-shadow:0 10px 30px -12px color-mix(in srgb, var(--sky-accent) 60%, transparent);cursor:pointer;transition:background-color .4s var(--sky-ease), box-shadow .4s var(--sky-ease), opacity .4s var(--sky-ease);border-radius:999px;flex:none;place-items:center;display:grid}.letter-send:hover:not(:disabled){background:var(--sky-accent-bright);box-shadow:0 16px 40px -12px color-mix(in srgb, var(--sky-accent) 70%, transparent)}.letter-send:disabled{opacity:.35;box-shadow:none;cursor:default}.letter-send:focus-visible{outline:2px solid var(--sky-accent);outline-offset:4px}@keyframes waiting-star-lit{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}.waiting-star{background:var(--sky-1);width:5px;height:5px;box-shadow:0 0 8px color-mix(in srgb, var(--sky-1) 70%, transparent);pointer-events:none;animation:waiting-star-lit 1.2s var(--sky-ease) both;border-radius:9999px;position:absolute;top:-.2em;right:-.6em}html[data-motion=reduced] .waiting-star{animation:none}
