/* Desktop keeps the original header, tabs and content grid rows. */
html body.viewer-body .viewer-chrome{display:contents}
html body.viewer-body .viewer-shell{grid-template-rows:auto 44px minmax(0,1fr)}
html body.viewer-body .viewer-header{grid-row:1}
html body.viewer-body .viewer-tabs{grid-row:2;position:relative;z-index:2;min-height:44px;max-height:none;height:44px;opacity:1;overflow:visible;pointer-events:auto;transition:none;border-bottom:1px solid #3B3B3B;gap:8px;padding:0 12px}
html body.viewer-body .viewer-tabs button{height:44px;min-height:44px;padding:8px 16px;font-size:15px;border-radius:0;line-height:24px}
html body.viewer-body .viewer-tabs button[aria-selected=true]{background:#00E5BE!important;color:#171717!important;border-bottom-color:#00E5BE!important}
html body.viewer-body .viewer-panels{grid-row:3;min-height:0;isolation:isolate}
html body.viewer-body .viewer-tabs button:focus-visible{outline:2px solid #EFEFEF!important;outline-offset:-4px}

html body.viewer-body .court-setting-row{grid-template-columns:minmax(0,1fr) 44px 88px;cursor:grab;touch-action:none}
html body.viewer-body .court-setting-row .court-setting-name{display:grid;gap:2px;min-width:0}
html body.viewer-body .court-setting-row:focus-visible{outline:2px solid #00E5BE;outline-offset:2px}
/* Spectator controls and tables use neutral gray; the embedded scoreboard is separate. */
body.viewer-body,body.viewer-body .viewer-shell,body.viewer-body :is(.viewer-list,.viewer-results,.viewer-live,.design-rank-section){background-color:#101010;color:#EDEDED}
body.viewer-body :is(.viewer-header,.viewer-tabs,.viewer-list .section-bar,.viewer-results>.section-bar,.court-meta,.design-bracket-match){background-color:#202020;color:#EDEDED}
body.viewer-body :is(.design-data-table th,.design-results-empty,.design-rank-note,.design-results-filter-empty){color:#BDBDBD}
body.viewer-body :is(.design-results-empty,.design-rank-note,.design-results-filter-empty){font-size:14px;line-height:1.5}
/* Mobile chrome occupies one measured normal-flow row, never the result picker. */
html body.viewer-body.viewer-mobile-chrome-active .viewer-shell{--viewer-mobile-chrome-visible-height:var(--viewer-mobile-chrome-height,auto);grid-template-rows:var(--viewer-mobile-chrome-visible-height) minmax(0,1fr);min-height:0}
html body.viewer-body.viewer-mobile-chrome-active .viewer-chrome{display:block;grid-row:1;height:var(--viewer-mobile-chrome-visible-height);min-height:0;min-width:0;max-width:100%;overflow:hidden}
html body.viewer-body.viewer-mobile-chrome-active .viewer-panels{grid-row:2;min-height:0}
html body.viewer-body.viewer-mobile-chrome-active :is(.viewer-header,.viewer-tabs){position:relative;top:auto;left:auto;right:auto;width:100%;max-width:100%;margin:0;box-sizing:border-box;z-index:auto;transform:none;visibility:visible;pointer-events:auto;transition:none}
html body.viewer-body.viewer-mobile-chrome-active .viewer-header{padding-top:calc(6px + env(safe-area-inset-top))}
html body.viewer-body.viewer-mobile-chrome-active.viewer-mobile-chrome-hidden .viewer-shell{--viewer-mobile-chrome-visible-height:0px}
html body.viewer-body.viewer-mobile-chrome-active.viewer-mobile-chrome-hidden .viewer-chrome{visibility:hidden;pointer-events:none}
html body.viewer-body .viewer-header #viewer-entry.viewer-code-entry{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:0;flex:none;white-space:nowrap}
html body.viewer-body .viewer-header #viewer-entry.viewer-code-entry .viewer-icon{width:24px;height:20px;flex:none}
html body.viewer-body .viewer-header #viewer-entry.viewer-code-entry .viewer-entry-label{max-width:none;overflow:visible;flex:none;color:inherit;white-space:nowrap}
