.brand.korttikimppa-brand{display:inline-flex;flex-shrink:0;line-height:1}.korttikimppa-logo{display:block;width:232px;height:48px;max-width:100%;object-fit:contain}.logo:has(.korttikimppa-logo){display:inline-flex;gap:0;line-height:1;flex-shrink:0}.site-footer .korttikimppa-logo{width:205px;height:43px}@media(max-width:760px){.korttikimppa-logo{width:195px;height:41px}.site-header .logo{max-width:calc(100% - 115px)}}@media(max-width:380px){.site-header .korttikimppa-logo{width:175px;height:38px}}

/* Light wordmark and peach ring retain contrast on a dark TV table. */
.display-mode #app>header,body:has(.tv-start) #app>header{background:#202942;border-bottom-color:#4a5264;color:#fffaf1}
.display-mode #app>header nav,.display-mode #app>header .text,body:has(.tv-start) #app>header nav,body:has(.tv-start) #app>header button{color:#fffaf1}
.display-mode .tv-service-logo{display:block;position:absolute;left:0;top:50%;transform:translateY(-50%);width:clamp(145px,12vw,220px);height:auto;max-height:48px;object-fit:contain;object-position:left center}
.display-mode .room-heading>div:first-child:has(.tv-service-logo){position:relative;padding-left:calc(clamp(145px,12vw,220px) + 18px);min-width:0}
.display-mode .room-heading>div:first-child:has(.tv-service-logo) h1{max-width:100%}

