:root{box-sizing:border-box;--bg-gradient:linear-gradient(135deg, #a1c4fd 0%, #c2e9fb 100%);--text-primary:#111;--text-secondary:#000;--text-score:#004085;--header-bg:#ffffffd9;--header-border:#ffffffe6;--panel-bg:#ffffffd9;--panel-border:#fff;--btn-bg:white;--btn-border:#cce5ff;--btn-text:#004085;--btn-hover-bg:#f0f8ff;--undo-bg:#f8d7da;--undo-border:#f5c6cb;--undo-text:#721c24;--login-btn-bg:#0056b3;--login-btn-text:white;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}.dark{--bg-gradient:linear-gradient(135deg, #0f2027, #203a43, #2c5364);--text-primary:#fff;--text-secondary:#fff;--text-score:#ffc107;--header-bg:#0009;--header-border:#fff6;--panel-bg:#00000080;--panel-border:#ffffff80;--btn-bg:#ffffff1a;--btn-border:#fff9;--btn-text:white;--btn-hover-bg:#fff3;--undo-bg:#0003;--undo-border:#ffc107;--undo-text:#ffc107;--login-btn-bg:#ffc107;--login-btn-text:#000}*,:before,:after{box-sizing:inherit}body,html{overscroll-behavior-y:none;width:100%;height:100%;margin:0;padding:0}#root{width:100%;min-height:100vh}.app-container{background:var(--bg-gradient);min-height:100vh;color:var(--text-primary);padding:clamp(8px,2vw,20px);padding-bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;transition:background .3s,color .3s;display:flex}.app-header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(16px);border:2px solid var(--header-border);border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:clamp(10px,2vw,24px);padding:clamp(8px,2vw,16px) clamp(12px,3vw,24px);transition:all .3s;display:flex;position:sticky;top:0;box-shadow:0 4px 6px #0000000d}.header-brand{letter-spacing:1px;font-size:clamp(1.25rem,4vw,1.5rem);font-weight:900}.header-actions{align-items:center;display:flex}.header-selectors{align-items:center;gap:clamp(8px,1.5vw,14px);display:flex}.theme-select{border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--text-primary);cursor:pointer;border-radius:12px;outline:none;padding:8px 12px;font-weight:700}.role-hint{color:var(--text-primary);opacity:.85;background:var(--btn-bg);border:1px dashed var(--btn-border);text-align:center;border-radius:12px;justify-content:center;align-items:center;padding:8px 12px;font-size:clamp(.72rem,1.8vw,.82rem);font-weight:600;line-height:1.25;display:inline-flex}.login-btn{background:var(--login-btn-bg);color:var(--login-btn-text);cursor:pointer;white-space:nowrap;border:none;border-radius:20px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-weight:700;transition:opacity .2s;display:inline-flex}.login-btn:hover{opacity:.9}.login-btn img{background:#fff;border-radius:50%;width:18px;height:18px;padding:2px}.login-btn-wrapper iframe{display:block}@media (orientation:portrait) and (width<=768px){.app-header{border-radius:16px;grid-template-columns:1fr auto;grid-template-areas:"brand actions""selectors selectors";gap:10px 8px;margin-bottom:12px;padding:10px 14px;display:grid}.header-brand{grid-area:brand;align-self:center}.header-actions{grid-area:actions;place-self:center end}.header-selectors{grid-area:selectors;gap:8px;width:100%;display:flex}.header-selectors .theme-select{text-align:center;flex:1;min-width:0}.header-selectors .role-hint{flex:1.4;min-width:0}}.main-content{flex-direction:column;flex:1;display:flex}.boards{flex:1;gap:clamp(12px,3vw,24px);min-width:0;display:flex}@media (orientation:portrait) and (width<=768px){.boards.scoring-mode{flex-direction:column;gap:16px;margin-bottom:75px}}.boards.broadcast-mode{flex-direction:row;align-items:stretch}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);border:2px solid var(--panel-border);border-radius:30px;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-width:0;padding:clamp(12px,4vw,40px);transition:all .3s;display:flex;box-shadow:0 10px 30px #0000001a}.team-name{color:var(--text-secondary);text-align:center;background:0 0;border:none;border-bottom:2px dashed #0000;outline:none;width:100%;margin-bottom:clamp(4px,1.5vw,10px);font-size:clamp(1.4rem,4.5vw,2.5rem);font-weight:900}.team-name:focus{border-bottom-color:var(--text-score)}.score-total{color:var(--text-score);margin-bottom:clamp(10px,3.5vw,36px);font-size:clamp(3rem,11vw,7rem);font-weight:900;line-height:1}.broadcast-panel{padding:clamp(10px,2.5vw,30px)}.broadcast-team-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(1.1rem,3.8vw,2rem);overflow:hidden}.broadcast-summary{flex-direction:column;gap:6px;width:100%;margin-top:clamp(4px,1.5vw,12px);display:flex}.broadcast-stat{background:#ffffff73;border-radius:10px;justify-content:space-between;align-items:center;padding:clamp(4px,1.2vw,8px) clamp(6px,1.5vw,12px);font-size:clamp(.7rem,1.6vw,.85rem);font-weight:600;display:flex}.dark .broadcast-stat{background:#ffffff14}.stat-count{margin-right:4px;font-weight:900}.stat-label{text-align:left;flex:1;margin-left:4px}.stat-pts{opacity:.75;font-size:.85em}.actions-grid{grid-template-columns:1fr 1fr;gap:clamp(8px,2vw,20px);width:100%;display:grid}.glass-btn{background:var(--btn-bg);border:2px solid var(--btn-border);color:var(--btn-text);cursor:pointer;word-wrap:break-word;white-space:normal;text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:48px;padding:clamp(10px,2vw,20px);font-weight:700;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 6px #0000000d}.action-btn-complex{min-height:56px;padding-top:clamp(20px,3.5vw,28px)}.btn-badge{opacity:.7;font-size:clamp(.6rem,1.5vw,.8rem);font-weight:700;position:absolute;top:8px;right:clamp(6px,1.5vw,12px)}.glass-btn .pts{font-size:clamp(1rem,3vw,1.5rem)}.glass-btn .label{font-size:clamp(.75rem,2vw,1rem)}.glass-btn:hover{background:var(--btn-hover-bg)}.glass-btn:active{box-shadow:none;transform:translateY(2px)}.undo-dock{justify-content:center;width:100%;margin-top:clamp(12px,3vw,24px);display:flex}.undo-btn{background:var(--undo-bg);color:var(--undo-text);border-color:var(--undo-border);-webkit-backdrop-filter:blur(12px);min-width:clamp(150px,40vw,250px);padding:clamp(10px,2vw,16px) clamp(20px,4vw,40px);box-shadow:0 8px 24px #0000002e}.undo-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (orientation:portrait) and (width<=768px){.undo-dock{z-index:40;padding:10px 16px max(14px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--header-border);background:#ffffffbf;margin-top:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000014}.dark .undo-dock{background:#000000a6}}
