:root { color-scheme: light; --blue:#253e68; --ink:#1b2940; --muted:#64748b; --amber:#fbb515; --line:#dfe5ee; --surface:#fff; --bg:#f2f5fa; --green:#126448; --red:#a52c3a; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
[hidden] { display:none !important; }
a { color:var(--blue); text-underline-offset:3px; }
button,input,textarea,select { font:inherit; }
button,.button { display:inline-flex; justify-content:center; align-items:center; gap:.5rem; border:1px solid transparent; border-radius:9px; padding:.65rem 1rem; cursor:pointer; background:var(--blue); color:#fff; font-weight:650; text-decoration:none; line-height:1.5; }
button:hover,.button:hover { filter:brightness(.93); }
button:disabled { opacity:.5; cursor:wait; }
button.secondary,.button.secondary { background:#fff; border-color:var(--line); color:var(--blue); }
button.accent,.button.accent { background:var(--amber); color:#172b48; }
button.danger { background:#fff0f1; border-color:#f3cbd0; color:var(--red); }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #dd9700; outline-offset:3px; }
input:not([type=radio]):not([type=checkbox]),textarea,select { width:100%; background:#fff; border:1px solid #cbd5e1; border-radius:8px; padding:.7rem .8rem; color:var(--ink); }
input[readonly] { background:#eef2f7 !important; }
textarea { min-height:100px; resize:vertical; }
label { display:block; font-size:.94rem; font-weight:650; }
label input,label textarea { margin-top:.35rem; }
form { display:grid; gap:1rem; }
h1,h2,h3,h4,p { margin:0; }
h1 { font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.2; letter-spacing:-.035em; }
h2 { font-size:1.35rem; line-height:1.3; letter-spacing:-.02em; }
h3 { font-size:1.05rem; }
p + p { margin-top:.75rem; }
header { background:#fff; border-bottom:1px solid var(--line); }
.topbar { max-width:1280px; margin:auto; padding:.9rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:flex; align-items:center; gap:1rem; text-decoration:none; color:var(--ink); }
.brand img { width:100px; height:64px; object-fit:contain; }
.brand span { font-size:.8rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; border-left:1px solid var(--line); padding-left:1rem; }
main { max-width:1200px; margin:auto; padding:2.5rem 1.5rem 4rem; }
.narrow { max-width:680px; }
.intro { margin-bottom:1.8rem; }
.eyebrow { color:var(--muted); text-transform:uppercase; font-size:.75rem; font-weight:750; letter-spacing:.13em; margin-bottom:.5rem; }
#event-owner { text-transform:none; letter-spacing:.03em; }
.muted { color:var(--muted); font-size:.94rem; }
.intro .muted { margin-top:.8rem; }
.card { padding:1.5rem; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 8px 30px #253e6805; }
.card + .card { margin-top:1rem; }
.stack { display:grid; gap:1.2rem; }
.row { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; }
.spread { justify-content:space-between; }
.columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; align-items:start; }
.layout-admin { display:grid; grid-template-columns:300px minmax(0,1fr); gap:1.5rem; align-items:start; }
.layout-admin > .card + .card { margin-top:0; }
.badge { display:inline-flex; border-radius:99px; padding:.25rem .7rem; background:#eaf0f8; color:var(--blue); font-size:.78rem; font-weight:750; }
.badge.open { background:#e4f5ed; color:var(--green); }
.badge.closed { background:#fcecef; color:var(--red); }
.notice { border-radius:10px; margin:1rem 0; padding:.85rem 1rem; border:1px solid var(--line); background:#edf2f9; overflow-wrap:anywhere; }
.notice.error { color:var(--red); background:#fff0f1; border-color:#efc9cf; }
.notice.success { color:var(--green); background:#e8f6ee; border-color:#bddcca; }
.empty { text-align:center; padding:3rem 1.5rem; color:var(--muted); }
.set-button { display:block; width:100%; text-align:left; margin-top:.65rem; background:#fff; color:var(--ink); border-color:var(--line); }
.set-button.selected { border-color:var(--blue); background:#eef3fb; }
.set-button small { display:block; color:var(--muted); font-weight:400; }
.live-panel { background:var(--blue); color:#fff; margin-bottom:1.5rem; }
.live-panel .muted,.live-panel .eyebrow { color:#c2d0e6; }
.live-panel h2 { white-space:pre-wrap; overflow-wrap:anywhere; }
.live-panel .row { margin-top:1rem; }
.options { display:grid; gap:.75rem; border:0; padding:0; margin:1.3rem 0; min-width:0; }
.options legend { margin-bottom:1rem; color:var(--muted); }
.choice { display:flex; align-items:center; gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:12px; cursor:pointer; font-size:1.05rem; overflow-wrap:anywhere; }
.choice:has(input:checked) { background:#eef3fb; border-color:var(--blue); }
.choice input { width:22px; height:22px; accent-color:var(--blue); flex-shrink:0; }
.choice:has(input:disabled) { opacity:.65; cursor:default; }
.full { width:100%; }
.vote-question { white-space:pre-wrap; overflow-wrap:anywhere; margin-top:1rem; }
.result-list { display:grid; gap:1rem; }
.result-row { border:1px solid var(--line); padding:1rem; border-radius:10px; }
.result-row .row span:first-child { overflow-wrap:anywhere; flex:1; }
.bar-track { height:8px; border-radius:8px; background:#e9eef5; margin-top:.7rem; overflow:hidden; }
.bar-fill { height:100%; width:0; background:var(--blue); border-radius:8px; transition:width .35s; }
.show-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:2rem; align-items:center; }
.show-grid canvas { display:block; width:100%; max-width:340px; margin:auto; }
.check-label { display:flex; align-items:center; gap:.6rem; }
.check-label input { width:18px; height:18px; }
.event-list { display:grid; gap:1rem; margin-top:1rem; }
.event-list .card { margin:0; }
.event-list h3 { overflow-wrap:anywhere; }
.links { display:flex; flex-wrap:wrap; gap:1rem; font-size:.9rem; }
footer { text-align:center; font-size:.8rem; color:var(--muted); padding:1.5rem; }
footer a { color:inherit; text-decoration:underline; text-underline-offset:.15em; }
.event-cover { position:relative; min-width:0; background:#101a2c; color:#fff; }
.event-cover-image { display:block; width:100%; height:auto; }
.event-cover-caption { padding:1.2rem; text-align:center; }
.event-cover-caption h2 { font-size:clamp(1.1rem,2.3vw,1.7rem); line-height:1.25; }
.event-cover-caption p { margin-top:.5rem; color:#e0e8f5; }
.event-cover.image-unavailable { min-height:240px; display:grid; align-content:center; }
.vote-page #question.cover-card { padding:0; overflow:hidden; }
.projection-page .event-cover { flex:1; min-height:0; overflow:hidden; }
.projection-page .event-cover-image { width:100%; height:100%; object-fit:contain; }
.projection-page .event-cover-caption { position:absolute; left:50%; bottom:2.5%; transform:translateX(-50%); width:max-content; max-width:90%; padding:.75rem 1.3rem; border-radius:10px; background:rgb(10 20 36 / .86); }
.projection-page .event-cover-caption p { font-size:clamp(.85rem,1.3vw,1.2rem); }
details summary { cursor:pointer; font-weight:650; }
details[open] summary { margin-bottom:1rem; }
@media(max-width:800px) { .columns,.layout-admin,.show-grid { grid-template-columns:1fr; } main { padding:1.5rem 1rem 3rem; } .card { padding:1.2rem; } .topbar { padding:.7rem 1rem; } .brand span { font-size:.7rem; } .show-grid canvas { max-width:260px; } }
@media(prefers-reduced-motion:reduce) { * { transition:none !important; } }
.countdown { display:inline-flex; align-items:center; justify-content:center; min-width:150px; padding:.45rem 1.15rem; border:2px solid #e5ae36; border-radius:12px; background:#fff7e4; color:#573b0d; font-size:clamp(2rem,4vw,3.4rem); font-weight:800; font-variant-numeric:tabular-nums; line-height:1.15; }
.countdown.expired { background:#fff0f1; color:var(--red); border-color:#edbbc3; }
.vote-status { margin:0 0 1rem; }
.participation { color:var(--muted); font-size:.95rem; font-weight:650; margin-top:1rem; }
.show-grid.without-visual { grid-template-columns:1fr; }
.event-qr { padding:.5rem 0; text-align:center; }
.event-qr canvas { width:min(100%,310px); height:auto; display:block; margin:0 auto 1rem; }
.event-qr a { display:block; overflow-wrap:anywhere; font-size:clamp(.8rem,1.3vw,1.2rem); font-weight:650; }
.sequence-list { list-style:none; padding:0; margin:0; display:grid; gap:.6rem; }
.sequence-item { display:flex; align-items:center; gap:.7rem; padding:.7rem; border:1px solid var(--line); border-radius:9px; background:#fafbfd; }
.sequence-title { flex:1; overflow-wrap:anywhere; font-size:.9rem; }
.sequence-item .row { flex-wrap:nowrap; gap:.3rem; }
.sequence-item button { padding:.3rem .65rem; }
.slide-thumb { width:70px; height:44px; object-fit:contain; background:#182840; border-radius:5px; }
.slide-upload { padding:1rem; border:1px dashed #c4cfdf; border-radius:10px; }
.event-settings { margin-bottom:1.5rem; }

/* Schermata di proiezione: nessuno scorrimento, misure adattate al contenuto. */
.projection-page { height:100vh; height:100dvh; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.projection-page > header,.projection-page > footer { flex-shrink:0; }
.projection-page .topbar { max-width:none; padding:.3rem 1.4rem; }
.projection-page .brand img { width:64px; height:40px; }
.projection-page > footer { padding:.25rem 1rem; font-size:.68rem; }
.projection-page #show-stage { --show-scale:1; flex:1; display:flex; flex-direction:column; min-height:0; width:100%; max-width:none; margin:0; padding:calc(16px * var(--show-scale)) calc(32px * var(--show-scale)); }
.projection-page #message { flex-shrink:0; margin:0 0 .5rem; padding:.4rem .75rem; font-size:.85rem; }
.projection-page #event-picker { overflow:auto; }
.projection-page #show-content { display:flex; flex-direction:column; flex:1; min-height:0; gap:calc(14px * var(--show-scale)); }
.projection-page .show-heading { flex-shrink:0; gap:calc(16px * var(--show-scale)); }
.projection-page .show-heading > div:first-child { flex:1; min-width:0; overflow-wrap:anywhere; }
.projection-page .show-heading .row { flex-wrap:nowrap; }
.projection-page .show-heading h1 { font-size:calc(clamp(18px,1.5vw,28px) * var(--show-scale)); }
.projection-page .show-heading .eyebrow { margin-bottom:calc(3px * var(--show-scale)); font-size:calc(12px * var(--show-scale)); }
.projection-page .show-heading .badge { font-size:calc(14px * var(--show-scale)); padding:calc(4px * var(--show-scale)) calc(12px * var(--show-scale)); white-space:nowrap; }
.projection-page .countdown { min-width:0; font-size:calc(clamp(28px,3.3vw,64px) * var(--show-scale)); padding:calc(5px * var(--show-scale)) calc(16px * var(--show-scale)); }
.projection-page #question-slide { flex:1; display:flex; flex-direction:column; min-height:0; padding:calc(28px * var(--show-scale)); border-radius:calc(16px * var(--show-scale)); }
.projection-page .vote-question { flex-shrink:0; font-size:calc(clamp(24px,2.8vw,54px) * var(--show-scale)); line-height:1.18; margin:0 0 calc(22px * var(--show-scale)); }
.projection-page .show-grid { flex:1; min-height:0; min-width:0; grid-template-columns:minmax(0,1fr) minmax(0,.4fr); gap:calc(32px * var(--show-scale)); align-items:stretch; }
.projection-page .show-grid.without-visual { grid-template-columns:1fr; }
.projection-page .result-list { min-height:0; min-width:0; align-content:center; gap:calc(14px * var(--show-scale)); }
.projection-page .result-row { min-width:0; font-size:calc(clamp(18px,1.65vw,32px) * var(--show-scale)); line-height:1.3; padding:calc(14px * var(--show-scale)) calc(18px * var(--show-scale)); border-radius:calc(10px * var(--show-scale)); overflow-wrap:anywhere; }
.projection-page .result-row .row { gap:calc(12px * var(--show-scale)); flex-wrap:nowrap; align-items:start; }
.projection-page .result-row strong { white-space:nowrap; flex-shrink:0; }
.projection-page .bar-track { height:calc(9px * var(--show-scale)); margin-top:calc(9px * var(--show-scale)); }
.projection-page .results-notice { grid-column:1/-1; font-size:calc(17px * var(--show-scale)); }
.projection-page #visual-panel { display:flex; align-items:center; justify-content:center; min-height:0; min-width:0; }
.projection-page .show-grid canvas { width:100%; height:100%; min-height:0; max-height:100%; max-width:calc(390px * var(--show-scale)); object-fit:contain; margin:0 auto; }
.projection-page .event-qr { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; padding:0; justify-content:center; }
.projection-page .event-qr canvas { flex:1; min-height:0; margin:0 auto calc(12px * var(--show-scale)); }
.projection-page .event-qr a { flex-shrink:0; font-size:calc(clamp(14px,1.1vw,22px) * var(--show-scale)); line-height:1.3; }
.projection-page .participation { flex-shrink:0; font-size:calc(clamp(16px,1.2vw,23px) * var(--show-scale)); margin:calc(14px * var(--show-scale)) 0 0; }
.projection-page .image-slide { flex:1; width:100%; min-height:0; background:#080c13; overflow:hidden; }
.projection-page .image-slide img { display:block; width:100%; height:100%; object-fit:contain; }
.projection-page.slide-mode { background:#080c13; }
.projection-page.slide-mode .show-heading { display:none; }
.projection-page.slide-mode #show-stage { padding:0; }
.show-page.slide-mode > header,.show-page.slide-mode > footer { display:none; }
.relatore-page > footer { display:none; }
.presenter-toolbar { flex-shrink:0; display:grid; justify-items:center; gap:.3rem; background:#fff; color:var(--ink); border-top:1px solid var(--line); padding:.7rem 1rem; }
.presenter-toolbar .row { justify-content:center; flex-wrap:nowrap; }
.presenter-toolbar strong { min-width:130px; text-align:center; font-size:.9rem; }
.presenter-toolbar .muted { font-size:.75rem; text-align:center; line-height:1.3; }
.presenter-toolbar button { padding:.5rem .85rem; }

/* Regia modulare: sequenza in evidenza, editor e impostazioni richiudibili. */
.admin-page main { max-width:1480px; padding-top:1.3rem; }
.admin-page .topbar { max-width:1480px; padding:.45rem 1.5rem; }
.admin-page .brand img { width:78px; height:46px; }
.admin-page .intro { margin-bottom:1rem; }
.admin-page .intro h1 { font-size:1.85rem; }
.admin-page .card { padding:1.1rem; border-radius:12px; }
.admin-page .stack { gap:.9rem; }
.admin-page .layout-admin { grid-template-columns:235px minmax(0,1fr); gap:1rem; }
.admin-page .layout-admin > aside { position:sticky; top:1rem; }
.admin-page .event-settings,.admin-page .live-panel,.admin-page .presenter-access { margin:0 0 1rem; }
.admin-page .live-panel summary { display:flex; align-items:center; gap:.4rem; }
.admin-page .live-panel summary::before { content:'▸'; }
.admin-page .live-panel[open] summary::before { content:'▾'; }
.admin-page .live-panel summary .badge { margin-left:auto; }
.admin-page .live-panel h2 { font-size:1.15rem; }
.admin-page .live-content { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.25rem 1rem; }
.admin-page .live-panel[open] summary { margin-bottom:.7rem; }
.admin-page .live-panel h2,.admin-page .live-panel #live-subtitle { grid-column:1; }
.admin-page .live-panel #live-actions { grid-column:2; grid-row:2/4; align-self:center; margin-top:0; }
.admin-page .live-panel .row { margin-top:.65rem; }
.admin-page .live-panel .muted { font-size:.83rem; margin-top:.25rem; }
.admin-page button,.admin-page .button { padding:.45rem .8rem; font-size:.85rem; }
.admin-module { padding:.8rem 1rem; background:#f8fafc; border:1px solid var(--line); border-radius:10px; min-width:0; }
.admin-module > summary { font-size:.9rem; overflow-wrap:anywhere; }
.admin-module[open] > :not(summary) + :not(summary) { margin-top:.85rem; }
.admin-module .admin-module { background:#fff; margin-top:.7rem; }
.admin-page .broadcast-sequence { padding:.5rem 0; }
.admin-page .broadcast-sequence h2 { font-size:1.1rem; }
.admin-page .broadcast-sequence > .muted { font-size:.83rem; }
.admin-page .sequence-item { gap:.65rem; padding:.65rem; background:#fff; }
.admin-page .sequence-item.on-air { background:#eef7f2; border-color:#83bca0; }
.sequence-number { font-size:.78rem; color:var(--muted); font-variant-numeric:tabular-nums; }
.sequence-title { min-width:0; }
.on-air-label { display:block; color:var(--green); font-size:.72rem; font-weight:750; margin-top:.2rem; }
.sequence-actions { margin-left:auto; }
.admin-page .sequence-item .badge { min-width:70px; justify-content:center; font-size:.65rem; }
.admin-page .slide-thumb { width:70px; height:44px; flex-shrink:0; }
.admin-page .sequence-item button { padding:.3rem .6rem; }
.admin-page .set-button { padding:.6rem .7rem; margin-top:.45rem; display:block; }
.admin-page aside .admin-module { margin-top:.3rem; }
.admin-page input:not([type=checkbox]),.admin-page textarea { padding:.55rem .7rem; }
.admin-page .check-label { font-size:.88rem; font-weight:500; line-height:1.4; }
.admin-page .presenter-access input,.admin-page .presenter-access a { margin-top:.6rem; }
.admin-page #event-regia { scroll-margin-top:1rem; }
.admin-page #live-navigation { grid-column:1/-1; border-top:1px solid var(--line); padding-top:.8rem; margin-top:.6rem; min-width:0; }
.admin-page .presentation-jump { display:flex; gap:.6rem; margin-top:.65rem; }
.admin-page .presentation-jump select { flex:1; min-width:0; width:0; text-overflow:ellipsis; }
.admin-page .presentation-jump button { flex-shrink:0; }
.admin-page #presentation-panel > summary { display:flex; align-items:center; gap:.6rem; }
.admin-page #presentation-panel > summary .badge { margin-left:auto; }
.admin-page .presentation-active { background:#eef7f2; border-color:#83bca0; }
.admin-page .presentation-indicator { color:var(--green); font-weight:750; }
.admin-page .presentation-content .presenter-access { margin:0; padding:.85rem; background:#fff; border:1px solid var(--line); border-radius:8px; }
.admin-page .presentation-content .presenter-access .muted { font-size:.8rem; }
.admin-page .presenter-short-code strong { font-family:monospace; font-size:1.3rem; letter-spacing:.12em; }
.question-options { color:var(--muted); padding-left:1.4rem; overflow-wrap:anywhere; }
.slide-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:.8rem; }
.slide-gallery:empty { display:none; }
.slide-library-item { display:grid; justify-items:start; gap:.5rem; }
.slide-library-item img { width:100%; height:110px; object-fit:contain; background:#182840; border-radius:6px; }
.slide-library-item h3 { font-size:.85rem; overflow-wrap:anywhere; }
@media(min-width:1000px) { .projection-page .result-list.many-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
  .admin-page .live-content { display:block; }
  .admin-page .live-panel #live-actions { margin-top:.7rem; }
  .admin-page .layout-admin { grid-template-columns:1fr; }
  .admin-page .layout-admin > aside { position:static; }
  .admin-page .intro .row { gap:.4rem; }
  .admin-page .sequence-item { flex-wrap:wrap; }
  .admin-page .sequence-title { flex-basis:calc(100% - 140px); }
  .projection-page .topbar { padding:.2rem .6rem; }
  .projection-page .brand span { font-size:.55rem; padding-left:.5rem; }
  .projection-page .brand img { width:42px; height:30px; }
  .projection-page .show-grid { grid-template-columns:minmax(0,1fr) minmax(0,.3fr); }
  .projection-page #show-stage { padding:calc(10px * var(--show-scale)); }
  .projection-page #question-slide { padding:calc(16px * var(--show-scale)); }
  .relatore-page .topbar .button { font-size:.65rem; padding:.35rem; }
  .presenter-toolbar { padding:.5rem; }
  .presenter-toolbar strong { min-width:65px; font-size:.7rem; }
  .presenter-toolbar button { font-size:.75rem; padding:.4rem .6rem; }
}

/* Modalità di risposta e bozze del partecipante. */
.answer-fields { margin:1.3rem 0 .8rem; }
.draft-status { font-size:.85rem; margin:0 0 .8rem; }
.vote-submit:disabled { background:#dce1e7; border-color:#c7cfd8; color:#596575; opacity:1; cursor:not-allowed; }
.vote-submit:disabled:hover { filter:none; }
.vote-submit-reason { color:#596575; font-size:.9rem; margin:0 0 .7rem; }
.question-type-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; align-items:end; }
.question-type-help { display:inline-flex; align-items:center; justify-content:center; width:2.4rem; height:2.4rem; margin-bottom:.3rem; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--blue); font:bold 1.2rem Georgia,serif; text-decoration:none; }
.help-page main { max-width:1000px; }
.help-page .help-navigation { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; }
.help-page section { scroll-margin-top:1rem; }
.help-page h2 { margin-top:0; }
.help-page h3 { margin-bottom:.4rem; }
.help-page p + p { margin-top:.7rem; }
.help-page table { width:100%; border-collapse:collapse; }
.help-page th,.help-page td { text-align:left; vertical-align:top; padding:.65rem; border-bottom:1px solid var(--line); }
.help-page ul,.help-page ol { padding-left:1.4rem; }
.percentage-row { padding:1rem; border:1px solid var(--line); border-radius:12px; background:#fff; }
.percentage-row > label { font-size:1rem; margin-bottom:.5rem; }
.percentage-controls { display:grid; grid-template-columns:minmax(0,1fr) 96px; gap:1rem; align-items:center; }
.percentage-controls input[type=range] { width:100%; height:36px; padding:0; border:0; accent-color:var(--blue); background:transparent; cursor:pointer; }
.percentage-number { display:flex; gap:.35rem; align-items:center; }
.percentage-number input { padding:.5rem; min-width:0; }
.percentage-total { font-weight:750; color:var(--blue); font-variant-numeric:tabular-nums; }
.rank-row { display:flex; gap:.4rem; align-items:stretch; }
.rank-row > button:not(.rank-select) { flex-shrink:0; padding:.5rem .75rem; }
.rank-select { flex:1; justify-content:flex-start; text-align:left; min-width:0; font-weight:500; }
.rank-select[aria-pressed=true] { border-color:var(--blue); background:#edf3fb; }
.rank-number { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:#e8eef7; color:var(--blue); font-weight:800; }
.binary-row { margin:0; min-width:0; display:flex; flex-wrap:wrap; gap:.6rem; padding:.8rem 1rem; border:1px solid var(--line); border-radius:12px; }
.binary-row legend { color:var(--ink); font-weight:650; margin:0; padding:0 .3rem; max-width:100%; overflow-wrap:anywhere; }
.binary-choice { display:flex; align-items:center; gap:.5rem; padding:.65rem .85rem; border:1px solid var(--line); border-radius:8px; font-weight:500; cursor:pointer; flex:1; min-width:100px; }
.binary-choice input { accent-color:var(--blue); width:18px; height:18px; margin:0; }
.binary-0:has(input:checked) { border-color:var(--blue); background:#eaf0fa; }
.binary-1:has(input:checked) { border-color:#b83746; background:#fcecef; }
.binary-1 input { accent-color:#b83746; }
.binary-clear { padding:.3rem .7rem; }
.answer-fields:disabled { opacity:.7; }
.binary-track { display:flex; height:14px; margin-top:.5rem; background:#e9eef5; overflow:hidden; border-radius:8px; }
.binary-equal { background:#253e68; }
.binary-changed { background:#bb3547; }
.equal-text { color:#253e68; }
.changed-text { color:#a52c3a; }
.projection-page .binary-track { height:calc(14px * var(--show-scale)); margin-top:calc(7px * var(--show-scale)); }
.projection-page .binary-legend { margin-top:calc(5px * var(--show-scale)); font-size:.8em; }
.projection-page .result-row small { display:block; margin-top:calc(4px * var(--show-scale)); }
.question-preview { width:min(680px,calc(100vw - 2rem)); max-height:90dvh; padding:1.4rem; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:var(--bg); }
.question-preview::backdrop { background:#14243d99; }
.question-preview .preview-title { margin:1rem 0; font-size:1.3rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.question-preview .options { margin:1rem 0; }
.admin-page .question-options { margin-bottom:.8rem; }
@media(max-width:480px) {
  .vote-page .topbar { flex-wrap:wrap; gap:.5rem; }
  .vote-page .brand { gap:.6rem; }
  .vote-page .brand img { width:70px; height:44px; }
  .vote-page .brand span { padding-left:.6rem; }
  .vote-page #event-code { max-width:100%; overflow-wrap:anywhere; }
  .percentage-row { padding:.8rem; }
  .percentage-controls { grid-template-columns:minmax(0,1fr) 82px; gap:.7rem; }
  .binary-row { gap:.4rem; padding:.65rem; }
  .binary-choice { font-size:.85rem; padding:.65rem .5rem; min-width:80px; }
}
