/* Live transcript wall (2026-10-18) */
.tx{display:flex;flex-direction:column}
.tx-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line2)}
.tx-head h2{margin:0;font:700 15px var(--sys);display:flex;gap:8px;align-items:center}
.tx-follow{display:flex;align-items:center;gap:6px;font:12px var(--mono);color:var(--mut);cursor:pointer}
.tx-follow input{accent-color:var(--law);width:16px;height:16px;margin:0}
.tx-tools{display:flex;flex-direction:column;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line2)}
.tx-chips{display:flex;flex-wrap:wrap;gap:6px}
.tchip{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#C9D2DC;font:600 13px var(--sys);cursor:pointer}
.tchip[aria-pressed=true]{background:var(--tx);color:#000;border-color:var(--tx)}
.tchip:focus-visible,.tx-play:focus-visible,.tx-new:focus-visible{outline:2px solid #fff;outline-offset:2px}
.tx-search{display:flex;height:40px;padding:0 12px;align-items:center;gap:8px;background:#000;border:1px solid var(--line);border-radius:10px}
.tx-search:focus-within{border-color:var(--law)}
.tx-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--tx);font:16px var(--sys)}
.tx-search input::placeholder{color:#6E7681}
.tx-wrap{position:relative}
.tx-scroll{height:min(70vh,780px);overflow-y:auto;overscroll-behavior:contain}
#tx{list-style:none;margin:0;padding:0}
.tx-item{--c:var(--law);--t:#0B1A30;position:relative;padding:12px 16px 13px 19px;border-bottom:1px solid #15191F;transition:background .3s}
.tx-item::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--c)}
.tx-item.fire{--c:var(--fire);--t:#2A0E0C}.tx-item.air,.tx-item.ems{--c:var(--air);--t:#0B2416}
.tx-item.new{animation:txin .45s cubic-bezier(.2,.8,.2,1),txflash 2.5s ease-out}
.tx-item.mine{background:color-mix(in srgb,var(--c) 9%,transparent)}
.tx-item.playing{background:var(--t)}
.tx-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;margin-bottom:5px}
.tx-svc{display:inline-flex;align-items:center;gap:5px;font:700 10px/1 var(--mono);color:var(--c);letter-spacing:.04em}
.tx-svc i{width:6px;height:6px;border-radius:50%;background:var(--c)}
.tx-ch{font:600 13px var(--sys);color:#fff}
.tx-ag{font:12px var(--sys);color:var(--dim)}
.tx-meta time{margin-left:auto;font:11px var(--mono);color:var(--dim)}
.tx-body{display:flex;align-items:flex-start;gap:10px}
.tx-play{width:32px;height:32px;flex:none;border-radius:50%;border:1px solid #2E3440;background:#0E1116;color:#fff;display:grid;place-items:center;cursor:pointer}
.tx-item.playing .tx-play{background:var(--c);border-color:var(--c);color:#000}
.tx-text{margin:3px 0 0;flex:1;min-width:0;font:400 16px/1.4 var(--sys);color:#F2F4F7;overflow-wrap:anywhere}
.tx-item.pending .tx-text{color:var(--dim);font-style:italic;animation:txpend 1.4s ease-in-out infinite}
.tx-text.typing::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--c);animation:txcaret .8s steps(1) infinite}
.tx-dur{flex:none;font:11px var(--mono);color:var(--dim);margin-top:6px}
.tx-prog{position:absolute;left:0;right:0;bottom:-1px;height:2px}
.tx-prog i{display:block;height:100%;width:0;background:var(--c)}
.tx-new{position:absolute;top:10px;left:50%;transform:translateX(-50%);padding:9px 16px;border-radius:999px;border:0;background:var(--law);color:#000;font:700 13px var(--sys);cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.6);z-index:2}
.tx-empty{padding:28px 16px;text-align:center;color:var(--dim);font:14px var(--sys)}
.tx-foot{margin:0;padding:10px 16px;font:12px/1.4 var(--sys);color:var(--dim);border-top:1px solid var(--line2)}
.t-last.quote{font:italic 12px/1.3 var(--sys);color:#fff}
@keyframes txin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes txflash{from{background:var(--t)}to{background:transparent}}
@keyframes txpend{50%{opacity:.45}}
@keyframes txcaret{50%{opacity:0}}
@media (max-width:600px){.tx-scroll{height:62vh}}
@media (prefers-reduced-motion:reduce){.tx-item.new,.tx-item.pending .tx-text,.tx-text.typing::after{animation:none}}
