/* GB Interaktion */
.gbi{
	--gbi-accent:#e3051b;
	--gbi-bg:#111214; --gbi-panel:#1b1c1f; --gbi-panel2:#24262a; --gbi-line:#2f3136;
	--gbi-text:#f2f2f3; --gbi-muted:#9a9ca3; --gbi-ok:#3ecf74; --gbi-err:#ff6b6b;
	--gbi-radius:12px;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	color:var(--gbi-text); line-height:1.45; -webkit-text-size-adjust:100%;
}
.gbi *,.gbi *::before,.gbi *::after{box-sizing:border-box}
body.gbi-page{margin:0;background:var(--gbi-bg);min-height:100vh}
.gbi button{font:inherit;cursor:pointer}
.gbi a{color:inherit}
.gbi-muted{color:var(--gbi-muted)}
.gbi-center{text-align:center}
.gbi-pad{padding:20px}
.gbi-brand{font-weight:800;letter-spacing:.22em;text-transform:uppercase;font-size:12px;color:var(--gbi-text)}
.gbi-error{color:var(--gbi-err)}
.gbi-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Buttons */
.gbi-btn{border:1px solid var(--gbi-line);background:var(--gbi-panel2);color:var(--gbi-text);border-radius:8px;padding:8px 14px;font-size:14px;line-height:1.2;white-space:nowrap;transition:filter .15s,background .15s}
.gbi-btn:hover{filter:brightness(1.15)}
.gbi-btn:disabled{opacity:.4;cursor:default}
.gbi-btn-primary{background:var(--gbi-accent);border-color:var(--gbi-accent);color:#fff;font-weight:600}
.gbi-btn-ghost{background:transparent}

/* ---------- Teilnehmer ---------- */
.gbi-top{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--gbi-line);position:sticky;top:0;background:rgba(17,18,20,.92);backdrop-filter:blur(8px);z-index:5}
.gbi-logo{height:30px;width:auto}
.gbi-top-title{color:var(--gbi-muted);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gbi-wrap{max-width:680px;margin:0 auto;padding:18px 16px 60px}
.gbi-embed{max-width:760px;margin:0 auto}
.gbi-card{background:var(--gbi-panel);border:1px solid var(--gbi-line);border-radius:var(--gbi-radius);padding:18px;margin:0 0 16px}
.gbi-card h2{margin:0 0 6px;font-size:20px;color:var(--gbi-text)}
.gbi-card h3{margin:6px 0 14px;font-size:19px;line-height:1.3;color:var(--gbi-text)}
.gbi-intro{margin:0 0 14px;color:var(--gbi-muted)}
.gbi-form input[type=text],.gbi-form textarea,.gbi-cloud-form input{width:100%;background:var(--gbi-bg);border:1px solid var(--gbi-line);border-radius:8px;color:var(--gbi-text);padding:12px;font:inherit;font-size:16px;margin:0 0 10px}
.gbi-form textarea{resize:vertical;min-height:90px}
.gbi-form input:focus,.gbi-form textarea:focus,.gbi-cloud-form input:focus{outline:2px solid var(--gbi-accent);outline-offset:0;border-color:transparent}
.gbi-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gbi-msg{font-size:14px}
.is-ok{color:var(--gbi-ok)!important}.is-err{color:var(--gbi-err)!important}
.gbi-poll{border-color:var(--gbi-accent);box-shadow:0 0 0 1px var(--gbi-accent) inset}
.gbi-poll-head{display:flex;gap:8px}
.gbi-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:20px;background:var(--gbi-panel2);color:var(--gbi-muted)}
.gbi-tag.is-live{background:var(--gbi-accent);color:#fff}
.gbi-choices{display:grid;gap:8px}
.gbi-choice{text-align:left;border:1px solid var(--gbi-line);background:var(--gbi-bg);color:var(--gbi-text);border-radius:10px;padding:14px 16px;font-size:16px;position:relative}
.gbi-choice.is-on{border-color:var(--gbi-accent);background:color-mix(in srgb,var(--gbi-accent) 18%,var(--gbi-bg))}
.gbi-check{padding-left:46px}
.gbi-check::before{content:"";position:absolute;left:16px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid var(--gbi-muted);border-radius:4px}
.gbi-check.is-on::before{background:var(--gbi-accent);border-color:var(--gbi-accent);box-shadow:inset 0 0 0 3px var(--gbi-bg)}
.gbi-choices + .gbi-form-row{margin-top:12px}
.gbi-scale{display:flex;gap:6px}
.gbi-scale-btn{flex:1;min-width:0;border:1px solid var(--gbi-line);background:var(--gbi-bg);color:var(--gbi-text);border-radius:10px;padding:14px 0;font-size:18px;font-weight:700}
.gbi-scale-btn.is-on{background:var(--gbi-accent);border-color:var(--gbi-accent);color:#fff}
.gbi-scale-labels{display:flex;justify-content:space-between;font-size:13px;color:var(--gbi-muted);margin-top:6px}
.gbi-cloud-form{display:flex;gap:8px}
.gbi-cloud-form input{margin:0;flex:1}
.gbi-mywords{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.gbi-mywords span{background:var(--gbi-panel2);border-radius:20px;padding:4px 12px;font-size:14px}
.gbi-hint{font-size:13px;color:var(--gbi-muted);margin:10px 0 0}
.gbi-results{margin-top:16px;padding-top:14px;border-top:1px solid var(--gbi-line)}
.gbi-list-title{font-size:15px;color:var(--gbi-muted);margin:24px 0 10px;font-weight:600}
.gbi-q{display:flex;gap:12px;align-items:flex-start;background:var(--gbi-panel);border:1px solid var(--gbi-line);border-radius:10px;padding:12px 14px;margin:0 0 8px}
.gbi-q.is-done{opacity:.55}
.gbi-q-body{flex:1}.gbi-q-body p{margin:0 0 4px}.gbi-q-body small{color:var(--gbi-muted)}
.gbi-thumb{border:1px solid var(--gbi-line);background:var(--gbi-bg);color:var(--gbi-text);border-radius:20px;padding:6px 12px;font-size:14px}
.gbi-thumb.is-on{border-color:var(--gbi-accent)}
.gbi-thumb:disabled{cursor:default}

/* Ergebnisse */
.gbi-bars{display:grid;gap:10px}
.gbi-bar-label{display:flex;justify-content:space-between;gap:10px;font-size:15px;margin-bottom:4px}
.gbi-bar-label b{font-variant-numeric:tabular-nums}
.gbi-bar-track{height:12px;background:var(--gbi-panel2);border-radius:6px;overflow:hidden}
.gbi-bar-fill{height:100%;background:color-mix(in srgb,var(--gbi-accent) 55%,#777);border-radius:6px;transition:width .6s ease}
.gbi-bar.is-top .gbi-bar-fill,.gbi-bar.is-mine .gbi-bar-fill{background:var(--gbi-accent)}
.gbi-bar.is-mine .gbi-bar-label span::after{content:" ✓";color:var(--gbi-accent)}
.gbi-avg{font-size:30px;font-weight:800;margin:0 0 10px}.gbi-avg span{color:var(--gbi-accent)}.gbi-avg small{font-size:14px;color:var(--gbi-muted);font-weight:400}
.gbi-cloud{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.15em .55em;line-height:1.1;padding:6px 0}
.gbi-word{font-weight:700;white-space:nowrap;transition:font-size .5s}
.gbi-word.t0{color:var(--gbi-accent)}.gbi-word.t1{color:var(--gbi-text)}.gbi-word.t2{color:color-mix(in srgb,var(--gbi-accent) 50%,#fff)}.gbi-word.t3{color:var(--gbi-muted)}
.gbi-word.is-hidden{text-decoration:line-through;opacity:.35}

/* ---------- Login ---------- */
.gbi-login-box{max-width:360px;margin:12vh auto;padding:32px 24px;text-align:center}
.gbi-login-box h1{margin:14px 0 6px;font-size:28px}
.gbi-login-box form{display:grid;gap:12px;margin-top:18px}
.gbi-pin{font-size:34px;letter-spacing:.5em;text-align:center;padding:12px 0 12px .5em;border-radius:10px;border:1px solid var(--gbi-line);background:var(--gbi-panel);color:var(--gbi-text)}
.gbi-login-box .gbi-btn{padding:14px;font-size:17px}

/* ---------- Moderation ---------- */
.gbi-mod-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 20px;border-bottom:1px solid var(--gbi-line);background:var(--gbi-panel);position:sticky;top:0;z-index:5}
.gbi-mod-title{display:flex;align-items:center;gap:14px;flex:1;min-width:220px}
.gbi-mod-title strong{font-size:16px}
.gbi-mod-flags{display:flex;gap:8px;flex-wrap:wrap}
.gbi-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gbi-line);background:var(--gbi-bg);color:var(--gbi-muted);border-radius:20px;padding:6px 12px 6px 8px;font-size:13px}
.gbi-toggle i{width:28px;height:16px;border-radius:8px;background:var(--gbi-line);position:relative;transition:background .2s}
.gbi-toggle i::after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .2s}
.gbi-toggle.is-on{color:var(--gbi-text)}
.gbi-toggle.is-on i{background:var(--gbi-ok)}.gbi-toggle.is-on i::after{left:14px}
.gbi-mod-links{display:flex;gap:16px;font-size:14px}
.gbi-mod-links a{color:var(--gbi-muted);text-decoration:none}.gbi-mod-links a:hover{color:var(--gbi-text)}
.gbi-tabs{display:flex;gap:4px;padding:10px 20px 0;border-bottom:1px solid var(--gbi-line)}
.gbi-tabs button{background:none;border:0;border-bottom:3px solid transparent;color:var(--gbi-muted);padding:10px 16px;font-size:15px;font-weight:600}
.gbi-tabs button.is-on{color:var(--gbi-text);border-bottom-color:var(--gbi-accent)}
.gbi-badge{display:inline-block;background:var(--gbi-panel2);color:var(--gbi-text);border-radius:10px;padding:0 7px;font-size:12px;margin-left:4px}
.gbi-badge.is-live{background:var(--gbi-accent);color:#fff}
.gbi-cols{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;padding:16px 20px;align-items:start}
.gbi-col{background:var(--gbi-panel);border:1px solid var(--gbi-line);border-radius:var(--gbi-radius);padding:12px;max-height:calc(100vh - 150px);overflow:auto}
.gbi-col h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gbi-muted);margin:2px 2px 12px;display:flex;align-items:center;gap:8px}
.gbi-col.is-top{border-color:var(--gbi-accent)}
.gbi-count-pill{background:var(--gbi-panel2);color:var(--gbi-text);border-radius:10px;padding:0 8px;letter-spacing:0}
.gbi-empty{text-align:center;margin:20px 0}
.gbi-mq{background:var(--gbi-bg);border:1px solid var(--gbi-line);border-radius:10px;padding:10px 12px;margin:0 0 10px}
.gbi-mq.is-live{border-color:var(--gbi-accent)}
.gbi-mq.is-done{opacity:.6}
.gbi-mq-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--gbi-muted)}
.gbi-mq-text{margin:6px 0 10px;white-space:pre-wrap;word-wrap:break-word}
.gbi-mq-actions{display:flex;flex-wrap:wrap;gap:6px}
.gbi-mq-actions .gbi-btn{padding:6px 10px;font-size:13px}
.gbi-edit{width:100%;margin:8px 0;background:var(--gbi-panel);color:var(--gbi-text);border:1px solid var(--gbi-accent);border-radius:8px;padding:8px;font:inherit}
.gbi-onair{color:var(--gbi-accent);font-weight:700;font-size:12px}
.gbi-mpolls{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.gbi-mpoll{background:var(--gbi-panel);border:1px solid var(--gbi-line);border-radius:var(--gbi-radius);padding:16px}
.gbi-mpoll.state-offen{border-color:var(--gbi-ok)}
.gbi-mpoll.is-live{box-shadow:0 0 0 2px var(--gbi-accent)}
.gbi-mpoll-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.gbi-state{font-size:12px;padding:2px 8px;border-radius:10px;background:var(--gbi-panel2)}
.state-offen .gbi-state:not(.is-vis){background:var(--gbi-ok);color:#08210f;font-weight:700}
.gbi-state.is-vis{background:color-mix(in srgb,var(--gbi-accent) 30%,var(--gbi-panel2))}
.gbi-mpoll h3{margin:10px 0 12px;font-size:18px}
.gbi-mpoll-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.gbi-mpoll-results{background:var(--gbi-bg);border-radius:10px;padding:14px}
.gbi-words{margin-top:10px;font-size:14px}
.gbi-words summary{cursor:pointer;color:var(--gbi-muted)}
.gbi-words div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.gbi-wordchip{border:1px solid var(--gbi-line);background:var(--gbi-bg);color:var(--gbi-text);border-radius:20px;padding:4px 10px;font-size:13px}
.gbi-wordchip small{color:var(--gbi-muted)}
.gbi-wordchip.is-hidden{text-decoration:line-through;opacity:.5;border-style:dashed}
.gbi-screen-ctl{background:var(--gbi-panel);border:1px solid var(--gbi-line);border-radius:var(--gbi-radius);padding:16px;margin-bottom:16px}
.gbi-screen-ctl p{margin:0 0 12px}
.gbi-qr-box{display:flex;gap:20px;align-items:center;background:var(--gbi-panel);border:1px solid var(--gbi-line);border-radius:var(--gbi-radius);padding:16px}
.gbi-qr-box svg{width:180px;height:180px;flex:none;border-radius:8px}
.gbi-qr-box a{color:var(--gbi-accent);word-break:break-all}
.gbi-qr-box p{margin:0 0 6px}

/* Moderator (iPad) */
.gbi-moderator{max-width:1000px;margin:0 auto;padding:20px}
.gbi-mod-q{display:flex;gap:16px;align-items:flex-start;background:var(--gbi-panel);border:1px solid var(--gbi-line);border-radius:var(--gbi-radius);padding:18px;margin:0 0 12px}
.gbi-mod-q.is-live{border-color:var(--gbi-accent)}
.gbi-mod-q > div:nth-child(2){flex:1}
.gbi-mod-q p{font-size:24px;line-height:1.35;margin:0 0 6px}
.gbi-mod-q small{color:var(--gbi-muted);font-size:15px}
.gbi-num{font-size:22px;font-weight:800;color:var(--gbi-accent);min-width:28px}
.gbi-mod-q-act .gbi-btn{padding:12px 16px}
.gbi-mod-sub{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gbi-muted);margin:28px 0 12px}
.gbi-mod-poll{background:var(--gbi-panel);border-radius:var(--gbi-radius);padding:16px;margin-bottom:12px}
.gbi-mod-poll h3{margin:0 0 12px}.gbi-mod-poll h3 small{color:var(--gbi-muted);font-weight:400;font-size:14px}

@media (max-width:1100px){.gbi-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.gbi-col{max-height:none}}
@media (max-width:640px){
	.gbi-cols{grid-template-columns:1fr;padding:12px}.gbi-mpolls{grid-template-columns:1fr}
	.gbi-mod-head{padding:10px 12px}.gbi-tabs{padding:6px 8px 0;overflow-x:auto}.gbi-pad{padding:12px}
	.gbi-qr-box{flex-direction:column;align-items:flex-start}
	.gbi-mod-q p{font-size:19px}
}

/* ---------- Leinwand ---------- */
body.gbi-screen{overflow:hidden;cursor:none}
body.gbi-screen.show-ui{cursor:default}
.gbi-screen-stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:5vh 6vw;font-size:clamp(14px,1.6vw,40px)}
.gbi-screen-stage > div{width:100%;max-width:1600px;animation:gbi-in .5s ease}
@keyframes gbi-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.gbi-kicker{color:var(--gbi-accent);font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:.9em;margin:0 0 .6em}
.gbi-idle{text-align:center}
.gbi-idle .gbi-brand{font-size:1.4em}
.gbi-idle h1{font-size:2.6em;margin:.6em 0 0;font-weight:700}
.gbi-screen-logo{max-height:22vh;max-width:60vw}
.gbi-screen-qr{display:flex;align-items:center;gap:6vw}
.gbi-screen-qr h1{font-size:3em;margin:0 0 .4em;line-height:1.1}
.gbi-qr svg{display:block;width:100%;height:auto;border-radius:12px}
.gbi-qr.is-big{width:min(38vw,62vh);flex:none}
.gbi-qr.is-mid{width:min(24vw,40vh);flex:none}
.gbi-url{font-size:1.6em;font-weight:700;word-break:break-all;margin:0}
.gbi-screen-q blockquote{font-size:3.2em;line-height:1.2;font-weight:700;margin:0 0 .5em;quotes:"„" "“"}
.gbi-screen-q blockquote::before{content:open-quote;color:var(--gbi-accent)}
.gbi-screen-q blockquote::after{content:close-quote;color:var(--gbi-accent)}
.gbi-who{font-size:1.4em;color:var(--gbi-muted);margin:0}
.gbi-screen-poll h1{font-size:2.6em;line-height:1.15;margin:0 0 .8em}
.gbi-screen-poll .gbi-bars{gap:.9em}
.gbi-screen-poll .gbi-bar-label{font-size:1.4em}
.gbi-screen-poll .gbi-bar-track{height:.9em;border-radius:.45em}
.gbi-screen-poll .gbi-avg{font-size:3em}
.gbi-screen-poll.is-cloud .gbi-cloud{font-size:1.2em;min-height:40vh}
.gbi-screen-wait{display:flex;align-items:center;gap:4vw}
.gbi-count{font-size:1.3em;color:var(--gbi-muted);margin:.4em 0 0}
.gbi-count-foot{text-align:right;font-size:1em}
.gbi-fs{position:fixed;right:16px;bottom:16px;background:rgba(255,255,255,.08);color:#fff;border:0;border-radius:8px;width:40px;height:40px;font-size:20px;opacity:0;transition:opacity .3s}
.show-ui .gbi-fs{opacity:1}

/* 2.0.2 */
.gbi-counter{text-align:right;font-size:12px;color:var(--gbi-muted);margin:-6px 0 10px}
.gbi-counter.is-full{color:var(--gbi-err)}
.gbi-q-body p,.gbi-mod-q p{white-space:pre-line;overflow-wrap:anywhere}
.gbi-mq-text{overflow-wrap:anywhere}
.gbi-screen-q blockquote{white-space:pre-line;overflow-wrap:anywhere}
.gbi-screen-poll h1,.gbi-screen-qr h1{overflow-wrap:anywhere}
.gbi-mod-q-act{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.gbi-screen-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--gbi-muted);border:1px solid var(--gbi-line);border-radius:20px;padding:5px 6px 5px 12px}
.gbi-screen-chip.is-on{color:var(--gbi-text);border-color:var(--gbi-accent)}
.gbi-screen-chip button{border:0;border-radius:14px;background:var(--gbi-accent);color:#fff;padding:3px 10px;font-size:12px;font-weight:600}
.gbi-screen-chip:not(.is-on){padding-right:12px}
