.turnier-link-panel{border:1px solid #777e88;background:linear-gradient(100deg,#20383f,#21252c);border-radius:9px;padding:8px 12px;margin:0 0 8px;display:flex;align-items:center;gap:12px;flex:none;color:#fff}.turnier-link-panel[hidden]{display:none}.turnier-link-panel>div:first-child{flex:1;min-width:0}.turnier-link-panel b{display:block;font-size:12px;color:#aae3f4}.turnier-link-panel span[role=status]{display:block;font-size:10px;margin-top:4px;line-height:1.4}.turnier-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.turnier-actions button{border:1px solid #626871;background:#2d2f33;color:#e8f8fd;border-radius:6px;padding:7px 9px;font-size:10px;max-width:280px}.turnier-actions button[hidden]{display:none}.turnier-connected .app{display:flex;flex-direction:column}.turnier-connected #gameScreen{height:auto;flex:1;min-height:0}.turnier-connected .setup-screen{overflow:auto}.turnier-connected #setupScreen{min-height:0}@media(max-width:600px){.turnier-link-panel{flex-wrap:wrap;gap:6px;padding:7px 9px}.turnier-actions{justify-content:flex-start;width:100%}.turnier-actions button{padding:6px;font-size:9px}.turnier-link-panel span[role=status]{font-size:9px}}
/* Three actual children: compact tournament bar, compact title, remaining game area. */
body.turnier-connected:has(#gameScreen:not(.hidden)) .app{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:5px;align-content:stretch;height:100dvh;max-height:100dvh;overflow:hidden}
body.turnier-connected:has(#gameScreen:not(.hidden)) .turnier-link-panel{grid-row:1;margin:0;min-height:0;max-height:none;padding:6px 10px}
body.turnier-connected:has(#gameScreen:not(.hidden)) .app>header{grid-row:2;align-self:start;height:auto;min-height:0;max-height:38px;margin:0;padding:0}
body.turnier-connected:has(#gameScreen:not(.hidden)) .app>header h1{font-size:clamp(1rem,2.5dvh,1.4rem);line-height:1.1}
body.turnier-connected:has(#gameScreen:not(.hidden)) #gameScreen{grid-row:3;display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}
body.turnier-connected:has(#gameScreen:not(.hidden)) #gameScreen .layout>div{grid-template-rows:minmax(0,.43fr) minmax(0,.57fr)}
body.turnier-connected:has(#gameScreen:not(.hidden)) #gameScreen .score{font-size:clamp(2.6rem,12dvh,6.8rem)}
body.turnier-connected:has(#gameScreen:not(.hidden)) #gameScreen .player{justify-content:center}
@media(max-height:560px){body.turnier-connected:has(#gameScreen:not(.hidden)) .app>header{display:none}body.turnier-connected:has(#gameScreen:not(.hidden)) .app{grid-template-rows:auto minmax(0,1fr)}body.turnier-connected:has(#gameScreen:not(.hidden)) #gameScreen{grid-row:2}body.turnier-connected:has(#gameScreen:not(.hidden)) #gameScreen .score{font-size:clamp(2rem,10dvh,4.5rem)}}

.turnier-actions a{font:600 10px system-ui,sans-serif;color:#d5f2fb;text-decoration:none;padding:7px 9px;border:1px solid #626871;border-radius:6px}.turnier-actions a[hidden]{display:none}.turnier-link-panel button:disabled{opacity:.45}
