.letter-index{position:fixed;left:2rem;top:50%;transform:translateY(-50%);z-index:40;opacity:0;transition:opacity .4s ease;pointer-events:none}.letter-index.visible{opacity:1;pointer-events:auto}.letter-index ul{list-style:none;padding:0;margin:0}.letter-index li{margin:0}.letter-index a{display:block;padding:.3rem .75rem;font-family:Salted,Salted Fallback,cursive;font-size:.875rem;letter-spacing:.02em;color:var(--ink-faint);text-decoration:none;border-left:2px solid transparent;transition:color .3s ease,border-color .3s ease,transform .3s ease;white-space:nowrap}.letter-index a:hover{color:var(--ink)}.letter-index a.active{color:var(--accent);border-left-color:var(--accent);transform:translate(2px)}.index-num{display:inline-block;width:1.5em;color:var(--ink-faint);font-size:.625rem;font-weight:400;opacity:.6}.letter-index a.active .index-num{color:var(--accent-light);opacity:1}.letter .masthead{padding:3rem 2rem 0;text-align:center;background:var(--paper)}.letter .masthead-rule{height:3px;background:var(--ink);max-width:680px;margin:0 auto}.letter .masthead-rule.thin{height:1px;background:var(--rule)}.letter .masthead-inner{padding:2.5rem 0 1.5rem;max-width:680px;margin:0 auto}.letter .masthead-date{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1.5rem}.letter .masthead-title{font-family:IM Fell English,Georgia,serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:400;line-height:1.1;color:var(--ink);letter-spacing:-.01em;margin-bottom:.75rem}.letter .masthead-sub{font-family:IM Fell English,Georgia,serif;font-style:italic;font-size:clamp(1rem,2.5vw,1.375rem);color:var(--ink-faint)}.letter .masthead-preamble{max-width:680px;margin:0 auto;padding:1.25rem 0;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.letter .masthead-preamble span{font-size:.8125rem;color:var(--ink-faint);letter-spacing:.03em}.letter .section:nth-child(2n){background:var(--paper-alt);border-top:none}.letter .section:nth-child(2n)+.section{border-top:none}.letter .section-text{padding:3.5rem 0 0}.letter .section-charts{padding:0 0 3rem}.letter .section-label{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.5rem}.letter h2{font-family:Salted,Salted Fallback,cursive;font-size:1.875rem;font-weight:400;color:var(--ink);line-height:1.25;margin-bottom:1.75rem}.letter .tape-effect{position:relative;display:inline-block;padding:.15em .6em;z-index:1}.letter .tape-effect:before{content:"";position:absolute;inset:-10% -.8em -15%;background:#e6dc8cd9;z-index:-1;transform:rotate(-.4deg);filter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='tape'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02 0.065' numOctaves='5' seed='7'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='6'/%3E%3C/filter%3E%3C/svg%3E#tape")}.letter .tape-effect:after{content:"";position:absolute;inset:-10% -.8em -15%;z-index:-1;transform:rotate(-.4deg);box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #00000014;background:repeating-linear-gradient(90deg,transparent,rgba(255,255,255,.03) 2px,transparent 4px);filter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='fray'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02 0.065' numOctaves='5' seed='7'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='6'/%3E%3C/filter%3E%3C/svg%3E#fray")}.letter h3{font-family:IM Fell English,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--ink);margin-top:2.5rem;margin-bottom:1rem}.letter p{margin-bottom:1.5rem}.letter strong{color:var(--ink);font-weight:700}.letter em{font-style:italic;color:var(--ink-faint)}.letter .tape-effect a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--rule);transition:border-color .2s}.letter .tape-effect a:hover{border-bottom-color:var(--accent)}.letter .stat-danger{color:var(--danger);font-weight:700}.letter .stat-hope{color:var(--accent);font-weight:700}.letter .salutation{font-family:IM Fell English,Georgia,serif;font-style:italic;font-size:1.125rem;color:var(--ink-light);text-align:center;margin-bottom:2.5rem;letter-spacing:.02em}.letter .drop-cap:first-letter{font-family:IM Fell English,Georgia,serif;float:left;font-size:4rem;line-height:.8;padding-right:.5rem;padding-top:.25rem;color:var(--ink)}.letter .closing-line{font-family:IM Fell English,Georgia,serif;font-style:italic;font-size:1.125rem;color:var(--ink);text-align:center;margin-top:2rem;line-height:1.9}.letter .chart-wrap{margin:2.5rem 0;padding:1.75rem;background:transparent}.letter .chart-title{font-family:Nunito Sans,sans-serif;font-size:.8125rem;font-weight:700;color:var(--ink);margin-bottom:.125rem}.letter .chart-subtitle{font-size:.6875rem;color:var(--ink-faint);margin-bottom:1.25rem}.letter .chart-source{font-size:.625rem;color:var(--ink-faint);margin-top:.75rem;text-align:right;letter-spacing:.02em}.letter .chart-source a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent-light)}.letter .chart-source a:hover{color:var(--accent-mid);border-bottom-color:var(--accent-mid)}.letter svg text{font-family:Nunito Sans,-apple-system,sans-serif}.letter .donut-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;justify-content:center}.letter .donut-legend-item{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--ink-light)}.letter .donut-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.letter .separator{text-align:center;padding:2.5rem 0;color:var(--ink-faint);letter-spacing:.3em;font-size:1.25rem}.letter .colophon{padding:3.5rem 0;text-align:center;border-top:3px solid var(--ink);background:var(--paper)}.letter .colophon-note{font-size:.8125rem;color:var(--ink-faint);margin-bottom:2rem;line-height:1.9;max-width:520px;margin-left:auto;margin-right:auto}.letter .colophon-org{font-family:IM Fell English,Georgia,serif;font-size:1.25rem;color:var(--ink)}.letter .colophon-tagline{font-size:.8125rem;color:var(--ink-faint);margin-top:.25rem}.letter .colophon-location{font-size:.6875rem;color:var(--ink-faint);margin-top:1rem;letter-spacing:.08em}.letter .axis line,.letter .axis path{stroke:var(--rule)}.letter .axis text{fill:var(--ink-faint);font-size:10px}.letter .grid line{stroke:var(--rule-light);stroke-dasharray:2 4;opacity:.7}.letter .grid path{display:none}.letter .tooltip{position:absolute;pointer-events:none;background:var(--paper);border:1px solid var(--rule);padding:.5rem .75rem;font-size:.6875rem;font-family:Nunito Sans,sans-serif;color:var(--ink);opacity:0;transition:opacity .15s;z-index:100;white-space:nowrap;box-shadow:0 2px 8px #0000000f}.letter .stat-link{text-decoration:none;color:inherit;border-bottom:1px dotted var(--danger-light);transition:border-color .2s}.letter .stat-link:hover{border-color:var(--danger)}.letter .stat-link:has(.stat-hope){border-bottom-color:var(--accent-light)}.letter .stat-link:has(.stat-hope):hover{border-bottom-color:var(--accent)}.letter .section-nav{max-width:680px;margin:0 auto;padding:2.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule-light)}.letter .section-nav a{font-size:.8125rem;font-weight:600;color:var(--accent);text-decoration:none;transition:color .2s}.letter .section-nav a:hover{color:var(--accent-mid)}.letter .section-nav .nav-label{font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);display:block}.letter .section-nav .nav-title{display:block}.letter .section-nav .nav-next{text-align:right;margin-left:auto}.letter .detail{border-top:1px solid var(--rule-light)}.letter .detail h3{font-family:Salted,Salted Fallback,Playfair Display,serif;font-size:1.35rem;color:var(--ink);margin:2.5rem 0 1rem;letter-spacing:.01em}.letter .detail h4{font-size:.95rem;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.06em;margin:2rem 0 .75rem}.letter .data-table{width:100%;border-collapse:collapse;margin:1.25rem 0 2rem;font-size:.9375rem;line-height:1.6}.letter .data-table thead th{text-align:left;font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);border-bottom:2px solid var(--rule);padding:.5rem .75rem}.letter .data-table tbody td{padding:.5rem .75rem;border-bottom:1px solid var(--rule-light);vertical-align:top}.letter .data-table tbody tr:last-child td{border-bottom:none}.letter .data-table .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.letter .data-table .stat-danger{color:var(--danger);font-weight:700}.letter .data-table .stat-hope{color:var(--accent-mid);font-weight:700}.letter .source-list{list-style:none;padding:0;margin:1rem 0 2rem}.letter .source-list li{padding:.35rem 0;border-bottom:1px solid var(--rule-light);font-size:.875rem;line-height:1.5}.letter .source-list li:last-child{border-bottom:none}.letter .source-list a{color:var(--accent-mid);text-decoration:none;border-bottom:1px dotted var(--accent-light)}.letter .source-list a:hover{color:var(--accent);border-bottom-style:solid}.letter .back-link{display:inline-block;margin-top:2rem;font-size:.875rem;color:var(--ink-faint);text-decoration:none;border-bottom:1px dotted var(--rule)}.letter .back-link:hover{color:var(--accent-mid);border-bottom-color:var(--accent-mid)}@media (max-width: 1200px){.letter .letter-index{display:none}}@media (max-width: 600px){.letter .section-text{padding:2rem 0 0}.letter .chart-wrap{padding:1.25rem;margin:2rem -.5rem}.letter .col{padding:0 1.25rem}.letter .masthead-preamble{flex-direction:column;gap:.5rem;align-items:center}}
