:root{--color-text: #e8eef8;--color-text-soft: rgba(232, 238, 248, .72);--color-panel: rgba(255, 255, 255, .1);--color-panel-strong: rgba(255, 255, 255, .16);color:var(--color-text);background:#172033;font-family:Noto Sans SC,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box;user-select:none;-webkit-user-select:none}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}p,h1,h2,h3{margin:0}.timer-shell{--stage-unit: min(.15625vw, .2777778vh);--stage-top: calc(50vh - (var(--stage-unit) * 180));position:relative;display:grid;overflow:hidden;width:100%;height:100%;min-width:0;min-height:0;place-items:stretch;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.32),transparent 35%),linear-gradient(135deg,#243454,#172033 52%,#312a28)}.runtime-state-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;align-content:center;justify-items:center;gap:12px;background:#172033;padding:24px;color:#e8eef8;text-align:center}.runtime-state-screen p{color:#60a5fa;font-size:12px;font-weight:900;text-transform:uppercase}.runtime-state-screen h1{font-size:clamp(24px,5vw,38px)}.runtime-state-screen span{color:#e8eef8b8;font-size:14px;line-height:1.6}.runtime-state-screen button{min-width:120px;min-height:42px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-weight:900;cursor:pointer}.timer-bg-clean{background:linear-gradient(180deg,#ffffffeb,#ebf0f7e0),#e8edf4;color:#1e293b}.timer-bg-stage{background:radial-gradient(circle at 25% 15%,rgba(239,68,68,.52),transparent 28%),radial-gradient(circle at 78% 12%,rgba(59,130,246,.52),transparent 30%),linear-gradient(180deg,#202736,#151922)}.timer-bg-ink{background:linear-gradient(140deg,rgba(255,255,255,.07),transparent 34%),#20242b}.timer-bg-image{background:#111827}.timer-stage{position:relative;width:100vw;height:100vh}.timer-background-image{position:absolute;z-index:0;pointer-events:none}.timer-panel{position:absolute;z-index:3;overflow:hidden;pointer-events:none}.timer-strip-panel{z-index:3}.timer-text-element{position:absolute;z-index:8;display:block;overflow:hidden;margin:0;padding:calc(var(--stage-unit) * 2) calc(var(--stage-unit) * 3);width:max-content;max-width:100%;max-height:100%;font-weight:800;line-height:1.2;pointer-events:none;white-space:nowrap}.timer-text-element.strip-text-label{border:calc(var(--stage-unit) * 2) solid currentColor;border-radius:calc(var(--stage-unit) * 8);padding:calc(var(--stage-unit) * 2) calc(var(--stage-unit) * 8);font-weight:900;line-height:1}.timer-text-element.timer-digits{font-variant-numeric:tabular-nums;font-weight:200;line-height:1}.timer-text-element.phase-name-text{white-space:normal;overflow-wrap:anywhere}.timer-text-element.phase-name-text.multiline,.timer-text-element.phase-state-text{white-space:pre-line}.timer-text-element.phase-name-text{font-weight:900;line-height:1.4}.team-badge{display:flex;overflow:hidden;width:calc(var(--stage-unit) * var(--badge-size));height:calc(var(--stage-unit) * var(--badge-size));align-items:center;justify-content:center;border:calc(var(--stage-unit) * 3) solid currentColor;border-color:var(--affirmative-color);border-radius:var(--badge-radius);background:#ffffff21;color:#fff;font-size:calc(var(--stage-unit) * 20);font-weight:900}.team-badge img{width:100%;height:100%;object-fit:contain}.timer-badge{position:absolute;z-index:5}.timer-bg-clean .team-badge{background:#fff;color:#1e293b}.team-side.negative .team-badge{border-color:var(--negative-color)}.team-side span{color:#ffffffbd;font-size:calc(var(--stage-unit) * 13);font-weight:800;line-height:1.2}.timer-bg-clean .team-side span{color:#94a3b8}.team-side strong{max-width:calc(var(--stage-unit) * 170);font-size:calc(var(--stage-unit) * 19);line-height:1.25}.timer-face{position:absolute;top:50%;left:50%;display:grid;width:min(46%,calc(var(--stage-unit) * 340));min-height:calc(var(--stage-unit) * 120);place-items:center;transform:translate(-50%,-52%)}.timer-face.layout-split{grid-template-columns:1fr 1fr;width:min(48%,calc(var(--stage-unit) * 360));gap:calc(var(--stage-unit) * 12)}.timer-face.layout-stacked{transform:translate(-50%,-44%)}.single-time{font-size:calc(var(--stage-unit) * 86 * var(--timer-scale));font-variant-numeric:tabular-nums;font-weight:200;line-height:1}.timer-face.layout-split .single-time{grid-column:1 / -1}.no-timer-face,.dual-timer-face{width:100%}.no-timer-face{display:grid;place-items:center;gap:calc(var(--stage-unit) * 8)}.no-timer-face strong{font-size:calc(var(--stage-unit) * 58 * var(--timer-scale));line-height:1}.no-timer-face span{color:#ffffffb3;font-size:calc(var(--stage-unit) * 12);font-weight:800}.dual-timer-face{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--stage-unit) * 12)}.dual-time-card{opacity:.72;transition:background .2s ease,box-shadow .2s ease,opacity .2s ease}.dual-time-card small{margin-bottom:calc(var(--stage-unit) * 8);color:#ffffffb3;font-size:calc(var(--stage-unit) * 12);font-weight:800}.dual-time-card strong{font-size:calc(var(--stage-unit) * 46 * var(--timer-scale));font-variant-numeric:tabular-nums;font-weight:300;line-height:1}.dual-time-card.active{background:#ffffff29;opacity:1}.dual-time-card.affirmative.active{box-shadow:0 0 calc(var(--stage-unit) * 16) #d645456b}.dual-time-card.negative.active{box-shadow:0 0 calc(var(--stage-unit) * 16) #2764c56b}.timer-bg-clean .dual-time-card{border-color:#0f172a1f;background:#ffffff94}.timer-bg-clean .dual-time-card.active{background:#ffffffe0}.timer-bg-clean .dual-time-card small,.timer-bg-clean .no-timer-face span{color:#94a3b8}.phase-bar{position:absolute;z-index:4;overflow:hidden}.phase-bar>span,.phase-bar small,.phase-bar-state span{display:block;color:#ffffffb3;font-size:calc(var(--stage-unit) * 13);font-weight:800;line-height:1.2}.timer-bg-clean .phase-bar>span,.timer-bg-clean .phase-bar small,.timer-bg-clean .phase-bar-state span{color:#94a3b8}.phase-bar strong{overflow:hidden;justify-self:center;max-width:100%;font-size:calc(var(--stage-unit) * var(--phase-font-size));line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.phase-name-formatted{overflow:hidden;line-height:1.4;max-height:calc(var(--stage-unit) * 56);text-overflow:ellipsis;white-space:pre-line}.phase-bar .phase-name-formatted{line-height:1.4;max-height:calc(var(--stage-unit) * 56);white-space:pre-line}.phase-bar-state{display:grid;justify-items:end;gap:calc(var(--stage-unit) * 3);text-align:right}.phase-bar-state span,.phase-bar-state small{line-height:1.15}.timer-status{position:absolute;top:calc(var(--stage-unit) * 88);left:50%;z-index:11;display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--stage-unit) * 8);width:min(44%,calc(var(--stage-unit) * 320));transform:translate(-50%)}.timer-status span{border-radius:999px;background:#ffffff24;padding:calc(var(--stage-unit) * 6) calc(var(--stage-unit) * 10);font-size:calc(var(--stage-unit) * 12);font-weight:800}.timer-bg-clean .timer-status span{background:#ffffffd1}.watermark{position:absolute;left:50%;bottom:calc(var(--stage-unit) * 2);z-index:12;border:calc(var(--stage-unit) * 1) solid rgba(148,163,184,.28);border-radius:calc(var(--stage-unit) * 8);background:#fffffff0;font-size:calc(var(--stage-unit) * 16);font-weight:900;line-height:1;padding:calc(var(--stage-unit) * 6) calc(var(--stage-unit) * 10);white-space:nowrap;box-shadow:0 calc(var(--stage-unit) * 4) calc(var(--stage-unit) * 12) #0f172a1f;transform:translate(-50%)}.watermark span{background:linear-gradient(90deg,#ff4d6d,#ff9f1c,#a3e635,#22d3ee 60%,#3b82f6 78%,#c084fc);background-clip:text;color:#3b82f6;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.timer-bg-clean .watermark{color:#3b82f6}.identity-fab{position:fixed;top:22px;left:22px;z-index:20;min-width:104px;min-height:40px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#0f172a94;color:#fff;font-size:13px;font-weight:900;box-shadow:0 12px 28px #0f172a3d;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.identity-popover-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;background:transparent}.identity-popover{position:fixed;top:72px;left:22px;z-index:45;display:grid;width:min(380px,calc(100vw - 44px));gap:14px;border:1px solid rgba(15,23,42,.1);border-radius:14px;background:#fffffff5;padding:16px;color:#1e293b;box-shadow:0 18px 42px #0f172a2e;max-height:calc(100vh - 94px);overflow-y:auto;overscroll-behavior:contain}.control-fab{position:fixed;right:26px;bottom:26px;z-index:20;min-width:118px;min-height:44px;border:0;border-radius:999px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:14px;font-weight:900;box-shadow:0 16px 34px #2563eb52;cursor:pointer}.score-action-fabs{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.scoring-fab,.score-summary-fab{min-width:92px;min-height:44px;border:0;border-radius:999px;background:#16a34a;color:#fff;font-size:14px;font-weight:900;cursor:pointer}.scoring-fab{background:#16a34a;box-shadow:0 16px 34px #16a34a47}.score-summary-fab{background:#7c3aed;box-shadow:0 16px 34px #7c3aed47}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f172a5c}.control-drawer{position:fixed;top:0;right:0;z-index:40;display:grid;width:360px;max-width:100vw;height:100vh;align-content:start;gap:18px;border-left:1px solid rgba(15,23,42,.1);background:#fffffff5;padding:22px;color:#1e293b;box-shadow:-18px 0 42px #0f172a29;transform:translate(100%);transition:transform .2s ease}.drawer-open .control-drawer{transform:translate(0)}.control-drawer header,.identity-popover header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.control-drawer header p,.identity-popover header p{margin:0 0 6px;color:#3b82f6;font-size:12px;font-weight:900;text-transform:uppercase}.identity-popover .room-invite-copy{min-height:auto;border:0;background:transparent;padding:0;color:#2563eb;font-size:16px;font-weight:950;text-align:left}.room-invite-hint{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:700}.copy-feedback-bubble{position:fixed;z-index:100;max-width:min(260px,calc(100vw - 24px));transform:translate(-50%,calc(-100% - 8px));border:1px solid rgba(34,197,94,.25);border-radius:7px;background:#fffffffa;padding:7px 10px;color:#16a34a;font-size:12px;font-weight:850;line-height:1.35;opacity:0;pointer-events:none;box-shadow:0 8px 20px #0f172a24;transition:opacity .28s ease,transform .28s ease}.copy-feedback-bubble.success:before{content:"✓";display:inline-grid;width:16px;height:16px;margin-right:5px;place-items:center;border-radius:50%;background:#22c55e;color:#fff;font-size:11px;line-height:1;vertical-align:-1px}.copy-feedback-bubble.visible{transform:translate(-50%,calc(-100% - 12px));opacity:1}.judge-name-input{min-width:0;width:100%;border:1px solid transparent;border-radius:6px;background:transparent;padding:4px 6px;color:#1e293b;font:inherit;font-weight:900}.judge-name-input:hover,.judge-name-input:focus{border-color:#2563eb4d;background:#fff;outline:none}.control-drawer header h2,.identity-popover header h2{margin:0;font-size:22px;line-height:1.2}.control-drawer header button,.identity-popover header button{min-height:34px;border:1px solid rgba(15,23,42,.12);border-radius:8px;background:#fff;color:#475569;font-size:13px;font-weight:800;cursor:pointer}.room-identity-panel{display:grid;gap:10px;border:1px solid rgba(59,130,246,.16);border-radius:10px;background:#3b82f60f;padding:12px}.room-identity-panel>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-expiry-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-identity-panel span,.room-identity-panel p,.room-identity-panel small{color:#64748b;font-size:12px;font-weight:800;line-height:1.35}.room-identity-panel strong{color:#2563eb;font-size:14px}.room-expiry-row strong{color:#dc2626;font-variant-numeric:tabular-nums}.host-auth-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px}.host-auth-row input{min-width:0;min-height:38px;border:1px solid rgba(15,23,42,.12);border-radius:8px;background:#fff;padding:0 10px;color:#1e293b;font:inherit;font-size:13px;font-weight:800;outline:none}.host-auth-row input:focus{border-color:#3b82f673;box-shadow:0 0 0 3px #3b82f61f}.host-auth-row button{min-height:38px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-size:13px;font-weight:900;cursor:pointer}.host-auth-row button:disabled{background:#cbd5e1;cursor:not-allowed}.judge-auth-section{display:grid;gap:9px;border-top:1px solid rgba(15,23,42,.1);padding-top:12px}.judge-auth-section>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.password-manager-section{display:grid;gap:9px;border-top:1px solid rgba(15,23,42,.1);padding-top:12px}.password-manager-section h3{margin:0;font-size:14px}.password-entry-row{display:grid;grid-template-columns:minmax(0,1fr) 76px 52px;gap:6px}.password-entry-row input,.password-entry-row button{min-width:0;min-height:36px;border-radius:8px;font:inherit;font-size:12px;font-weight:800}.password-entry-row input{border:1px solid rgba(15,23,42,.14);padding:0 9px;letter-spacing:0}.password-entry-row button{border:0;background:#2563eb;color:#fff;cursor:pointer}.password-entry-row button:disabled{background:#cbd5e1;cursor:not-allowed}.password-list{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.password-list button{border:1px solid rgba(59,130,246,.18);border-radius:6px;background:#fff;padding:5px 7px;color:#1e293b;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.password-list-status{margin:0}.judge-slot-list,.judge-progress-list{display:grid;gap:7px}.judge-slot-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(59,130,246,.14);border-radius:8px;background:#fff;padding:8px}.judge-slot-row>div{display:grid;min-width:0;gap:3px}.judge-slot-row strong{overflow:hidden;color:#1e293b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.judge-slot-row button{flex:0 0 auto;border:1px solid rgba(59,130,246,.18);border-radius:6px;background:#eff6ff;padding:6px 8px;color:#1d4ed8;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.host-score-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.host-score-heading button{min-height:30px;border:0;border-radius:7px;background:#16a34a;padding:0 10px;color:#fff;font-size:12px;font-weight:900;cursor:pointer}.judge-progress-list p{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:7px;background:#fff;padding:7px 8px}.judge-progress-list strong[data-status=NOT_STARTED],.judge-summary-list span[data-status=NOT_STARTED]{color:#64748b}.judge-progress-list strong[data-status=DRAFT],.judge-summary-list span[data-status=DRAFT]{color:#d97706}.judge-progress-list strong[data-status=SUBMITTED],.judge-summary-list span[data-status=SUBMITTED]{color:#16a34a}.scoring-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;background:#0f172a94;padding:16px}.scoring-modal{display:grid;width:min(720px,100%);max-height:calc(100vh - 32px);gap:16px;overflow-y:auto;overscroll-behavior:contain;border-radius:8px;background:#fff;padding:20px;color:#1e293b;box-shadow:0 24px 64px #0f172a52}.scoring-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.scoring-modal header p{margin-bottom:4px;color:#16a34a;font-size:12px;font-weight:900}.scoring-modal header h2{font-size:22px;line-height:1.25}.scoring-modal header button{min-height:34px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:#475569;font-weight:800;cursor:pointer}.score-section{display:grid;gap:10px;border-top:1px solid #e2e8f0;padding-top:14px}.score-section h3{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.score-section h3 small{color:#94a3b8;font-size:11px}.score-dimension-heading,.score-dimension-row{display:grid;grid-template-columns:minmax(100px,1fr) 64px 92px 92px 44px;align-items:center;gap:8px}.score-dimension-heading{color:#94a3b8;font-size:11px;text-align:center}.score-dimension-heading span:first-child{text-align:left}.score-speaker-label{color:#64748b;font-size:12px;text-align:center!important}.score-dimension-row{align-items:start;color:#475569;font-size:13px;font-weight:800}.score-dimension-row>span,.score-dimension-row>small{padding-top:11px}.score-dimension-row input,.score-section select{min-width:0;min-height:38px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:0 10px;color:#1e293b;font:inherit}.score-dimension-row input:disabled{background:#f1f5f9;color:#64748b}.score-dimension-row small{color:#94a3b8}.score-input-field{display:grid;min-width:0;gap:4px}.score-input-field.invalid input{border-color:#dc2626;box-shadow:0 0 0 2px #dc26261a}.score-input-field.invalid small{color:#dc2626;font-size:11px;font-weight:800;line-height:1.25}.score-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.score-segmented.three{grid-template-columns:repeat(3,minmax(0,1fr))}.score-segmented label{display:flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border:1px solid #cbd5e1;border-radius:8px;color:#334155;font-size:13px;font-weight:900;cursor:pointer}.member-vote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.member-vote-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc;padding:7px 8px 7px 11px}.member-vote-row>span{color:#334155;font-size:13px;font-weight:850}.member-vote-row>div{display:grid;flex:0 0 auto;grid-template-columns:30px 28px 30px;align-items:center;gap:4px}.member-vote-row button{display:grid;width:30px;height:30px;min-height:0;place-items:center;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#2563eb;font-size:18px;font-weight:900;cursor:pointer}.member-vote-row strong{color:#172033;text-align:center}.member-vote-row button:disabled{cursor:not-allowed;opacity:.4}.member-vote-abstain{display:flex;align-items:center;justify-content:space-between;border:1px dashed #86efac;border-radius:8px;background:#f0fdf4;padding:9px 11px;color:#15803d;font-size:12px;font-weight:850}.member-vote-requirement{margin:0;color:#64748b;font-size:12px;font-weight:750}.score-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.score-summary div{display:grid;gap:5px;border:1px solid #dcfce7;border-radius:8px;background:#f0fdf4;padding:10px}.score-summary span{color:#64748b;font-size:11px;font-weight:800}.score-summary strong{overflow-wrap:anywhere;color:#166534;font-size:14px}.score-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);align-items:center;gap:8px}.score-actions p{color:#64748b;font-size:12px;font-weight:800}.score-actions button{min-height:42px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-weight:900;cursor:pointer}.score-actions button.primary{border-color:#16a34a;background:#16a34a;color:#fff}.score-actions button:disabled{border-color:#cbd5e1;background:#cbd5e1;cursor:not-allowed}.score-confirm-backdrop{z-index:70}.score-confirm-modal{display:grid;width:min(440px,100%);grid-template-columns:44px minmax(0,1fr);gap:14px;border:1px solid #fecaca;border-radius:10px;background:#fff;padding:20px;color:#1e293b;box-shadow:0 24px 64px #0f172a57}.score-confirm-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:#fef2f2;color:#dc2626;font-size:22px;font-weight:900}.score-confirm-modal p{margin-bottom:4px;color:#dc2626;font-size:12px;font-weight:900}.score-confirm-modal h2{margin:0 0 8px;font-size:20px;line-height:1.25}.score-confirm-modal span{color:#64748b;font-size:13px;line-height:1.6}.score-confirm-modal footer{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.score-confirm-modal footer button{min-height:42px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569;font-weight:900;cursor:pointer}.score-confirm-modal footer button.primary{border-color:#dc2626;background:#dc2626;color:#fff}.score-confirm-modal footer button:disabled{cursor:wait;opacity:.65}.score-validation-modal{display:grid;width:min(520px,100%);max-height:calc(100vh - 32px);gap:14px;overflow-y:auto;border:1px solid #fed7aa;border-radius:10px;background:#fff;padding:20px;color:#1e293b;box-shadow:0 24px 64px #0f172a57}.score-validation-modal header p{margin-bottom:4px;color:#d97706;font-size:12px;font-weight:900}.score-validation-modal header h2{margin:0;font-size:20px;line-height:1.3}.score-validation-modal ul{display:grid;max-height:min(44vh,360px);gap:7px;overflow-y:auto;border:1px solid #ffedd5;border-radius:8px;background:#fff7ed;padding:12px 12px 12px 32px}.score-validation-modal li{color:#9a3412;font-size:13px;line-height:1.45}.score-validation-modal>button{min-height:42px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-weight:900;cursor:pointer}.host-score-modal{width:min(760px,100%)}.host-summary-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.host-summary-overview div{display:grid;gap:5px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;padding:10px}.host-summary-overview span{color:#64748b;font-size:11px;font-weight:800}.host-summary-overview strong{color:#1d4ed8;font-size:15px}.judge-summary-list,.submitted-score-table,.member-ranking{display:grid;gap:7px}.judge-summary-list article,.submitted-score-table article,.member-ranking p{display:grid;align-items:center;gap:8px;border-radius:8px;background:#f8fafc;padding:9px 10px}.judge-summary-list article{grid-template-columns:minmax(0,1fr) auto}.judge-summary-list article>div{display:grid;gap:3px}.judge-summary-list small{color:#94a3b8;font-size:11px}.judge-summary-list span{font-size:12px;font-weight:900}.submitted-score-table article{grid-template-columns:minmax(0,1fr) 90px 90px 82px;color:#475569;font-size:13px}.submitted-score-table button{min-height:32px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#1d4ed8;font-weight:900;cursor:pointer}.member-ranking p{grid-template-columns:minmax(0,1fr) auto;color:#475569;font-size:13px}.judge-detail-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.judge-detail-meta div{display:grid;min-width:0;gap:5px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;padding:10px}.judge-detail-meta span{color:#64748b;font-size:11px;font-weight:800}.judge-detail-meta strong{overflow-wrap:anywhere;color:#1d4ed8;font-size:14px}.score-detail-heading,.score-detail-row{display:grid;grid-template-columns:minmax(100px,1fr) 64px 92px 92px 44px;align-items:center;gap:8px;text-align:center}.score-detail-heading{color:#94a3b8;font-size:11px}.score-detail-heading span,.score-detail-row>span{text-align:left}.score-detail-row{border-radius:7px;background:#f8fafc;padding:8px;color:#475569;font-size:13px}.score-detail-row strong{color:#1e293b}.score-detail-row small{color:#94a3b8}.detail-member-votes{display:flex;flex-wrap:wrap;gap:7px}.detail-member-votes span{border:1px solid #bbf7d0;border-radius:7px;background:#f0fdf4;padding:7px 10px;color:#15803d;font-size:12px;font-weight:900}.detail-member-votes small{color:#94a3b8;font-size:12px;font-weight:800}@media (max-width: 420px){.identity-popover{top:66px;left:12px;width:calc(100vw - 24px);max-height:calc(100vh - 78px)}.score-action-fabs{flex-direction:row}.password-entry-row{grid-template-columns:minmax(0,1fr) 72px}.password-entry-row button:last-child{grid-column:1 / -1}.scoring-modal-backdrop{padding:10px}.scoring-modal{max-height:calc(100vh - 20px);padding:16px}.score-confirm-modal{grid-template-columns:36px minmax(0,1fr);padding:16px}.score-validation-modal{max-height:calc(100vh - 20px);padding:16px}.score-confirm-icon{width:36px;height:36px;font-size:18px}.score-dimension-heading,.score-dimension-row{grid-template-columns:minmax(72px,1fr) 46px 56px 56px 34px;gap:4px}.member-vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-summary,.score-actions{grid-template-columns:1fr}.host-summary-overview,.judge-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.score-detail-heading,.score-detail-row{grid-template-columns:minmax(72px,1fr) 46px 54px 54px 34px;gap:4px}.submitted-score-table article{grid-template-columns:minmax(0,1fr) 64px 64px}.submitted-score-table button{grid-column:1 / -1}}.control-group{border-top:1px solid rgba(15,23,42,.08);padding-top:14px}.control-group h3{margin:0 0 10px;color:#64748b;font-size:13px}.control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.control-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.control-grid button{min-height:40px;border:1px solid rgba(15,23,42,.1);border-radius:8px;background:#f8fafc;color:#1e293b;font-size:13px;font-weight:900;cursor:pointer}.dual-control-panel{display:grid;gap:10px}.control-wide-button{min-height:40px;border:1px solid rgba(15,23,42,.1);border-radius:8px;background:#f8fafc;color:#1e293b;font-size:13px;font-weight:900;cursor:pointer}.control-wide-button.primary{border-color:#3b82f63d;background:#3b82f61a;color:#2563eb}.control-grid button:hover,.control-wide-button:hover{border-color:#3b82f64d;background:#3b82f614;color:#2563eb}.control-grid button:disabled,.control-wide-button:disabled,.control-grid button:disabled:hover,.control-wide-button:disabled:hover{border-color:#0f172a14;background:#e2e8f0;color:#94a3b8;cursor:not-allowed;opacity:.72}.phase-bar-content{position:absolute;z-index:8;display:grid;grid-template-columns:minmax(calc(var(--stage-unit) * 74),1fr) minmax(0,3fr) minmax(calc(var(--stage-unit) * 74),1fr);align-items:center;gap:calc(var(--stage-unit) * 8);overflow:hidden;padding:calc(var(--stage-unit) * 5) calc(var(--stage-unit) * 12);pointer-events:none}.phase-bar-content>span,.phase-bar-content>strong{min-width:0;max-width:100%;margin:0;line-height:1.2}.phase-bar-content>span:first-child{justify-self:start}.phase-bar-content .phase-bar-state{justify-self:end;white-space:pre-line}.phase-bar-content .phase-name-formatted{justify-self:stretch;max-height:100%;overflow:hidden;overflow-wrap:anywhere;text-align:center;white-space:normal}.phase-bar-content .phase-name-formatted.multiline{white-space:pre-line}.room-unavailable-screen{gap:14px;background:linear-gradient(160deg,#f8fafc,#eef6ff);color:#172033}.room-unavailable-screen span{color:#64748b}.room-unavailable-icon{display:grid;width:64px;height:64px;margin-bottom:4px;place-items:center;border:2px solid #cbd5e1;border-radius:50%;background:#fff;color:#64748b;font-size:34px;font-weight:500;line-height:1;box-shadow:0 12px 30px #0f172a1a}.room-unavailable-actions{display:flex;justify-content:center;gap:10px;margin-top:8px}.runtime-state-screen .room-unavailable-actions button{margin-top:0}.runtime-state-screen .room-unavailable-actions .primary{border-color:#2563eb;background:#2563eb;color:#fff}.protection-countdown{position:absolute;z-index:18;transform:translateY(-50%);color:#ef4444;font-size:calc(var(--stage-unit) * 16);font-weight:950;line-height:1.2;white-space:nowrap;text-shadow:0 calc(var(--stage-unit) * 1) calc(var(--stage-unit) * 3) rgba(255,255,255,.85)}.control-menu-popover{position:fixed;z-index:76;width:min(760px,calc(100vw - 16px));max-height:min(680px,calc(100vh - 16px));overflow:hidden;border:1px solid rgba(148,163,184,.34);border-radius:8px;background:#fffffffa;box-shadow:0 18px 50px #0f172a40}.control-menu-drag-handle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border-bottom:1px solid #e2e8f0;padding:9px 10px 9px 14px;cursor:move;touch-action:none}.control-menu-drag-handle div{display:grid;min-width:0;gap:2px}.control-menu-drag-handle small{color:#64748b;font-size:11px;font-weight:800}.control-menu-drag-handle strong{overflow:hidden;color:#172033;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.control-menu-drag-handle button{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border:0;border-radius:6px;background:#f1f5f9;color:#475569;font-size:20px;cursor:pointer}.control-menu-opacity{display:grid;gap:7px;border-bottom:1px solid rgba(226,232,240,.9);padding:10px 14px 8px}.control-menu-opacity>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#334155;font-size:12px}.control-menu-opacity strong{font-weight:900}.control-menu-opacity span{color:#64748b;font-weight:800}.control-menu-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;max-height:min(576px,calc(100vh - 126px));overflow-y:auto;padding:12px}.control-menu-group{display:grid;min-width:0;gap:8px;border:1px solid #e2e8f0;border-radius:7px;padding:12px}.control-menu-group h3{color:#475569;font-size:13px;font-weight:900}.control-button-stack,.control-button-grid{display:grid;gap:8px}.control-button-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.control-button-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.control-button-grid .n-button,.control-button-stack>.n-button{width:100%;min-width:0;font-weight:800}.time-editor{display:grid;gap:10px;border-top:1px solid #e2e8f0;margin-top:2px;padding-top:10px}.time-editor label{display:grid;gap:5px;color:#334155;font-size:12px;font-weight:900}.time-editor label>div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:6px}.time-editor em{color:#64748b;font-size:12px;font-style:normal;font-weight:800}.time-editor .n-input-number{width:100%}.blitz-confirm-popover{position:fixed;z-index:88;display:grid;width:220px;gap:14px;border:1px solid #fecaca;border-radius:8px;background:#fff;padding:15px;color:#172033;box-shadow:0 14px 34px #0f172a38}.blitz-confirm-popover>strong{font-size:15px}.blitz-confirm-popover>div{display:flex;justify-content:flex-end;gap:8px}.blitz-confirm-popover button{min-width:64px;min-height:32px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;font-weight:850;cursor:pointer}.blitz-confirm-popover button.confirm{border-color:#dc2626;background:#dc2626;color:#fff}@media (max-width: 720px){.control-menu-popover{width:min(420px,calc(100vw - 16px))}.control-menu-body{grid-template-columns:1fr}}@media (max-width: 640px){.control-menu-popover{width:min(340px,calc(100vw - 16px))}.protection-countdown{font-size:calc(var(--stage-unit) * 14)}}
