:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}h1,h2,h3,p{margin-top:0}button,input,textarea,select{font:inherit}.app-shell{--ink:#111827;--ink-2:#1c2433;--ink-3:#253044;--paper:#f5f8fc;--paper-2:#edf3f9;--surface:#fff;--surface-soft:#f8fbff;--line:#d9e2ec;--line-strong:#b8c7d8;--text:#172033;--muted:#66758a;--subtle:#8794a8;--cyan:#08a8c7;--cyan-soft:#dff7fb;--coral:#f25b68;--coral-soft:#ffe8eb;--mint:#18b981;--mint-soft:#def8ed;--amber:#d99222;--amber-soft:#fff3d8;background:linear-gradient(180deg, #f9fbfe 0%, var(--paper) 48%, #ebf5f3 100%);min-height:100vh;color:var(--text);font-family:var(--theme-font,Inter, ui-sans-serif, system-ui, "Segoe UI", Roboto, Arial, sans-serif);letter-spacing:0;overflow-x:hidden}.app-shell--stage,.app-shell--team{background:var(--ink)}.app-shell--stage{height:100vh;overflow:hidden}.app-shell--stage .topbar,.app-shell--team .topbar{display:none}.topbar{z-index:20;color:#f8fbff;background:linear-gradient(#111827fa,#1c2433fa);border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:18px;width:248px;padding:18px;display:flex;position:fixed;inset:16px auto 16px 16px;box-shadow:0 22px 70px #11182738}.brand-lockup{border-bottom:1px solid #ffffff1a;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding-bottom:16px;display:grid}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:16px;line-height:1.1}.brand-lockup span{color:#aab7c9;margin-top:4px;font-size:12px;font-weight:700;line-height:1.35}.brand-mark{background:linear-gradient(135deg, var(--cyan), #9ff3e1);color:#071017;border:1px solid #08a8c766;border-radius:8px;place-items:center;width:48px;height:48px;font-size:14px;font-weight:1000;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%}.mode-tabs{gap:8px;display:grid}.mode-tabs button{color:#dfe8f4;text-align:left;background:linear-gradient(#ffffff12,#ffffff09);border-color:#ffffff1f;justify-content:flex-start;width:100%;min-height:44px;padding:0 12px;box-shadow:inset 0 1px #ffffff0f}.mode-tabs button.active{color:#fff;box-shadow:inset 3px 0 0 var(--cyan), 0 10px 24px #08a8c71a;background:linear-gradient(135deg,#08a8c747,#18b9811a);border-color:#08a8c7b8}.connection-pill{color:#dfe8f4;cursor:default;background:#ffffff0d;border-color:#ffffff1a;justify-content:flex-start;min-height:44px;margin-top:auto;padding:0 12px}.connection-pill.online{color:#b9f7df;background:#18b9811f;border-color:#18b98175}.connection-pill.offline{color:#ffd6db;background:#f25b681f;border-color:#f25b688c}.workspace{width:calc(100% - 296px);max-width:1680px;min-height:100vh;margin-left:280px;padding:16px 20px 42px 0}.workspace--stage,.workspace--team{width:100%;max-width:none;min-height:100vh;margin-left:0;padding:0}.workspace--stage{height:100vh;overflow:hidden}.system-alert,.loading-screen{justify-content:center;align-items:center;gap:10px;margin-left:280px;padding:16px;font-weight:800;display:flex}.app-shell--stage .system-alert,.app-shell--team .system-alert,.app-shell--stage .loading-screen,.app-shell--team .loading-screen{margin-left:0}.system-alert{background:var(--coral-soft);color:#8f1f2a}.loading-screen{min-height:50vh;color:var(--muted)}.panel{border:1px solid var(--line);background:#ffffffeb;border-radius:8px;box-shadow:0 18px 48px #13223514}.panel-title{color:var(--ink);align-items:center;gap:9px;padding:18px 18px 12px;display:flex}.panel-title svg{color:var(--cyan)}.panel-title h2{margin:0;font-size:15px;font-weight:900;line-height:1.2}.panel-kicker{color:var(--cyan);text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:1000;line-height:1}.muted{color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}button,.button-link,.compact-upload{min-height:40px;color:var(--ink);font:800 13px/1 var(--theme-font,Inter, ui-sans-serif, system-ui, sans-serif);cursor:pointer;background:linear-gradient(#fff 0%,#f7fbff 100%);border:1px solid #91a0b56b;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;display:inline-flex;box-shadow:inset 0 1px #ffffffeb,0 1px #1118270a}button:hover,.button-link:hover,.compact-upload:hover{background:linear-gradient(180deg, #f7fdff 0%, var(--cyan-soft) 100%);color:#07556c;border-color:#08a8c775;transform:translateY(-1px);box-shadow:inset 0 1px #fffffff2,0 10px 22px #08a8c726}button:disabled{cursor:not-allowed;opacity:.48;transform:none}button:active:not(:disabled),.button-link:active,.compact-upload:active{transform:translateY(0);box-shadow:inset 0 2px 8px #1118271a,0 1px #1118270a}.danger,button.danger{background:linear-gradient(180deg, #fff6f7 0%, var(--coral-soft) 100%);color:#9d202d;border-color:#f25b688f}.success,button.success{background:linear-gradient(180deg, #f4fff9 0%, var(--mint-soft) 100%);color:#0d6f4b;border-color:#18b9818a}input,select,textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);font:700 13px/1.2 var(--theme-font,Inter, ui-sans-serif, system-ui, sans-serif);background:#fff;border-radius:7px;outline:none;padding:0 12px}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #08a8c729}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--cyan);padding:0}.icon-button{width:40px;min-height:40px;padding:0}.admin-grid{grid-template-columns:minmax(360px,1.15fr) repeat(3,minmax(220px,.85fr));gap:14px;display:grid}.admin-hero{background:linear-gradient(135deg,#fff 0%,#f3fbfd 62%,#edf8f1 100%);border-color:#08a8c73d;justify-content:space-between;min-height:162px;padding:24px;display:flex}.admin-hero h1,.host-header h1{color:var(--ink);margin:0;font-size:30px;font-weight:1000;line-height:1.08}.admin-hero p:not(.panel-kicker){max-width:720px;color:var(--muted);margin:12px 0 0;font-size:15px;font-weight:750;line-height:1.45}.login-row,.button-row,.media-actions,.theme-actions{flex-wrap:wrap;align-items:center;gap:10px;padding:0 18px 14px;display:flex}.panel>.muted{padding:0 18px 16px;display:block}.auth-gate{width:min(460px,100%);margin:clamp(48px,12vh,128px) auto;padding-bottom:8px}.auth-gate .login-row label{color:var(--muted);flex:220px;font-size:12px;font-weight:900}.auth-gate .login-row input{width:100%;margin-top:6px}.upload-zone{background:var(--cyan-soft);color:#07556c;cursor:pointer;border:1px dashed #08a8c780;border-radius:8px;place-items:center;min-height:94px;margin:0 18px 14px;font-weight:900;display:grid}.upload-zone input,.compact-upload input{display:none}.theme-panel,.score-rule-panel,.event-meta-panel,.event-manager-panel{grid-column:span 2;padding-bottom:12px}.team-admin-panel,.validation-list{grid-column:1/-1}.theme-form,.inspector-form{gap:10px;padding:0 18px 14px;display:grid}.theme-form label,.theme-swatches label,.event-meta-form label,.score-rule-form label,.team-admin-header label,.inspector-form label,.toolbar-field{color:var(--muted);text-transform:uppercase;gap:6px;font-size:11px;font-weight:1000;line-height:1.1;display:grid}.theme-swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.color-input{min-height:40px;padding:3px}.switch-row{flex-direction:row;grid-template-columns:none;justify-content:flex-start;align-items:center;display:flex!important}.event-meta-form,.score-rule-form{grid-template-columns:repeat(2,minmax(180px,1fr)) auto minmax(160px,1fr);align-items:end;gap:10px;padding:0 18px 14px;display:grid}.event-create-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:0 18px 14px;display:grid}.event-list,.media-library,.team-editor-list,.element-choice-list{scrollbar-width:thin}.event-list{gap:8px;padding:0 18px 12px;display:grid}.event-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;display:grid}.event-row.active{background:var(--cyan-soft);border-color:#08a8c76b}.event-row strong,.event-row span{display:block}.event-row span{color:var(--muted);margin-top:2px;font-size:12px;font-weight:800}.team-admin-header{grid-template-columns:minmax(160px,220px) auto minmax(0,1fr);align-items:end;gap:10px;padding:0 18px 14px;display:grid}.team-editor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 18px 16px;display:grid}.team-editor-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:34px minmax(0,1fr) 54px 72px auto;align-items:center;gap:8px;padding:8px;display:grid}.team-editor-row span,.team-editor-row strong{color:var(--muted);font-size:12px;font-weight:900}.media-library{gap:8px;max-height:320px;padding:0 18px 14px;display:grid;overflow:auto}.media-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:46px minmax(0,1fr) 38px;align-items:center;gap:8px;padding:8px;display:grid}.media-row img,.media-type{background:#e6eef7;border-radius:6px;width:46px;height:34px}.media-row img{object-fit:cover}.media-type{color:var(--muted);text-transform:uppercase;place-items:center;font-size:10px;font-weight:1000;display:grid}.media-row strong,.media-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.media-row small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:800}.validation-list{padding-bottom:16px}.validation-list.compact{box-shadow:none;background:0 0;border:0;padding:8px 0 0}.validation-row,.success-text{background:var(--surface-soft);border-radius:7px;gap:12px;margin:8px 18px;padding:10px 12px;display:flex}.success-text{color:#0d6f4b;font-weight:900}.editor-grid{grid-template-columns:270px minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}.host-grid{grid-template-columns:minmax(0,1fr) minmax(380px,450px);grid-template-areas:"preview commands""preview teams""leaderboard leaderboard";align-items:start;gap:14px;display:grid}.slide-list,.inspector{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow:auto}.slide-row{text-align:left;grid-template-columns:30px minmax(0,1fr) auto;justify-content:stretch;width:calc(100% - 24px);min-height:42px;margin:8px 12px;display:grid}.slide-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slide-row small{color:var(--muted);font-weight:900}.slide-row.active{background:var(--cyan-soft);color:#07556c;border-color:#08a8c78c}.editor-main{min-width:0}.editor-toolbar{border:1px solid var(--line);background:#ffffffdb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px;display:flex;box-shadow:0 12px 32px #1322350f}.editor-toolbar span{color:var(--muted);font-size:13px;font-weight:850}.toolbar-toggle,.toolbar-field{border:1px solid var(--line);min-height:40px;color:var(--muted);background:#fff;border-radius:7px;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:inline-flex}.toolbar-field input{width:76px;min-height:30px;padding:0 8px}.canvas-slide{aspect-ratio:16/9;border:1px solid var(--line-strong);background:#0b1020;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 46px #1322352b,inset 0 0 0 1px #ffffff1f}.host-preview{background:linear-gradient(#fff 0%,#f9fcff 100%);border-color:#08a8c738;grid-area:preview;align-self:start;min-width:0;padding:18px}.host-header{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);align-items:start;gap:18px;margin-bottom:16px;display:grid}.host-header h1{max-width:780px}.status-cluster,.metric-list{grid-template-columns:repeat(4,minmax(72px,1fr));gap:8px;display:grid}.metric-list{grid-template-columns:repeat(2,1fr);padding:0 18px 18px}.metric{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;min-width:0;padding:10px}.metric span,.leader-row span,.team-card em{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:1000;line-height:1.1;display:block}.metric strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:16px;display:block;overflow:hidden}.command-center{grid-area:commands;padding-bottom:18px}.join-panel{background:var(--cyan-soft);border:1px solid #08a8c747;border-radius:8px;grid-template-columns:minmax(0,1fr) 76px;grid-template-areas:"copy qr""actions qr";align-items:center;gap:12px;margin:0 18px 14px;padding:12px;display:grid}.join-panel>div:first-child{grid-area:copy;min-width:0}.join-panel strong,.join-panel span{display:block}.join-panel strong{color:#07556c;font-size:16px;font-weight:1000}.join-panel span{color:#346779;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:800;overflow:hidden}.join-actions{grid-area:actions;justify-content:flex-start;align-items:center;display:flex}.join-actions button{white-space:nowrap;min-height:38px}.media-control-panel{background:#f7fbff;border:1px solid #0f5eae2e;border-radius:8px;grid-template-columns:minmax(0,1fr);gap:10px;margin:0 18px 14px;padding:12px;display:grid}.media-control-panel strong,.media-control-panel span{min-width:0;display:block}.media-control-panel strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:1000;overflow:hidden}.media-control-panel span{color:var(--muted);margin-top:3px;font-size:12px;font-weight:850}.media-control-panel--empty{background:#f3f6fa}.lobby-music-panel{background:linear-gradient(#fffbeb 0%,#f7fbff 100%);border-color:#ffd1666b}.media-control-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.media-control-actions button{min-height:40px}.media-action-button--play{color:#07556c;background:linear-gradient(#f7fdff 0%,#dff7fb 100%);border-color:#08a8c770}.media-action-button--pause,.media-action-button--reset{background:linear-gradient(#fff 0%,#eef4fb 100%);border-color:#91a0b56b}.qr-link{color:#07556c;background:#fff;border:1px solid #08a8c752;border-radius:7px;grid-area:qr;place-items:center;width:76px;height:76px;text-decoration:none;display:grid}.join-stage-button{color:#07556c;background:linear-gradient(#fff 0%,#edfaff 100%);border-color:#08a8c76b;box-shadow:0 8px 18px #08a8c71a}.qr-code{color:#071017;display:block}.qr-code--compact{width:64px;height:64px}.qr-code--stage{width:min(260px,42vw);height:min(260px,42vw)}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 18px;display:grid}.control-grid button{min-height:46px}.command-button{letter-spacing:0;min-width:0;font-size:13px}.command-button--primary{color:#fff;background:linear-gradient(#19cff1 0%,#08a8c7 58%,#087a99 100%);border-color:#08a8c7a8;min-height:56px;font-size:14px;box-shadow:inset 0 1px #ffffff6b,0 14px 28px #08a8c738}.command-button--secondary{background:linear-gradient(#fff 0%,#f3f8fd 100%)}.command-button--active{color:#fff;background:linear-gradient(#173457 0%,#0b1d32 100%);border-color:#ffd166b8;box-shadow:inset 0 1px #ffffff2e,0 12px 24px #0b1d3238}.command-button--success{color:#053f2b;background:linear-gradient(#41d68e 0%,#18b981 100%);border-color:#18b98185;box-shadow:0 12px 24px #18b9812e}.command-button--danger{color:#67121b;background:linear-gradient(#ff858f 0%,#f25b68 100%);border-color:#f25b6885;box-shadow:0 12px 24px #f25b682b}.command-button--danger-outline{background:linear-gradient(#fff8f9 0%,#ffe8eb 100%);border-color:#f25b686b}.finish-button{color:#ffdbe0;background:linear-gradient(#2a1720 0%,#151925 100%);border-color:#f25b6885;box-shadow:inset 0 1px #ffffff14,0 14px 28px #1118272b}.finish-panel{padding:10px 18px 0}.finish-panel button{width:100%;min-height:46px}.finish-dialog-backdrop{z-index:30;background:#05070d9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.finish-dialog{border:1px solid var(--line);width:min(440px,100%);color:var(--ink);background:#fff;border-radius:8px;padding:18px;box-shadow:0 26px 70px #05070d47}.finish-dialog-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.finish-dialog h2{margin:0;font-size:26px;line-height:1.05}.finish-dialog p{color:var(--muted);margin:14px 0;font-size:14px;font-weight:800;line-height:1.45}.finish-dialog-actions{grid-template-columns:1fr;gap:8px;display:grid}.finish-dialog-actions button{min-height:46px}.dialog-status{color:var(--muted);margin-top:10px;font-weight:900;display:block}.team-rail{grid-area:teams;padding-bottom:12px}.team-card{border:1px solid var(--line);background:var(--surface-soft);border-left:4px solid;border-radius:8px;grid-template-columns:14px minmax(0,1fr) auto 18px auto;align-items:center;gap:9px;margin:8px 12px;padding:10px;display:grid}.team-card.active{background:var(--cyan-soft);border-color:#08a8c794;box-shadow:0 0 0 3px #08a8c71f}.team-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-card span:not(.team-dot){color:var(--ink);font-weight:1000}.team-dot{border-radius:50%;width:12px;height:12px}.leaderboard{grid-area:leaderboard;padding-bottom:12px}.leader-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;margin:8px 12px;padding:12px;display:grid}.leader-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leader-row b{color:#07556c}.canvas-slide--stage{box-shadow:none;border:0;border-radius:0}.canvas-slide--grid:before{z-index:0;content:"";pointer-events:none;background-image:linear-gradient(#ffffff24 1px,#0000 1px),linear-gradient(90deg,#ffffff24 1px,#0000 1px);background-size:5% 5%;position:absolute;inset:0}.canvas-slide--editor .canvas-element{cursor:grab;touch-action:none}.canvas-slide--editor .canvas-element:active{cursor:grabbing}.canvas-slide--editor .canvas-element.selected{outline:2px solid var(--cyan);outline-offset:2px}.canvas-slide--fullscreen-media .canvas-element{display:none}.canvas-resize-handle{background:var(--cyan);cursor:nwse-resize;touch-action:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;min-height:16px;padding:0;position:absolute}.canvas-leaderboard-label{text-align:center;color:#fff;text-shadow:0 2px 18px #0000008c;place-items:center;gap:12px;display:grid;position:absolute;inset:22% 10%}.canvas-leaderboard-label span{font-size:56px;font-weight:1000}.canvas-leaderboard-label strong{color:#d7deea;max-width:620px;font-size:18px}.canvas-element{box-sizing:border-box;transition:opacity .18s;position:absolute;overflow:hidden}.canvas-element--text{color:#fff;overflow-wrap:anywhere;text-align:center;text-shadow:0 2px 18px #00000073;white-space:pre-line;justify-content:center;align-items:center;padding:.12em;line-height:1.08;display:flex}.canvas-element--shape{background:#ffffff1f;border:2px solid #fff6}.canvas-element--image{object-fit:contain}.slide-video{z-index:1;object-fit:cover;background:#000;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.slide-audio{width:52%;position:absolute;bottom:8%;left:8%}.canvas-slide--stage .slide-audio{opacity:0;pointer-events:none;width:1px;height:1px;bottom:0;left:0}.timeline-strip,.timeline-bar{border:1px solid var(--line);background:#edf3f9;border-radius:8px;height:42px;margin-top:12px;position:relative;overflow:hidden}.timeline-strip{color:var(--muted);align-items:center;font-size:12px;font-weight:900;display:flex}.timeline-strip>span{padding-left:14px}.timeline-track{background:var(--amber-soft);color:#805012;white-space:nowrap;border-radius:7px;align-items:center;height:28px;padding:0 8px;font-size:12px;font-weight:900;display:flex;position:absolute;top:6px;overflow:hidden}.timeline-fill{background:linear-gradient(90deg, var(--mint), var(--cyan), var(--amber));height:100%}.timeline-marker{background:#fff;width:3px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #11182733}.element-editor,.marker-editor{gap:8px;padding-top:4px;display:grid}.marker-editor-title{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;display:flex}.marker-editor-title button{min-height:32px;padding:0 10px}.marker-row,.timeline-editor-row{grid-template-columns:minmax(0,1fr) 72px 54px 34px;align-items:center;gap:6px;display:grid}.timeline-editor-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px 64px 34px}.marker-row input,.timeline-editor-row input,.timeline-editor-row select{min-height:32px;padding:0 8px}.element-choice-list{gap:6px;max-height:150px;display:grid;overflow:auto}.element-choice-list button{text-align:left;grid-template-columns:54px minmax(0,1fr);justify-content:stretch;min-height:34px;display:grid}.element-choice-list button.active{background:var(--cyan-soft);border-color:#08a8c78c}.element-choice-list span{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.element-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.element-grid label{gap:4px}.element-grid input{min-height:32px;padding:0 8px}.stage-screen{color:#f8fbff;background:#05070d;grid-template-columns:minmax(0,1fr) 330px;gap:0;height:100vh;min-height:100vh;display:grid;overflow:hidden}.stage-main{background:#000;flex-direction:column;justify-content:center;min-width:0;display:flex;position:relative;overflow:hidden}.stage-footer{z-index:11;color:#d7deea;background:#0b0f18;border-top:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:12px;min-height:58px;padding:10px 18px;font-weight:850;display:flex;position:relative}.stage-footer span{white-space:nowrap}.stage-buzz-overlay{z-index:10;pointer-events:none;place-items:start center;padding-top:clamp(18px,4.5vh,58px);display:grid;position:absolute;inset:0 0 58px}.stage-buzz-rings{place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.stage-buzz-rings span{aspect-ratio:1;border:4px solid color-mix(in srgb, var(--turn-color) 58%, transparent);width:min(52vw,620px);box-shadow:0 0 60px color-mix(in srgb, var(--turn-color) 28%, transparent);opacity:0;border-radius:50%;animation:1.45s ease-out forwards stage-buzz-ring;position:absolute}.stage-buzz-rings span:nth-child(2){animation-delay:.12s}.stage-buzz-rings span:nth-child(3){animation-delay:.24s}.stage-buzz-banner{border:1px solid color-mix(in srgb, var(--turn-color) 68%, #fff);background:linear-gradient(135deg, color-mix(in srgb, var(--turn-color) 24%, #08111f) 0%, #08111ff0 58%, #ffffff14 100%);min-width:min(560px,62vw);box-shadow:inset 0 1px 0 #ffffff38, 0 20px 70px #0000006b, 0 0 0 5px color-mix(in srgb, var(--turn-color) 18%, transparent);color:#fff;text-align:center;transform-origin:50% 0;border-radius:8px;justify-items:center;gap:3px;padding:14px 24px 16px;animation:.56s cubic-bezier(.2,.9,.18,1.22) stage-buzz-banner;display:grid;position:relative}.stage-buzz-banner:before{border-radius:inherit;content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);animation:.9s ease-out .16s forwards stage-buzz-glint;position:absolute;inset:0;transform:translate(-100%)}.stage-buzz-banner p,.stage-buzz-banner strong,.stage-buzz-banner span{z-index:1;display:block;position:relative}.stage-buzz-banner p{color:#98eefd;letter-spacing:0;text-transform:uppercase;margin:0;font-size:clamp(13px,1.4vw,18px);font-weight:1000}.stage-buzz-banner strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(34px,4vw,62px);font-weight:1000;line-height:.96;overflow:hidden}.stage-buzz-banner span{color:#dbe7f5;font-size:clamp(15px,1.5vw,22px);font-weight:900}.stage-join-overlay{z-index:12;background:#05070dd6;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.stage-join-card{width:min(560px,92vw);color:var(--ink);text-align:center;background:#f8fbff;border:1px solid #08a8c785;border-radius:8px;justify-items:center;gap:14px;padding:30px;display:grid;box-shadow:0 30px 90px #0000007a}.stage-join-card h2{color:var(--ink);margin:0;font-size:34px;font-weight:1000;line-height:1.05}.stage-join-card strong,.stage-join-card span{display:block}.stage-join-card strong{color:#07556c;font-size:20px;font-weight:1000}.stage-join-card span{overflow-wrap:anywhere;max-width:100%;color:var(--muted);font-size:15px;font-weight:850}.stage-side{background:#111827;border-left:1px solid #ffffff1a;flex-direction:column;min-width:0;min-height:0;display:flex}.stage-turn{border:1px solid color-mix(in srgb, var(--turn-color) 62%, #ffffff29);border-left:5px solid var(--turn-color);background:linear-gradient(135deg, color-mix(in srgb, var(--turn-color) 18%, transparent) 0%, #ffffff12 46%, #ffffff09 100%), #172033;border-radius:8px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;margin:18px 14px 8px;padding:14px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1a,0 18px 42px #00000038}.stage-turn:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#ffffff14,#0000);position:absolute;inset:0;transform:translate(-100%)}.stage-turn--active:after,.stage-turn--open:after{opacity:1;animation:1.9s ease-in-out infinite stage-turn-sheen}.stage-turn-pulse{background:var(--turn-color);width:38px;height:38px;box-shadow:0 0 0 7px color-mix(in srgb, var(--turn-color) 18%, transparent), 0 12px 28px color-mix(in srgb, var(--turn-color) 28%, transparent);border:2px solid #ffffff9e;border-radius:50%;position:relative}.stage-turn--active .stage-turn-pulse,.stage-turn--open .stage-turn-pulse{animation:1.2s ease-in-out infinite stage-turn-pulse}.stage-turn p,.stage-turn strong,.stage-turn span{z-index:1;display:block;position:relative}.stage-turn p{color:#98eefd;letter-spacing:0;text-transform:uppercase;margin:0 0 3px;font-size:12px;font-weight:1000}.stage-turn strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(21px,2.1vw,30px);font-weight:1000;line-height:1;overflow:hidden}.stage-turn span:not(.stage-turn-pulse){color:#dbe7f5;margin-top:4px;font-size:14px;font-weight:900}.stage-turn--correct{--turn-color:#22c55e}.stage-turn--wrong{--turn-color:#f25b68}.team-rail--stage{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;grid-area:auto;padding-bottom:14px;overflow:auto}.team-rail--stage .panel-title,.team-rail--stage .team-card strong,.team-rail--stage .team-card span:not(.team-dot){color:#f8fbff}.team-rail--stage .team-card{background:#ffffff0f;border-color:#ffffff1f}.team-rail--stage .team-card.active{border-color:var(--team-color);background:linear-gradient(90deg, color-mix(in srgb, var(--team-color) 24%, transparent) 0%, #ffffff14 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--team-color) 42%, transparent), 0 0 0 3px color-mix(in srgb, var(--team-color) 16%, transparent), 0 18px 38px #00000047;transform:translate(-2px)}.team-rail--stage .team-card.active strong:after{background:var(--team-color);color:#06111f;content:"SIRADA";vertical-align:middle;border-radius:999px;margin-left:8px;padding:3px 7px;font-size:10px;font-weight:1000;display:inline-block}.team-rail--stage .team-card.score-correct{background:#22c55e1f}.team-rail--stage .team-card.score-wrong{background:#f25b6821}@keyframes stage-turn-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes stage-turn-sheen{0%{transform:translate(-100%)}56%,to{transform:translate(100%)}}@keyframes stage-buzz-ring{0%{opacity:.82;transform:scale(.14)}76%{opacity:.2}to{opacity:0;transform:scale(1.42)}}@keyframes stage-buzz-banner{0%{opacity:0;transform:translateY(-22px)scale(.88)}62%{opacity:1;transform:translateY(0)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes stage-buzz-glint{0%{transform:translate(-100%)}to{transform:translate(100%)}}.leaderboard--stage{z-index:10;background:#0d1422;border:1px solid #08a8c773;border-radius:8px;grid-area:auto;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px 16px;padding:24px;display:grid;position:fixed;inset:58px 34px 34px;overflow:hidden;box-shadow:0 30px 90px #0000006b}.leaderboard--stage .panel-title{grid-column:1/-1;margin-bottom:4px}.leaderboard--stage .panel-title,.leaderboard--stage .leader-row strong,.leaderboard--stage .leader-row b{color:#f8fbff}.leaderboard--stage .leader-row{background:#ffffff0f;border-color:#ffffff1f;min-height:42px;margin:0;padding:10px 14px}.team-phone-shell{background:radial-gradient(circle at 50% 10%,#08a8c738,#0000 32%),linear-gradient(145deg,#101a2b 0%,#0a111c 52%,#080d16 100%);place-items:center;min-height:100vh;padding:20px;display:grid}.team-phone{width:min(460px,100%);color:var(--ink);background:linear-gradient(#fff 0%,#f6fbff 100%);border:1px solid #ffffff29;border-radius:10px;padding:22px;box-shadow:inset 0 1px #fffffff2,0 32px 92px #00000061}.phone-status{min-height:40px;color:var(--muted);background:#f6fbff;border:1px solid #08a8c724;border-radius:8px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;font-weight:900;display:flex}.phone-status svg{color:var(--cyan)}.phone-status.is-open{color:#047857;background:#ecfdf5;border-color:#18b9816b}.phone-status.is-owned{color:#075985;background:#e9fbff;border-color:#08a8c77a}.phone-status.is-waiting{color:#92400e;background:#fffbeb;border-color:#ffd1668a}.phone-status.is-correct{color:#047857;background:#ecfdf5;border-color:#18b98173}.phone-status.is-wrong{color:#be123c;background:#fff1f2;border-color:#ff3b4f6b}.team-choice-grid{gap:10px;display:grid}.team-choice{background:linear-gradient(90deg, color-mix(in srgb, var(--team-color,var(--cyan)) 15%, #fff) 0%, #fff 36%, #f7fbff 100%);border-left-width:6px;justify-content:flex-start;min-height:58px;padding:0 16px 0 14px;box-shadow:inset 0 1px #ffffffe6,0 8px 18px #1118270f}.team-choice svg{color:var(--team-color,var(--cyan))}.team-choice:not(:disabled):hover{border-color:var(--team-color,var(--cyan));background:linear-gradient(90deg, color-mix(in srgb, var(--team-color,var(--cyan)) 22%, #fff) 0%, #fff 32%, #effaff 100%)}.selected-team{border:1px solid var(--line);background:linear-gradient(90deg, color-mix(in srgb, var(--team-color,var(--cyan)) 16%, #fff) 0%, var(--surface-soft) 44%, #fff 100%);border-left:6px solid;border-radius:8px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;display:grid;box-shadow:0 10px 24px #1118270f}.selected-team-dot{background:var(--team-color,var(--cyan));width:14px;height:14px;box-shadow:0 0 0 4px color-mix(in srgb, var(--team-color,var(--cyan)) 18%, transparent);border-radius:999px}.selected-team strong,.selected-team span{font-weight:1000}.team-result{border-radius:8px;place-items:center;min-height:48px;margin-bottom:18px;font-size:22px;font-weight:1000;display:grid}.buzzer-button{isolation:isolate;color:#fff;width:100%;min-height:286px;box-shadow:inset 0 8px 22px #ffffffeb, inset 0 -20px 30px #64748b29, 0 0 0 10px color-mix(in srgb, var(--team-color,var(--cyan)) 12%, transparent), 0 28px 54px #0f172a3d;background:linear-gradient(#fff7f8 0%,#ecf3f9 100%);border:0;border-radius:999px;place-items:center;transition:transform .14s,box-shadow .14s,filter .14s;display:grid;position:relative;overflow:hidden}.buzzer-button:before,.buzzer-button:after,.buzzer-rim{content:"";border-radius:inherit;position:absolute}.buzzer-button:before{z-index:-2;background:radial-gradient(circle at 36% 22%,#fffffff2 0 8%,#ffffff7a 9% 18%,#0000 19%),radial-gradient(circle at 50% 32%,#ff9aa6 0 16%,#ff4059 38%,#bf1230 74%,#7f0f22 100%);inset:11%;box-shadow:inset 0 16px 24px #ffffff5c,inset 0 -24px 34px #37061080,0 18px 36px #be123c47}.buzzer-button:after{z-index:-3;border:2px solid color-mix(in srgb, var(--team-color,var(--cyan)) 46%, #fff);background:linear-gradient(#fff 0%,#e7eef6 100%);inset:4.5%;box-shadow:inset 0 1px #fffffffa,inset 0 -10px 22px #0f172a1f}.buzzer-rim{z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 20%,#ffffff52,#0000 40%);border:1px solid #ffffff61;inset:18%}.buzzer-content{place-items:center;gap:6px;display:grid}.buzzer-label{letter-spacing:0;text-shadow:0 3px #5908182e,0 10px 24px #37061059;font-size:clamp(54px,15vw,82px);font-weight:1000;line-height:.9}.buzzer-hint{color:#ffffffe6;text-transform:uppercase;background:#ffffff2e;border-radius:999px;min-width:118px;padding:6px 12px;font-size:13px;font-weight:1000;line-height:1}.buzzer-button:not(:disabled):hover{box-shadow:inset 0 8px 22px #ffffffeb, inset 0 -20px 30px #64748b29, 0 0 0 12px color-mix(in srgb, var(--team-color,var(--cyan)) 16%, transparent), 0 34px 62px #0f172a47;filter:saturate(1.06)}.buzzer-button.is-open:before{background:radial-gradient(circle at 36% 22%,#fffffff5 0 8%,#ffffff80 9% 18%,#0000 19%),radial-gradient(circle at 50% 32%,#a7f3d0 0 16%,#22c55e 38%,#059669 74%,#065f46 100%);box-shadow:inset 0 16px 24px #ffffff61,inset 0 -24px 34px #064e3b80,0 18px 38px #0596694d}.buzzer-button.is-open{box-shadow:inset 0 8px 22px #ffffffeb,inset 0 -20px 30px #64748b29,0 0 0 10px #22c55e24,0 30px 58px #0596693d}.buzzer-button.is-open:not(:disabled):hover{box-shadow:inset 0 8px 22px #ffffffeb,inset 0 -20px 30px #64748b29,0 0 0 12px #22c55e2e,0 36px 66px #0596694d}.buzzer-button:active:not(:disabled){box-shadow:inset 0 8px 22px #ffffffc7, inset 0 -14px 24px #64748b2e, 0 0 0 8px color-mix(in srgb, var(--team-color,var(--cyan)) 12%, transparent), 0 18px 36px #0f172a38;transform:translateY(4px)scale(.975)}.buzzer-button:active:not(:disabled):before{inset:12%;box-shadow:inset 0 10px 18px #ffffff38,inset 0 -16px 26px #37061080,0 10px 22px #be123c33}.buzzer-button:disabled{color:#64748bb8;box-shadow:inset 0 8px 20px #ffffffe0,inset 0 -16px 26px #64748b1f,0 0 0 8px #94a3b814,0 20px 42px #0f172a29}.buzzer-button:disabled:before{background:radial-gradient(circle at 36% 22%,#ffffffeb 0 8%,#ffffff80 9% 18%,#0000 19%),radial-gradient(circle at 50% 32%,#f3f6fa 0 18%,#dbe3ed 42%,#aeb9c6 78%,#8794a3 100%);box-shadow:inset 0 15px 22px #ffffff6b,inset 0 -20px 30px #47556940,0 14px 30px #64748b24}.buzzer-button:disabled .buzzer-label{text-shadow:none}.buzzer-button:disabled .buzzer-hint{color:#475569d1;background:#ffffff57}.buzzer-button.has-buzzed,.buzzer-button.has-buzzed:disabled{color:#fff;box-shadow:inset 0 8px 22px #ffffffd6, inset 0 -14px 24px #64748b29, 0 0 0 14px color-mix(in srgb, var(--team-color,var(--cyan)) 22%, transparent), 0 26px 58px color-mix(in srgb, var(--team-color,var(--cyan)) 28%, #0f172a29);transform:translateY(5px)scale(.97)}.buzzer-button.has-buzzed:before,.buzzer-button.has-buzzed:disabled:before{background:radial-gradient(circle at 36% 22%, #fffffffa 0 8%, #ffffff85 9% 18%, transparent 19%), radial-gradient(circle at 50% 32%, color-mix(in srgb, var(--team-color,var(--cyan)) 42%, #fff) 0 16%, var(--team-color,var(--cyan)) 42%, color-mix(in srgb, var(--team-color,var(--cyan)) 72%, #06111f) 100%);box-shadow:inset 0 10px 18px #ffffff47, inset 0 -16px 26px #06111f66, 0 14px 36px color-mix(in srgb, var(--team-color,var(--cyan)) 34%, transparent);inset:12%}.buzzer-button.has-buzzed:after{animation:1.1s ease-in-out infinite buzzer-buzzed-rim}.buzzer-button.has-buzzed .buzzer-label{color:#fff;text-shadow:0 3px #06111f2e,0 12px 26px #06111f57}.buzzer-button.has-buzzed .buzzer-hint{color:#fff;background:#ffffff38}@keyframes buzzer-buzzed-rim{0%,to{box-shadow:inset 0 1px 0 #fffffffa, inset 0 -10px 22px #0f172a1f, 0 0 0 0 color-mix(in srgb, var(--team-color,var(--cyan)) 22%, transparent)}50%{box-shadow:inset 0 1px 0 #fffffffa, inset 0 -10px 22px #0f172a1f, 0 0 0 11px color-mix(in srgb, var(--team-color,var(--cyan)) 12%, transparent)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (width<=1120px){.workspace{width:calc(100% - 280px);padding-right:16px}.host-grid,.editor-grid,.admin-grid{grid-template-columns:1fr;grid-template-areas:none}.host-preview,.command-center,.team-rail,.leaderboard{grid-area:auto}.host-header{grid-template-columns:1fr}.slide-list,.inspector{max-height:none;position:static}}@media (width<=900px){.topbar{border-radius:0;width:auto;margin:0;position:static}.mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace,.system-alert,.loading-screen{width:100%;max-width:none;margin-left:0;padding:12px}.admin-grid,.editor-grid,.host-grid,.stage-screen{grid-template-columns:1fr;grid-template-areas:none}.theme-panel,.event-meta-panel,.event-manager-panel,.score-rule-panel,.team-admin-panel,.validation-list{grid-column:auto}.stage-screen{min-height:100vh}.stage-side{max-height:44vh}.team-rail--stage{max-height:none}.leaderboard--stage{grid-template-columns:1fr;inset:18px;overflow:auto}}@media (width<=720px){.brand-lockup{grid-template-columns:44px minmax(0,1fr)}.brand-mark{width:44px;height:44px}.mode-tabs{grid-template-columns:1fr}.admin-hero,.host-header,.login-row,.stage-footer{flex-direction:column}.admin-hero{min-height:auto}.admin-hero h1,.host-header h1{font-size:24px}.status-cluster,.metric-list{grid-template-columns:repeat(2,minmax(0,1fr))}.control-grid,.media-control-actions,.theme-swatches,.event-meta-form,.event-create-row,.event-row,.score-rule-form,.team-admin-header,.team-editor-list,.join-panel{grid-template-columns:1fr;grid-template-areas:"copy""actions""qr"}.qr-link{width:100%;height:88px}.join-actions{justify-content:stretch}.join-actions button{width:100%}.team-editor-row{grid-template-columns:28px minmax(0,1fr) 46px}.team-editor-row strong,.team-editor-row button{grid-column:2/-1}.team-card{grid-template-columns:14px minmax(0,1fr) auto}.team-card svg,.team-card em{display:none}.canvas-leaderboard-label span{font-size:34px}.canvas-leaderboard-label strong{font-size:15px}.buzzer-button{min-height:210px}}
