@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--blue:#2563eb;--navy:#101b3f;--ink:#101828;--muted:#667085;--line:#e4e7ec;--bg:#f6f8fc;--white:#fff;--purple:#5635d9}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}
.topbar,.public-head,.game-top{height:72px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.topbar nav{display:flex;align-items:center;gap:24px;color:var(--muted);font-weight:600}.brand{display:flex;align-items:center;gap:9px;font-size:20px}.brand b{font-weight:900;letter-spacing:-1px}.brand span{padding:4px 7px;border-radius:6px;background:var(--blue);color:#fff;font-size:10px;font-weight:800;letter-spacing:1.5px}.brand-center{justify-content:center;margin-bottom:32px}.brand-light{color:#fff}.brand-light span{background:#fff;color:var(--blue)}
.container{max-width:1180px;margin:auto;padding:48px 24px}.narrow{max-width:900px}.hero-card{min-height:280px;padding:50px;border-radius:24px;background:linear-gradient(125deg,#111f48,#1e58d8);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 24px 50px rgba(32,83,192,.2)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,5vw,54px);line-height:1.05;letter-spacing:-2px;margin-bottom:18px}h2{font-size:28px;letter-spacing:-1px}.hero-card p,.join-copy p{font-size:18px;line-height:1.6;max-width:580px;opacity:.82}.eyebrow{display:inline-block;margin-bottom:14px;color:var(--blue);text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:2px}.eyebrow.light{color:#b9ceff}.section-head{margin:50px 0 20px;display:flex;justify-content:space-between}.section-head p{color:var(--muted)}
.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:10px;padding:12px 18px;font-weight:750;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.22)}.btn-secondary{background:#e9efff;color:var(--blue)}.btn-light{background:#fff;color:var(--blue)}.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25)}.btn-large{padding:15px 24px;font-size:16px}.text-link{display:inline-block;margin-top:20px;color:var(--blue);font-weight:700}
.quiz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.quiz-card,.panel,.empty-state{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px rgba(16,24,40,.04)}.quiz-card{overflow:hidden}.quiz-art{height:130px;display:grid;place-items:center;background:linear-gradient(145deg,#dce8ff,#a9c3ff);color:#fff;font-size:42px;font-weight:900}.quiz-body{padding:22px}.quiz-body h3{font-size:20px;margin:8px 0}.quiz-body p,.meta{color:var(--muted);font-size:13px;line-height:1.5}.quiz-body .btn{margin-top:10px}.empty-state{grid-column:1/-1;text-align:center;padding:60px 30px}
.center-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#dce8ff,#f7f9fc 45%)}.auth-panel,.setup-panel{width:min(460px,100%);padding:38px;text-align:center}.stack{display:grid;gap:18px;text-align:left}.stack+.text-link{margin-top:26px}label{display:grid;gap:8px;color:#344054;font-size:13px;font-weight:700}input,textarea,select{width:100%;padding:13px 14px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.1)}.notice{margin:18px 0;padding:13px;border-radius:9px;background:#e9f8ef;color:#087443}.notice.error{background:#fff0f0;color:#b42318}
.question-editor{padding:26px;margin:20px 0}.question-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.question-number{font-size:18px;font-weight:800}.icon-btn{border:0;background:#fff0f0;color:#b42318;border-radius:8px;padding:8px 12px}.answers-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.answer-edit{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:8px;border-radius:10px}.answer-edit>input[type=radio]{width:18px}.answer-edit>input:last-child{border:0}.answer-0{background:#ffe8e8}.answer-1{background:#e6efff}.answer-2{background:#fff6d8}.answer-3{background:#e2f7eb}.time-field{max-width:220px}.editor-actions{display:flex;justify-content:space-between;gap:16px;margin:28px 0}
.join-page{min-height:100vh;background:linear-gradient(135deg,#101b3f 0%,#174dbb 68%,#2869ef 100%);color:#fff}.public-head{background:transparent;border:0}.join-main{min-height:calc(100vh - 72px);max-width:1180px;margin:auto;padding:60px 24px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:80px}.join-copy h1{font-size:clamp(48px,7vw,88px);font-weight:900}.join-copy h1 span{color:#8fb5ff}.join-card{padding:30px;background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.3);display:grid;gap:18px}.join-card input{text-align:center;font-size:20px;font-weight:800;letter-spacing:2px}.form-error{min-height:18px;color:#b42318;font-size:13px}
.game-screen{min-height:100vh;background:linear-gradient(135deg,#111d43,#225bdb);color:#fff}.game-top{background:rgba(6,17,49,.55);border-color:rgba(255,255,255,.12);color:#fff}.code-pill{padding:9px 14px;border-radius:99px;background:#fff;color:var(--blue);font-weight:850}.game-stage{min-height:calc(100vh - 72px);padding:36px 5vw;display:grid;place-items:center}.loading,.waiting{text-align:center}.host-lobby,.host-question,.player-question,.final-board,.player-result{width:min(1100px,100%);text-align:center}.giant-code{font-size:clamp(80px,16vw,180px);letter-spacing:12px;margin:10px 0}.player-cloud{min-height:100px;margin:30px auto;display:flex;justify-content:center;align-content:center;flex-wrap:wrap;gap:12px}.player-cloud span{background:#fff;color:var(--navy);padding:12px 18px;border-radius:10px;font-weight:800}.question-progress{font-weight:800;color:#b9ceff;margin-bottom:18px}.host-question h1,.player-question h1{font-size:clamp(30px,5vw,60px);margin-bottom:40px}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.answer{min-height:120px;padding:24px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:clamp(18px,2.3vw,30px);font-weight:800;border:0}.red{background:#e23b4b}.blue{background:#2470dc}.yellow{background:#d69b00}.green{background:#159b62}.correct{background:#10a766}.muted{background:#354368;opacity:.62}.host-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.compact .answer{min-height:80px;font-size:18px}.result-layout{width:min(1150px,100%);display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}.leaderboard{list-style:none;padding:0;margin:22px 0;display:grid;gap:9px;text-align:left}.leaderboard li{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:13px 16px;border-radius:10px;background:#fff;color:var(--ink)}.leaderboard li b{color:var(--blue)}.leaderboard li strong{color:var(--muted)}.result-layout .btn{width:100%}.final-board{max-width:650px}.pulse{width:70px;height:70px;margin:0 auto 28px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.55);animation:pulse 1.5s infinite}.waiting h1,.player-result h1,.final-board h1{font-size:clamp(38px,7vw,72px)}@keyframes pulse{70%{box-shadow:0 0 0 30px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media(max-width:800px){.join-main,.result-layout{grid-template-columns:1fr}.join-main{gap:30px;padding-top:30px}.join-copy{text-align:center}.join-copy h1{font-size:48px}.hero-card{padding:32px;display:block}.hero-card .btn{margin-top:20px}.answers-editor,.answer-grid{grid-template-columns:1fr}.answer{min-height:82px}.game-top{padding:0 15px;font-size:12px}.game-top>strong{display:none}.game-stage{padding:24px 14px}.giant-code{font-size:58px;letter-spacing:5px}.host-footer{gap:12px}.topbar nav span{display:none}}

/* StudyGrid visual language */
body{background:radial-gradient(circle at 10% 5%,rgba(37,99,235,.13),transparent 30rem),radial-gradient(circle at 92% 8%,rgba(125,211,252,.22),transparent 34rem),linear-gradient(180deg,#f8fbff,#fff 55%,#f5f9ff);min-height:100vh}
.topbar,.public-head{background:rgba(255,255,255,.78);border-bottom:1px solid rgba(148,163,184,.2);backdrop-filter:blur(22px) saturate(140%);box-shadow:0 12px 40px rgba(15,23,42,.05)}
.panel,.quiz-card,.empty-state,.join-card{background:rgba(255,255,255,.82);border:1px solid rgba(148,163,184,.2);border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.09);backdrop-filter:blur(18px) saturate(125%)}
.btn{border-radius:999px}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 18px 34px rgba(37,99,235,.24)}.btn-secondary,.btn-light{background:rgba(255,255,255,.85);color:#1d4ed8;border:1px solid rgba(37,99,235,.15);box-shadow:0 14px 30px rgba(15,23,42,.08)}
.hero-card{color:var(--ink);background:radial-gradient(circle at 80% 20%,rgba(37,99,235,.19),transparent 18rem),linear-gradient(135deg,rgba(255,255,255,.92),rgba(238,246,255,.88));border:1px solid rgba(148,163,184,.2);box-shadow:0 24px 70px rgba(15,23,42,.09)}.hero-card p{color:var(--muted);opacity:1}.hero-card .btn-light{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}
.join-page{color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(37,99,235,.17),transparent 28rem),radial-gradient(circle at 88% 12%,rgba(125,211,252,.25),transparent 34rem),linear-gradient(180deg,#f8fbff,#fff 65%,#f5f9ff)}.public-head nav{display:flex;align-items:center;gap:20px;color:#475569;font-size:14px;font-weight:600}.join-main{position:relative}.join-copy h1{font-weight:800;color:#0f172a}.join-copy h1 span{color:#2563eb}.join-copy p{color:#64748b;opacity:1}.join-card{padding:36px}.join-card-head{text-align:center}.join-card input{background:rgba(248,251,255,.9);border-color:rgba(148,163,184,.3)}.feature-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.feature-pills span{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(37,99,235,.13);color:#475569;font-size:13px;font-weight:700}
.question-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.optional{font-weight:500;color:var(--muted)}.image-preview{margin:14px 0 4px;border-radius:16px;overflow:hidden;background:#eef4ff;border:1px dashed rgba(37,99,235,.25);text-align:center}.image-preview img{display:block;width:100%;max-height:320px;object-fit:contain}.image-preview.broken{padding:28px}.image-preview.broken:after{content:"Bild konnte nicht geladen werden";color:#b42318;font-weight:700}.image-preview.broken img{display:none}.text-answer-editor{padding:20px;border-radius:14px;background:#eef4ff}.text-answer-editor input{margin-top:4px}
.game-screen{color:var(--ink);background:radial-gradient(circle at 14% 8%,rgba(37,99,235,.17),transparent 30rem),radial-gradient(circle at 90% 12%,rgba(125,211,252,.26),transparent 34rem),linear-gradient(180deg,#f8fbff,#fff)}.game-top{color:var(--ink);background:rgba(255,255,255,.76);border-color:rgba(148,163,184,.2);backdrop-filter:blur(20px);box-shadow:0 10px 35px rgba(15,23,42,.06)}.game-top .brand-light{color:var(--ink)}.game-top .brand-light span{background:var(--blue);color:#fff}.code-pill{background:#eaf1ff}.question-progress{color:#2563eb}.player-cloud span,.leaderboard li{border:1px solid rgba(148,163,184,.2);box-shadow:0 10px 30px rgba(15,23,42,.07)}.host-question,.player-question,.host-lobby,.question-countdown,.player-result,.final-board,.result-layout{padding:34px;border-radius:28px;background:rgba(255,255,255,.7);border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 70px rgba(15,23,42,.09);backdrop-filter:blur(18px)}.question-countdown{width:min(900px,100%);text-align:center}.countdown-number{width:120px;height:120px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:64px;font-weight:900;box-shadow:0 22px 45px rgba(37,99,235,.3);animation:countdownPop 1s infinite}.question-countdown h1{font-size:clamp(30px,5vw,58px)}.question-image{display:block;max-width:min(640px,100%);max-height:300px;object-fit:contain;margin:0 auto 24px;border-radius:18px;box-shadow:0 16px 40px rgba(15,23,42,.13);background:#fff}.text-question-hint{padding:40px;border:2px dashed rgba(37,99,235,.25);border-radius:18px;background:#eef5ff;color:#2563eb;font-size:20px;font-weight:800}.text-answer-form{max-width:650px;margin:auto;display:grid;gap:14px}.text-answer-input{padding:20px;text-align:center;font-size:22px;font-weight:700}.pulse{background:#2563eb}@keyframes countdownPop{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media(max-width:800px){.public-head nav>a:not(.btn){display:none}.question-settings{grid-template-columns:1fr}.host-question,.player-question,.host-lobby,.question-countdown,.player-result,.final-board,.result-layout{padding:22px}.question-image{max-height:210px}}
