html { width:100%; min-width:0; height:100%; overflow:hidden; background:#344974; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body.phone-page { margin:0; width:100%; max-width:100%; height:100%; min-width:0; min-height:0; overflow:hidden; overscroll-behavior:none; }
.phone-surface { position:fixed; inset:0 auto auto 0; width:var(--phone-width,100vw); height:100vh; height:var(--phone-height,100dvh); transform-origin:0 0; transform:scale(var(--phone-scale,1)); overflow:hidden; }
.phone-page #phone-content.tablet-screen.enlarged { position:absolute; inset:0; width:100%; max-width:100%; height:100%; min-width:0; min-height:0; transform:none; display:flex; flex-direction:column; padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
.phone-page .tablet-top,.phone-page .participant { flex-shrink:0; }
.phone-page .tablet-top { min-height:25px; height:auto; padding-top:5px; padding-bottom:5px; gap:8px; }
.phone-page .tablet-top > span:last-child { flex-shrink:0; }
.phone-page .tablet-organization { flex:1; min-width:0; overflow-wrap:anywhere; }
.phone-page .tablet-body,.phone-page .tablet-body > * { min-width:0; max-width:100%; }
.phone-page .tablet-vote-heading,.phone-page .choice,.phone-page .confirmed-choice { overflow-wrap:anywhere; }
.phone-page .tablet-body { flex:1; height:auto; min-height:0; overflow:auto; overscroll-behavior:contain; display:flex; flex-direction:column; padding:14px 16px; }
.phone-page .tablet-body > * { flex-shrink:0; }
.phone-page .tablet-actions { position:sticky; bottom:0; left:auto; right:auto; padding-top:14px; margin-top:auto; background:#344974; z-index:1; }
.phone-page .tablet-help { margin-bottom:14px; }
.phone-page .connection-panel { position:absolute; z-index:10; left:16px; right:16px; top:calc(16px + env(safe-area-inset-top)); padding:18px; border:1px solid #b8cce5; border-radius:8px; background:#26354f; color:#fff; box-shadow:0 4px 24px #0006; font-size:15px; line-height:1.5; }
.phone-page .connection-panel button { margin-top:12px; padding:12px 16px; color:white; border:0; border-radius:5px; }
.phone-page.phone-online .connection-panel { position:absolute; width:1px; height:1px; padding:0; border:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
.phone-page .action-status { position:absolute; z-index:11; top:calc(70px + env(safe-area-inset-top)); left:16px; right:16px; margin:0; padding:9px 12px; background:#26354f; color:#fff; border-radius:5px; font-size:13px; pointer-events:none; }
.phone-page .action-status:empty { display:none; }
.phone-page [hidden] { display:none; }
.phone-page .offer-form { margin:0; }

