/* Arquibancada identity: editorial match graphics, drawn for the game. */

body{background:radial-gradient(ellipse at 74% 0,var(--panel) 0,transparent 42%),var(--bg)}
.topbar{background:var(--bg);border-bottom-color:var(--club-soft)}
.main{max-width:1540px}
.panel,.stat,.club-card{border-color:#ffffff1a;border-radius:12px;box-shadow:0 12px 36px color-mix(in srgb, var(--bg) 10%, transparent)}
.panel-head{border-bottom-color:#ffffff1b}
.page-head h1,.panel-head h3{letter-spacing:-.025em}
.badge,.badge.large,.match-club .badge,.club-card .badge{padding:0;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}
.badge img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px #0005)}
.club-card .badge img{filter:drop-shadow(0 4px 6px #0006)}
.fixture{background:radial-gradient(circle at 50% 18%,var(--club-soft) 0,var(--panel) 38%,var(--panel) 100%)}
.fixture .badge.large{width:80px;height:80px}
.stat{background:linear-gradient(145deg,var(--panel),var(--panel))}
.stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.stats{gap:12px}
.home-hero{min-height:340px;position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:stretch;margin:0 0 22px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 73% 34%,var(--club-soft) 0,var(--panel) 25%,transparent 52%),linear-gradient(115deg,var(--panel) 4%,var(--panel) 60%,var(--bg) 100%);box-shadow:0 24px 55px color-mix(in srgb, var(--bg) 44%, transparent)}
.home-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--panel) 0%,var(--panel)e8 43%,var(--panel)00 82%),repeating-linear-gradient(115deg,transparent 0,transparent 35px,color-mix(in srgb, var(--lime) 2%, transparent) 36px,color-mix(in srgb, var(--lime) 2%, transparent) 37px);pointer-events:none}
.home-hero:after{content:"";position:absolute;left:50%;top:-115px;width:600px;height:600px;border:1px solid color-mix(in srgb, var(--lime) 15%, transparent);border-radius:50%;pointer-events:none}
.home-hero-copy{position:relative;z-index:2;width:min(65%,750px);padding:28px 36px 27px;display:flex;flex-direction:column;align-items:flex-start}
.home-hero-kicker{font:700 11px var(--mono);letter-spacing:.22em;color:var(--lime)}
.home-hero-kicker span{color:var(--lime)}
.home-hero-club{display:flex;align-items:center;gap:12px;margin:16px 0 10px;color:var(--lime);font:12px var(--mono)}
.home-hero-club .badge{width:50px;height:50px}
.home-hero h1{font-size:clamp(43px,5vw,76px);line-height:.94;letter-spacing:-.06em;text-wrap:balance}
.home-hero h1 small{display:block;margin-top:7px;color:var(--lime);font-size:.48em;letter-spacing:-.035em}
.home-hero p{margin:14px 0 18px;max-width:480px;font-size:15px;line-height:1.5;color:#d6e6e9}
.home-hero p b{color:#fff}
.home-hero-actions{display:flex;gap:9px;flex-wrap:wrap}
.home-hero-actions button{border-radius:999px;padding:11px 17px}
.home-hero-actions .ghost{background:color-mix(in srgb, var(--lime) 7%, transparent);border-color:color-mix(in srgb, var(--lime) 49%, transparent)}
.home-hero-data{display:flex;gap:0;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:19px}
.home-hero-data span{display:grid;gap:5px;padding:0 15px;color:var(--lime);border-left:1px solid color-mix(in srgb, var(--lime) 26%, transparent);font:10px var(--mono);letter-spacing:.08em}
.home-hero-data span:first-child{padding-left:0;border-left:0}
.home-hero-data b{color:#f4fbfb;font:700 17px var(--heading);letter-spacing:0}
.home-hero-art{position:absolute;inset:0 0 0 auto;width:55%;overflow:hidden;pointer-events:none}
.home-hero-art>img{position:absolute;right:-6%;bottom:-40%;width:min(95%,520px);height:150%;object-fit:contain;object-position:bottom center;filter:drop-shadow(-18px 5px 21px color-mix(in srgb, var(--bg) 65%, transparent))}
.home-hero-crest{position:absolute;top:0;right:10%;width:320px;height:320px;display:grid;place-items:center;opacity:.11;filter:grayscale(1) brightness(2.2)}
.home-hero-crest .badge{width:100%;height:100%}
.home-hero-number{position:absolute;right:10%;top:-10%;font:900 clamp(200px,31vw,440px)/1 var(--heading);letter-spacing:-.1em;color:color-mix(in srgb, var(--lime) 7%, transparent)}
.tactics-banner{position:relative;isolation:isolate;overflow:hidden;min-height:118px;padding:18px 23px;display:flex;align-items:center;border-bottom:1px solid color-mix(in srgb, var(--lime) 32%, transparent);background:radial-gradient(circle at 78% 50%,var(--club-soft),var(--panel) 65%)}
.tactics-banner:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0,transparent 29px,color-mix(in srgb, var(--lime) 4%, transparent) 30px,color-mix(in srgb, var(--lime) 4%, transparent) 31px);z-index:-1}
.tactics-banner>div{display:grid;gap:2px;position:relative;z-index:1}
.tactics-banner span{font:700 10px var(--mono);letter-spacing:.18em;color:var(--lime)}
.tactics-banner strong{font:800 clamp(32px,3vw,43px)/1 var(--heading);letter-spacing:-.04em;color:#f0f9fb}
.tactics-banner small{font:12px var(--mono);color:var(--lime)}
.tactics-banner img{position:absolute;right:6px;top:-40px;width:215px;height:240px;object-fit:contain;opacity:.55;filter:drop-shadow(-10px 2px 12px var(--bg))}
.tactics-panel .controls{background:var(--panel);border-bottom-color:#ffffff1c}
.tactics-panel .controls select{background:var(--panel);border-color:var(--line);border-radius:8px;color:#eaf7fa}
.tactics-panel .panel-body{background:var(--panel)}
.tactical-pitch.clean-tactics{max-width:470px!important;height:620px!important;border:4px solid var(--club-soft)!important;border-radius:13px!important;background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb, var(--club-soft) 33%, transparent),transparent 68%),repeating-linear-gradient(0deg,var(--panel) 0,var(--panel) 56px,var(--club-soft) 56px,var(--club-soft) 112px)!important;box-shadow:inset 0 0 58px color-mix(in srgb, var(--bg) 73%, transparent),0 16px 30px color-mix(in srgb, var(--bg) 50%, transparent)!important;color:#e9f5f1}
.clean-tactics .tactics-lines{color:#d9ede2;opacity:.63}
.clean-tactics .tactical-token{border-radius:6px;background:color-mix(in srgb, var(--bg) 67%, transparent);padding:3px 2px;box-shadow:0 5px 10px color-mix(in srgb, var(--bg) 50%, transparent);backdrop-filter:blur(2px)}
.clean-tactics .token-piece{background:#e0f3f2;border:2px solid #fcffff;color:var(--panel);box-shadow:0 3px 0 var(--panel);font-weight:900}
.clean-tactics .token-keeper{background:#e5c498;color:var(--panel)}
.clean-tactics .token-name{color:#eff8f8;background:transparent;font-weight:700}
.clean-tactics .token-meta,.clean-tactics .token-fitness>small{color:var(--lime)}
.clean-tactics .token-track{background:color-mix(in srgb, var(--lime) 39%, transparent)}
.clean-tactics .tactical-token:hover,.clean-tactics .tactical-token:focus-visible{background:color-mix(in srgb, var(--panel) 93%, transparent);outline-color:var(--lime)}
.clean-tactics .token-selected{background:color-mix(in srgb, var(--club-soft) 86%, transparent)!important;outline-color:var(--lime)!important}
.clean-tactics .token-selected .token-piece{background:var(--lime);color:var(--panel)}
.clean-tactics .clean-empty-slot{background:#dff3ee;color:var(--panel);border-color:var(--lime)}
.profile-hero-art{position:relative;isolation:isolate;overflow:hidden;min-height:245px;margin:-24px -24px 25px;padding:29px 28px;align-items:end;border-bottom:1px solid color-mix(in srgb, var(--lime) 33%, transparent);background:radial-gradient(circle at 74% 39%,var(--club-soft) 0,var(--panel) 38%,var(--panel) 74%)}
.profile-hero-art:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--panel) 0,var(--panel)e8 36%,transparent 82%),repeating-linear-gradient(110deg,transparent 0,transparent 34px,color-mix(in srgb, var(--lime) 4%, transparent) 35px,color-mix(in srgb, var(--lime) 4%, transparent) 36px)}
.profile-hero-art .profile-identity{position:relative;z-index:2;align-self:end;max-width:65%}
.profile-hero-art .profile-identity h2{font-size:clamp(34px,5vw,56px);line-height:.95;letter-spacing:-.055em;margin:13px 0 11px;text-wrap:balance}
.profile-hero-art .profile-identity p{color:var(--lime);font-size:13px}
.profile-club{display:flex;gap:9px;align-items:center;margin:0 0 12px;font-size:12px;font-weight:700;color:var(--lime)}
.profile-club .badge{width:38px;height:38px}
.profile-hero-art .profile-overall{position:relative;z-index:2;align-self:end;padding:7px 13px;background:color-mix(in srgb, var(--bg) 72%, transparent);border:1px solid color-mix(in srgb, var(--lime) 33%, transparent);border-radius:10px;color:var(--lime)}
.profile-hero-art .profile-overall strong{font-size:45px}
.profile-player-art{position:absolute;z-index:1;right:8%;bottom:-124px;width:370px;height:460px;object-fit:contain;opacity:.9;filter:drop-shadow(-15px 8px 15px var(--bg))}
.profile-crest-watermark{position:absolute;z-index:0;right:11%;top:-40px;width:300px;height:300px;opacity:.09;filter:grayscale(1) brightness(2.2)}
.profile-crest-watermark .badge{width:100%;height:100%}
.profile-quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:-10px 0 24px}
.profile-quick-stats span{display:grid;gap:8px;padding:14px 17px;background:linear-gradient(145deg,var(--panel),var(--panel));border:1px solid #ffffff1b;border-radius:10px}
.profile-quick-stats small{color:var(--lime);font:10px var(--mono);letter-spacing:.1em}
.profile-quick-stats strong{color:#f1f8f9;font:700 26px var(--heading);line-height:1}
.profile-facts{border:1px solid #ffffff1b;border-radius:12px;padding:18px;background:var(--panel)}
.profile-attribute meter::-webkit-meter-optimum-value{background:var(--lime)}
.profile-attribute b{color:var(--lime)}
@media(max-width:900px){.home-hero-copy{width:75%}.home-hero-art{width:57%}.home-hero-art>img{right:-18%}.home-hero-data span:last-child{display:none}}
@media(max-width:600px){.home-hero{min-height:330px;border-radius:14px}.home-hero-copy{width:100%;padding:22px 20px}.home-hero h1{font-size:42px;max-width:65%}.home-hero h1 small{font-size:.52em}.home-hero p{font-size:13px;max-width:64%;margin:10px 0}.home-hero-club{margin:12px 0 10px}.home-hero-club .badge{width:38px;height:38px}.home-hero-art{width:58%;opacity:.72}.home-hero-art>img{right:-38%;bottom:-26%;height:134%;width:135%}.home-hero-crest{right:-10%;width:190px;height:190px}.home-hero-data{padding-top:13px}.home-hero-data span{padding:0 9px;font-size:9px}.home-hero-data b{font-size:14px}.home-hero-actions button{font-size:12px;padding:9px 11px}.tactics-banner{min-height:88px;padding:13px 15px}.tactics-banner img{right:-13px;width:155px;height:170px;top:-25px}.tactics-banner strong{font-size:31px}.tactical-pitch.clean-tactics{max-width:410px!important;height:600px!important}.clean-tactics .tactical-token{padding:2px 0}.profile-hero-art{min-height:235px;margin:-16px -16px 20px;padding:22px 16px}.profile-hero-art .profile-identity{max-width:70%}.profile-hero-art .profile-identity h2{font-size:32px}.profile-player-art{right:-36px;bottom:-95px;width:265px;height:330px;opacity:.7}.profile-crest-watermark{right:-5%;width:210px;height:210px}.profile-quick-stats{gap:5px}.profile-quick-stats span{padding:10px 8px}.profile-quick-stats strong{font-size:22px}.profile-hero-art .profile-overall{padding:5px 7px}.profile-hero-art .profile-overall strong{font-size:34px}}
@media(max-width:390px){.home-hero h1{font-size:36px}.home-hero p{max-width:70%}.home-hero-actions .ghost{display:none}.home-hero-art{opacity:.53}}

/* One focal point per panel. Club crest on home; athlete only on player profiles. */
body{background:var(--bg)}
.home-hero{min-height:310px;background:linear-gradient(110deg,var(--panel) 35%,var(--club-deep));border:1px solid var(--line);box-shadow:none;border-radius:16px}
.home-hero:before,.home-hero:after,.tactics-banner:before,.profile-hero-art:before{display:none}
.home-hero-copy{width:68%;padding:30px}
.home-hero h1{font-size:clamp(44px,5vw,68px);letter-spacing:-.035em}
.home-hero h1 small{color:var(--muted);font-size:.42em;font-weight:500}
.home-hero-art{width:30%;right:3%;display:grid;place-items:center}
.home-hero-crest{position:static;width:clamp(110px,16vw,210px);height:auto;aspect-ratio:1;opacity:1;filter:none}
.home-hero-club .badge{display:none}
.home-hero-kicker,.home-hero-data span{color:var(--muted)}
.home-hero-art>img,.home-hero-number{display:none}
.tactics-banner{min-height:96px;background:var(--club-deep);border-color:var(--line)}
.tactics-banner img{display:none}
.profile-hero-art{background:linear-gradient(110deg,var(--panel),var(--club-deep))}
.profile-crest-watermark{display:none}
.profile-player-art{filter:grayscale(1);opacity:.65}
.fixture,.stat,.profile-quick-stats span{background:var(--panel)}
.profile-facts,.tactics-panel .panel-body{background:var(--panel)}
.tactics-panel .controls,.tactics-panel .controls select{background:var(--panel2);color:var(--text);border-color:var(--line)}
@media(max-width:600px){.home-hero{min-height:310px}.home-hero-copy{width:100%;padding:22px}.home-hero h1{font-size:42px;max-width:72%}.home-hero p{max-width:100%;margin-top:22px}.home-hero-art{width:25%;right:5%;height:130px;top:26px;opacity:1}.home-hero-crest{width:90px}.home-hero-club{max-width:70%;font-size:10px}.home-hero-actions .ghost{display:block}.home-hero-data span:last-child{display:grid}}
/* Neutral information surfaces share the club theme as well. */
.competition-strip button,.stadium-summary,.selection{background:var(--panel);border-color:var(--line)}
.competition-strip span{color:var(--muted)}
.rating{background:var(--club-soft);color:var(--lime)}
tr.mine,.table-wrap tr.mine{background:var(--club-soft);color:var(--text)}
.notice{background:var(--panel2);border-color:var(--line);border-left:3px solid var(--lime);color:var(--text)}
.drag-ghost{background:var(--lime);color:var(--on-accent);border-color:var(--text)}

/* --- Rodada 2 (29/09): ajustes pedidos pelo Alexandre --- */
/* Board and squad list side by side from 900px, so players can be dragged from the list onto the pitch. */
@media (min-width:900px){
 .lineup-grid.tactical-workspace{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);align-items:start}
 .lineup-grid.tactical-workspace>.roster-panel{position:sticky;top:12px;max-height:calc(100vh - 24px);display:flex;flex-direction:column}
 .lineup-grid.tactical-workspace>.roster-panel .table-scroll{overflow:auto;flex:1}
}
/* Pre-match: both clubs centred in their halves, symmetric around the "x". */
.prematch-teams>div,.prematch-teams>div:last-child{display:flex;justify-content:center;text-align:center}
.prematch-teams .club-link,.prematch-teams>div:last-child .club-link{justify-content:center}
@media (min-width:700px){.prematch-teams .badge{width:92px;height:92px}}
/* Team strength shown as a labelled field next to formation/strategy. */
.strength-field{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:92px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}
.strength-field span{font-size:12px;color:var(--muted)}
.strength-field b{font-size:22px;line-height:1;color:var(--text)}
/* Bigger crests on the live scoreboard. */
.match-scoreline .badge{width:52px;height:52px}
@media (max-width:600px){.match-scoreline .badge{width:34px;height:34px}}
/* Radio: goals shine, cards flash in their colour. */
.match-radio .event.goal{background:linear-gradient(90deg,#f5c51833,transparent);border-left:4px solid #f5c518;font-weight:700}
.match-radio .event.goal span{color:#ffe58a}
.match-radio .event.yellow{border-left:4px solid #f2d024}
.match-radio .event.red{border-left:4px solid #e0342f}
.match-radio .event.yellow span::before,.match-radio .event.red span::before{content:'';display:inline-block;width:9px;height:12px;border-radius:2px;margin-right:7px;vertical-align:-1px;background:#f2d024}
.match-radio .event.red span::before{background:#e0342f}
.match-radio .event.goal-flash{animation:radio-goal .45s ease-in-out 8 alternate}
.match-radio .event.card-flash{animation:radio-card .4s ease-in-out 6 alternate}
@keyframes radio-goal{from{background-color:#f5c51822;box-shadow:none}to{background-color:#f5c51866;box-shadow:0 0 18px #f5c51899}}
@keyframes radio-card{from{background-color:transparent}to{background-color:#ffffff22}}
@media(prefers-reduced-motion:reduce){.match-radio .event.goal-flash,.match-radio .event.card-flash{animation:none}}
.brand-home{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;display:flex;align-items:center;gap:inherit}
.back-to-match{white-space:nowrap}

/* Rádio Arquibancada: the whole match history in a fixed-height scrollable panel (newest first). */
.match-day .match-radio .commentary{height:200px;max-height:200px;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:700px){.match-day .match-radio .commentary{height:150px;max-height:150px}}
/* Toolbar switch: speeds up calm moments. */
.match-day .match-toolbar label.speed-boost-toggle{display:inline-flex;flex-direction:row;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}
.match-day .match-toolbar label.speed-boost-toggle input{width:auto;min-width:0;margin:0;accent-color:#f4bd4b}