.display-mode:not(.playing-mode) .room-heading .tv-service-logo{background:#202942;border-radius:6px;padding:3px}

/* Keep audio diagnostics behind an explicit TV settings menu during play. */
.tv-audio-settings{position:relative;align-self:center;color:inherit}
.tv-audio-settings>summary{cursor:pointer;min-height:44px;padding:10px 14px;border:1px solid #bd9d584d;border-radius:9px;box-sizing:border-box;font-size:14px;font-weight:700;white-space:nowrap}
.tv-audio-settings:not([open])>.tv-audio-controls{display:none}
.tv-audio-settings[open]>.tv-audio-controls{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:620px;max-width:85vw;max-height:70vh;overflow:auto;box-sizing:border-box;padding:18px;border:1px solid #c8b58a;border-radius:12px;background:#fffaf1;color:#202942;box-shadow:0 8px 35px #0005}
.tv-audio-settings[open]>.tv-audio-controls button{background:#fffaf1;color:#202942;border-color:#a3987d}
.tv-audio-settings>summary:focus{outline:3px solid #ffc76b;outline-offset:3px}

/* TV round results: players at the sides, complete score breakdown in the centre. */
body.tv-results-mode{height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#172d29;color:#fffaf1}
.tv-results-mode #app{height:100%;min-height:0}.tv-results-mode #app>header{display:none}
.tv-results-screen{height:100%;width:100%;max-width:none;margin:0;padding:12px 20px 16px;box-sizing:border-box;display:grid;grid-template-columns:minmax(145px,1fr) minmax(440px,3.4fr) minmax(145px,1fr);grid-template-rows:48px minmax(0,1fr);gap:12px 18px}
.tv-results-heading{grid-column:1/-1;display:flex;align-items:center;gap:22px;min-width:0}.tv-results-heading>img{width:180px;height:auto;flex-shrink:0}.tv-results-heading>div{min-width:0}.tv-results-heading .eyebrow{color:#dfc795;font-size:11px}.tv-results-heading h1{font:24px/1.2 Georgia,serif;letter-spacing:0;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-results-connection{margin-left:auto;color:#bfcebd;font-size:13px;white-space:nowrap}
.tv-results-players{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:12px}.tv-results-players>h2{font:700 20px/1.2 system-ui,sans-serif;color:#f3d58c;margin:0 0 4px;overflow-wrap:anywhere}
.tv-result-player{display:flex;align-items:center;gap:10px;padding:14px 10px;border:1px solid #b99b5b66;border-radius:16px;background:#ffffff08;min-width:0}.tv-result-player>div{min-width:0}.tv-result-player .avatar{width:44px;height:44px;min-width:44px}.tv-result-player strong{display:block;font-size:18px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-result-player small{color:#c0cebd;font-size:12px;line-height:1.3;margin:4px 0 0}.tv-result-ready{display:block;color:#dfc795;font-size:12px;line-height:1.3;margin-top:8px}.tv-result-player.is-ready{border-color:#a3c887}.tv-result-player.is-ready .tv-result-ready{color:#b5dba4}
.tv-results-center{min-width:0;min-height:0;display:flex}
.tv-results-mode .tv-results-center>.results{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;width:100%;max-width:none;height:100%;margin:0;padding:18px 24px;box-sizing:border-box;border-radius:18px;color:#203b33;background:#fffaf1;overflow:visible}
.tv-results-center .results>.eyebrow{display:none}.tv-results-center .results>h2{font-size:28px;line-height:1.15;margin:0 0 8px;text-align:center;letter-spacing:-.5px}.tv-results-center .results>p{font-size:15px;line-height:1.3;margin:3px 0 8px;text-align:center}
.tv-results-mode .tv-results-center table{width:100%;table-layout:fixed;margin:8px 0;font-size:clamp(18px,2vw,26px);line-height:1.25}.tv-results-mode .tv-results-center th,.tv-results-mode .tv-results-center td{padding:9px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-results-center th:first-child{width:48%}.tv-results-center .match-total-row{background:#e8eddf;font-size:28px;font-weight:800}.tv-results-center tbody tr:has(+.match-total-row){font-weight:750}
.uno-mode .tv-results-center table,.shanghai-mode .tv-results-center table,.ristiseiska-mode .tv-results-center table{font-size:20px}.uno-mode .tv-results-center th,.uno-mode .tv-results-center td,.shanghai-mode .tv-results-center th,.shanghai-mode .tv-results-center td,.ristiseiska-mode .tv-results-center th,.ristiseiska-mode .tv-results-center td{padding:6px 10px}
.tv-results-mode .tv-results-center .continue-round{margin-top:auto;padding-top:10px;flex-shrink:0}.tv-results-center .continue-round h2{font-size:25px;line-height:1.2;letter-spacing:0;margin:0 0 6px}.tv-results-center .continue-round p{font-size:15px;line-height:1.3;margin:6px 0 0}.tv-results-center .continue-round ul{display:none}
@media(max-height:620px){.tv-results-screen{padding:8px 14px;grid-template-rows:40px minmax(0,1fr);gap:8px 12px}.tv-results-heading>img{width:150px}.tv-results-heading h1{font-size:21px}.tv-results-mode .tv-results-center>.results{padding:12px 18px}.tv-results-center .results>h2{font-size:23px;margin-bottom:4px}.tv-results-mode .tv-results-center table{font-size:17px;margin:5px 0}.tv-results-mode .tv-results-center th,.tv-results-mode .tv-results-center td{padding:6px 8px}.tv-results-center .match-total-row{font-size:20px}.tv-results-center .continue-round h2{font-size:21px}.tv-result-player{padding:10px 8px}.tv-results-players{gap:8px}.tv-result-player strong{font-size:16px}.tv-result-ready{margin-top:4px}}
@media(max-height:620px){.uno-mode .tv-results-center table,.shanghai-mode .tv-results-center table,.ristiseiska-mode .tv-results-center table{font-size:16px}.uno-mode .tv-results-center th,.uno-mode .tv-results-center td,.shanghai-mode .tv-results-center th,.shanghai-mode .tv-results-center td,.ristiseiska-mode .tv-results-center th,.ristiseiska-mode .tv-results-center td{padding:4px 8px}}
.uno-mode .tv-result-player small:nth-of-type(2),.shanghai-mode .tv-result-player small:nth-of-type(2),.ristiseiska-mode .tv-result-player small:nth-of-type(2){display:none}
.tv-result-ready{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.paused-room{flex-direction:column;gap:16px}.paused-room>[data-act="reaction-picker"]{min-width:180px}
