/* Touch panels use the phone viewport, without shrinking the desktop layout. */
@media(pointer:coarse) and (orientation:landscape){
 body:has(:is(#league,#setup):not([hidden]))>header.game-header .header-support{display:none!important}
 body:has(:is(#league,#setup):not([hidden]))>header.game-header{width:calc(100% - 16px)!important;padding:3px 0!important;gap:0!important;margin:0 auto!important}
 body:has(:is(#league,#setup):not([hidden])) .header-main-row{min-height:32px;gap:8px;flex-wrap:nowrap}
 body:has(:is(#league,#setup):not([hidden])) .header-main-row>strong{font-size:15px!important}
 body:has(:is(#league,#setup):not([hidden])) .header-game-tools{gap:4px}
 body:has(:is(#league,#setup):not([hidden])) .header-game-tools button{min-height:30px!important;font-size:10px!important;padding:3px 7px!important}
 body:has(:is(#league,#setup):not([hidden])) .header-game-tools #gameSettingsOpen{width:30px;height:30px;font-size:18px!important;padding:0!important}
 body:has(:is(#league,#setup):not([hidden])) .header-sound-language{gap:6px}
 body:has(:is(#league,#setup):not([hidden])) #musicControls button{min-height:28px;font-size:10px;padding:3px 7px}
 body:has(:is(#league,#setup):not([hidden])) #musicVolume{width:40px}
 body:has(:is(#league,#setup):not([hidden])) #gameLanguage select{min-height:28px;font-size:11px!important;margin:0;padding:3px}
 body:has(:is(#league,#setup):not([hidden])) main{margin:0 auto;padding:0 6px;max-width:1100px}
 #league.panel:not([hidden]){display:flex!important;flex-direction:column;height:calc(100dvh - 46px)!important;min-height:0!important;max-height:none;padding:6px 10px!important;gap:3px;overflow:hidden}
 #league.panel>h1{font-size:18px;line-height:26px;min-height:30px;margin:0;padding:0 62px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #league.panel>:is(#careerCompetitions,#leagueCupTabs){display:flex;flex-wrap:nowrap;gap:5px;overflow-x:auto;flex-shrink:0;margin:0;padding-bottom:2px;scrollbar-width:none}
 #league.panel>:is(#careerCompetitions,#leagueCupTabs) button{flex:none;font-size:10px;min-height:28px;padding:3px 10px;white-space:nowrap}
 #league .standings-filters{justify-content:flex-start;align-items:center;gap:4px 8px;margin:0;flex-shrink:0}
 #league .standings-filters label{font-size:10px}
 #league .standings-filters select{font-size:11px!important;min-height:27px;height:27px;margin:0;padding:2px 6px}
 #league .standings-filters button{font-size:10px;min-height:27px;padding:3px 9px}
 #league #standingsLegend{font-size:9px;padding:2px 0;gap:4px 10px}
 #league.panel>.league-columns{flex:1;min-height:80px;height:auto!important;display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:8px;overflow:hidden;align-items:stretch}
 #league.panel .table-scroll{height:100%;min-height:0;max-height:none;overflow:auto}
 #league #standings{table-layout:fixed;width:100%}
 #league #standings th,#league #standings td{font-size:10px;padding:3px 3px;line-height:18px;white-space:nowrap}
 #league #standings :is(th,td):first-child{width:28px}
 #league #standings :is(th,td):nth-child(2){width:42%;overflow:hidden;text-overflow:ellipsis}
 #league #standings :is(th,td):nth-last-child(2){width:48px}
 #league #standings td img{width:16px;height:16px;margin-right:4px}
 #league.panel .fixture-panel{height:100%;min-height:0;overflow:hidden}
 #league .fixture-panel h2{font-size:13px;line-height:18px;margin:2px 4px}
 #league.panel .fixture-panel #fixtures{flex:1 1 0;min-height:0;max-height:none;overflow:auto}
 #league .fixture-round-nav{margin:0;padding:2px}
 #leagueControls{flex-shrink:0;flex-wrap:nowrap;gap:5px;padding-top:4px;margin-top:2px}
 #leagueControls button,#leagueControls #leagueMenu,#leagueControls #nextMatch,#leagueControls #nextSeason{min-height:32px;padding:4px 9px;font-size:10px;white-space:nowrap}
 #league #leagueInfo:empty{display:none}
 #setup.classic-screen:not([hidden]){width:100%;max-width:1000px;height:calc(100dvh - 46px);min-height:0!important;aspect-ratio:auto;padding:4px 12px 6px;border-width:3px;overflow:hidden}
 #setup>.setup-columns{flex:1 1 0;min-height:0;height:auto;gap:16px;padding:0 2px 5px;overflow:auto;align-items:start}
 #setup .setup-columns>div{min-width:0}
 #setup .setup-columns>div:nth-child(2){padding-left:14px}
 #setup h2{font-size:14px;line-height:18px;margin:1px 0 4px;padding:2px}
 #setup .field-frame{width:min(74%,calc((100dvh - 180px)*1.4));max-width:250px;border-width:4px}
 #setup .carousel{gap:7px}
 #setup .arrow{font-size:24px;min-height:32px;min-width:28px}
 #setup .avatar-preview{width:54px;height:54px;border-width:3px}
 #setup .avatar-preview canvas{width:46px;height:46px}
 #setup .shirt-number{font-size:10px;line-height:13px}
 #setup .player-name{font-size:12px;line-height:16px;min-height:18px;margin:2px 0 4px;padding-bottom:2px}
 #setup .conditions{gap:2px}
 #setup .condition{font-size:12px;min-height:30px}
 #setup .round-check{width:30px;height:30px;min-height:30px;border-width:2px;font-size:23px;line-height:24px;flex-shrink:0}
 #setup .ball-options{gap:12px;padding:4px 0}
 #setup .ball-choice{width:36px;height:36px;min-height:36px;min-width:36px;padding:3px;border-width:2px}
 #setup .ball-choice canvas{width:26px;height:26px}
 #setup .ball-choice.selected:before{top:-14px;left:8px;font-size:13px}
 #setup .setupHint{font-size:9px;margin:2px 0}
 #setup>.setup-footer{position:static;flex:0 0 auto;padding-top:3px;margin-top:2px;border-top:1px solid #aaa77b55;gap:10px}
 #setup>.setup-footer button{min-width:140px;min-height:36px;padding:4px 20px;font-size:13px;border-width:2px}
 #saveSlotsDialog{width:min(900px,96vw);max-height:calc(100dvh - 14px);padding:12px 16px;overflow:auto}
 #saveSlotsDialog .save-slots-heading{margin-bottom:10px;padding-bottom:8px}
 #saveSlotsDialog .save-slots-kicker{font-size:8px;letter-spacing:1px}
 #saveSlotsDialog h2{font-size:22px;margin:3px 0}
 #saveSlotsDialog p{font-size:11px;margin:3px 0;line-height:1.3}
 #saveSlotsDialog .save-slots-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 #saveSlotsDialog .save-slot{padding:10px;gap:7px}
 #saveSlotsDialog .save-slot-number{font-size:9px;padding-bottom:5px}
 #saveSlotsDialog .save-slot-info{gap:5px;flex-direction:column;text-align:center}
 #saveSlotsDialog .save-slot-info img{width:40px;height:42px}
 #saveSlotsDialog .save-slot-empty-icon{height:32px;font-size:28px}
 #saveSlotsDialog h3{font-size:14px;margin:0 0 3px}
 #saveSlotsDialog .save-slot button{min-height:34px;font-size:11px;padding:5px 7px}
 #saveSlotsDialog .save-slots-actions{margin-top:9px;gap:8px}
 #saveSlotsDialog .save-slots-actions button{min-height:32px;padding:4px 12px}
}
@media(pointer:coarse) and (orientation:portrait){
 #saveSlotsDialog{padding:14px;max-height:calc(100dvh - 20px)}
 #saveSlotsDialog .save-slots-heading{padding-bottom:9px;margin-bottom:10px}
 #saveSlotsDialog .save-slot{padding:9px;gap:7px}
 #saveSlotsDialog .save-slots-actions{margin-top:10px}
 #setup.classic-screen:not([hidden]){min-height:0;height:auto;max-height:none;aspect-ratio:auto;padding:8px 10px}
 #setup>.setup-columns{display:flex;flex-direction:column;overflow:visible;height:auto}
 #setup .setup-columns>div{width:100%}
 #setup .setup-columns>div:nth-child(2){border-left:0;padding-left:0}
 #setup>.setup-footer{position:static;margin-top:8px}
}
@media(pointer:coarse) and (orientation:landscape){
 #leagueTitle:has(.manager-identity:not([hidden])){min-height:30px;padding-inline:65px}
 #leagueTitle .manager-identity:not([hidden]){font-size:10px;gap:5px}
 #leagueTitle .manager-identity img{width:25px;height:28px}
}
@media(pointer:coarse) and (orientation:landscape){
 #setup .field-frame{width:min(65%,calc((100dvh - 230px)*1.33));max-width:205px}
 #setup .conditions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
 #setup .condition{font-size:11px;gap:5px;min-height:32px}
 #setup .setup-columns{overflow-x:hidden}
 #setup.classic-screen:before{contain:paint}
}
@media(pointer:coarse) and (orientation:landscape){
 #league #fixtureFilters{padding:3px 5px}
 #league .fixture-navigation{gap:5px;align-items:center}
 #league .fixture-navigation label{font-size:0;flex:1;min-width:0}
 #league .fixture-navigation select{font-size:11px!important;min-height:28px;height:28px;margin:0;padding:2px 6px}
 #league .fixture-navigation button{min-height:28px;width:28px;height:28px;padding:0;font-size:12px}
 #league #fixtureCaption{display:none}
 #league #standings th br{display:none}
 #league .table-filter{white-space:nowrap!important;flex-direction:row;flex-wrap:nowrap}
}
/* Additional phone dialogs: less chrome, more room for choices and collections. */
@media(pointer:coarse) and (orientation:landscape){
 #competitionDifficulty{padding:10px 18px;width:min(620px,94vw);max-height:calc(100dvh - 14px)}
 #difficultyTitle{font-size:22px;padding:5px;margin:0 0 7px;transform:none;box-shadow:3px 3px #9f302c}
 #competitionDifficulty .difficulty-context{font-size:11px;margin:4px 0}
 #competitionDifficulty .difficulty-levels{margin:6px 0;gap:3px 18px}
 #competitionDifficulty .difficulty-choice{min-height:34px;padding:3px 7px;font-size:17px;gap:10px}
 #competitionDifficulty .difficulty-trophy{width:26px;font-size:17px}
 #competitionDifficulty .difficulty-check{width:28px;height:28px;border-width:2px}
 #competitionDifficulty .difficulty-choice input:checked+.difficulty-check::after{font-size:26px;line-height:24px}
 #competitionDifficulty .difficulty-actions{padding-top:4px}
 #competitionDifficulty .difficulty-actions button{min-height:34px;padding:5px 20px}
 #trophyCabinet{padding:10px 16px 0;max-height:calc(100dvh - 12px)}
 #trophyCabinet .trophy-heading{padding:0 75px 7px}
 #trophyCabinet h2{font-size:23px;margin:2px 0 5px}
 #trophyCabinet .trophy-heading>small{font-size:9px}
 #trophyCabinet .trophy-stats{font-size:10px}
 #trophyCabinet .trophy-heading>.trophy-requirement{font-size:10px;line-height:1.3;margin:4px 0 0}
 #trophyCabinet .trophy-close{min-height:30px;padding:4px 10px;top:3px}
 #trophyCabinet .achievement-tabs{padding:7px 0;gap:9px}
 #trophyCabinet .achievement-tabs button{min-height:30px;font-size:11px;min-width:115px;padding:4px 10px}
 #trophyCabinet .trophy-filters{padding:7px 0}
 #trophyCabinet .trophy-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:10px 0 15px}
 #trophyCabinet .trophy-grid .trophy-group-title{font-size:14px;margin:0}
 #trophyCabinet .trophy-card{min-height:158px;gap:4px;padding:5px 4px 8px}
 #trophyCabinet img.trophy-art{height:100px}
 #trophyCabinet .trophy-card strong{font-size:10px}
 #trophyCabinet .achievement-list{gap:0 16px}
 #trophyCabinet .achievement{gap:10px;padding:12px 3px}
 #trophyCabinet .achievement-medal{flex-basis:48px;width:48px;height:58px}
 #trophyCabinet .achievement-icon{width:48px;height:58px}
 #trophyCabinet .achievement h3{font-size:14px;margin-bottom:4px}
 #trophyCabinet .achievement p{font-size:12px;line-height:1.4;margin-bottom:6px}
 #trophyCabinet .achievement-summary{font-size:12px;margin:9px 0 5px}
 #trophyCabinet .achievement-rules{font-size:11px;line-height:1.4;margin-bottom:8px}
}
@media(pointer:coarse) and (orientation:landscape) and (max-width:700px){
 #trophyCabinet .trophy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #competitionDifficulty .difficulty-choice{font-size:16px}
}
@media(pointer:coarse) and (orientation:landscape){
 #trophyCabinet[open] .trophy-heading{padding:0 0 7px!important;gap:3px 6px}
 #trophyCabinet .trophy-heading>small{display:none}
 #trophyCabinet .trophy-heading>h2{font-size:21px;line-height:25px;margin:0}
 #trophyCabinet .trophy-heading>.trophy-stats{margin:0;line-height:13px}
 #trophyCabinet .trophy-heading>.trophy-requirement{margin:1px 0 0;line-height:13px}
 #trophyCabinet .trophy-section-title{font-size:14px;line-height:18px;margin:0;padding:4px 0}
 #trophyCabinet .trophy-art-wrap{height:100px;margin-bottom:3px}
 #trophyCabinet span.trophy-art{transform:scale(.63);transform-origin:center bottom}
 #trophyCabinet .trophy-card{min-height:145px}
}
/* Phone setup: visible ball names and whole-card switches. */
.setup-option-note{display:none}
@media(pointer:coarse){
 #setup .ball-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;padding:4px 0}
 #setup .ball-options .ball-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:58px;min-width:0;min-height:58px;max-width:none;padding:5px 2px;border:1px solid #8e927066;border-radius:8px;background:linear-gradient(#373d2966,#161e1099);box-shadow:none}
 #setup .ball-options .ball-choice canvas{width:29px;height:29px}
 #setup .ball-choice::after{content:attr(data-caption);font-size:10px;line-height:12px;color:#dedcc8}
 #setup .ball-choice.selected{border:2px solid #e2c55a;background:linear-gradient(#6c643b88,#39371a99)}
 #setup .ball-choice.selected::after{color:#ffe08a}
 #setup .ball-choice.selected::before{display:none}
 #setup .ball-choice>span{display:none}
 #setup .ball-contrast-note{font-size:10px;line-height:1.3;min-height:13px;margin:4px 0 0;color:#d6d0ae}
 #setup .conditions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 #setup .conditions>.condition{min-width:0;min-height:46px;align-items:center;gap:6px;padding:5px 8px;border:1px solid #8e927044;border-radius:7px;background:#29311b55;cursor:pointer}
 #setup .conditions>.condition:has([aria-pressed=true]){border-color:#d2b850;background:#74632d33}
 #setup .conditions>.condition[data-disabled=true]{opacity:.5;cursor:default}
 #setup .conditions>.condition>span{font-size:11px;line-height:1.2;min-width:0}
 #setup .setup-option-note{display:block;font-size:8px;line-height:1.3;color:#b7b69d;margin-top:3px}
 #setup .conditions .round-check{flex:0 0 26px;width:26px;height:26px;min-height:26px;border-width:2px;line-height:22px;font-size:22px}
 #setup .conditions .round-check:disabled{opacity:1;cursor:default}
 #setup .conditions>.condition:last-child{grid-column:1/-1}
 #setup .conditions>.condition:last-child>span{display:flex;align-items:center;gap:9px}
 #setup .conditions>.condition:last-child .setup-option-note{margin:0}
 #setup .setup-columns>div:nth-child(2)>.setupHint:not(#difficultyHint){display:none}
}
@media(pointer:coarse) and (orientation:landscape){
 #setup.classic-screen:not([hidden]){border:1px solid #969a6855;border-radius:9px;background:radial-gradient(ellipse at 75% 10%,#29301d88,transparent 70%),#101507;padding:7px 12px 6px}
 #setup.classic-screen:before{display:none}
 #setup .setup-columns{gap:18px}
 #setup .setup-columns>div:nth-child(2){border-left:1px solid #969a6844;padding-left:18px}
 #setup h2{color:#e8e3c6;font-size:12px;text-transform:uppercase;letter-spacing:.8px;border-top:0;padding:0 0 4px;margin:0 0 6px}
 #setup .field-frame{width:min(62%,calc((100dvh - 245px)*1.33));max-width:185px;border-radius:5px;border-width:3px}
 #setup .avatar-preview{width:48px;height:48px;border-width:2px}
 #setup .avatar-preview canvas{width:43px;height:43px}
 #setup .player-name{font-size:13px;margin:3px 0 7px}
 #setup .shirt-number{display:none}
 #setup .conditions>.condition{min-height:44px}
 #setup #difficultyHint{font-size:10px;margin:6px 0 0;color:#c7c1a1}
 #setup .setup-footer{justify-content:space-between}
 #setup .setup-footer button{min-width:130px}
 #setup .setup-footer #setupPlay{min-width:175px}
}
@media(pointer:coarse){
 /* The five named tiles replace the repeated selected-ball caption visually. */
 #setup .ball-contrast-note{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #setup .ball-options .ball-choice:focus-visible{outline:2px solid #fff2b0;outline-offset:2px}
 #setup .conditions>.condition:focus-within{outline:1px solid #fff2b0;outline-offset:1px}
}
/* Accessibility: native switches own the full tile, with legible disabled labels. */
@media(pointer:coarse){
 #setup .conditions>.condition{position:relative;background:#25301c;padding-right:42px}
 #setup .conditions>.condition:has([aria-pressed=true]){background:#3c3c20}
 #setup .conditions>.condition>span{font-size:12px;color:#f2efda;line-height:1.25}
 #setup .setup-option-note{font-size:10px;color:#d0d0b8;line-height:1.3}
 #setup .conditions>.condition[data-disabled=true]{opacity:1;background:#1b2116;border-style:dashed;border-color:#8f9570}
 #setup .conditions>.condition[data-disabled=true]>span{color:#c2c5af}
 #setup .conditions>.condition[data-disabled=true] .setup-option-note{color:#c2c5af}
 #setup .conditions .round-check{position:absolute;inset:0;width:100%;height:100%;min-height:44px;min-width:44px;margin:0;padding:0;border:0;border-radius:7px;background:transparent;transform:none;box-shadow:none}
 #setup .conditions .round-check:hover,#setup .conditions .round-check:active{background:transparent}
 #setup .conditions .round-check::after{content:'';position:absolute;right:8px;top:50%;transform:translateY(-50%);box-sizing:border-box;width:26px;height:26px;border:2px solid #efd15a;border-radius:50%;background:#42482f;color:#ffe46a;font:700 23px/22px Arial,sans-serif}
 #setup .conditions .round-check[aria-pressed=true]::after{content:'✓'}
 #setup .conditions .round-check:disabled::after{border-color:#9b9f80;background:#2b3121;color:#c2c5af}
 #setup .conditions .round-check:focus-visible{outline:3px solid #fff3a1;outline-offset:2px}
 #setup .ball-choice::after{font-size:11px;line-height:14px;color:#f0edd8}
 #setup .ball-choice.selected::after{color:#fff0a8;text-decoration:underline;text-underline-offset:2px}
 #setup .arrow{min-width:44px;min-height:44px}
 #setup .arrow:focus-visible,#setup .setup-footer button:focus-visible{outline:3px solid #fff3a1;outline-offset:2px}
 #setup .conditions>.condition:last-child>span{flex-wrap:wrap;gap:3px 8px}
 #setup #difficultyHint{font-size:11px;color:#d0d0b8}
}
@media(prefers-reduced-motion:reduce){
 #saveSlotsDialog::backdrop,#competitionDifficulty::backdrop{backdrop-filter:none}
 #setup button,#touchLayoutEditor button{transition:none;animation:none}
}
/* The phone menu keeps its original controls and competition handlers. */
@media(pointer:coarse) and (max-width:1100px){
 body:has(#menu:not([hidden]))>header.game-header{width:calc(100% - 16px)!important;margin:0 auto!important;padding:4px 0!important;gap:0!important}
 body:has(#menu:not([hidden])) .header-main-row{min-height:44px;gap:6px;flex-wrap:nowrap;justify-content:space-between}
 body:has(#menu:not([hidden])) .header-main-row>strong{font-size:17px!important;margin:0 auto 0 0}
 body:has(#menu:not([hidden])) .header-game-tools{gap:5px;flex-wrap:wrap;justify-content:flex-end}
 body:has(#menu:not([hidden])) .header-game-tools button{font-size:10px!important;min-height:44px!important;padding:4px 8px!important}
 body:has(#menu:not([hidden])) .header-game-tools #gameSettingsOpen{width:44px;height:44px;font-size:23px!important;padding:0!important}
 body:has(#menu:not([hidden])) .header-sound-language{display:none!important}
 body:has(#menu:not([hidden])) main{padding:0 6px;margin:0 auto}
 #menu.panel{padding:8px 10px;border-radius:8px;overflow:visible}
 #menu>.menu-title{display:none}
 #menu .tabs.menu-primary{margin:0 0 8px;gap:5px;grid-template-columns:repeat(4,minmax(0,1fr))}
 #menu .tabs.menu-primary :is(button[data-mode],#onlineOpen){min-height:44px;font-size:11px;padding:5px 3px;border-radius:999px;min-width:0}
 #menu .tabs.menu-cups{display:grid;grid-template-rows:none;grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px;margin:0 0 8px;padding:0;overflow:visible}
 #menu .tabs.menu-cups button[data-mode]{height:44px;min-height:44px;width:100%;min-width:0;max-width:100%;grid-template-columns:25px minmax(0,1fr);gap:4px;padding:4px 6px;font-size:11px;border-radius:999px;scroll-snap-align:start}
 #menu .tabs.menu-cups button[data-mode] .competition-logo{width:25px;height:29px;margin:0}
 #menu .tabs.menu-cups button[data-mode] .competition-label{min-height:0;line-height:1.15}
 #menu .tabs.menu-cups button.selected{outline-offset:0}
 #menu #leaguePicker{margin:5px 0 8px;padding-top:3px}
 #menu #leaguePicker legend{font-size:11px}
 #menu #leaguePicker .league-choices{column-gap:3px;row-gap:4px}
 #menu #leaguePicker .country-belt{gap:5px}
 #menu #leaguePicker .country-belt>button[data-league-choice]{width:100px;flex-basis:100px;min-height:53px;padding:4px;font-size:10px;gap:2px 4px}
 #menu #leaguePicker button small{font-size:8px}
 #menu #leaguePicker .argentina-leagues:not([hidden]){display:flex;overflow-x:auto;gap:5px;padding:7px;margin-top:6px;scrollbar-width:none;scroll-snap-type:x proximity}
 #menu #leaguePicker .argentina-leagues::before{display:none}
 #menu #leaguePicker .argentina-leagues>button{flex:1 0 105px;width:auto;min-height:54px;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;grid-column:auto;justify-self:auto;text-align:left;justify-items:start;font-size:10px;padding:5px;scroll-snap-align:start}
 #menu #leaguePicker .argentina-leagues>button img{grid-row:1/span 2;width:22px;height:26px}
 #menu .teams{gap:8px;margin:8px 0}
 #menu .team-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:3px 8px;align-items:center;padding:8px;min-width:0}
 #menu .team-card .menu-badge-frame{grid-column:1;grid-row:1/span 5;align-self:center;justify-self:center;width:44px;height:38px;margin:0}
 #menu .team-card>label,#menu .team-card>.swatches{grid-column:2;min-width:0;margin:0;font-size:11px;line-height:1.25}
 #menu .team-card select{min-height:44px!important;height:44px;font-size:16px!important;margin:3px 0 0;padding:6px 28px 6px 8px}
 #menu .team-card>.swatches{height:4px;margin:1px 0 3px;justify-content:center}
 #menu .team-card>.swatches span{height:4px}
 #menu .team-card>small{display:none}
 #menu .teams>b{font-size:18px}
 #menu .actions{grid-template-columns:minmax(0,1fr) minmax(110px,180px) minmax(0,1fr);gap:8px;padding-top:8px;margin-top:6px}
 #menu .actions #play{width:100%;min-height:54px;font-size:18px;padding:7px}
 #menu .actions :is(#saveSlotsOpen,#trophyCabinetOpen){width:100%;max-width:200px;min-height:46px;height:46px;font-size:11px;padding:5px 3px}
 .game-support{margin-top:18px!important}
 .game-support .sponsor-links{gap:22px 40px}
 .game-support>.header-support{margin:18px auto 8px;max-width:650px;box-sizing:border-box}
 .settings-phone-language{display:block;font-size:13px;margin-top:14px}
 .settings-phone-language select{display:block;width:100%;min-height:44px;margin-top:5px;font-size:16px}
 #menu button:focus-visible{outline:2px solid #fff3a1;outline-offset:1px}
}
@media(pointer:coarse) and (max-width:1100px) and (orientation:portrait){
 #menu .tabs.menu-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
 #menu .tabs.menu-cups:has([data-mode=eurocup]){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #menu .tabs.menu-cups button[data-mode]{width:100%;font-size:11px}
 #menu .teams{grid-template-columns:minmax(0,1fr);gap:6px}
 #menu .teams>b{display:none}
 #menu .actions{grid-template-columns:minmax(0,1fr) minmax(100px,120px) minmax(0,1fr);gap:5px}
 #menu .actions :is(#saveSlotsOpen,#trophyCabinetOpen){font-size:10px}
 body:has(#menu:not([hidden])) .header-main-row>strong{font-size:15px!important}
 body:has(#menu:not([hidden])) .header-game-tools button{font-size:9px!important;padding:4px 6px!important}
}
@media(prefers-reduced-motion:reduce){#menu .tabs.menu-cups{scroll-behavior:auto}}
@media(pointer:coarse) and (max-width:1100px){
 #menu .tabs.menu-cups:has([data-mode=eurocup]){grid-template-columns:repeat(5,minmax(0,1fr))!important}
}

@media(pointer:coarse) and (max-width:1100px) and (orientation:portrait){#menu .tabs.menu-cups:has([data-mode=eurocup]){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Phone competition view: give positions and fixtures the full panel width. */
.mobile-league-views{display:none}
@media(pointer:coarse) and (max-width:1100px){
 #league:not([data-bracket=true]) .mobile-league-views{display:flex;gap:4px;flex-shrink:0;margin-right:auto}
 #league .mobile-league-views button{min-height:34px;padding:4px 14px;font-size:12px;border:1px solid #9a9d77;border-radius:20px;background:linear-gradient(#51543d,#282e1e);color:#eee9d3}
 #league .mobile-league-views button.selected{border-color:#ebd475;background:linear-gradient(#746530,#443e1d);color:#fff4bf;box-shadow:inset 0 0 0 1px #e5d179}
 #league[data-mobile-view]>.league-columns:not([hidden]){grid-template-columns:minmax(0,1fr);gap:0}
 #league[data-mobile-view=table]>.league-columns>.fixture-panel{display:none!important}
 #league[data-mobile-view=fixtures]>.league-columns>.table-scroll{display:none!important}
 #league[data-mobile-view=fixtures]:not([data-bracket=true]) #standingsLegend{display:none}
 #league[data-mobile-view] .table-scroll{border:1px solid #c9c9ad;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#92946c #252b1c}
 #league[data-mobile-view] .table-scroll table{width:100%;table-layout:fixed;border-collapse:collapse}
 #league[data-mobile-view] .table-scroll th{position:sticky;top:0;z-index:1;background:#414332;color:#f5f1d6}
 #league[data-mobile-view] .table-scroll :is(th,td){font-size:12px;line-height:21px;padding:4px 5px;white-space:nowrap}
 #league[data-mobile-view] .table-scroll :is(th,td):first-child{width:30px;text-align:center}
 #league[data-mobile-view] .table-scroll :is(th,td):nth-child(2){width:40%;overflow:hidden;text-overflow:ellipsis}
 #league[data-mobile-view] .table-scroll :is(th,td):nth-child(7){width:62px}
 #league[data-mobile-view] .table-scroll :is(th,td):last-child{width:42px;font-weight:bold}
 #league[data-mobile-view] #standings td img{width:19px;height:19px;vertical-align:middle;margin-right:6px;object-fit:contain}
 #league[data-mobile-view] .fixture-panel{display:flex;flex-direction:column;min-width:0;border:1px solid #c9c9ad;border-radius:5px;background:#11180880}
 #league[data-mobile-view] .fixture-panel h2{display:none}
 #league[data-mobile-view] #fixtureFilters{flex-shrink:0;margin:0;padding:5px 8px;border-bottom:1px solid #70724e;background:#303522}
 #league[data-mobile-view] .fixture-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:9px;margin:0}
 #league[data-mobile-view] .fixture-navigation button{width:44px;height:44px;min-height:44px;padding:3px;font-size:18px}
 #league[data-mobile-view] .fixture-navigation label{font-size:0;min-width:0}
 #league[data-mobile-view] #fixtureDate{width:100%;min-height:44px;font-size:16px!important;padding:5px 9px;margin:0}
 #league[data-mobile-view] #fixtureCaption{display:none}
 #league[data-mobile-view] #fixtures{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
 #league[data-mobile-view] .fixture-row{grid-template-columns:24px minmax(0,1fr) 26px 76px 26px minmax(0,1fr);gap:8px;min-height:42px;padding:5px 10px;font-size:13px}
 #league[data-mobile-view] .fixture-row strong{font-size:15px;font-variant-numeric:tabular-nums;padding:4px}
 #league[data-mobile-view] .fixture-row img{width:24px;height:24px}
 #league[data-mobile-view] .fixture-row.current{outline:0;box-shadow:inset 3px 0 #ead776;background:#bba54726}
 #league[data-mobile-view] .series-label{grid-column:2/-1;font-size:10px;color:#dbd5ac;margin:0}
 #league[data-mobile-view] .standings-filters{gap:5px 8px;align-items:center;justify-content:flex-start}
 #league[data-mobile-view] button:focus-visible{outline:2px solid #fff3a1;outline-offset:1px}
}
@media(pointer:coarse) and (max-width:1100px) and (orientation:portrait){
 body:has(#league:not([hidden]))>header.game-header .header-sound-language{display:none!important}
 #league[data-mobile-view].panel{padding:9px!important;min-height:0}
 #league[data-mobile-view]>h1{font-size:18px;line-height:24px;padding-inline:48px;min-height:36px}
 #league[data-mobile-view] .competition-logo{width:24px;height:28px}
 #league[data-mobile-view] .standings-filters{margin:7px 0}
 #league[data-mobile-view] .standings-filters select{font-size:13px!important;min-height:34px;max-width:180px}
 #league[data-mobile-view] #standingsLegend{font-size:10px;gap:5px;margin:5px 0}
 #league[data-mobile-view]>.league-columns:not([hidden]){height:55dvh;min-height:280px;max-height:520px;align-items:stretch}
 #league[data-mobile-view] .table-scroll,#league[data-mobile-view] .fixture-panel{height:100%;min-height:0;max-height:none;overflow:auto}
 #league[data-mobile-view] .table-scroll :is(th,td){font-size:11px;line-height:23px;padding:4px 2px}
 #league[data-mobile-view] .table-scroll :is(th,td):first-child{width:22px}
 #league[data-mobile-view] .table-scroll :is(th,td):nth-child(2){width:31%}
 #league[data-mobile-view] .table-scroll :is(th,td):nth-child(7){width:46px}
 #league[data-mobile-view] .table-scroll :is(th,td):last-child{width:30px}
 #league[data-mobile-view] #standings td img{width:16px;height:16px;margin-right:3px}
 #league[data-mobile-view] .fixture-row{grid-template-columns:16px minmax(0,1fr) 22px 60px 22px minmax(0,1fr);gap:4px;font-size:12px;padding:6px}
 #league[data-mobile-view] .fixture-row img{width:22px;height:22px}
 #league[data-mobile-view] #leagueControls{flex-wrap:wrap;gap:6px;margin-top:8px}
 #league[data-mobile-view] #leagueControls button{min-height:38px;font-size:11px;padding:5px 9px}
}
.fixture-club-full{display:none}
@media(pointer:coarse) and (max-width:1100px){
 #league[data-mobile-view] .fixture-club-abbr{display:none}
 #league[data-mobile-view] .fixture-club-full{display:inline}
 #league[data-mobile-view] .fixture-row>span:nth-child(2){text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #league[data-mobile-view] .fixture-row>span:nth-child(6){text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(pointer:coarse) and (max-width:1100px) and (orientation:portrait){
 #league[data-mobile-view].panel:not([hidden]){height:auto!important;max-height:none!important;overflow:visible}
 #league[data-mobile-view]>:is(#careerCompetitions,#leagueCupTabs):not([hidden]){display:flex;flex-wrap:nowrap;gap:5px;overflow-x:auto;scrollbar-width:none;margin:4px 0;padding:2px 0;flex-shrink:0}
 #league[data-mobile-view]>:is(#careerCompetitions,#leagueCupTabs) button{flex:0 0 auto;min-height:32px;font-size:11px;padding:4px 9px;white-space:nowrap}
 #league[data-mobile-view] .standings-filters{gap:5px}
 #league[data-mobile-view] .standings-filters button{min-height:32px;font-size:10px;padding:4px 9px}
 #league[data-mobile-view] .mobile-league-views button{min-height:34px;font-size:12px;padding:4px 13px}
}
#guestChampionshipDestination{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:2px solid #d3d3b4;border-radius:10px;background:linear-gradient(135deg,#30371c,#101506);color:#f4efd2;box-sizing:border-box}
#guestChampionshipDestination::backdrop{background:#000b}
#guestChampionshipDestination h2{font-size:25px;font-weight:normal;margin:0 0 16px;text-align:center}
.guest-destination-club{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 17px;padding-bottom:15px;border-bottom:1px solid #848357}
.guest-destination-club img{width:58px;height:58px;object-fit:contain}.guest-destination-club strong{font-size:19px}
#guestChampionshipDestination label{display:block;font-size:13px}
#guestDestinationLeague{display:block;width:100%;min-height:44px;margin:7px 0;padding:8px;font-size:16px;background:#353c26;color:#fff;border:1px solid #b4b28d}
#guestChampionshipDestination p{font-size:12px;line-height:1.5;color:#d7d3b7;margin:13px 0 18px}
.guest-destination-actions{display:flex;justify-content:center;gap:12px}.guest-destination-actions button{min-height:44px;min-width:115px;font-size:13px;padding:8px 15px}
@media(pointer:coarse) and (orientation:landscape){#guestChampionshipDestination{padding:12px 20px}#guestChampionshipDestination h2{font-size:21px;margin-bottom:8px}.guest-destination-club{margin-bottom:8px;padding-bottom:7px}.guest-destination-club img{width:38px;height:38px}#guestChampionshipDestination p{margin:7px 0 10px}}
#androidUpdateNotice{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:4px auto 8px;padding:8px;max-width:1000px;border:1px solid #d7c367;border-radius:7px;background:#353d21;color:#fff0b6;font-size:13px}
#androidUpdateNotice a,#androidUpdateNotice button{min-height:36px;padding:7px 12px;font-size:11px;border-radius:22px;text-decoration:none;color:#fff}
body:not(:has(#menu:not([hidden])))>#androidUpdateNotice{display:none}
body.mobile-playing #androidUpdateNotice{display:none}
#online>#androidUpdateNotice{grid-column:1/-1;width:100%;max-width:none;margin:0 0 12px}
.native-update-settings{margin-top:12px}.native-update-settings button{min-height:44px;font-size:13px}.native-update-settings a{color:#ffe078}

/* Cabezones runtime recovery epoch 1 */
