:root{color-scheme:dark;font-family:Trebuchet MS,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#f4efe8;background:radial-gradient(circle at top left,rgba(255,153,102,.22),transparent 34%),radial-gradient(circle at right center,rgba(72,205,240,.18),transparent 28%),linear-gradient(145deg,#111827,#0f172a 48%,#08111f);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input{font:inherit}button{border:0;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease,background .16s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;padding:32px;position:relative}.background-orb{position:absolute;border-radius:999px;filter:blur(16px);opacity:.65;pointer-events:none}.background-orb-one{width:360px;height:360px;top:-120px;left:-80px;background:#ff9f4324}.background-orb-two{width:280px;height:280px;right:280px;bottom:280px;background:#39b7d229}.app-card{width:min(1120px,100%);margin:0 auto;position:relative;z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080f1bad;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:28px;box-shadow:0 24px 80px #00000061}.topbar,.room-header,.participants-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.topbar h1,.hero-panel h2,.room-header h2{margin:0;line-height:1.08}.topbar h1{font-size:clamp(2rem,4vw,3.4rem);max-width:11ch}.eyebrow,.section-label{margin:0 0 10px;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;color:#93c5fd}.connection-pill,.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.08)}.connection-pill[data-state=online]{color:#8ae7b4}.connection-pill[data-state=offline]{color:#f7b38b}.alert{margin-top:18px;padding:14px 16px;border-radius:16px;background:#ff848424;border:1px solid rgba(255,132,132,.28);color:#ffd0d0}.lobby-layout,.game-layout{display:grid;gap:20px;margin-top:24px}.lobby-layout{grid-template-columns:1.1fr 1fr}.hero-panel,.form-panel,.buzzer-stage,.side-panel,.participants-panel,.info-card{border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.hero-panel,.form-panel,.info-card,.participants-panel{padding:22px}.hero-panel p,.fine-print,.stage-note,.participant-card p,.stacked-values span,.participants-heading span{color:#f4efe8b8}.hero-panel h2{font-size:clamp(1.8rem,3vw,2.6rem)}.form-panel{display:grid;gap:16px;align-content:start}label{display:grid;gap:8px;font-weight:600}input{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#090d16c7;color:inherit;outline:none}input:focus{border-color:#77dbffc7;box-shadow:0 0 0 4px #77dbff24}.button-row,.button-stack,.tag-row,.buzzer-status{display:flex;gap:12px;flex-wrap:wrap}.primary-button,.secondary-button,.ghost-button{min-height:48px;padding:0 18px;border-radius:16px;font-weight:700}.primary-button{color:#07121a;background:linear-gradient(135deg,#f7d038,#ff9f43);box-shadow:0 12px 28px #ff9f4347}.secondary-button{color:#f4efe8;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.ghost-button{color:#f4efe8;background:transparent;border:1px solid rgba(255,255,255,.08)}.game-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:20px}.buzzer-stage{min-height:420px;display:grid;gap:18px;align-content:center;justify-items:center;padding:28px}.buzzer-button{width:min(100%,420px);aspect-ratio:1;border-radius:50%;font-size:clamp(1.4rem,4vw,2.1rem);font-weight:800;letter-spacing:.03em;color:#fff6ed;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.28),transparent 24%),linear-gradient(145deg,#ff5d5d,#ff9155 56%,#ffbf40);box-shadow:0 0 0 14px #ff5e5e14,0 22px 60px #ff5a5a47}.buzzer-button:disabled{box-shadow:none;background:linear-gradient(145deg,#4a5568,#2f3748);color:#f4efe8c2}.stage-note{margin:0;text-align:center;max-width:40ch}.side-panel{display:grid;gap:20px}.stacked-values{display:grid;gap:16px}.stacked-values div{display:grid;gap:4px}.stacked-values strong{font-size:1.02rem}.participants-panel{display:grid;gap:16px}.participant-list{display:grid;gap:12px}.participant-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-radius:18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06)}.participant-card.self{border-color:#77dbff61}.participant-card.winner{border-color:#ffd06b80;background:#ffd06b14}.winner-badge,.host-badge{background:#ffffff14}.winner-badge{color:#ffe4a1}.host-badge{color:#9ad0ff}.overlay-shell{height:100%;padding:18px;background:radial-gradient(circle at top left,rgba(255,165,92,.16),transparent 30%),radial-gradient(circle at 20% 110%,rgba(82,214,255,.16),transparent 32%),linear-gradient(145deg,#050910f5,#0a101cfa);color:#f6f2ec}.overlay-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.overlay-eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:#8dd9ff}.overlay-header h1{margin:0;font-size:clamp(1.6rem,3vw,2.4rem)}.overlay-meta{display:flex;gap:4%;flex-wrap:wrap;align-items:center}.overlay-meta span,.overlay-winner-chip,.overlay-alert{border-radius:999px;padding:10px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.overlay-alert{margin-bottom:16px;color:#ffdfc8}.overlay-layout{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;height:calc(100vh - 92px);min-height:0}.overlay-edit-toggle{border-radius:999px;padding:10px 14px;cursor:pointer;color:#f6f2ec;background:#ffffff14;border:1px solid rgba(255,255,255,.18);font:inherit;font-weight:700}.overlay-edit-toggle:hover{background:#ffffff24}.overlay-edit-toggle.is-active{background:#ffbf5233;border-color:#ffbf5273;color:#ffe4a1}.overlay-canvas{position:relative;width:100%;height:calc(100vh - 92px);min-height:0;overflow:hidden}.overlay-canvas.is-editing{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px;border-radius:18px;outline:1px dashed rgba(255,255,255,.14)}.overlay-panel{position:absolute;min-width:0;min-height:0}.overlay-panel.is-editing{cursor:move;outline:1px dashed rgba(141,217,255,.55);outline-offset:2px}.overlay-panel.is-editing iframe{pointer-events:none}.overlay-panel-resize{position:absolute;right:-6px;bottom:-6px;width:18px;height:18px;border-radius:6px;background:#8dd9ffe6;border:2px solid rgba(6,10,18,.85);cursor:nwse-resize;z-index:5;touch-action:none}.overlay-slot-fill{height:100%;grid-template-rows:minmax(0,1fr)}.overlay-slot-fill .overlay-frame{height:100%;min-height:0;aspect-ratio:auto}.overlay-slot-fill.overlay-slot-hero .overlay-frame,.overlay-slot-fill.overlay-slot-camera .overlay-frame{height:100%;aspect-ratio:auto}.overlay-text-placeholder{height:100%;min-height:0;display:grid;place-items:center;padding:12px;text-align:center;border-radius:16px;font-size:.9rem;font-weight:700;color:#f6f2ecb8;background:linear-gradient(135deg,#0c121eeb,#1c2a42d9);border:1px solid rgba(255,255,255,.1)}.overlay-stage,.overlay-camera-strip{display:grid;gap:16px}.overlay-stage{flex:1;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto}.overlay-stage-grid{display:grid;grid-template-columns:minmax(240px,.26fr) minmax(0,1fr);gap:4%;height:100%;align-items:center;min-height:0}.overlay-stage-full .overlay-stage-grid{grid-template-columns:1fr}.overlay-stage-with-host .overlay-stage-grid{grid-template-columns:minmax(240px,.28fr) minmax(0,1fr)}.overlay-host-panel{display:flex;align-items:center;align-self:center;justify-self:start;padding-left:32px;min-height:0}.overlay-stage-full .overlay-host-panel{display:none}.overlay-stage-full .overlay-presentation-panel{width:100%;height:100%;justify-self:stretch;max-width:calc(100vw - 120px)}.overlay-slot-hero .overlay-frame{aspect-ratio:16 / 9;min-height:0;height:auto;width:100%;max-width:100%;max-height:none}.overlay-stage-with-host .overlay-presentation-panel{height:100%;justify-self:stretch;min-height:0;max-width:calc(100vw - 360px)}.overlay-stage-full .overlay-presentation-panel,.overlay-stage-with-host .overlay-presentation-panel{min-height:0}.overlay-stage-full .overlay-slot-hero .overlay-frame,.overlay-stage-with-host .overlay-presentation-panel .overlay-frame{width:100%;max-width:100%;max-height:100%}.overlay-stage-full .overlay-presentation-panel .overlay-frame{max-width:100%;max-height:100%}.overlay-camera-strip{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.overlay-slot-caption{display:grid;gap:4px;padding-top:12px;text-align:center}.overlay-slot-name{font-weight:800;font-size:1rem}.overlay-slot{position:relative;border-radius:22px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);display:grid;gap:12px}.overlay-slot-active{animation:overlay-pulse 1s ease-in-out infinite}.overlay-slot-hero .overlay-frame{min-height:0;height:60vh}.overlay-slot-camera .overlay-frame{min-height:110px}.overlay-slot-label{position:absolute;z-index:2;top:12px;left:12px;padding:8px 12px;border-radius:999px;background:#060a12b8;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.9rem;font-weight:700}.overlay-frame{position:relative;width:100%;height:auto;min-height:0;min-width:0;border-radius:16px;background:linear-gradient(135deg,#0c121eeb,#1c2a42d9)}.overlay-frame iframe{width:100%;height:100%;border:0;display:block}.overlay-stage-full .overlay-presentation-panel .overlay-frame iframe,.overlay-stage-with-host .overlay-presentation-panel .overlay-frame iframe{width:100%;height:100%}.overlay-slot-hero .overlay-frame iframe{aspect-ratio:16 / 9}.overlay-stage-full .overlay-slot-hero .overlay-frame,.overlay-stage-with-host .overlay-presentation-panel .overlay-frame{width:100%;max-width:none;max-height:none}.overlay-stage-full .overlay-presentation-panel,.overlay-stage-with-host .overlay-presentation-panel{align-self:stretch;max-width:calc(100vw - 120px)}.overlay-stage-full .overlay-presentation-panel{width:100%;max-width:calc(100vw - 360px)}.overlay-stage-with-host .overlay-presentation-panel{width:100%}.overlay-empty{width:100%;height:100%;min-height:260px;display:grid;place-items:center;padding:20px;text-align:center;color:#f6f2ecb8}.overlay-now-playing{display:none}.overlay-winner-chip{color:#fef5df}.overlay-winner-chip.is-active{background:#ffbf522e;border-color:#ffbf5261}.overlay-winner-chip-secondary{color:#f6f2ecb3}@keyframes overlay-pulse{0%,to{box-shadow:0 0 #ffac4d33,0 0 0 1px #ffac4d73 inset;border-color:#ffac4d59;transform:scale(1)}50%{box-shadow:0 0 0 10px #ffac4d0f,0 0 0 2px #ffac4d8c inset;border-color:#ffce7cb8;transform:scale(1.01)}}@media (max-width: 900px){.app-shell{padding:18px}.app-card{padding:20px;border-radius:22px}.lobby-layout,.game-grid{grid-template-columns:1fr}.topbar,.room-header,.participants-heading,.participant-card{align-items:flex-start;flex-direction:column}.buzzer-stage{min-height:360px}.overlay-grid,.overlay-stage-grid{grid-template-columns:1fr}.overlay-camera-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 540px){.app-shell{padding:12px}.app-card{padding:16px}.buzzer-button{width:min(100%,320px)}.overlay-header{align-items:flex-start;flex-direction:column}.overlay-camera-strip{grid-template-columns:1fr}}
