:root{--bg-canvas:#f4f1ea;--bg-card:#f8f6f2;--bg-cream:#f8f6f2;--bg-soft:#edeae1;--ink:#111;--ink-2:#111;--ink-soft:#2e4057;--ink-mute:#2e4057;--ink-faint:#2e4057;--ink-fainter:#6b7a8c;--ink-faintest:#5f6b7a;--line:1.7;--line-strong:#d3dce6;--line-hover:#e2e8ef;--accent:#a9c6d9;--accent-soft:#1b5b7d;--accent-solid:#2e4057;--danger:#b85b43;--font-sans:"Inter", "Helvetica Neue", Arial, sans-serif;--font-serif:"Newsreader", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--serif:var(--font-serif);--mono:var(--font-mono);--body-size:1.05rem;--measure:68ch}[data-theme=dark]{--bg-canvas:#161618;--bg-card:#202023;--bg-cream:#202023;--bg-soft:#1b1b1e;--ink:#f2f0ec;--ink-2:#e8e6e1;--ink-soft:#a9a7a1;--ink-mute:#a9a7a1;--ink-faint:#8a8883;--ink-fainter:#6e6c68;--ink-faintest:#8e8c87;--line:#33333a;--line-strong:#3a3a41;--line-hover:#2c2c31;--accent:#a9c6d9;--accent-soft:#a9c6d9;--accent-solid:#1b5b7d;--danger:#e5484d;--btn-ink-fg:#161618}[data-theme=dark] .site-header{background:#161618eb}[data-theme=dark] .header-search input{background:#202023e6;box-shadow:inset 0 1px 2px #0006}[data-theme=dark] .header-search input:focus-visible{background:var(--bg-card)}[data-theme=dark] .header-search button{color:var(--ink-faint)}[data-theme=dark] .header-search button:hover{color:var(--ink)}[data-theme=dark] .submit-btn,[data-theme=dark] .admin-login button{background:var(--ink);color:var(--btn-ink-fg)}[data-theme=dark] .submit-btn:hover,[data-theme=dark] .admin-login button:hover{background:var(--accent-soft);color:#161618}[data-theme=dark] .cd-keep{background:var(--accent-soft);color:#161618;border-color:var(--accent-soft)}[data-theme=dark] .cd-keep:hover{background:var(--accent);color:#161618}[data-theme=dark] .header-link-btn,[data-theme=dark] .pill.active,[data-theme=dark] .pill.search-pill:hover,[data-theme=dark] .load-more-btn:hover:not(:disabled),[data-theme=dark] .submit-btn,[data-theme=dark] .admin-login button,[data-theme=dark] .admin-tabs button.active{color:#fff}[data-theme=dark] .load-more-btn:hover:not(:disabled){border-color:var(--accent-solid)}[data-theme=dark] .header-link-btn,[data-theme=dark] .pill.active,[data-theme=dark] .pill.search-pill:hover{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}[data-theme=dark] .header-link-btn:hover{background:var(--accent-soft);color:#161618}[data-theme=dark] .felt-row.felt-active label,[data-theme=dark] .felt-count,[data-theme=dark] .confirm .confirm-warn,[data-theme=dark] .report-modal .report-note,[data-theme=dark] .admin-batch-count{color:var(--accent-soft)}[data-theme=dark] .confirm .confirm-warn,[data-theme=dark] .report-modal .report-note{border-color:var(--accent);background:#a9c6d924}[data-theme=dark] .admin-tabs button.active{background:var(--ink);color:var(--btn-ink-fg);border-color:var(--ink)}[data-theme=dark] .modal-card .close-btn{color:var(--ink)}[data-theme=dark] .modal-card .close-btn:hover{color:var(--accent)}[data-theme=dark] .pii-notice{color:#c3d6e4;background:#1e2733;border-color:#3a4a5c}[data-theme=dark] .crisis-modal .cm-heart{color:#a9c6d9;background:#22303c}[data-theme=dark] .empty-state{background:#20202380}[data-theme=dark] .admin-post .ap-status.pending{color:#e0b34c}[data-theme=dark] .admin-post .ap-status.approved{color:#6fd39a}[data-theme=dark] .modal-card .close-btn{border-color:var(--line-strong);background:#202023e6}[data-theme=dark] ::selection{background:#a9c6d94d}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--body-size);line-height:var(--line);color:var(--ink);background-color:var(--bg-canvas);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--ink);font-weight:500;line-height:1.2}a{color:inherit}::selection{background:#a9c6d973}@keyframes riseIn{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0}}.section p,.section h2,.section h3,.reveal{animation:linear both riseIn;animation-timeline:view();animation-range:entry cover 40%}@media (prefers-reduced-motion:reduce){.section p,.section h2,.section h3,.reveal{animation:none}}.site-header{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f4f1eaeb;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;max-width:1152px;margin:0 auto;padding:1rem 1.5rem;display:flex}.brand{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:var(--ink);cursor:pointer;align-items:baseline;gap:.6rem;font-size:1.15rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.brand:hover{color:var(--accent-soft)}.brand em{font-style:normal}.header-center{flex:1;min-width:200px;max-width:26rem;margin:0 auto}.header-search{align-items:center;width:100%;display:flex;position:relative}.header-search input{border:1px solid var(--line-strong);width:100%;color:var(--ink);font-family:var(--mono);background:#ffffffe6;border-radius:999px;outline:none;padding:.6rem 1.1rem;font-size:.8rem;transition:border-color .2s,background .2s;box-shadow:inset 0 1px 2px #0000000a}.header-search input::placeholder{color:var(--ink-fainter);font-family:var(--font-sans)}.header-search input:focus-visible{border-color:var(--accent-soft);background:var(--bg-card)}.header-search button{color:var(--ink-faint);font-family:var(--mono);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;font-size:.75rem;transition:color .2s;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.header-search button:hover{color:var(--ink)}.header-links{font-family:var(--mono);white-space:nowrap;align-items:center;gap:1rem;font-size:.75rem;display:flex}.header-links a{opacity:.7;color:var(--ink);text-decoration:none}.header-links a:hover{opacity:1;text-decoration:underline}.theme-toggle{border:1px solid var(--line-strong);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .2s,color .2s;display:inline-flex}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-toggle:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.header-link-btn{background:var(--accent-solid);color:#fafafa;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:none;border-radius:999px;padding:.55rem 1.3rem;font-size:.72rem;transition:background .2s}.header-link-btn:hover{background:var(--accent-soft)}.menu-btn{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:border-color .2s,color .2s;display:inline-flex}.menu-btn:hover{border-color:var(--ink);color:var(--ink)}.menu-btn:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.menu-bars{flex-direction:column;gap:4px;width:16px;display:flex}.menu-bars span{background:currentColor;border-radius:2px;width:100%;height:1.5px;display:block}.menu-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:110;background:#1c1c1a73;animation:.2s fadeIn;position:fixed;inset:0}.menu-drawer{background:var(--bg-cream);width:min(24rem,90vw);height:100%;color:var(--ink);border-left:1px solid var(--line-strong);z-index:120;visibility:hidden;flex-direction:column;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-18px 0 50px #0000002e}.menu-drawer.open{visibility:visible;transform:translate(0)}@media (prefers-reduced-motion:reduce){.menu-drawer{transition:none}}.menu-drawer-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.5rem;display:flex}.menu-drawer-brand{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);font-size:.85rem;font-weight:600}.menu-close{color:#000;font-family:var(--mono);cursor:pointer;background:0 0;border:none;padding:.3rem .4rem;font-size:.78rem;transition:color .2s}.menu-close:hover{color:var(--accent-soft)}.menu-drawer-body{font-family:var(--mono);color:var(--ink-soft);flex-direction:column;flex:auto;gap:1.8rem;padding:1.6rem 1.5rem;font-size:.72rem;display:flex;overflow-y:auto}.menu-block{flex-direction:column;display:flex}.menu-brand{font-family:var(--font-sans);color:var(--ink);margin-bottom:.5rem;font-size:1rem;font-weight:600;display:block}.menu-block p{margin:0 0 .5rem;line-height:1.6}.menu-block .col-title{color:var(--ink);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.6rem;font-weight:500;display:block}.menu-item{color:var(--ink-soft);font-family:var(--mono);text-align:left;cursor:pointer;background:0 0;border:none;margin-bottom:.35rem;padding:0;font-size:.72rem;text-decoration:none;display:block}a.menu-item:hover{color:var(--ink);text-decoration:underline}.menu-about-title{margin-top:1.4rem}.menu-gap{height:1.2rem}.menu-report{color:var(--ink-soft);margin:.4rem 0 0;line-height:1.6}.menu-report-link{font-family:var(--mono);color:var(--accent-soft);text-underline-offset:3px;font-size:.72rem;text-decoration:underline}.menu-report-link:hover{color:var(--ink)}.menu-drawer-note{border-top:1px solid var(--line);text-align:center;font-family:var(--mono);color:var(--ink-faintest);flex-shrink:0;padding:1rem 1.5rem 1.4rem;font-size:.66rem}[data-theme=dark] .menu-drawer{background:var(--bg-card)}[data-theme=dark] .menu-close{color:var(--ink)}[data-theme=dark] .menu-close:hover{color:var(--accent)}.hero{border-bottom:1px solid var(--line);max-width:1152px;margin:0 auto;padding:3.5rem 1.5rem 2.5rem}.hero-grid{grid-template-columns:1fr auto;align-items:end;gap:3rem;display:grid}.hero-eyebrow{font-family:var(--mono);color:var(--accent-soft);text-transform:uppercase;letter-spacing:.18em;margin:0 0 .9rem;font-size:.72rem}.hero h1{font-family:var(--font-serif);letter-spacing:-.01em;max-width:none;margin:0 0 1.1rem;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:400;line-height:1.18}.hero .lede{font-family:var(--font-serif);color:var(--ink-mute);max-width:60ch;margin:0;font-size:1.2rem;line-height:1.6}.hero .lede strong{color:var(--ink);font-weight:500}.hero .hero-archive{font-family:var(--font-serif);color:var(--ink-soft);border-top:1px solid var(--line);max-width:60ch;margin:1.4rem 0 0;padding-top:1.2rem;font-size:1.05rem;line-height:1.6}.hero-rail{border-left:1px solid var(--line);font-family:var(--mono);color:var(--ink-soft);flex-direction:column;gap:.4rem;padding-left:1.5rem;font-size:.78rem;display:flex}.hero-rail .rail-row{justify-content:space-between;gap:1.5rem;padding:.4rem 0;display:flex}.hero-rail .rail-row+.rail-row{border-top:1px solid var(--line)}.hero-rail .rail-val{color:var(--ink);font-weight:500}.toolbar{max-width:1152px;font-family:var(--mono);margin:0 auto;padding:1.5rem 1.5rem .5rem;font-size:.72rem}.toolbar-main{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.toolbar-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sort-group{margin-left:auto}.toolbar-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;margin-right:.4rem}.pill{background:var(--bg-card);border:1px solid var(--line-strong);color:var(--ink-mute);font-family:var(--mono);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.72rem;transition:border-color .2s,color .2s}.pill:hover{border-color:var(--ink);color:var(--ink)}.pill.active{background:var(--accent-soft);border-color:var(--accent-soft);color:#fff}.pill.clear-filter{color:var(--danger);background:0 0;border:none;padding:.4rem .2rem;text-decoration:underline}.pill.clear-filter:hover{color:var(--ink)}.pill.search-pill{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;align-items:center;gap:.45rem;max-width:22rem;display:inline-flex;overflow:hidden}.pill.search-pill:hover{background:var(--accent-soft);border-color:var(--accent-soft);color:#fff}.pill.search-pill .search-pill-x{opacity:.85;font-size:.8rem;line-height:1}.pill.search-pill:hover .search-pill-x{opacity:1}.letters-section{max-width:1152px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.mosaic{grid-template-columns:repeat(3,1fr);gap:2rem;width:100%;display:grid}.empty-state{text-align:center;border:1px dashed var(--line-strong);color:var(--ink-soft);background:#ffffff8c;border-radius:4px;grid-column:1/-1;padding:4rem 1.5rem;font-size:1.1rem;font-style:italic}.empty-clear{font:inherit;color:var(--accent-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-left:.35rem;padding:0;font-style:normal;text-decoration:underline}.empty-clear:hover{color:var(--accent)}.loading-state{text-align:center;color:var(--ink-faint);font-family:var(--mono);grid-column:1/-1;padding:3rem;font-size:.8rem}.mosaic.is-loading-more{opacity:.55;transition:opacity .18s}@media (prefers-reduced-motion:reduce){.mosaic.is-loading-more{transition:none}}.load-more-row{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:.7rem;margin-top:3rem;padding-top:2.5rem;display:flex}.load-more-btn{background:var(--bg-card);border:1px solid var(--line-strong);color:var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border-radius:999px;min-height:44px;padding:.8rem 2.2rem;font-size:.74rem;transition:border-color .2s,color .2s,background .2s}.load-more-btn:hover:not(:disabled){border-color:var(--accent-solid);color:var(--accent-solid)}.load-more-btn:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.load-more-btn:disabled{opacity:.55;cursor:default}.load-more-count{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.04em;font-size:.68rem}.tile{text-align:left;width:100%;color:var(--ink);background:var(--bg-card);border:1px solid var(--line);cursor:pointer;font-family:var(--font-sans);border-radius:10px;flex-direction:column;padding:1.6rem 1.6rem 1.4rem;line-height:1.6;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden;box-shadow:0 1px 2px #1111110a}.tile:hover{border-color:#1116;transform:translateY(-3px);box-shadow:0 12px 32px #00000014}.tile:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.tile .tile-date{font-family:var(--mono);color:var(--ink-faint);border-bottom:1px solid var(--line-hover);margin-bottom:.9rem;padding-bottom:.7rem;font-size:.72rem}.tile .to{font-family:var(--font-serif);margin-bottom:.7rem;font-size:1.5rem;font-weight:500;line-height:1.25;transition:color .2s}.tile:hover .to{color:var(--accent)}.tile .tile-loc{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.02em;margin:-.2rem 0 .8rem;font-size:.72rem}.tile .snippet{font-family:var(--font-serif);color:var(--ink-2);-webkit-line-clamp:6;-webkit-box-orient:vertical;flex:auto;min-height:0;margin-bottom:1rem;font-size:1.05rem;line-height:1.55;display:-webkit-box;overflow:hidden}.tile .tile-foot{border-top:1px solid var(--line-hover);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding-top:1rem;display:flex}.tile .tags{flex-wrap:wrap;gap:.5rem;display:flex}.tile .tags span{font-family:var(--mono);color:var(--ink-faint);font-size:.68rem}.tile .read-link{font-family:var(--mono);color:var(--accent-soft);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;font-size:.7rem;transition:color .2s}.tile:hover .read-link{color:var(--ink)}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#1c1c1a73;justify-content:center;align-items:center;padding:1.5rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--bg-cream);color:var(--ink);border:1px solid var(--line-strong);border-radius:12px;width:100%;max-width:42rem;max-height:88vh;margin:auto;padding:2.4rem 2.6rem;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0003}.modal-card .close-btn{color:#000;font-family:var(--mono);cursor:pointer;z-index:2;background:0 0;border:none;padding:.3rem .5rem;font-size:.78rem;transition:color .2s;position:absolute;top:1.2rem;right:1.4rem}.modal-card .close-btn:hover{color:var(--accent-soft)}.confirm-discard-overlay{z-index:130}.confirm-discard-card{text-align:center;max-width:26rem;padding:2.2rem 2.4rem}.confirm-discard-card .cd-title{margin:0 0 .7rem;font-size:1.3rem;font-weight:600}.confirm-discard-card .cd-body{color:var(--ink-soft);margin:0 0 1.6rem;font-size:.98rem}.confirm-discard-card .cd-actions{flex-direction:column;gap:.6rem;display:flex}.confirm-discard-card .cd-actions button{width:100%;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border-radius:999px;padding:.75rem 1.4rem;font-size:.75rem;transition:background .2s,border-color .2s,color .2s}.confirm-discard-card .cd-actions .cd-keep{background:var(--accent-soft);color:#fff;border:1px solid var(--accent-soft)}.confirm-discard-card .cd-actions .cd-keep:hover{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}.confirm-discard-card .cd-actions .cd-discard{background:var(--bg-card);color:var(--danger);border:1px solid var(--line-strong)}.confirm-discard-card .cd-actions .cd-discard:hover{border-color:var(--danger)}.detail-modal .dm-eyebrow{font-family:var(--mono);color:var(--accent-soft);text-transform:uppercase;letter-spacing:.15em;margin:0 0 .4rem;font-size:.72rem}.detail-modal .dm-date{font-family:var(--mono);color:var(--ink-faint);margin:0 0 1.2rem;font-size:.75rem}.detail-modal .lm-to{font-family:var(--font-serif);margin:0 0 1.4rem;padding-right:2rem;font-size:1.9rem;font-weight:500;line-height:1.25}.detail-modal .lm-loc{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.02em;margin:-.8rem 0 1.4rem;font-size:.78rem}.detail-modal .lm-body{font-family:var(--font-serif);white-space:pre-wrap;color:var(--ink-2);margin-bottom:1.6rem;font-size:1.2rem;line-height:1.7}.detail-modal .lm-tags{flex-wrap:wrap;gap:.6rem;margin-bottom:1.8rem;display:flex}.detail-modal .lm-tags span{font-family:var(--mono);color:var(--ink-faint);font-size:.72rem}.detail-modal .modal-divider{border:0;border-top:1px solid var(--line);margin:1.4rem 0}.felt-row{font-family:var(--mono);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.7rem;display:flex}.felt-row input[type=radio]{appearance:none;border:2px solid var(--ink-fainter);cursor:pointer;border-radius:50%;flex-shrink:0;width:20px;height:20px;margin:0;transition:border-color .2s;position:relative}.felt-row input[type=radio]:checked{border-color:var(--accent)}.felt-row input[type=radio]:checked:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:3px}.felt-row input[type=radio]:disabled{cursor:default}.felt-row label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink);cursor:pointer;font-size:.72rem;font-weight:500}.felt-row label.disabled{cursor:default}.felt-row.felt-active input[type=radio]{border-color:var(--accent)}.felt-row.felt-active input[type=radio]:after{background:var(--accent)}.felt-row.felt-active label{color:var(--accent-soft)}.felt-count{font-family:var(--mono);color:var(--accent-soft);text-align:right;margin-left:auto;font-size:.72rem;font-weight:500}.id-row{font-family:var(--mono);color:var(--ink-faint);border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.2rem;padding-top:.9rem;font-size:.72rem;display:flex}.id-row .id-value{word-break:break-all;color:var(--ink)}.copy-btn{background:var(--bg-card);border:1px solid var(--line-strong);font-family:var(--mono);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:4px;padding:.3rem .7rem;font-size:.7rem;transition:border-color .2s}.copy-btn:hover{border-color:var(--accent-soft)}.copy-btn.copied{color:var(--accent-soft);border-color:var(--accent-soft)}.detail-report{justify-content:flex-end;margin-top:1rem;display:flex}.report-this-link{font-family:var(--mono);color:var(--ink-fainter);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:.68rem;text-decoration:underline;transition:color .2s}.report-this-link:hover{color:var(--accent-soft)}.write-modal .wm-eyebrow{font-family:var(--mono);color:var(--accent-soft);text-transform:uppercase;letter-spacing:.15em;margin:0 0 .5rem;font-size:.72rem}.write-modal .wm-title{margin:0 0 .4rem;padding-right:2rem;font-size:1.15rem;font-weight:600}.write-modal .wm-sub{color:var(--ink-soft);margin:0 0 1.8rem;font-size:.95rem}.form-field{margin-bottom:1.4rem}.form-field label{font-family:var(--mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.72rem;display:block}.form-field label .opt-mark{text-transform:none;letter-spacing:0;font-family:var(--font-sans);color:var(--ink-fainter);font-size:.72rem;font-weight:400}.form-field input[type=text],.form-field input[type=email],.form-field textarea{background:var(--bg-card);border:1px solid var(--line-strong);width:100%;color:var(--ink);font-family:var(--font-sans);border-radius:4px;outline:none;padding:.7rem .9rem;font-size:1rem;transition:border-color .2s}.form-field input[type=text]::placeholder,.form-field input[type=email]::placeholder,.form-field textarea::placeholder{color:var(--ink-fainter);font-style:italic}@media (min-width:621px){.modal-card .form-field input[type=text]::placeholder,.modal-card .form-field input[type=email]::placeholder,.modal-card .form-field textarea::placeholder{opacity:.9;font-size:.9em}}.form-field input[type=text]:focus-visible,.form-field input[type=email]:focus-visible,.form-field textarea:focus-visible{border-color:var(--accent-soft)}.form-field textarea{resize:vertical;min-height:150px;line-height:1.6}.form-field .char-count{font-family:var(--mono);color:var(--ink-faint);text-align:right;margin-top:.4rem;font-size:.7rem}.form-field .char-count.over{color:var(--danger)}.tag-input-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.tag-chip{background:var(--bg-card);border:1px solid var(--line-strong);font-family:var(--mono);color:var(--ink);border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .7rem;font-size:.75rem;display:inline-flex}.tag-chip button{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;line-height:1}.tag-chip button:hover{color:var(--ink)}.tag-input-row input[type=text]{background:var(--bg-card);border:1px solid var(--line-strong);color:var(--ink);font-family:var(--mono);border-radius:999px;outline:none;padding:.35rem .8rem;font-size:.8rem}.tag-input-row input[type=text]:focus-visible{border-color:var(--accent-soft)}.pii-notice{color:#2e4057;background:#eef3f8;border:1px solid #c9d6e2;border-radius:4px;margin-bottom:1rem;padding:.8rem .9rem;font-size:.9rem}.submit-btn{background:var(--ink);color:#fafafa;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:none;border-radius:999px;width:100%;padding:.8rem 1.8rem;font-size:.75rem;transition:background .2s}.submit-btn:hover{background:var(--accent-soft)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.form-status{color:var(--ink-soft);margin-top:.9rem;font-size:.9rem;font-style:italic}.confirm{font-family:var(--font-sans)}.confirm .confirm-title{margin:0 0 .6rem;font-size:1.6rem;font-weight:600}.confirm .confirm-sub{color:var(--ink-soft);margin:0 0 1.4rem;font-size:.98rem}.confirm .confirm-block{background:var(--bg-canvas);border:1px solid var(--line-strong);border-radius:4px;margin-bottom:1rem;padding:1rem 1.1rem}.confirm .confirm-block .cb-label{font-family:var(--mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.4rem;font-size:.66rem;display:block}.confirm .confirm-block .cb-value{font-family:var(--mono);color:var(--ink);word-break:break-all;justify-content:space-between;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.confirm .confirm-warn{border:1px solid var(--accent);color:var(--accent-soft);background:#a9c6d938;border-radius:4px;margin-bottom:1.2rem;padding:.8rem .9rem;font-size:.85rem}.confirm .confirm-warn strong{font-weight:600}.confirm .keep{margin-top:.4rem;font-size:.95rem}.confirm .confirm-close-link{font-family:var(--font-sans);color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:.4rem auto 0;padding:0;font-size:.9rem;text-decoration:underline;transition:color .2s;display:block}.confirm .confirm-close-link:hover{color:var(--ink)}.crisis-modal .cm-heart{background:var(--accent-soft);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-bottom:1rem;font-size:1.1rem;display:flex}.crisis-modal h3{margin:0 0 .6rem;font-size:1.6rem;font-weight:400}.crisis-modal .cm-body{color:var(--ink-2);margin:0 0 1.4rem;font-size:.98rem}.crisis-modal .helplines{flex-direction:column;gap:.7rem;margin-bottom:1.4rem;display:flex}.crisis-modal .helplines .hl-card{background:var(--bg-canvas);border:1px solid var(--line-strong);font-family:var(--mono);border-radius:4px;padding:.8rem .9rem;font-size:.78rem}.crisis-modal .helplines .hl-card .hl-name{color:var(--ink);font-weight:500;display:block}.crisis-modal .helplines .hl-card .hl-line{color:var(--accent-soft);margin-top:.15rem;font-weight:500;display:block}.crisis-modal .helplines .hl-card .hl-detail{color:var(--ink-soft);margin-top:.1rem;font-size:.7rem;display:block}.crisis-modal .helplines .hl-card a{color:var(--accent-soft);text-decoration:underline}.crisis-modal .cm-note{color:var(--ink-soft);margin:0 0 1.2rem;font-size:.9rem}.crisis-modal .cm-actions{gap:.7rem;display:flex}.crisis-modal .cm-actions button{background:var(--bg-canvas);color:var(--ink);border:1px solid var(--line-strong);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border-radius:999px;flex:1;padding:.7rem 1.2rem;font-size:.72rem;transition:background .2s}.crisis-modal .cm-actions button:hover{background:var(--bg-soft)}.report-modal .report-title{margin:0 0 .6rem;padding-right:2rem;font-size:1.15rem;font-weight:600}.report-modal .report-sub{color:var(--ink-soft);margin:0 0 .8rem;font-size:.95rem}.report-modal .report-note{color:var(--accent-soft);border:1px solid var(--accent);background:#a9c6d938;border-radius:4px;margin:0 0 1.4rem;padding:.8rem .9rem;font-size:.85rem}.report-done{text-align:center;padding:1rem 0}.report-done .report-title{margin-bottom:.6rem;padding-right:0;font-size:1.4rem;font-weight:500}.report-done .report-thanks{color:var(--ink-soft);margin:0 0 1.5rem}.report-done .report-close-link{font-family:var(--font-sans);color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:0 auto;padding:0;font-size:.9rem;text-decoration:underline;transition:color .2s}.report-done .report-close-link:hover{color:var(--ink)}.footer-report{color:var(--ink-soft);margin:.4rem 0 0;line-height:1.6}.footer-report .report-link{font-family:var(--mono);color:var(--accent-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:.72rem;text-decoration:underline;transition:color .2s}.footer-report .report-link:hover{color:var(--ink)}.site-footer{border-top:1px solid var(--line);background:var(--bg-soft);margin-top:2rem;padding:3rem 1.5rem 3.5rem}.footer-inner{max-width:1152px;font-family:var(--mono);color:var(--ink-soft);grid-template-columns:2fr 1fr 1fr;align-items:start;gap:2.5rem;margin:0 auto;font-size:.72rem;display:grid}.footer-brand{font-family:var(--font-sans);color:var(--ink);margin-bottom:.5rem;font-size:1rem;font-weight:600;display:block}.footer-col p{margin:0 0 .5rem;line-height:1.6}.footer-col .col-title{color:var(--ink);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.6rem;font-weight:500;display:block}.footer-col a{color:var(--ink-soft);margin-bottom:.3rem;text-decoration:none;display:block}.footer-col a:hover{color:var(--ink);text-decoration:underline}.footer-col .col-item{margin-bottom:.3rem;display:block}.footer-col .about-title{margin-top:1.4rem}.footer-col .about-title+a{margin-top:.2rem}.footer-report-gap{height:.9rem}.footer-about-gap{height:1.4rem}.footer-note{text-align:center;font-family:var(--mono);color:var(--ink-faintest);margin-top:2rem;font-size:.66rem}.post-view{max-width:46rem;color:var(--ink);margin:0 auto;padding:4rem 1.5rem}.post-view .pv-eyebrow{font-family:var(--mono);color:var(--accent-soft);text-transform:uppercase;letter-spacing:.15em;margin:0 0 .4rem;font-size:.72rem}.post-view .pv-date{font-family:var(--mono);color:var(--ink-faint);margin:0 0 1.5rem;font-size:.78rem}.post-view .pv-to{font-family:var(--font-serif);margin:0 0 1.6rem;font-size:2.2rem;font-weight:500;line-height:1.2}.post-view .pv-loc{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.02em;margin:-.9rem 0 1.6rem;font-size:.8rem}.post-view .pv-body{font-family:var(--font-serif);white-space:pre-wrap;color:var(--ink-2);margin-bottom:2rem;font-size:1.25rem;line-height:1.8}.post-view .pv-tags{flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;display:flex}.post-view .pv-tags span{font-family:var(--mono);color:var(--ink-faint);font-size:.75rem}.post-view .pv-card{background:var(--bg-card);border:1px solid var(--line);border-radius:4px;padding:1.6rem 1.8rem}.post-view .pv-card hr{border:0;border-top:1px solid var(--line);margin:1.4rem 0}.post-view .back-link{font-family:var(--mono);color:var(--ink-soft);margin-bottom:2.5rem;font-size:.75rem;text-decoration:none;display:inline-block}.post-view .back-link:hover{color:var(--ink);text-decoration:underline}.post-view .not-found{text-align:center;padding:4rem 0}.post-view .not-found h1{margin-bottom:.6rem;font-size:1.8rem}.post-view .not-found p{color:var(--ink-soft)}.admin-wrap{max-width:68ch;color:var(--ink);margin:0 auto;padding:3rem 1.5rem}.admin-login{text-align:center;max-width:24rem;margin:4rem auto}.admin-login h1{margin-bottom:1.5rem;font-size:1.8rem}.admin-login input{background:var(--bg-card);border:1px solid var(--line-strong);width:100%;color:var(--ink);font-family:var(--mono);border-radius:4px;outline:none;margin-bottom:1rem;padding:.7rem .8rem}.admin-login input:focus-visible{border-color:var(--accent-soft)}.admin-login button{background:var(--ink);color:#fafafa;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:none;border-radius:999px;padding:.7rem 1.6rem;font-size:.75rem;font-weight:500}.admin-login button:hover{background:var(--accent-soft)}.admin-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-tabs button{background:var(--bg-card);border:1px solid var(--line-strong);font-family:var(--mono);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.4rem 1rem;font-size:.75rem}.admin-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.admin-post{background:var(--bg-card);border:1px solid var(--line);border-radius:4px;margin-bottom:1rem;padding:1.3rem}.admin-post .ap-to{margin-bottom:.5rem;font-size:1.2rem;font-weight:500}.admin-post .ap-body{white-space:pre-wrap;color:var(--ink-2);margin-bottom:.8rem;font-size:.95rem}.admin-post .ap-meta{font-family:var(--mono);color:var(--ink-faint);margin-bottom:.8rem;font-size:.72rem}.admin-post .ap-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-post .ap-actions button{background:var(--bg-card);border:1px solid var(--line-strong);font-family:var(--mono);color:var(--ink);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.72rem;transition:border-color .2s}.admin-post .ap-actions button:hover{border-color:var(--ink)}.admin-post .ap-actions button.danger:hover{border-color:var(--danger);color:var(--danger)}.admin-post .ap-date-edit{border-top:1px dashed var(--line);flex-direction:column;gap:.4rem;margin-top:.6rem;padding-top:.6rem;display:flex}.admin-post .ap-date-edit label{font-family:var(--mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.admin-post .ap-date-edit input[type=datetime-local]{background:var(--bg-card);border:1px solid var(--line-strong);color:var(--ink);font-family:var(--mono);border-radius:4px;outline:none;max-width:18rem;padding:.4rem .6rem;font-size:.8rem}.admin-post .ap-date-edit input[type=datetime-local]:focus-visible{border-color:var(--accent-soft)}.admin-post .ap-date-actions{gap:.5rem;display:flex}.admin-post .ap-status{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.admin-post .ap-status.pending{color:#8a6d00}.admin-post .ap-status.flagged{color:var(--danger)}.admin-post .ap-status.approved{color:#2e7d4f}.admin-error{color:var(--danger);margin-top:1rem}.admin-batch-bar{background:var(--bg-card);border:1px solid var(--accent-solid);font-family:var(--mono);color:var(--ink-soft);border-radius:6px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.8rem 1rem;font-size:.72rem;display:flex}.admin-batch-all{cursor:pointer;color:var(--ink);white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.admin-batch-count{color:var(--accent-soft);white-space:nowrap;font-weight:500}.admin-batch-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.admin-batch-actions button{background:var(--bg-card);border:1px solid var(--line-strong);font-family:var(--mono);color:var(--ink);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.72rem;transition:border-color .2s,color .2s}.admin-batch-actions button:hover:not(:disabled){border-color:var(--ink)}.admin-batch-actions button.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.admin-batch-actions button:disabled{opacity:.45;cursor:default}.admin-batch-actions button:focus-visible,.admin-batch-all input:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.admin-post{position:relative}.admin-post.is-selected{border-color:var(--accent-solid);background:#a9c6d947}[data-theme=dark] .admin-post.is-selected{background:#a9c6d91f}.admin-post .ap-select{cursor:pointer;display:inline-flex;position:absolute;top:1.1rem;right:1.1rem}.admin-post .ap-select input[type=checkbox],.admin-batch-all input[type=checkbox]{appearance:none;border:1.5px solid var(--ink-fainter);background:var(--bg-card);cursor:pointer;border-radius:4px;flex-shrink:0;width:18px;height:18px;margin:0;transition:border-color .15s,background .15s;position:relative}.admin-post .ap-select input[type=checkbox]:checked,.admin-batch-all input[type=checkbox]:checked{background:var(--accent-solid);border-color:var(--accent-solid)}.admin-post .ap-select input[type=checkbox]:checked:after,.admin-batch-all input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.admin-post .ap-select input[type=checkbox]:disabled,.admin-batch-all input[type=checkbox]:disabled{opacity:.4;cursor:default}@media (max-width:620px){.admin-batch-actions{width:100%;margin-left:0}.admin-batch-actions button{flex:auto}}.terms-wrap{max-width:68ch;color:var(--ink);margin:0 auto;padding:4rem 1.5rem}.terms-wrap h1{margin-bottom:1.5rem;font-size:2.2rem;font-weight:400}.terms-wrap h2{margin:2rem 0 .75rem;font-size:1.4rem;font-weight:500}.terms-wrap p{color:var(--ink-2);margin-bottom:1rem}@media (max-width:1080px){.toolbar-main{flex-direction:column;align-items:flex-start;gap:.75rem}.sort-group{margin-left:0}}@media (max-width:1100px){.mosaic{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-rail{border-left:none;border-top:1px solid var(--line);flex-flow:wrap;gap:1.5rem;padding-top:1rem;padding-left:0}.footer-inner{grid-template-columns:1fr;gap:1.5rem}}@media (max-width:620px){.header-inner{gap:.75rem;padding:.8rem 1.25rem}.header-center{order:3;min-width:100%;max-width:none}.hero{padding:2.5rem 1.25rem 1.8rem}.letters-section{padding:1.8rem 1.25rem 3rem}.mosaic{grid-template-columns:1fr;gap:1.25rem}.load-more-row{margin-top:2.2rem;padding-top:1.8rem}.load-more-btn{width:100%}.toolbar{padding:1.2rem 1.25rem .5rem}.modal-card{padding:1.8rem 1.4rem}.footer-inner{grid-template-columns:1fr}.write-modal,.report-modal,.detail-modal{border:none;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;margin:0}.overlay{padding:0}html,body{overflow-x:hidden}.overlay{overscroll-behavior:contain;overflow:hidden auto}.overlay .modal-card{overflow-x:hidden}.modal-card .close-btn{color:var(--ink);border:1px solid var(--line-strong);background:#faf6f0e6;border-radius:6px;padding:.4rem .7rem;font-size:.85rem;font-weight:600}.modal-card .close-btn:hover{color:var(--accent-soft)}}
