.letter-entry{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:var(--control-h);padding:var(--s-5) 0;color:var(--red-text);text-decoration-thickness:1px;text-underline-offset:5px}.letter-page{max-width:960px}.letter-paper,.letter-clue{position:relative;padding:var(--s-6);border:var(--bw) solid var(--ink);border-top:var(--bw-bar-lg) solid var(--red);background:var(--paper-raised)}.letter-paper{box-shadow:var(--shadow-print-sm)}.letter-clue{max-width:760px;margin:var(--s-7) 0;scroll-margin-top:calc(var(--nav-h) + var(--s-6))}.home-letter{padding-block:var(--s-5)}.home-letter .letter-clue{margin-inline:auto}.letter-eyebrow{margin:0 0 var(--s-3);color:var(--red-text);font:var(--fs-small) / var(--lh-ui) var(--font-mono)}.letter-paper h1,.letter-clue h2{margin-top:0}.letter-clue h2{font-size:var(--fs-h3)}.letter-opening p,.letter-lines p,.letter-ending p{white-space:pre-line}.letter-clue label{display:block;margin-top:var(--s-5);margin-bottom:var(--s-3);font-weight:700;white-space:pre-line}.letter-sources{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-block:var(--s-4);font-size:var(--fs-small)}.letter-sources a,.letter-read{display:inline-flex;align-items:center;min-height:44px;color:var(--red-text)}.letter-answer-row{display:flex;align-items:stretch;gap:var(--s-3)}.letter-answer-row input{min-width:0;flex:1;font:1rem / var(--lh-ui) var(--font-mono)}.letter-answer-row input[aria-invalid=true]{border-color:var(--red-text)}.letter-hints{display:grid;gap:var(--s-2);margin-top:var(--s-4)}.letter-hints summary{width:fit-content;min-height:var(--control-h);padding-block:var(--s-2);color:var(--muted);font-size:var(--fs-small);cursor:pointer}.letter-hints p{margin:0 0 var(--s-3);padding-left:var(--s-4);border-left:var(--bw) solid var(--line-soft);color:var(--ink-soft);font-size:var(--fs-small)}.letter-instructions,.letter-storage{color:var(--muted);font-size:var(--fs-small)}.letter-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-2);margin:var(--s-5) 0;padding:0;list-style:none;transition:gap .6s ease}.letter-progress li{min-width:0;padding:var(--s-3);border:var(--bw-thin) solid var(--line-soft);transition:transform .6s ease,background-color .6s ease}.letter-progress.is-complete{gap:0}.letter-progress.is-complete li{border-color:var(--red);background:var(--paper)}.letter-progress.is-complete li+li{border-left:0}.letter-sentence{margin-block:var(--s-6);text-align:center;color:var(--red-text);font-size:var(--fs-lead);font-weight:700}.letter-progress small{display:block;color:var(--muted);font-size:var(--fs-label)}.letter-progress strong{display:block;overflow-wrap:anywhere;font:700 var(--fs-small) / 2 var(--font-mono)}.letter-progress .is-collected{border-top:var(--bw-bar) solid var(--red);background:var(--red-wash);animation:letter-unfold .42s ease-out both}.letter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4);margin-top:var(--s-5)}.letter-actions>a:not(.btn){display:inline-flex;align-items:center;min-height:var(--control-h)}[data-letter-copy]{min-width:0;max-width:100%;overflow-wrap:anywhere}.letter-solved strong{color:var(--red-text);font-family:var(--font-mono)}.letter-status{color:var(--red-text);font-size:var(--fs-small)}.letter-status:empty{margin:0}.letter-complete{padding-top:var(--s-6);border-top:var(--bw-bar) solid var(--red);scroll-margin-top:calc(var(--nav-h) + var(--s-6))}.letter-complete h2{margin-top:0}.letter-complete:not([hidden]){animation:letter-unfold .65s ease-out both}.letter-reset{display:block;margin-top:var(--s-6);min-height:44px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-small);text-decoration:underline;cursor:pointer}.letter-clue[hidden],.letter-reset[hidden]{display:none}@keyframes letter-unfold{0%{opacity:0;transform:translateY(10px) rotate(-1deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.letter-progress .is-collected,.letter-complete:not([hidden]){animation:none}.letter-progress li,.letter-progress{transition:none}}@media(max-width:700px){.letter-page{padding-bottom:120px}.letter-clue{margin-bottom:120px}}.letter-key{display:block;padding:var(--s-4);border:var(--bw) solid var(--ink);background:var(--paper);color:var(--ink);font:700 var(--fs-lead) / var(--lh-ui) var(--font-mono);overflow-wrap:anywhere;user-select:all}@media(max-width:599px){.letter-paper,.letter-clue{padding:var(--s-5)}.letter-answer-row{flex-direction:column}.letter-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.letter-progress.is-complete li+li{border-left:var(--bw-thin) solid var(--red)}.letter-actions{align-items:stretch;flex-direction:column}}
