@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Unbounded:wght@600;700;800&display=swap');
:root{--night:#06081b;--panel:#101539;--panel-2:#171d4c;--line:#ffffff1f;--ink:#f7f8ff;--muted:#aab1d3;--blue:#5c7cff;--violet:#9a5cff;--gold:#ffcf53;--pink:#ff3a8c}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 55% -20%,#3846a5 0,transparent 36%),radial-gradient(circle at 5% 45%,#6d176c55 0,transparent 30%),var(--night);color:var(--ink);font:16px Manrope,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;padding:10px 14px;font-weight:800;box-shadow:0 6px 18px #0004}button:hover{filter:brightness(1.12)}button.danger{background:#d82c67}button.light{background:#ffffff17;color:var(--ink);box-shadow:none;border:1px solid var(--line)}.home main{max-width:850px;margin:14vh auto;padding:28px}.eyebrow{margin:0;color:var(--gold);font-weight:800;font-size:12px;letter-spacing:.2em}.home h1,.screen-question h1{font:800 clamp(2.4rem,7vw,6.3rem)/1.09 Unbounded,sans-serif;margin:14px 0;text-shadow:0 4px 18px #0008}.lead,.hint,.meta{color:var(--muted)}.role-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:48px 0}.role-links a{background:linear-gradient(135deg,#26347c,#441b78);border:1px solid #ffffff33;color:white;text-decoration:none;border-radius:18px;padding:28px;font-size:20px;font-weight:800;box-shadow:0 18px 45px #0005}.role-links span{float:right;color:var(--gold)}.admin{padding:28px;max-width:1400px;margin:auto}.admin header,.screen header{display:flex;justify-content:space-between;align-items:center;gap:18px}.admin h1,.screen h1{font:800 25px Unbounded;margin:6px 0}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:20px}.card{background:linear-gradient(145deg,#161c49e8,#0d1030e8);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 18px 45px #0003}.card h2{font:800 16px Unbounded;margin:0 0 16px}.spotlight{box-shadow:0 0 0 1px #ffcf5344,0 16px 55px #392d98aa}.stack{display:grid;gap:10px}.field{width:100%;border:1px solid #ffffff28;background:#070a23;color:var(--ink);border-radius:9px;padding:11px}.field:focus{outline:2px solid var(--blue)}.points{max-width:110px}.amount{max-width:120px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.import-button,.photo-drop{cursor:pointer;display:block;border:1px dashed #7d8cff88;border-radius:9px;padding:10px;color:#cbd1ff;font-weight:700}.import-button input,.photo-drop input{display:none}.photo-drop span{font-weight:400;color:var(--muted);margin-left:8px}.question{padding:13px 0;border-bottom:1px solid var(--line)}.question.current{border-left:4px solid var(--gold);padding-left:10px;background:#ffcf530d}.question b{display:block;line-height:1.4}.category,.has-photo{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--gold);margin-bottom:5px}.has-photo{color:#c5b7ff;margin-right:6px}.question-group{margin:20px 0}.question-group h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#c5cbf2}.question-group h3 span{color:var(--muted);font-weight:400}.player-link{font-size:12px;color:#b7c2ff;word-break:break-all;margin:5px 0}.scoreboard{display:grid;gap:8px}.score-row{display:flex;justify-content:space-between;padding:11px 13px;border-radius:8px;background:#ffffff0d;border:1px solid #ffffff0c}.score-row strong{color:var(--gold);font:800 19px Unbounded}.screen{min-height:100vh;padding:48px 6vw;display:grid;grid-template-rows:auto 1fr auto;position:relative;overflow:hidden}.screen:after{content:"";position:absolute;inset:auto -20% -30% -20%;height:55%;background:radial-gradient(ellipse,#6d39db55,transparent 62%);pointer-events:none}.screen header,.screen-stage,.screen-scores{position:relative;z-index:1}.screen-stage{align-self:center;max-width:1500px;padding:5vh 0;width:100%}.screen-stage.is-question h1{font:800 clamp(2.4rem,7vw,6.3rem)/1.09 Unbounded,sans-serif;margin:14px 0;text-shadow:0 4px 18px #0008;font-size:clamp(3rem,7vw,7rem);line-height:1.08;max-width:1400px}.screen .status{font-weight:800;color:var(--gold);font-size:clamp(1rem,2vw,1.6rem);letter-spacing:.05em;text-transform:uppercase;margin:0 0 6px}.screen-stage.is-answer{display:grid;justify-items:center;text-align:center;animation:reveal-in .35s ease-out}
.answer-label{font-weight:800;color:var(--gold);font-size:clamp(1rem,2vw,1.6rem);letter-spacing:.15em;text-transform:uppercase;margin:0}
.answer-text{font:800 clamp(2.6rem,8vw,7rem)/1.1 Unbounded,sans-serif;margin:18px 0 0;color:#bdf7c9;text-shadow:0 4px 24px #0009;max-width:1400px}
@keyframes reveal-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.screen-image{max-width:min(56vw,900px);max-height:43vh;border-radius:18px;border:2px solid #ffffff44;box-shadow:0 20px 60px #0008;margin-top:25px}.screen .scoreboard{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:12px}.screen-scores h2{margin:0 0 8px;font:700 14px Unbounded;color:var(--muted)}
.board{display:grid;gap:10px;width:100%}
.board-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:14px;align-items:center}
.board-category{font:700 clamp(.85rem,1.4vw,1.3rem) Unbounded;color:#e3e7ff;text-transform:uppercase;letter-spacing:.03em}
.board-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px}
.board-cell{display:flex;align-items:center;justify-content:center;padding:16px 6px;border-radius:10px;background:linear-gradient(145deg,#26347c,#1a2260);border:1px solid #ffffff26;font:800 clamp(1rem,2vw,1.6rem) Unbounded;color:var(--gold)}
.board-cell.used{background:#161a3a;color:#454b76;border-color:#ffffff10}
.admin-board .board-cell{cursor:pointer;transition:transform .1s}
.admin-board .board-cell:hover:not(.used){filter:brightness(1.15);transform:translateY(-2px)}
.admin-board .board-cell.live{outline:2px solid var(--pink)}
.sessions-card{margin-top:20px}
.new-session{margin-top:14px;align-items:stretch}
.new-session .field{flex:1;min-width:180px}
.new-session-json{flex:1;min-width:220px;padding:9px 12px;margin:0}
.new-session-json span{display:block;font-size:12px}
button.plus{white-space:nowrap}
.session-tools{margin-top:12px}
.live{display:grid;gap:10px}
.live .category{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--gold)}
.live-image{max-width:100%;max-height:220px;border-radius:12px;border:1px solid var(--line);object-fit:contain}
.answer-line{margin:0;color:var(--muted)}
.badge{display:inline-block;background:#1c7c4c;color:#c6ffdf;font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;margin-left:6px;text-transform:uppercase}.buzz-timer{display:inline-block;background:#ffcf5322;color:var(--gold);font-size:12px;font-weight:800;padding:2px 9px;border-radius:99px;margin-left:6px;font-variant-numeric:tabular-nums}
.live-tools{margin-top:6px}
.player-card{display:grid;gap:6px}
.player-head{justify-content:space-between}
.player-score{color:var(--gold);font:800 19px Unbounded}.player{min-height:100vh;display:flex;flex-direction:column;padding:22px;text-align:center}.player h1{font:800 22px Unbounded;margin:12px 0}.buzzer{flex:1;min-height:330px;margin:20px auto;border-radius:50%;width:min(78vw,530px);background:radial-gradient(circle at 35% 25%,#ff85be,#ff237d 58%,#a4004a);border:12px solid #ffb6d8;box-shadow:inset 0 -15px #a4004a,0 12px 0 #5b0a39,0 0 60px #fa238988;color:white;font:800 clamp(2rem,8vw,4.5rem) Unbounded}.buzzer:active{transform:translateY(8px);box-shadow:inset 0 -6px #a4004a,0 4px 0 #5b0a39}.buzzer[disabled]{background:#3b4162;border-color:#6c7493;box-shadow:none;color:#b6bdd5}.player-status{font-weight:800;min-height:48px}.hidden{display:none!important}@media(max-width:700px){.grid,.role-links{grid-template-columns:1fr}.admin{padding:16px}.screen{padding:22px}.screen-stage.is-question h1{font-size:clamp(2.5rem,12vw,5rem)}.screen-image{max-width:100%}.buzzer{min-height:270px}.board-row{grid-template-columns:1fr}}
