:root{--purple:#46178f;--purple-dark:#381272;--purple-light:#864cbf;--red:#e21b3c;--blue:#1368ce;--yellow:#d89e00;--green:#26890c;--correct:#66bf39;--wrong:#f35;--ink:#333;--muted:#6e6e6e;--bg-light:#f2f2f2;--radius:6px;--shadow:0 2px 4px #00000040;--shadow-btn:inset 0 -4px 0 #00000040;--font:"Montserrat", "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--purple);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-weight:700}button,input,select,textarea{font:inherit}h1,h2{margin:0}.shape{flex:none;display:block}.btn{appearance:none;cursor:pointer;min-height:44px;box-shadow:var(--shadow-btn);white-space:nowrap;border:0;border-radius:4px;padding:0 18px;font-size:16px;font-weight:800;transition:transform 80ms,filter .15s}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 -2px #00000040}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--block{width:100%}.btn--dark{color:#fff;background:#333}.btn--light{color:#333;background:#fff}.btn--primary{background:var(--green);color:#fff}.btn--secondary{color:#333;background:#f2f2f2;box-shadow:inset 0 -3px #00000026}.btn--ghost{color:#fff;box-shadow:none;background:#ffffff26}.btn--ghost-dark{color:#333;box-shadow:none;background:0 0}.btn--danger-ghost{color:var(--red);box-shadow:none;background:0 0}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px}.icon-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;width:34px;height:34px;font-weight:800}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn--danger{color:var(--red)}.input{color:#333;background:#fff;border:2px solid #ccc;border-radius:4px;width:100%;padding:10px 12px;font-weight:700}.input:focus{border-color:#333;outline:none}.input--big{text-align:center;min-height:52px;font-size:22px;font-weight:800}.input::placeholder{color:#aaa}.card{box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:16px}.form-error{color:#a8102a;background:#fde8eb;border-radius:4px;margin:0;padding:10px 12px;font-size:14px;font-weight:700}.form-error--sticky{z-index:5;box-shadow:var(--shadow);position:sticky;top:8px}.spinner{border:6px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:48px;height:48px;margin:12px auto;animation:.9s linear infinite spin}.admin-screen .spinner{border-color:#0000001a;border-top-color:var(--purple)}@keyframes spin{to{transform:rotate(360deg)}}.logo{letter-spacing:-2px;color:#fff;text-shadow:0 4px #0003;-webkit-user-select:none;user-select:none;font-size:clamp(44px,10vw,72px);font-weight:900}.logo span{color:#ffd500}.logo--small{letter-spacing:-1px;text-shadow:none;font-size:28px}.admin-header .logo{color:var(--purple)}.join-screen{background:var(--purple);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100%;padding:24px;display:flex;position:relative;overflow:hidden}.join-bg{pointer-events:none;position:absolute;inset:0}.float-shape{opacity:.12;animation:14s ease-in-out infinite float;position:absolute}.float-shape--0{top:8%;left:6%}.float-shape--1{animation-delay:-4s;top:62%;left:10%}.float-shape--2{animation-delay:-7s;top:12%;right:8%}.float-shape--3{animation-delay:-10s;bottom:8%;right:12%}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-30px)rotate(25deg)}}.join-card{flex-direction:column;gap:10px;width:min(320px,100%);display:flex;position:relative}.card-title{text-align:center;margin-bottom:4px;font-size:20px}.footer-link{color:#ffffffd9;font-size:14px;position:relative}.player-screen{background:var(--purple);color:#fff;flex-direction:column;min-height:100%;transition:background .3s;display:flex}.player-screen--center{text-align:center;justify-content:center;align-items:center;padding:24px}.player-screen--correct{background:var(--correct)}.player-screen--wrong{background:var(--wrong)}.player-top,.player-bottom{color:#333;box-shadow:var(--shadow);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:15px;display:flex}.player-bottom{font-size:17px}.player-score{color:#fff;text-align:center;background:#333;border-radius:4px;min-width:56px;padding:4px 14px}.timer-pill{background:var(--purple);color:#fff;text-align:center;border-radius:999px;min-width:36px;padding:2px 8px}.player-body{flex:1;justify-content:center;align-items:stretch;padding:12px;display:flex}.status-card{text-align:center;color:#fff;text-shadow:0 2px #00000026;flex-direction:column;align-items:center;gap:12px;max-width:420px;margin:auto;animation:.35s ease-out pop-in;display:flex}.status-card h1{font-size:clamp(28px,8vw,40px)}.status-card p{margin:0;font-size:18px}.eyebrow{text-transform:uppercase;letter-spacing:1px;opacity:.85}.nickname-chip{color:#333;text-shadow:none;box-shadow:var(--shadow);background:#fff;border-radius:6px;padding:10px 24px;font-size:24px}.intro-count{background:#ffffff26;border:6px solid #fff;border-radius:50%;place-items:center;width:120px;height:120px;font-size:56px;font-weight:900;animation:1s ease-in-out infinite pulse;display:grid}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.answer-grid{flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:10px;width:100%;display:grid}.answer-grid--2{grid-template-columns:1fr}@media (orientation:landscape){.answer-grid--2{grid-template-columns:1fr 1fr}}.answer-btn{appearance:none;color:#fff;cursor:pointer;box-shadow:var(--shadow-btn), var(--shadow);border:0;border-radius:6px;place-items:center;min-height:120px;transition:transform 80ms,filter .15s;display:grid}.answer-btn:active{transform:scale(.97)}.answer-btn:hover{filter:brightness(1.08)}.answer-btn--0{background:var(--red)}.answer-btn--1{background:var(--blue)}.answer-btn--2{background:var(--yellow)}.answer-btn--3{background:var(--green)}.answer-btn .shape{filter:drop-shadow(0 3px #0003)}.result-icon{border:5px solid #fff;border-radius:50%;place-items:center;width:96px;height:96px;display:grid}.points-chip{background:#00000040;border-radius:6px;padding:8px 26px;font-size:28px;font-weight:900}.streak{background:#0003;border-radius:999px;padding:6px 14px}.rank-line{opacity:.95;font-size:17px!important}.medal{text-shadow:none;font-size:96px;line-height:1}.muted-light{color:#ffffffd9}.conn-banner{color:#333;text-align:center;background:#ffd500;padding:6px;font-size:14px}.host-screen{background:var(--purple);color:#fff;flex-direction:column;min-height:100%;display:flex;position:relative;overflow:hidden}.host-screen--question,.host-screen--reveal{color:#333;background:#f2f2f2}.host-screen--center{justify-content:center;align-items:center}.toast{color:#fff;z-index:20;box-shadow:var(--shadow);cursor:pointer;background:#333;border-radius:6px;padding:10px 18px;position:fixed;top:16px;left:50%;transform:translate(-50%)}.lobby{flex-direction:column;min-height:100vh;display:flex}.lobby-banner{color:#333;box-shadow:var(--shadow);background:#fff;border-radius:8px;width:calc(100% - 32px);max-width:900px;margin:16px auto 0;display:flex;overflow:hidden}.lobby-join,.lobby-pin{flex-direction:column;justify-content:center;padding:14px 24px;display:flex}.lobby-join{border-right:2px solid #eee;font-size:18px}.lobby-join strong{font-size:26px}.lobby-pin{flex:1;font-size:20px}.lobby-pin strong{letter-spacing:2px;font-size:clamp(48px,9vw,88px);font-weight:900;line-height:1}.lobby-bar{justify-content:space-between;align-items:center;gap:16px;padding:20px 32px;display:flex}.lobby-count,.answers-count{background:#00000040;border-radius:6px;flex-direction:column;align-items:center;min-width:96px;padding:6px 18px;display:flex}.count-num{font-size:32px;font-weight:900;line-height:1.1}.lobby-actions{gap:10px;display:flex}.lobby-actions .btn--light{min-width:120px;min-height:52px;font-size:20px}.lobby-players{flex-wrap:wrap;flex:1;place-content:flex-start center;gap:12px;padding:8px 32px 32px;display:flex}.waiting-pill{background:#00000040;border-radius:6px;margin-top:40px;padding:14px 28px;font-size:22px;animation:2s ease-in-out infinite pulse}.player-chip{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 16px;font-size:24px;font-weight:800;animation:.3s ease-out pop-in}.player-chip:hover{background:#ffffff26;text-decoration:line-through}.player-chip--away{opacity:.45}.lobby-title{text-align:center;opacity:.7;margin:0 0 16px}.host-topbar{justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.q-counter{background:#00000040;border-radius:999px;padding:6px 14px}.intro{flex-direction:column;min-height:100vh;display:flex}.intro-question{color:#333;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:8px;max-width:1100px;margin:auto;padding:24px 48px;font-size:clamp(28px,4.5vw,52px);animation:.4s ease-out pop-in}.intro-progress{background:#fff3;border-radius:999px;height:14px;margin:0 48px 48px;overflow:hidden}.intro-progress-bar{transform-origin:0;background:#fff;height:100%;animation:linear forwards progress}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.question-screen{flex-direction:column;min-height:100vh;display:flex}.question-header{box-shadow:var(--shadow);text-align:center;background:#fff;padding:18px 24px}.question-text{font-size:clamp(22px,3.2vw,40px)}.question-middle{flex:1;grid-template-columns:160px 1fr 160px;align-items:center;gap:16px;min-height:0;padding:16px 24px;display:grid}.side-stat{flex-direction:column;align-items:center;gap:12px;display:flex}.side-stat .answers-count{background:var(--purple);color:#fff}.side-stat .btn--ghost{color:#333;background:#ddd}.timer-circle{background:var(--purple);color:#fff;width:110px;height:110px;box-shadow:var(--shadow);border-radius:50%;place-items:center;font-size:46px;font-weight:900;display:grid}.timer-circle--low{background:var(--red);animation:1s ease-in-out infinite pulse}.question-media{justify-content:center;align-items:center;height:100%;min-height:220px;display:flex}.question-image{max-width:100%;max-height:42vh;box-shadow:var(--shadow);object-fit:contain;background:#fff;border-radius:6px}.question-placeholder{opacity:.85;grid-template-columns:repeat(2,72px);gap:16px;animation:18s linear infinite spin;display:grid}.chart{align-items:flex-end;gap:18px;height:36vh;min-height:200px;display:flex}.chart-col{flex-direction:column;justify-content:flex-end;width:clamp(60px,9vw,120px);height:100%;display:flex}.chart-count{justify-content:center;align-items:center;gap:4px;margin-bottom:4px;font-size:24px;display:flex}.chart-bar{transform-origin:bottom;border-radius:3px 3px 0 0;transition:height .8s ease-out;animation:.8s ease-out grow}@keyframes grow{0%{transform:scaleY(0)}}.chart-bar--0{background:var(--red)}.chart-bar--1{background:var(--blue)}.chart-bar--2{background:var(--yellow)}.chart-bar--3{background:var(--green)}.chart-base{color:#fff;border-radius:0 0 3px 3px;place-items:center;padding:6px 0;display:grid}.is-faded{opacity:.35}.answer-tiles{grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 10px;display:grid}.answer-tile{color:#fff;box-shadow:var(--shadow-btn), var(--shadow);border-radius:6px;align-items:center;gap:16px;min-height:84px;padding:18px 20px;font-size:clamp(18px,2.2vw,28px);transition:opacity .3s;display:flex}.answer-text{text-shadow:0 1px #0003;flex:1}.answer-mark{place-items:center;display:grid}.host-footer{color:#333;background:#fff;justify-content:space-between;padding:8px 20px;font-size:15px;display:flex}.screen-title{text-align:center;color:#333;box-shadow:var(--shadow);background:#fff;border-radius:8px;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px);margin:0 auto 24px;padding:10px 40px;font-size:clamp(30px,4vw,48px)}.scoreboard{min-height:100vh}.score-list{flex-direction:column;gap:10px;max-width:900px;margin:0 auto;padding:0 24px 48px;list-style:none;display:flex}.score-row{color:#333;box-shadow:var(--shadow);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:14px 22px;font-size:26px;animation:.45s ease-out both slide-in;display:flex}.score-row:first-child{background:#fff;outline:4px solid #ffd500}@keyframes slide-in{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.rank-up{color:var(--correct);font-size:18px}.rank-down{color:var(--red);font-size:18px}.podium-screen{flex-direction:column;min-height:100vh;padding-top:24px;display:flex;position:relative}.podium{flex:1;justify-content:center;align-items:flex-end;gap:12px;padding:0 16px;display:flex}.podium-col{flex-direction:column;align-items:stretch;width:min(240px,30vw);animation:1s ease-out both rise;display:flex}.podium-col--second{animation-delay:.6s}.podium-col--first{animation-delay:1.4s}.podium-col--third{animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.podium-name{text-align:center;color:#333;box-shadow:var(--shadow);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:6px;margin-bottom:10px;padding:8px;font-size:clamp(18px,2.4vw,30px);overflow:hidden}.podium-block{background:var(--purple-light);border-radius:6px 6px 0 0;flex-direction:column;align-items:center;padding-top:16px;display:flex;box-shadow:inset 0 -6px #00000026}.podium-col--first .podium-block{background:#ffbd3c;height:44vh}.podium-col--second .podium-block{background:silver;height:32vh}.podium-col--third .podium-block{background:#cd7f32;height:22vh}.podium-col--empty{visibility:hidden}.podium-medal{font-size:clamp(40px,6vw,72px)}.podium-score{color:#fff;text-shadow:0 2px #00000040;font-size:clamp(20px,2.8vw,34px)}.podium-actions{z-index:2;background:#0003;justify-content:center;padding:18px;display:flex;position:relative}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{opacity:.9;border-radius:2px;width:10px;height:16px;animation:4s linear infinite fall;position:absolute;top:-20px}@keyframes fall{to{transform:translateY(110vh)rotate(720deg)}}.admin-screen{background:var(--bg-light);min-height:100%}.admin-screen--center{place-items:center;display:grid}.admin-header{box-shadow:var(--shadow);z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;position:sticky;top:0}.admin-header a{text-decoration:none}.admin-content{flex-direction:column;gap:16px;max-width:960px;margin:0 auto;padding:24px 16px 64px;display:flex}.admin-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-title-row h1{font-size:28px}.editor-toolbar{z-index:6;background:var(--bg-light);padding:8px 0;position:sticky;top:62px}.row-gap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted);margin:0;font-weight:600}.small{font-size:13px}.empty-state{box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-state p{color:var(--muted);margin:0}.empty-shapes{gap:10px;display:flex}.quiz-grid{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.quiz-card{box-shadow:var(--shadow);background:#fff;border-radius:8px;align-items:stretch;display:flex;overflow:hidden}.quiz-card-art{color:#fff;flex:none;place-items:center;width:110px;display:grid}.quiz-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;padding:14px 16px;display:flex}.quiz-card-body h2{font-size:20px}.quiz-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}@media (max-width:640px){.quiz-card{flex-wrap:wrap}.quiz-card-art{width:72px}.quiz-card-actions{justify-content:stretch;width:100%}.quiz-card-actions .btn{flex:1}}.editor-card{flex-direction:column;gap:14px;display:flex}.field{color:#555;flex-direction:column;gap:6px;font-size:14px;display:flex}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field-row .field{min-width:160px}.field--grow{flex:1}.input--question{text-align:center;padding:14px;font-size:20px}textarea.input{resize:vertical}.question-editor-head{justify-content:space-between;align-items:center;display:flex}.question-editor-head h2{color:var(--purple);font-size:18px}.editor-image-preview{max-width:100%;max-height:160px;box-shadow:var(--shadow);border-radius:6px;align-self:center}.answer-editor-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:640px){.answer-editor-grid{grid-template-columns:1fr}}.answer-editor{color:#fff;box-shadow:var(--shadow-btn);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.answer-editor.is-empty{opacity:.8}.answer-input{color:#333;background:#fffffff2;border:0;border-radius:4px;flex:1;min-width:0;padding:10px;font-weight:700}.answer-input:focus{outline:2px solid #333}.correct-toggle{cursor:pointer;border:3px solid #fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid;position:relative}.correct-toggle input{opacity:0;cursor:pointer;position:absolute;inset:0}.correct-toggle span{opacity:0;font-size:18px}.correct-toggle.is-on{background:var(--correct)}.correct-toggle.is-on span{opacity:1}.correct-toggle:has(input:focus-visible){outline:3px solid #333}.saved-note{color:var(--green)}.add-question{border:2px dashed #bbb;min-height:52px}@media (max-width:760px){.lobby-banner{flex-direction:column}.lobby-join{border-bottom:2px solid #eee;border-right:0}.lobby-bar{padding:16px}.lobby-bar .logo{display:none}.question-middle{grid-template-columns:90px 1fr 90px;padding:12px}.timer-circle{width:72px;height:72px;font-size:30px}.answer-tiles{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
