/* Audience polls: deep navy glass, readable choices, restrained gold selection. */
:is(.audience-poll-dialog,.audience-poll-welcome,.audience-poll-modes) {
    --poll-bg:#071224; --poll-raised:#101f37; --poll-text:#edf4ff; --poll-muted:#adbed5;
    --poll-edge:#315572; --poll-accent:#7edbff; --poll-gold:#ffd982; --poll-input:#09182d;
    --poll-glow:#62cfff25; color:var(--poll-text); font-family:inherit;
}
[data-theme="light"] :is(.audience-poll-dialog,.audience-poll-welcome,.audience-poll-modes) {
    --poll-bg:#f6faff; --poll-raised:#e9f2fb; --poll-text:#142c49; --poll-muted:#49647e;
    --poll-edge:#83a4c1; --poll-accent:#0a648e; --poll-gold:#825000; --poll-input:#fff; --poll-glow:#3488b328;
}
.audience-poll-dialog {
    width:min(880px,calc(100vw - 28px)); max-width:none; max-height:calc(100dvh - 36px); padding:0;
    border:1px solid var(--poll-edge); border-radius:18px;
    background:radial-gradient(ellipse at 100% 0%,#18728820,transparent 48%),var(--poll-bg);
    box-shadow:0 30px 100px #0008,0 0 45px var(--poll-glow),inset 0 1px 0 #d9efff1a; overflow:hidden;
}
.audience-poll-dialog[open] { display:flex; flex-direction:column; }
.audience-poll-dialog::backdrop { background:#02081591; backdrop-filter:blur(5px); }
.audience-poll-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 26px 18px; border-bottom:1px solid var(--poll-edge); background:linear-gradient(110deg,var(--poll-raised),transparent); flex-shrink:0; }
.audience-poll-eyebrow { color:var(--poll-accent); font-size:.88rem; font-weight:650; letter-spacing:.035em; }
.audience-poll-heading h2 { color:var(--poll-text); margin:4px 0 0; font-size:1.65rem; font-weight:700; }
.audience-poll-dialog button,.audience-poll-launch,.audience-poll-modes button {
    font-family:inherit; font-size:.96rem; font-weight:650; color:var(--poll-text,#edf4ff);
    border:1px solid var(--poll-edge,#315572); border-radius:10px; padding:10px 16px; cursor:pointer;
    background:linear-gradient(135deg,var(--poll-raised,#101f37),var(--poll-bg,#071224));
    box-shadow:inset 0 1px 0 #d8efff0f; transition:border-color .2s,box-shadow .2s,background .2s;
}
.audience-poll-dialog button:hover:not(:disabled),.audience-poll-launch:hover,.audience-poll-modes button:hover {
    border-color:var(--poll-accent,#7edbff); box-shadow:0 0 18px var(--poll-glow,#62cfff25),inset 0 1px 0 #d8efff30;
}
.audience-poll-dialog :is(button,input,textarea,select):focus-visible { outline:3px solid var(--poll-accent); outline-offset:3px; }
.audience-poll-dialog button:disabled { cursor:not-allowed; opacity:.55; }
.audience-poll-dialog .audience-poll-icon { width:40px; height:40px; padding:0; font-size:1.6rem; flex-shrink:0; }
.audience-poll-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px 26px; scrollbar-width:thin; scrollbar-color:var(--poll-edge) transparent; }
.audience-poll-footer { flex-shrink:0; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; padding:16px 26px; border-top:1px solid var(--poll-edge); background:var(--poll-bg); }
.audience-poll-dialog .is-primary { background:linear-gradient(110deg,#11436c,#125a7d); color:#fff; border-color:#5bb9e5; box-shadow:0 4px 16px #25a5d72a,inset 0 1px 0 #fff2; }
.audience-poll-saving { margin-right:auto; color:var(--poll-accent); font-size:.88rem; }
.audience-poll-section-title,.audience-poll-result-heading { display:flex; gap:18px; align-items:center; margin-bottom:24px; }
.audience-poll-dialog h3 { font-size:1.3rem; font-weight:650; color:var(--poll-text); margin:0 0 6px; line-height:1.4; overflow-wrap:anywhere; }
.audience-poll-dialog p { color:var(--poll-muted); font-size:.96rem; line-height:1.55; margin:0; }
.audience-poll-orbit { display:grid; place-items:center; width:56px; height:56px; flex-shrink:0; border-radius:16px; color:var(--poll-accent); font-size:1.9rem; border:1px solid var(--poll-edge); background:linear-gradient(145deg,var(--poll-raised),var(--poll-bg)); box-shadow:0 0 22px var(--poll-glow); }
.audience-poll-field { display:grid; gap:9px; font-size:1rem; font-weight:650; color:var(--poll-accent); }
.audience-poll-dialog :is(input,textarea,select) { width:100%; min-width:0; border:1px solid var(--poll-edge); border-radius:9px; background:var(--poll-input); color:var(--poll-text); font:inherit; font-size:1rem; padding:11px 13px; color-scheme:dark; }
.audience-poll-dialog textarea { resize:vertical; min-height:82px; max-height:190px; }
.audience-poll-dialog :is(input,textarea)::placeholder { color:var(--poll-muted); opacity:.85; }
[data-theme="light"] .audience-poll-dialog :is(input,textarea,select) { color-scheme:light; }
.audience-poll-editor-answers,.audience-poll-ballot { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0; }
.audience-poll-answer-field { display:flex; align-items:center; gap:10px; min-width:0; }
.audience-poll-answer-field>span { color:var(--poll-gold); font-size:1.1rem; font-weight:700; }
.audience-poll-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:16px 0; }
.audience-poll-tools label { display:flex; align-items:center; gap:9px; color:var(--poll-muted); font-size:.88rem; margin-left:auto; }
.audience-poll-tools select { width:auto; font-size:.9rem; }
.audience-poll-dialog .audience-poll-note { font-size:.86rem; color:var(--poll-muted); border-left:2px solid var(--poll-edge); padding-left:12px; }
.audience-poll-meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; color:var(--poll-muted); font-size:.85rem; margin-bottom:20px; }
.audience-poll-meta>span:first-child { border:1px solid var(--poll-edge); border-radius:7px; padding:5px 9px; color:var(--poll-accent); }
.audience-poll-meta .is-live::before,.audience-poll-live::before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#57c9e9; box-shadow:0 0 8px #57c9e980; }
.audience-poll-live { color:var(--meeting-accent,#7edbff); font-size:.8rem; white-space:nowrap; }
.audience-poll-question { display:flex; align-items:center; gap:16px; padding:20px; border-radius:13px; border:1px solid var(--poll-edge); background:linear-gradient(120deg,var(--poll-raised),var(--poll-bg)); box-shadow:inset 0 1px 0 #c0eaff15,0 0 24px var(--poll-glow); margin-bottom:16px; }
.audience-poll-question h3 { font-size:1.4rem; margin:0; }
.audience-poll-center { text-align:center; }
.audience-poll-dialog .audience-poll-answer { position:relative; display:flex; align-items:center; gap:13px; text-align:left; min-height:76px; padding:14px 18px; border-radius:13px; font-size:1.1rem; }
.audience-poll-answer>b { color:var(--poll-gold); font-size:1.2rem; }
.audience-poll-answer>span:nth-child(2) { flex:1; overflow-wrap:anywhere; }
.audience-poll-dialog .audience-poll-answer.is-selected { border-color:var(--poll-gold); background:linear-gradient(120deg,#b17e1d22,var(--poll-raised)); box-shadow:0 0 20px #ffc65b20,inset 0 0 0 1px #ffc65b35; }
.audience-poll-dialog .audience-poll-answer.is-selected::after { content:""; position:absolute; inset:-1px; border:1px solid var(--poll-gold); border-radius:inherit; pointer-events:none; animation:poll-choice-glow 2.8s ease-in-out infinite; }
.audience-poll-choice-mark { min-width:16px; color:var(--poll-gold); }
.audience-poll-vote-status { display:flex; flex-direction:column; gap:9px; font-size:.9rem; color:var(--poll-muted); }
.audience-poll-vote-status strong { color:var(--poll-accent); font-weight:600; }
.audience-poll-empty { display:flex; align-items:center; flex-direction:column; text-align:center; gap:16px; padding:28px 10px; }
.audience-poll-total { display:flex; flex-direction:column; align-items:center; justify-content:center; width:88px; height:88px; flex-shrink:0; border:2px solid var(--poll-accent); border-radius:50%; box-shadow:0 0 25px var(--poll-glow); color:var(--poll-accent); background:var(--poll-raised); }
.audience-poll-total strong { font-size:2rem; line-height:1.1; }.audience-poll-total span { color:var(--poll-muted); font-size:.85rem; }
.audience-poll-results { display:grid; gap:20px; margin:22px 0; }
.audience-poll-result>div:first-child { display:flex; align-items:baseline; gap:12px; margin-bottom:9px; color:var(--poll-text); }
.audience-poll-result b { color:var(--poll-accent); }.audience-poll-result span { flex:1; overflow-wrap:anywhere; }.audience-poll-result small { color:var(--poll-muted); white-space:nowrap; }
.audience-poll-result.is-leading strong { color:var(--poll-gold); }
.audience-poll-track { height:16px; border-radius:5px; border:1px solid var(--poll-edge); background:var(--poll-input); overflow:hidden; }
.audience-poll-track>span { display:block; height:100%; border-radius:4px; background:linear-gradient(90deg,hsl(var(--answer-hue) 65% 42%),hsl(var(--answer-hue) 80% 67%)); transform-origin:left; animation:poll-result-reveal .7s cubic-bezier(.16,1,.3,1) both; }
.audience-poll-history { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-top:20px; margin-top:20px; border-top:1px solid var(--poll-edge); font-size:.88rem; color:var(--poll-muted); }.audience-poll-history select { flex:1; min-width:160px; }
.audience-poll-error { display:flex; flex-wrap:wrap; align-items:center; gap:12px; border:1px solid #d77e5b; border-radius:10px; background:#cc6c1617; padding:12px; color:var(--poll-text); margin-bottom:16px; }
.audience-poll-dialog .is-invalid { border-color:#e59c63; box-shadow:0 0 0 2px #d58b4626; }
.audience-poll-spinner { width:28px; height:28px; border:2px solid var(--poll-edge); border-top-color:var(--poll-accent); border-radius:50%; animation:poll-spin .8s linear infinite; }
.audience-poll-modes { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }.audience-poll-modes .is-selected { color:var(--poll-accent); border-color:var(--poll-accent); box-shadow:0 0 18px var(--poll-glow); }
.audience-poll-welcome { padding:26px; border:1px solid var(--poll-edge); border-radius:15px; background:linear-gradient(120deg,var(--poll-bg),var(--poll-raised)); }.audience-poll-welcome h2 { color:var(--poll-accent); font-size:1.4rem; margin:0 0 18px; }.audience-poll-intro { color:var(--poll-muted); max-width:760px; line-height:1.6; margin:18px 0 0; }
@keyframes poll-result-reveal { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes poll-choice-glow { 50% { opacity:.35; box-shadow:0 0 18px #ffc65b36; } }
@keyframes poll-spin { to { transform:rotate(360deg); } }
@media(max-width:600px) {
    .audience-poll-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:13px; }
    .audience-poll-heading,.audience-poll-body,.audience-poll-footer { padding:16px; }
    .audience-poll-heading h2 { font-size:1.35rem; }.audience-poll-editor-answers,.audience-poll-ballot { grid-template-columns:1fr; gap:10px; }
    .audience-poll-dialog .audience-poll-answer { min-height:62px; font-size:1rem; }.audience-poll-question { padding:14px; }.audience-poll-question h3 { font-size:1.15rem; }
    .audience-poll-question .audience-poll-orbit { display:none; }.audience-poll-tools label { width:100%; margin:0; }.audience-poll-tools select { flex:1; }
    .audience-poll-footer button { flex:1 1 auto; }.audience-poll-saving:empty { display:none; }.audience-poll-result small { display:none; }
}
@media(prefers-reduced-motion:reduce) { .audience-poll-dialog * { animation:none!important; transition:none!important; } }
