/* THE EVENING WIRE • Reaction Hub 2.0: responsive election night studio */
.hub2{--hub-line:#365677;--hub-ink:#edf8ff;--hub-soft:#a9c7df;color:var(--hub-ink);max-width:1480px;margin:auto;font-family:'DM Sans',system-ui,sans-serif}
.hub2 *{box-sizing:border-box}
.hub2-header{position:relative;overflow:hidden;padding:clamp(24px,4vw,45px);border:1px solid #47708f;border-radius:21px;background:radial-gradient(ellipse at 7% 90%,#9f253d70,transparent 48%),radial-gradient(ellipse at 98% 15%,#1e73bb75,transparent 48%),linear-gradient(135deg,#070e1d,#122c48 65%,#081322);box-shadow:0 17px 55px #0007}
.hub2-header:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 72px,#fff1 73px 74px);pointer-events:none;opacity:.5}
.hub2-header>*{position:relative}.hub2-kicker{font-size:11px;font-weight:900;letter-spacing:2.4px;color:#87cde9}
.hub2-header h1{font:900 clamp(42px,6vw,81px)/1 'Barlow Condensed',Impact,sans-serif;margin:12px 0;letter-spacing:1.3px;color:#fff}
.hub2-header h1 span{color:#67dcec}.hub2-header p{font-size:13px;line-height:1.75;color:#d0dfef;max-width:800px}
.hub2-columns{display:grid;grid-template-columns:minmax(245px,.85fr) minmax(0,2.1fr);gap:17px;margin-top:17px;align-items:start}
.hub2-side,.hub2-main{display:grid;gap:15px;min-width:0}
.hub2-panel{background:linear-gradient(150deg,#102840,#0d1d31);border:1px solid var(--hub-line);border-radius:17px;padding:20px;min-width:0;box-shadow:0 9px 35px #0004}
.hub2-panel h2,.hub2-panel h3{font:900 24px/1.15 'Barlow Condensed',Impact,sans-serif;letter-spacing:.5px;color:#f4faff;margin:0 0 13px}
.hub2-label{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#86cfe7;margin-bottom:8px}
.hub2-muted{font-size:12px;line-height:1.6;color:#a9c4d8}.hub2-micro{font-size:10px;color:#9fbbd1;line-height:1.6}
.hub2-room-list{display:grid;gap:8px}.hub2-room{display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;padding:12px 13px;background:#122e48;border:1px solid #315471;color:#d9edf9;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer}
.hub2-room:hover,.hub2-room[aria-pressed="true"]{background:linear-gradient(110deg,#177496,#1b496f);border-color:#70d7eb;color:#fff}
.hub2-room small{font-size:10px;background:#06213b;padding:3px 6px;border-radius:6px}
.hub2-form{display:grid;gap:12px}.hub2-form label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#b8d5e8}
.hub2-form textarea,.hub2-form input,.hub2-form select,.hub2-search{width:100%;border:1px solid #426987;border-radius:10px;background:#071827;color:#effbff;padding:12px;font:500 13px/1.5 system-ui,sans-serif}
.hub2-form textarea{resize:vertical;min-height:94px}.hub2-form :is(textarea,input,select):focus,.hub2-search:focus{outline:2px solid #55d2e3}
.hub2-btn{border:1px solid #4289a3;border-radius:9px;background:linear-gradient(120deg,#0d647f,#167d9a);color:#fff;font-size:11px;font-weight:900;padding:10px 12px;cursor:pointer}
.hub2-btn:disabled{opacity:.55;cursor:default}.hub2-btn.secondary{background:#152f48;border-color:#395a76}
.hub2-btn.danger{border-color:#ac6072;background:#55283b}
.hub2-compose-head{display:flex;gap:10px;align-items:center;margin-bottom:13px}.hub2-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--author-color,#55d4e4);color:#08202d;font-weight:900;font-size:19px;flex-shrink:0}
.hub2-avatar.a0{--author-color:#64dcef}.hub2-avatar.a1{--author-color:#e5a3ff}.hub2-avatar.a2{--author-color:#ffc77b}.hub2-avatar.a3{--author-color:#7bf3be}.hub2-avatar.a4{--author-color:#ff95b1}.hub2-avatar.a5{--author-color:#8aaeff}.hub2-avatar.a6{--author-color:#eadb7e}.hub2-avatar.a7{--author-color:#8be7f7}
.hub2-compose-head b{display:block;font-size:13px}.hub2-compose-head small{color:#a2c5d6;font-size:10px}
.hub2-tools{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:space-between}
.hub2-search{flex:1 1 210px;min-width:0}.hub2-feedback{font-size:11px;color:#f3c989;min-height:1.3em;line-height:1.6}
.hub2-feed{max-height:750px;min-height:160px;overflow-y:auto;overscroll-behavior:contain;padding:7px 5px 12px;scrollbar-color:#477d9f #0b2236}
.hub2-message{margin:12px 0;padding:18px;background:#112a43;border:1px solid #355b7b;border-left:4px solid var(--message-accent,#419cca);border-radius:14px;box-shadow:0 4px 16px #0003}
.hub2-message.official{border-color:#dcb56a;border-left-color:#fbc773;background:linear-gradient(135deg,#453520,#192c41 70%)}
.hub2-message.pinned{box-shadow:inset 0 0 0 1px #e4b65b66,0 6px 20px #0003}
.hub2-message-header{display:flex;align-items:center;gap:10px}
.hub2-author{min-width:0;flex:1}.hub2-author b{font-size:13px;color:#fff;display:block;overflow-wrap:anywhere}.hub2-author small{font-size:10px;color:#a9c2da}
.hub2-tag{font-size:9px;font-weight:900;letter-spacing:.5px;color:#ffdf9a;background:#65502275;border:1px solid #9c753d;padding:4px 7px;border-radius:5px}
.hub2-message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;color:#e2eefb;margin:14px 0}
.hub2-actions,.hub2-emojis{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.hub2-actions button,.hub2-emojis button{font-size:10px;border:1px solid #385d79;background:#1a3851;color:#dceefa;border-radius:8px;padding:7px 9px;cursor:pointer}
.hub2-emojis button{font-size:12px}.hub2-emojis button[aria-pressed="true"]{border-color:#6ee7dd;background:#145c69;color:#fff}
.hub2-replies{margin:12px 0 0 24px;border-left:1px dashed #537c9b;padding-left:14px}
.hub2-replies .hub2-message{margin:10px 0}
.hub2-replying{padding:11px;border:1px solid #4e8dad;border-radius:9px;background:#12435a;font-size:11px;line-height:1.6}
.hub2-replying[hidden]{display:none!important}
.hub2-poll{padding:16px;margin:11px 0;border:1px solid #426d87;border-radius:12px;background:#102d49}
.hub2-poll h4{font-size:14px;line-height:1.5;margin:0 0 11px;color:#fff}.hub2-poll-answers{display:grid;gap:9px}.hub2-choice{display:grid;gap:5px;border:1px solid #36647f;border-radius:8px;background:#0d283f;color:#f4faff;padding:9px 11px;text-align:left;font-size:12px;font-weight:800;cursor:pointer}
.hub2-choice:disabled{cursor:default;opacity:.95}.hub2-choice.selected{border-color:#78d5e9}.hub2-bar{height:6px;background:#183e57;border-radius:99px;overflow:hidden}.hub2-bar span{height:100%;display:block;background:linear-gradient(90deg,#328ac2,#69d5ea);border-radius:99px}
.hub2-choice.party-red .hub2-bar span{background:linear-gradient(90deg,#a4324a,#ed7794)}
.hub2-choice.party-blue .hub2-bar span{background:linear-gradient(90deg,#206ba8,#65addf)}
.hub2-new{position:sticky;bottom:8px;display:block;margin:0 auto;z-index:3;box-shadow:0 8px 20px #0008}
.hub2-new[hidden]{display:none!important}
.hub2-race{border-radius:12px;padding:14px;background:linear-gradient(100deg,#662337,#152b47 55%,#185289);border:1px solid #6e7c9e;display:flex;justify-content:space-between;gap:12px;align-items:center}
.hub2-race strong{color:#fff}.hub2-race small{display:block;color:#d4e7ff;font-size:10px;margin-top:5px}.hub2-race a{color:#91ebff;font-size:11px;font-weight:900}
.hub2-empty{text-align:center;padding:35px 15px;color:#a9c4d8;font-size:13px}
@media(min-width:1250px){.hub2-columns{grid-template-columns:270px minmax(0,1fr) 285px}.hub2-polls-col{grid-column:3;grid-row:1}.hub2-main{grid-column:2;grid-row:1}}
@media(max-width:800px){.hub2-columns{grid-template-columns:1fr}.hub2-side{grid-template-columns:1fr 1fr}.hub2-main,.hub2-polls-col{grid-column:1}.hub2-feed{max-height:65vh}}
@media(max-width:540px){.hub2-header{padding:23px}.hub2-side{grid-template-columns:1fr}.hub2-panel{padding:16px}.hub2-message{padding:13px}.hub2-replies{margin-left:10px;padding-left:8px}.hub2-race{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.hub2 *{scroll-behavior:auto!important;transition:none!important}}


/* Reaction Hub 2.1: real photo uploads and media-safe previews */
.hub2-photo-field{display:grid;gap:10px;background:linear-gradient(115deg,#143e58,#1c4966);border:1px dashed #70d6ed;border-radius:13px;padding:16px;color:#e8fbff!important;font-weight:900!important;font-size:12px!important;cursor:pointer}
.hub2-photo-field input[type="file"]{padding:8px 0;border:0;background:transparent;color:#e8faff;font-size:12px}
.hub2-photo-field input::file-selector-button{margin-right:10px;border:1px solid #70cfe4;background:#0e6586;color:#fff;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:900;cursor:pointer}
.hub2-photo-preview{padding:12px;border-radius:13px;background:#0c2b40;border:1px solid #4996b2;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;color:#cef7ff;font-weight:800}
.hub2-photo-preview[hidden]{display:none!important}
.hub2-photo-preview img{width:92px;max-height:100px;object-fit:cover;border:1px solid #568da4;border-radius:9px}
.hub2-photo-card{display:block;width:min(100%,600px);border:1px solid #426c8c;border-radius:13px;background:#091e30;padding:4px;margin:10px 0;color:#fff;cursor:zoom-in;overflow:hidden;text-align:left}
.hub2-photo-card:hover{border-color:#72d8ed}
.hub2-photo-card img{display:block;width:100%;max-height:460px;object-fit:contain;border-radius:9px}
.hub2-photo-lightbox{position:fixed;z-index:50000;inset:0;background:#030b16ee;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;backdrop-filter:blur(9px)}
.hub2-photo-lightbox[hidden]{display:none!important}
.hub2-photo-lightbox img{max-width:95vw;max-height:83vh;object-fit:contain;border-radius:12px;box-shadow:0 16px 50px #000a}
.hub2-photo-lightbox button{align-self:flex-end;border-radius:9px;border:1px solid #82d8ec;background:#15425f;color:#fff;padding:12px 16px;font-size:12px;font-weight:900;cursor:pointer}
@media(max-width:600px){.hub2-photo-card img{max-height:330px}.hub2-photo-lightbox{padding:9px}.hub2-photo-preview img{width:74px}}


/* 2.1 – election-night microphone notes, newest-first reading and polished media */
.hub2-header{background:radial-gradient(ellipse at 9% 80%,#b02f4788,transparent 41%),radial-gradient(ellipse at 97% 15%,#1e83d795,transparent 47%),linear-gradient(135deg,#050b16,#102843 61%,#070f1e);border:1px solid #6283a1;box-shadow:0 24px 75px #000a}
.hub2-header h1{text-shadow:0 3px 25px #69cfe655}
.hub2-panel{border-color:#456987;box-shadow:0 7px 26px #0005}
.hub2-feed{scroll-behavior:smooth;max-height:740px;border-top:1px solid #315776;margin-top:13px;overflow-anchor:none}
.hub2-new{background:linear-gradient(100deg,#0d729b,#1660af);border-color:#8ae9ff;box-shadow:0 8px 30px #000a}
.hub2-message{--message-accent:#4ca6ec;transition:border-color .18s ease,background .18s ease}
.hub2-message:hover{border-color:#608fb7;background:#143250}
.hub2-post-audio{display:grid;gap:7px;padding:14px;margin:12px 0;border-radius:13px;border:1px solid #4999a4;background:linear-gradient(110deg,#124154,#0a2541);max-width:600px}
.hub2-post-audio b{font-size:11px;letter-spacing:.7px;color:#b2fbf1}
.hub2-post-audio audio,.hub2-voice-preview audio{display:block;width:100%;max-width:540px;height:43px;color-scheme:dark}
.hub2-voice-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:12px;border-radius:13px;background:linear-gradient(110deg,#112b45,#123e53);border:1px solid #497a94}
.hub2-mic-start{background:linear-gradient(115deg,#0e7191,#116d66);border-color:#7fe5d1}
.hub2-voice-controls #hubVoiceStop{background:linear-gradient(110deg,#8d304a,#bd3855);color:#fff;border:1px solid #ff8fae}
.hub2-voice-controls #hubVoiceStop[hidden],.hub2-voice-controls #hubVoiceStart[hidden],.hub2-voice-preview[hidden]{display:none!important}
.hub2-voice-controls .hub2-micro{flex:1 1 150px}
.hub2-voice-preview{display:grid;gap:10px;padding:13px;border:1px solid #66ab9f;border-radius:13px;background:#0d3341}
.hub2-voice-caption{display:grid;gap:3px}.hub2-voice-caption b{color:#87eac7;font-size:11px}.hub2-voice-caption small{color:#bddfeb;font-size:11px}
.hub2-message .hub2-emojis button{border-radius:999px;padding:7px 12px;border-color:#3a6989;background:#163d59}
.hub2-message .hub2-emojis button[aria-pressed="true"]{background:linear-gradient(110deg,#125a7b,#227e96);border-color:#83e7e1}
.hub2-panel a.hub2-btn{display:inline-block;text-decoration:none}
@media(max-width:540px){.hub2-voice-controls{flex-direction:column;align-items:stretch}.hub2-voice-controls button{width:100%}.hub2-message .hub2-emojis button{padding:8px 10px}}



/* THE PULSE 3.0 — original X-style timeline and conversational reply bubbles.
   Familiar social timeline interactions, with independent Evening Wire branding. */
.hub2-main .hub2-panel:has(#hubFeed){padding:0;overflow:hidden;background:#060c14;border:1px solid #2b465b}
.hub2-main .hub2-panel:has(#hubFeed)>.hub2-tools{padding:15px 18px 9px}
.hub2-main .hub2-panel:has(#hubFeed) .hub2-search{border-radius:999px;background:#101e2d;border-color:#36526a}
.hub2-feed{padding:0;max-height:80vh;min-height:220px;border-top:1px solid #29445c;scrollbar-color:#356e88 #0b1521}
.pulse-post{padding:15px 20px 18px;margin:0;background:#07121e;border-bottom:1px solid #25435a;transition:background .18s ease}
.pulse-post:hover{background:#0b1b29}
.pulse-post-room{color:#66cadd;text-transform:uppercase;font:900 10px/1.5 system-ui,sans-serif;letter-spacing:1.1px;margin:0 0 12px 49px}
.pulse-bubble{min-width:0;position:relative}
.pulse-author-line{display:flex;align-items:center;gap:11px;min-width:0}
.pulse-author-line .hub2-avatar{height:38px;width:38px;border-radius:50%;font-size:15px;background:var(--author-color,#5cd4ed);box-shadow:0 0 0 2px #284d64}
.pulse-author-meta{min-width:0;flex:1;font-size:12px;overflow-wrap:anywhere;line-height:1.55}
.pulse-author-meta strong{font-size:13px;color:#f2f9ff;font-weight:900}
.pulse-author-meta small{font-size:10px;color:#9db6c9}
.pulse-post.pulse-official{background:linear-gradient(105deg,#251e16,#0b1c2c 74%);box-shadow:inset 3px 0 #dfb75b}
.pulse-message-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#e5f1ff;font-size:14px;line-height:1.64;margin:9px 0 8px 49px}
.pulse-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 5px 49px}
.pulse-action-row button{border:0;background:transparent;color:#89acbf;font:800 11px/1.5 system-ui,sans-serif;padding:7px 10px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease}
.pulse-action-row button:hover{color:#7bdbfb;background:#18435d}
.pulse-action-row .pulse-reply-action{color:#89d9ef}
.pulse-emoji-strip{margin:0 0 0 49px;display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.pulse-emoji{display:flex;align-items:center;gap:5px;min-height:28px;border:1px solid #304b61;background:#0d2334;color:#cadfed;padding:4px 9px;border-radius:999px;font:700 12px system-ui,sans-serif;cursor:pointer}
.pulse-emoji span{font-size:10px;color:#96b5c7}
.pulse-emoji:hover,.pulse-emoji[aria-pressed="true"]{border-color:#61c9df;background:#16485c;color:#fff}
.pulse-branch{position:relative;margin-left:26px;padding-left:17px;border-left:1px solid #426276}
.pulse-reply-bubble{position:relative;margin-top:8px;padding:12px 11px;border:1px solid #375b75;border-radius:14px;background:linear-gradient(110deg,#132b40,#0d1e30 80%);box-shadow:0 4px 18px #0003}
.pulse-reply-bubble:before{content:"";position:absolute;width:17px;height:1px;background:#426276;left:-18px;top:29px}
.pulse-reply-bubble .pulse-author-line .hub2-avatar{width:29px;height:29px;font-size:12px}
.pulse-reply-bubble .pulse-author-meta strong{font-size:12px}
.pulse-reply-bubble .pulse-message-text{margin:7px 0 8px 40px;font-size:12px;line-height:1.55}
.pulse-reply-bubble .pulse-action-row{margin:4px 0 0 37px;gap:2px}
.pulse-reply-bubble .pulse-action-row button{font-size:10px;padding:5px 7px}
.pulse-reply-bubble .pulse-emoji-strip{margin:5px 0 0 37px;gap:4px}
.pulse-reply-bubble .pulse-emoji{font-size:11px;min-height:24px;padding:3px 7px}
.pulse-reply-bubble .hub2-photo-card,.pulse-reply-bubble .pulse-video,.pulse-reply-bubble .hub2-post-audio{margin-left:37px;max-width:calc(100% - 37px)}
.pulse-post>.pulse-bubble>.hub2-photo-card,.pulse-post>.pulse-bubble>.pulse-video,.pulse-post>.pulse-bubble>.hub2-post-audio{margin-left:49px;max-width:calc(100% - 49px)}
.pulse-video{margin:12px 0;border:1px solid #47738e;background:#020913;border-radius:14px;overflow:hidden;width:min(100%,640px)}
.pulse-video video,.hub2-video-preview video{display:block;width:100%;height:auto;max-height:500px;object-fit:contain;background:#02070e;border-radius:11px}
.hub2-video-preview{padding:13px;border:1px solid #46799a;border-radius:13px;background:#0b283b;display:grid;gap:10px}
.hub2-video-preview video{max-height:260px}
.hub2-video-preview[hidden]{display:none!important}
.pulse-video-field{background:linear-gradient(115deg,#172646,#233958)}
.hub2-audio-field{display:grid;gap:8px;color:#b5e2eb!important;font:800 11px system-ui,sans-serif;border:1px dashed #416c7e;border-radius:12px;padding:11px 13px;background:#0b2837}
.hub2-audio-field input[type=file]{width:100%;background:transparent;border:none;color:#bfe3ed;font:500 12px system-ui,sans-serif;padding:0}
.hub2-audio-field input::file-selector-button{margin-right:8px;background:#12445f;border:1px solid #4786a4;color:#fff;padding:8px;border-radius:7px;cursor:pointer}
.ew-source-optional{margin:12px 0;padding:17px;border-radius:13px;border:1px solid #409d9c;background:linear-gradient(105deg,#0d343c,#10283b);color:#e2f8f5}
.ew-source-optional>strong{display:block;color:#84eed6;font-size:13px;letter-spacing:.6px}
.ew-source-optional>p{font:500 12px/1.6 system-ui,sans-serif;color:#cde6ed;margin:8px 0 13px}
.ew-source-optional summary{border:1px solid #447d92;border-radius:9px;cursor:pointer;padding:12px 14px;background:#133f57;font-size:12px;font-weight:900;color:#e6faff;list-style:revert}
.ew-source-optional details[open] summary{margin-bottom:12px}
.pulse-post :is(button,a,input,textarea):focus-visible{outline:2px solid #6be2ff;outline-offset:2px}
@media(max-width:720px){
 .pulse-post{padding:12px}
 .pulse-post-room{margin-left:41px}
 .pulse-message-text,.pulse-action-row,.pulse-emoji-strip{margin-left:40px}
 .pulse-branch{margin-left:9px;padding-left:7px}
 .pulse-reply-bubble{padding:9px 6px;border-radius:12px}
 .pulse-reply-bubble:before{width:8px;left:-8px}
 .pulse-reply-bubble .pulse-message-text{margin-left:30px}
 .pulse-reply-bubble .pulse-action-row,.pulse-reply-bubble .pulse-emoji-strip{margin-left:29px}
 .pulse-reply-bubble .hub2-photo-card,.pulse-reply-bubble .pulse-video,.pulse-reply-bubble .hub2-post-audio{margin-left:29px;max-width:calc(100% - 29px)}
 .pulse-post>.pulse-bubble>.hub2-photo-card,.pulse-post>.pulse-bubble>.pulse-video,.pulse-post>.pulse-bubble>.hub2-post-audio{margin-left:39px;max-width:calc(100% - 39px)}
 .pulse-action-row button span{display:none}
}


/* THE PULSE — full-length newsroom conversation.
   Use the page's natural scroll instead of trapping the timeline in a short box. */
.hub2{max-width:none;width:100%}
.hub2-columns{align-items:start}
@media(min-width:1250px){
 .hub2-columns{grid-template-columns:minmax(200px,235px) minmax(0,1fr) minmax(200px,230px);gap:16px}
 .hub2-main{min-width:0}
}
.hub2-main .hub2-panel:has(#hubFeed){overflow:visible}
.hub2-main #hubFeed{
 max-height:none!important;
 height:auto;
 min-height:clamp(1250px,175vh,2400px);
 overflow-y:visible!important;
 overscroll-behavior:auto;
 scroll-behavior:auto;
}
@media(max-width:1249px){
 .hub2-main #hubFeed{min-height:1250px}
}
@media(max-width:800px){
 .hub2-main #hubFeed{min-height:1050px;max-height:none!important;overflow-y:visible!important}
}
@media(max-width:540px){
 .hub2-main #hubFeed{min-height:850px}
}



/* Large, X-style composer at the top of THE PULSE timeline, not hidden in sidebar. */
.hub2-main>.hub2-composer{padding:19px 22px;border:1px solid #436788;background:linear-gradient(120deg,#102b43,#0b1b2e);border-radius:16px;box-shadow:0 8px 35px #0006}
.hub2-composer .hub2-compose-head{margin:0 0 8px}
.hub2-composer .hub2-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hub2-composer .hub2-form>label:first-of-type,.hub2-composer .hub2-form>label:nth-of-type(2),.hub2-composer .hub2-form>#hubReply,.hub2-composer .hub2-form>#hubVoicePreview,.hub2-composer .hub2-form>.hub2-voice-controls,.hub2-composer .hub2-form>.hub2-audio-field,.hub2-composer .hub2-form>.hub2-tools{grid-column:1/-1}
.hub2-composer .hub2-form textarea{min-height:80px}
.hub2-composer .hub2-photo-field{padding:11px;font-size:11px!important}
.hub2-composer .hub2-photo-field small{font-size:10px;color:#c9e9f1;font-weight:500}
.hub2-composer .hub2-form>.hub2-photo-preview,.hub2-composer .hub2-form>.hub2-video-preview{grid-column:1/-1}
.hub2-composer .hub2-btn[type=submit]{background:linear-gradient(110deg,#5a37be,#a735a8);border-color:#9a6bd8;font-size:12px;padding:11px 22px;border-radius:99px}
.hub2-composer .hub2-btn[type=submit]:hover{background:linear-gradient(110deg,#7149d2,#bc3dc0)}
@media(max-width:580px){.hub2-main>.hub2-composer{padding:14px}.hub2-composer .hub2-form{grid-template-columns:1fr}.hub2-composer .hub2-form>*{grid-column:1/-1}}


/* THE EVENING WIRE COMMAND CENTER 4.0: truly three-column Pulse */
.hub4-layout{max-width:1750px;width:100%;margin:0 auto}
.hub4-header{position:relative;min-height:105px!important;padding:19px 27px!important;border-radius:17px!important}
.hub4-header h1{font-size:clamp(36px,4vw,54px)!important;margin:5px 0!important;line-height:1!important}
.hub4-header p{margin:4px 0!important;font-size:11px!important}
.hub4-header .hub2-kicker{font-size:10px!important}
.hub4-columns{
 display:grid!important;
 grid-template-columns:minmax(220px,.8fr) minmax(0,3fr) minmax(230px,.8fr)!important;
 align-items:start!important;gap:16px!important;margin-top:16px!important
}
.hub4-left,.hub4-center,.hub4-right{min-width:0!important;grid-row:1!important}
.hub4-left{grid-column:1!important;display:grid!important;gap:13px}
.hub4-center{grid-column:2!important;display:block!important}
.hub4-right{grid-column:3!important;display:grid!important;gap:13px}
.hub4-drawer-head{display:none}
.hub4-composer{padding:16px!important;display:block!important;background:linear-gradient(145deg,#132d47,#0b1e32)!important;border:1px solid #47718b!important}
.hub4-compose-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.hub4-compose-top .hub2-avatar{border-radius:50%;height:37px;width:37px}
.hub4-compose-top strong{display:block;color:#fff;font-size:12px}
.hub4-compose-top small{font-size:9px;letter-spacing:1px;font-weight:900;color:#7acde1}
.hub4-composer .hub2-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
.hub4-composer .hub2-form>*{grid-column:1/-1!important;min-width:0}
.hub4-composer .hub2-form label{font-size:10px}
.hub4-composer .hub2-form select{width:100%;min-width:0;padding:9px 10px;border-radius:9px;font-size:12px}
.hub4-composer .hub2-form textarea{min-height:120px!important;max-height:250px;resize:vertical;border-radius:12px!important;background:#08192a;border-color:#47728a;padding:12px!important;font-size:12px!important}
.hub4-composer .hub2-form input[hidden]{display:none!important}
.hub4-media-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.hub4-media-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:52px;padding:7px 2px;border:1px solid #3f6987;background:#102e46;border-radius:11px;color:#dff6ff;font-size:16px}
.hub4-media-actions button span{font-size:9px;font-weight:800}
.hub4-media-actions button:hover{background:#205575;border-color:#73d5e8}
.hub4-media-actions button[hidden]{display:none!important}
.hub4-media-actions #hubVoiceStop{grid-column:span 2;background:#722d42;border-color:#c4697e}
.hub4-composer #hubVoiceElapsed{font-size:10px;color:#a6c9da}
.hub4-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}
.hub4-compose-footer .hub2-btn{border-radius:999px!important;padding:11px 19px!important;font-size:11px!important;background:linear-gradient(115deg,#6d35c8,#b9359d)!important;border-color:#c981dd!important}
.hub4-composer .hub2-photo-preview,.hub4-composer .hub2-video-preview,.hub4-composer .hub2-voice-preview{max-width:100%;min-width:0;overflow:hidden}
.hub4-composer .hub2-photo-preview img{max-width:100%;object-fit:contain}
.hub4-composer .hub2-voice-preview audio{max-width:100%}
.hub4-rooms{padding:15px!important}
.hub4-rooms .hub2-room-list{gap:5px}
.hub4-rooms .hub2-room{padding:10px 9px!important;white-space:normal;text-align:left;font-size:11px!important}
.hub4-rooms .hub2-room[aria-pressed="true"]{background:linear-gradient(110deg,#155d7d,#23618a)}
.hub4-owner-details{border:1px solid #365a76;border-radius:13px;background:#0d2439;overflow:hidden}
.hub4-owner-details>summary{cursor:pointer;list-style:none;padding:13px 14px;color:#abdfea;font-size:11px;font-weight:900;letter-spacing:.5px}
.hub4-owner-details>summary:after{content:'⌄';float:right}
.hub4-owner-details[open]>summary:after{content:'⌃'}
.hub4-owner-details .hub2-panel{border:0;border-top:1px solid #335975;border-radius:0;box-shadow:none;padding:13px}
.hub4-owner-details .hub2-form{min-width:0}
.hub4-guest{padding:18px!important}.hub4-guest a.hub2-btn{display:inline-block;margin-top:10px}
.hub4-feed-panel{padding:0!important;min-width:0!important;overflow:visible!important;background:#071321!important;border:1px solid #335371!important;box-shadow:0 15px 40px #0006}
.hub4-feed-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid #223e55}
.hub4-feed-heading h2{font-size:24px;margin:5px 0 0}
.hub4-refresh{border-radius:50%!important;width:38px;height:38px;flex:none;font-size:19px!important}
.hub4-searchbar{display:flex;align-items:center;gap:8px;padding:11px 18px!important;border-bottom:1px solid #263e53}
.hub4-searchbar .hub2-search{border-radius:999px;min-width:0;max-width:100%;flex:1}
.hub4-feed-panel #hubFeed{height:auto!important;min-height:450px!important;max-height:none!important;overflow:visible!important;scroll-behavior:auto!important;padding:0!important;margin:0!important}
.hub4-feed-panel #hubFeed .pulse-post{padding:16px 20px}
.hub4-feed-panel #hubFeed .pulse-branch{max-width:100%;min-width:0}
.hub4-feed-panel #hubFeed .pulse-reply-bubble{overflow-wrap:anywhere}
.hub4-feed-panel .hub2-new{position:sticky;bottom:14px}
.hub4-sidebar-title{display:flex;align-items:center;gap:9px}
.hub4-sidebar-title>span{background:#0e6b84;border-radius:9px;padding:7px 10px;color:#a8eeff;font-size:15px}
.hub4-sidebar-title h2{font-size:24px;margin:0}
.hub4-race-panel{padding:15px!important;display:block!important}
.hub4-race{display:block!important;padding:12px 10px!important;border:1px solid #466a88;border-radius:10px;background:#102940!important;margin:9px 0}
.hub4-race strong{display:block;font-size:11px;line-height:1.4;color:#d7ebf9}
.hub4-race .hub4-candidate{display:block;font-size:14px;font-weight:900;line-height:1.3;margin:6px 0;color:#fff;overflow-wrap:anywhere}
.hub4-race .hub4-party{display:inline-block;margin-right:4px;font-size:9px;font-weight:900;padding:4px 7px;border-radius:6px;border:1px solid #5886a1}
.hub4-race .hub4-party.R{color:#ffd4da;background:#6a2537;border-color:#c45668}
.hub4-race .hub4-party.D{color:#d5e8ff;background:#194c87;border-color:#498bc7}
.hub4-race small{font-size:9px;color:#a7c3d6}
.hub4-all-calls{display:block;margin-top:12px;padding:10px;text-align:center;border:1px solid #466a82;border-radius:9px;color:#a8ebff;font-size:10px;font-weight:900;letter-spacing:.4px}
.hub4-all-calls:hover{border-color:#7cdef5;background:#163a51}
.hub4-polls-panel{padding:15px!important}
.hub4-polls-panel .hub2-poll{padding:12px}
.hub4-polls-panel h2{font-size:23px}
.hub4-mobile-controls{display:none}
.hub4-drawer-backdrop{display:none}
@media(max-width:1150px) and (min-width:901px){
 .hub4-columns{grid-template-columns:minmax(190px,235px) minmax(0,1fr) minmax(205px,235px)!important;gap:10px!important}
 .hub4-composer,.hub4-rooms,.hub4-race-panel,.hub4-polls-panel{padding:11px!important}
}
@media(max-width:900px){
 .hub4-columns{display:block!important;margin-top:10px!important}
 .hub4-center{display:block!important;grid-column:auto!important;width:100%;min-width:0!important}
 .hub4-header{min-height:75px!important;padding:15px!important}
 .hub4-header h1{font-size:38px!important}
 .hub4-mobile-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 12px;border-bottom:1px solid #2f4c61}
 .hub4-mobile-controls button{padding:10px 5px;background:#153a57;color:#eaf9ff;border:1px solid #43748d;font-size:10px;border-radius:9px;white-space:nowrap}
 .hub4-mobile-controls button:first-child{background:linear-gradient(115deg,#6639b4,#ad3296);border-color:#c88fe2}
 .hub4-left,.hub4-right{display:block!important;position:fixed!important;top:0;bottom:0;width:min(365px,89vw)!important;max-width:89vw;overflow-y:auto;overflow-x:hidden;z-index:205;grid-row:auto!important;grid-column:auto!important;border:1px solid #4f7393;background:#081a2c;padding:13px;box-shadow:0 0 65px #000b;transition:transform .2s ease}
 .hub4-left{left:0;transform:translateX(-108%)}
 .hub4-right{right:0;transform:translateX(108%)}
 .hub4-layout[data-drawer="compose"] .hub4-left,.hub4-layout[data-drawer="rooms"] .hub4-left{transform:translateX(0)}
 .hub4-layout[data-drawer="calls"] .hub4-right{transform:translateX(0)}
 .hub4-layout[data-drawer="rooms"] .hub4-composer{display:none!important}
 .hub4-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 14px;color:#fff;font-size:13px;letter-spacing:.5px}
 .hub4-drawer-head button{padding:7px 10px;border:1px solid #5783a1;border-radius:8px;background:#17354f;color:#fff}
 .hub4-layout[data-drawer="compose"] .hub4-drawer-backdrop,.hub4-layout[data-drawer="rooms"] .hub4-drawer-backdrop,.hub4-layout[data-drawer="calls"] .hub4-drawer-backdrop{display:block!important;position:fixed;inset:0;background:#010816c9;backdrop-filter:blur(3px);z-index:204;border:0;border-radius:0}
 .hub4-feed-panel #hubFeed{min-height:350px!important}
 .hub4-feed-panel .pulse-post{padding:12px!important}
}
@media(max-width:540px){
 .hub4-feed-heading{padding:13px 11px}
 .hub4-feed-heading h2{font-size:21px}
 .hub4-searchbar{padding:10px!important}
 .hub4-searchbar .hub2-micro{display:none}
 .hub4-header .hub2-kicker{font-size:8px!important;letter-spacing:1px}
}
@media(prefers-reduced-motion:reduce){
 .hub4-left,.hub4-right{transition:none}
}


/* Small-screen action remains visible while browsing long conversations. */
@media(max-width:900px){
 .hub4-mobile-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:10px}
 .hub4-mobile-controls button:first-child{
  position:fixed;bottom:max(16px,env(safe-area-inset-bottom));right:16px;z-index:90;
  min-height:47px;padding:12px 18px;border-radius:999px;
  box-shadow:0 9px 28px #000c,0 0 0 1px #a55ddd44;
  font-size:12px;font-weight:900
 }
}



/* X-style identities: persistent user photos, perfectly circular in every feed depth. */
.hub2-avatar.hub4-member-avatar,.pulse-author-line .hub2-avatar.hub4-member-avatar,
.pulse-reply-bubble .pulse-author-line .hub2-avatar.hub4-member-avatar{
 display:inline-flex;position:relative;flex:0 0 auto;align-items:center;justify-content:center;
 overflow:hidden;aspect-ratio:1;border-radius:50%!important;line-height:1!important;
 border:2px solid #5896ba;background:#1c3e59
}
.hub4-member-photo{display:block!important;width:100%!important;height:100%!important;
 object-fit:cover;object-position:center;border-radius:50%!important;flex:none}
.hub4-compose-top .hub4-member-avatar{height:44px!important;width:44px!important}
.hub4-edit-profile{color:#76d9ed;font-size:10px;letter-spacing:0;text-decoration:underline}
.hub4-edit-profile:hover{color:#c8f7ff}
.ew-member-profile.ew-profile-with-photo{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ew-profile-avatar{display:grid;place-items:center;flex:0 0 auto;width:90px;height:90px;overflow:hidden;border-radius:50%;
 border:3px solid #60cde5;background:linear-gradient(135deg,#165b7d,#732a86);box-shadow:0 6px 28px #18afce38;
 color:#fff;font-size:37px;font-weight:900}
.ew-profile-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.ew-profile-identity{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere}
.ew-avatar-settings{margin:12px 0 24px;background:#0c263b;border:1px solid #446c86;border-radius:13px;padding:17px}
.ew-avatar-settings h3{font-size:18px;font-weight:900;color:#ecf8ff;margin:0 0 6px}
.ew-avatar-settings p{color:#a9c7d9;font-size:12px;line-height:1.5;margin:0 0 12px}
.ew-avatar-upload-label{display:inline-block;cursor:pointer;padding:12px 16px;border-radius:11px;
 border:1px solid #5dc6de;background:linear-gradient(110deg,#115d7d,#2878a1);
 color:#fff;font-size:11px;font-weight:900;margin:0 9px 8px 0}
.ew-avatar-upload-label:hover{background:linear-gradient(110deg,#1b7ca3,#2798be)}
.ew-avatar-settings #ewAvatarFile{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.ew-avatar-upload-label:focus-within,.ew-avatar-settings #ewAvatarFile:focus-visible{outline:3px solid #84e7f6;outline-offset:3px}
@media(max-width:600px){.ew-profile-avatar{width:70px;height:70px;font-size:29px}.ew-avatar-settings{padding:14px}}
