/* Live poll (hidden pages /livepoll/ and /livepoll/admin.html) - 29-Oct-2026 */
:root{
  --bg:#070720; --bg2:#0E0D2E; --card:rgba(255,255,255,.045); --card2:rgba(255,255,255,.08);
  --line:rgba(167,139,250,.22); --line2:rgba(255,255,255,.12);
  --ink:#F5F3FF; --ink2:#C9C3E6; --ink3:#8E88B4;
  --vio:#7C3AED; --vio2:#A78BFA; --vio3:#5B21B6; --gold:#FCD34D;
  --ok:#4ADE80; --bad:#FB7185;
  --r:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;
  background-image:radial-gradient(70rem 40rem at 85% -10%,rgba(124,58,237,.28),transparent 60%),
                   radial-gradient(50rem 30rem at -10% 110%,rgba(91,33,182,.22),transparent 60%);
  background-attachment:fixed}
a{color:var(--vio2)}
button,input,select,textarea{font:inherit;color:inherit}
.lp-wrap{width:min(40rem,100%);margin:0 auto;padding:1.25rem 1rem 4rem}
.lp-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1.25rem}
.lp-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:-.01em}
.lp-brand img{height:28px;width:auto;display:block}
.lp-live{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .7rem;border-radius:999px;font-size:.72rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:#FECDD3;background:rgba(244,63,94,.14);border:1px solid rgba(251,113,133,.35)}
.lp-live i{width:8px;height:8px;border-radius:50%;background:#F43F5E;animation:lpPulse 1.6s ease-in-out infinite}
@keyframes lpPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.lp-h1{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:clamp(1.7rem,6vw,2.3rem);line-height:1.15;letter-spacing:-.01em;margin:.2rem 0 .5rem}
.lp-sub{color:var(--ink2);margin:0 0 1.4rem}
.lp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem;margin:0 0 1rem;
  box-shadow:0 30px 60px -40px rgba(0,0,0,.7)}
.lp-kick{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--vio2);margin:0 0 .5rem}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.25rem;border:0;border-radius:12px;
  background:var(--vio);color:#fff;font-weight:800;font-size:.98rem;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .1s ease}
.lp-btn:hover{background:var(--vio3)}
.lp-btn:active{transform:translateY(1px)}
.lp-btn:disabled{opacity:.55;cursor:default}
.lp-btn.full{width:100%}
.lp-btn.ghost{background:transparent;border:1px solid var(--line2);color:var(--ink)}
.lp-btn.ghost:hover{background:var(--card2)}
.lp-btn.sm{min-height:36px;padding:.4rem .8rem;font-size:.85rem;border-radius:10px}
.lp-btn.danger{background:transparent;border:1px solid rgba(251,113,133,.45);color:#FDA4AF}
.lp-btn.danger:hover{background:rgba(244,63,94,.14)}
.lp-btn.gold{background:var(--gold);color:#1E1B4B}
.lp-btn.gold:hover{background:#FDE68A}
.lp-field{margin:0 0 .9rem}
.lp-field label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:0 0 .4rem}
.lp-input{width:100%;min-height:48px;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.06);color:var(--ink);font-size:1rem}
.lp-input::placeholder{color:var(--ink3)}
.lp-input:focus{outline:none;border-color:var(--vio2);box-shadow:0 0 0 3px rgba(167,139,250,.25)}
.lp-msg{min-height:1.2em;margin:.6rem 0 0;font-size:.88rem;color:var(--ink2)}
.lp-msg.err{color:var(--bad)}.lp-msg.ok{color:var(--ok)}
.lp-muted{color:var(--ink3);font-size:.88rem}
.lp-hide{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* audience: a question */
.lp-q{font-size:1.2rem;font-weight:700;line-height:1.35;margin:0 0 1rem;overflow-wrap:anywhere}
.lp-opts{display:grid;gap:.6rem}
.lp-opt{display:flex;align-items:center;gap:.8rem;width:100%;min-height:54px;padding:.8rem 1rem;text-align:left;cursor:pointer;
  border-radius:12px;border:1.5px solid var(--line2);background:rgba(255,255,255,.04);color:var(--ink);font-size:1rem;font-weight:600;
  transition:border-color .15s ease,background-color .15s ease}
.lp-opt:hover{border-color:var(--vio2)}
.lp-opt .dot{flex:0 0 22px;height:22px;border-radius:50%;border:2px solid var(--ink3);display:grid;place-items:center}
.lp-opt[aria-checked="true"]{border-color:var(--vio2);background:rgba(124,58,237,.22)}
.lp-opt[aria-checked="true"] .dot{border-color:var(--gold);background:var(--gold);box-shadow:inset 0 0 0 4px #2E1065}
.lp-opt span.t{overflow-wrap:anywhere}
.lp-done{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-radius:12px;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.35);
  color:#BBF7D0;font-weight:600;overflow-wrap:anywhere}
.lp-wait{text-align:center;padding:2.2rem 1.25rem}
.lp-wait .ring{width:54px;height:54px;margin:0 auto 1rem;border-radius:50%;border:3px solid rgba(167,139,250,.25);border-top-color:var(--vio2);animation:lpSpin 1.1s linear infinite}
@keyframes lpSpin{to{transform:rotate(360deg)}}
.lp-me{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.92rem;color:var(--ink2)}
.lp-me b{color:var(--ink)}
.lp-link{background:none;border:0;padding:0;color:var(--vio2);font-weight:700;cursor:pointer;text-decoration:underline}
@media (prefers-reduced-motion:reduce){.lp-live i,.lp-wait .ring{animation:none}}
