:root{--bg:#07120e;--sidebar:#081914;--surface:#10231c;--surface2:#142b22;--surface3:#19352a;--border:#28493b;--accent:#35d07f;--accent2:#8be7b4;--text:#f2f6f3;--muted:#91a79c;--warning:#e2b865;--danger:#e17b72;--radius:14px;--shadow:0 12px 28px rgba(0,0,0,.22);--space:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:320px}.app-shell{min-height:100vh;display:grid;grid-template-columns:214px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:25px 16px;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--border)}.brand{display:flex;align-items:baseline;gap:9px;padding:0 10px 30px}.brand strong{font-size:23px;letter-spacing:-.5px}.brand span{color:var(--accent);font-size:12px;font-weight:800}.sidebar nav{display:grid;gap:6px}.nav{border:0;background:transparent;color:var(--muted);padding:12px 13px;border-radius:9px;text-align:left;font-weight:650;cursor:pointer}.nav:hover,.nav:focus-visible{background:var(--surface);color:var(--text)}.nav.active{background:var(--surface2);color:var(--text);box-shadow:inset 3px 0 var(--accent)}.side-foot{margin-top:auto;padding:12px 10px;color:var(--muted);font-size:12px;line-height:1.6}.side-foot span{color:#648276}main{min-width:0;padding:28px clamp(18px,3vw,46px) 60px;max-width:1800px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.top h1,.placeholder h1{font-size:clamp(27px,3vw,40px);margin:3px 0 8px;letter-spacing:-1px}.top p{margin:0;color:var(--muted)}.eyebrow{font-size:11px!important;letter-spacing:1.8px;color:var(--accent)!important;font-weight:800}.status-dot{font-size:12px;color:var(--accent2);border:1px solid var(--border);border-radius:999px;padding:8px 12px}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.selector{display:grid;grid-template-columns:1fr 1fr minmax(250px,2fr) auto;gap:12px;padding:16px;align-items:end}.field{display:grid;gap:7px}.field label{font-size:11px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.8px}select,input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:9px;color:var(--text);padding:11px 12px;outline:none}select:focus,input:focus,.tab:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary{border:0;border-radius:9px;background:var(--accent);color:#04150d;padding:12px 18px;font-weight:850;cursor:pointer;white-space:nowrap}.primary:disabled{opacity:.5;cursor:wait}.empty,.loading,.error,.placeholder{margin-top:18px;padding:54px 24px;text-align:center}.empty-mark{margin:auto;width:50px;height:50px;border:1px solid var(--border);background:var(--surface2);border-radius:14px;display:grid;place-items:center;color:var(--accent);font-weight:900}.empty h2,.loading h2{margin:16px 0 6px}.empty p,.loading p,.placeholder p{color:var(--muted);margin:0}.loading{display:flex;justify-content:center;align-items:center;gap:18px}.spinner{width:30px;height:30px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{border-color:#6e3933;color:#ffd4d0}.hidden{display:none!important}.toast{margin:14px 0;padding:10px 13px;border-radius:9px;background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:13px}.match-header{margin:18px 0 14px;padding:20px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.team{text-align:center;font-size:clamp(19px,2vw,28px);font-weight:780}.versus{text-align:center;color:var(--muted);font-size:12px}.versus strong{display:block;color:var(--text);font-size:14px;margin-bottom:4px}.meta-line{grid-column:1/-1;display:flex;justify-content:center;gap:16px;color:var(--muted);font-size:12px;flex-wrap:wrap}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:thin}.tab{border:0;background:transparent;color:var(--muted);padding:13px 15px;white-space:nowrap;cursor:pointer;font-weight:700}.tab.active{color:var(--text);box-shadow:inset 0 -2px var(--accent)}#tab-content{padding-top:18px}.hero{padding:25px;background:linear-gradient(115deg,var(--surface2),var(--surface));border:1px solid var(--border);border-radius:var(--radius)}.hero h2{font-size:clamp(25px,3vw,38px);max-width:950px;margin:6px 0 10px;letter-spacing:-.8px}.hero p{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.section{margin-top:20px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-title h2{font-size:17px;margin:0}.model-card,.signal,.panel,.player-card{padding:17px}.model-card h3,.signal h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.7px}.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.prob{text-align:center;padding:10px 5px;background:var(--surface2);border-radius:8px}.prob span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}.prob strong{font-variant-numeric:tabular-nums;font-size:18px}.prob small{display:block;margin-top:5px;color:var(--accent2)}.badges{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.badge{font-size:10px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:var(--surface3);color:var(--accent2);border:1px solid var(--border)}.badge.experimental{color:var(--warning);border-color:#65522c}.badge.descriptive{color:#b7c9ff}.facts{font-size:12px;color:var(--muted);line-height:1.6}.notice{border-left:3px solid var(--warning);padding:10px 12px;background:#292417;color:#e9d29f;border-radius:5px;font-size:12px}.agreement-state{font-size:21px;font-weight:780}.market-tools{display:grid;grid-template-columns:1fr 1fr 1fr 2fr auto;gap:8px;margin-bottom:10px}.market-wrap{overflow:auto;max-height:620px;border:1px solid var(--border);border-radius:10px}.market-table{width:100%;border-collapse:collapse;font-size:12px;min-width:800px}.market-table th{position:sticky;top:0;background:var(--surface2);z-index:1;text-align:left;color:var(--muted);padding:10px}.market-table td{padding:9px 10px;border-top:1px solid var(--border);font-variant-numeric:tabular-nums}.market-table tr:hover td{background:var(--surface2)}details{border-top:1px solid var(--border);padding:10px 0}summary{cursor:pointer;font-weight:700}.kv{display:grid;grid-template-columns:180px 1fr;gap:7px;font-size:12px}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.empty-inline{padding:20px;color:var(--muted);border:1px dashed var(--border);border-radius:10px}.count{color:var(--muted);font-size:12px}.error{color:#ffd4d0}@media(max-width:1050px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.brand strong,.nav{font-size:0}.brand strong:after{content:"K";font-size:22px}.brand span{display:none}.nav:after{font-size:11px}.nav[data-page=report]:after{content:"Informe"}.nav[data-page=tools]:after{content:"Tools"}.nav[data-page=memory]:after{content:"Memo"}.nav[data-page=update]:after{content:"Update"}.side-foot{display:none}.selector{grid-template-columns:1fr 1fr}.field.wide{grid-column:1/-1}.grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:10px 14px;flex-direction:row;align-items:center}.brand{padding:0;margin-right:auto}.sidebar nav{display:flex}.nav{padding:9px}.top{display:block}.status-dot{display:inline-block;margin-top:12px}.selector{grid-template-columns:1fr}.field.wide{grid-column:auto}.grid{grid-template-columns:1fr}.match-header{grid-template-columns:1fr;gap:10px}.meta-line{grid-column:auto}.market-tools{grid-template-columns:1fr 1fr}main{padding:18px 14px}.hero{padding:19px}}
.matchday-leagues{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:10px 0 24px}.matchday-league{min-height:112px;min-width:0;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:12px;cursor:pointer;text-align:left}.matchday-league strong{min-width:0;overflow-wrap:anywhere;line-height:1.2}.matchday-league:hover,.matchday-league.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(53,208,127,.18);transform:translateY(-2px)}.matchday-league .asset-shell{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;overflow:hidden}.matchday-league .asset-shell img{display:block;width:100%;height:100%;object-fit:contain}.asset-fallback{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--surface3);color:var(--accent2);font-weight:900}.round-control{display:flex;align-items:end;gap:14px}.round-control label{display:grid;gap:6px}.round-pills{display:flex;gap:10px;overflow:auto;padding:4px 0 18px}.round-pill{min-width:150px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);padding:12px}.round-pill span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.round-pill.active{border-color:var(--green);background:rgba(49,214,127,.08)}.wide{width:100%}.progress-track{height:10px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--green);transition:width .25s}.progress-list{display:grid;gap:7px;margin-top:16px}.progress-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;padding:10px;border-bottom:1px solid var(--line)}.progress-row.completed span{color:var(--green)}.progress-row.failed span{color:#ff7676}.matchday-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.matchday-match header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.matchday-match header>div{display:flex;align-items:center;gap:8px}.matchday-match header>div:last-child{justify-content:flex-end}.md-reading{margin:16px 0;padding:14px;border-radius:14px;background:rgba(49,214,127,.07)}.md-reading small{display:block;color:var(--muted)}.md-models{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.md-model{padding:9px;border:1px solid var(--line);border-radius:12px}.md-model span,.md-model small{display:block;color:var(--muted);font-size:11px}.md-players{display:grid;gap:4px;margin:14px 0}.md-players span{font-size:12px;color:var(--muted)}.memory-list{display:grid;gap:14px}.memory-item{display:flex;align-items:center;justify-content:space-between}.danger-button{background:#5c2028;color:#fff;border:1px solid #a4424f;border-radius:10px;padding:10px 14px}.notice.danger{border-color:#a4424f}@media(max-width:1000px){.matchday-leagues{grid-template-columns:repeat(3,1fr)}.matchday-cards{grid-template-columns:1fr}}@media(max-width:640px){.matchday-leagues{grid-template-columns:repeat(2,1fr)}.md-models{grid-template-columns:1fr}.round-control{align-items:stretch;flex-direction:column}}
.premium-round-select{display:grid;gap:8px;margin:4px 0 18px;font-weight:800}.premium-round-select select{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface2);color:var(--text);font:inherit}.premium-round-select select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(49,214,127,.15);outline:none}

/* Cuenta autenticada: extensión discreta del lenguaje visual del sidebar. */
.sidebar-account{margin:8px 0 0;padding:14px 10px 0;border-top:1px solid var(--border)}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:0 3px 12px;min-width:0}
.sidebar-user-mark{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--accent);font-size:12px;font-weight:900}
.sidebar-user span:last-child{display:grid;min-width:0;line-height:1.25}
.sidebar-user small{color:var(--muted);font-size:10px;font-weight:650}
.sidebar-user strong{overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:12px;font-weight:780}
.sidebar-account-actions{display:grid;gap:4px}
.sidebar-account-action{width:100%;display:flex;align-items:center;gap:9px;border:0;border-radius:9px;padding:9px 10px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:700;text-align:left;text-decoration:none;cursor:pointer}
.sidebar-account-action:hover,.sidebar-account-action:focus-visible{background:var(--surface);color:var(--text)}
.sidebar-account-action span:first-child{width:16px;color:var(--accent2);text-align:center}
.sidebar-logout:hover,.sidebar-logout:focus-visible{color:#ffd4d0}
@media(max-width:1050px){.sidebar-account{padding:10px 0 0}.sidebar-user{display:none}.sidebar-account-action{justify-content:center;padding:9px}.sidebar-account-action span:last-child{display:none}}
@media(max-width:700px){.sidebar-account{display:flex;margin:0 0 0 6px;padding:0 0 0 6px;border-top:0;border-left:1px solid var(--border)}.sidebar-account-actions{display:flex}.sidebar-account-action{width:34px}}

/* Sprint 10 · segunda revisión: jerarquía de jornada basada en el dashboard V5 real. */
.primary:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.35);box-shadow:none;pointer-events:none}
.matchday-select{padding-inline:var(--space);padding-bottom:26px}.round-control{justify-content:center;margin-top:6px;padding-top:4px}.round-select-card{padding:24px}.round-select-content{width:min(100%,720px);margin-inline:auto}
.matchday-select>h3{margin-bottom:14px}.matchday-select>.matchday-leagues+h3{margin-top:34px}
.progress-card{padding-inline:var(--space)}
.matchday-dashboard-head{align-items:flex-start;margin-bottom:16px}.memory-save{margin-left:20px}.memory-reason{margin-bottom:16px}
.matchday-dashboard-head .eyebrow{margin:0 0 7px}.matchday-dashboard-head h2{margin:0 0 7px}.matchday-dashboard-head .facts{margin:0}
.matchday-cards{grid-auto-rows:1fr;align-items:stretch}.matchday-match{display:flex;flex-direction:column;min-width:0;height:100%;padding:18px 18px 20px;overflow:hidden}
.md-match-head{min-height:58px;padding-bottom:14px;border-bottom:1px solid var(--border)}.md-team{min-width:0;display:flex;align-items:center;gap:10px}.md-team strong{font-size:15px;line-height:1.2;overflow-wrap:anywhere}.md-team.away{justify-content:flex-end;text-align:right}.md-kickoff{text-align:center;white-space:nowrap;color:var(--text);font-size:11px;font-weight:800}.md-kickoff span,.md-kickoff small{display:block}.md-kickoff small{margin-top:4px;color:var(--muted);font-weight:650}
.md-reading{margin:16px 0 14px;padding:16px;background:linear-gradient(135deg,rgba(53,208,127,.13),rgba(53,208,127,.035));border:1px solid rgba(53,208,127,.22)}.md-reading-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.md-reading-title .eyebrow{margin:0 0 5px}.md-reading-title h3{margin:0;font-size:21px;line-height:1.15}.md-kind{max-width:150px;padding:5px 8px;border:1px solid rgba(226,184,101,.4);border-radius:999px;background:rgba(226,184,101,.09);color:#efd391;font-size:9px;font-weight:850;letter-spacing:.45px;text-align:center;text-transform:uppercase}
.md-shares{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.md-share{min-width:0}.md-share>div{display:grid;grid-template-columns:1fr auto;gap:2px 6px;align-items:end}.md-share span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase}.md-share strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.md-share b{grid-column:2;grid-row:1/3;color:var(--text);font-size:16px;font-variant-numeric:tabular-nums}.md-share i{display:block;height:6px;margin-top:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.md-share i span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.md-share[data-outcome="DRAW"] i span{background:var(--warning)}.md-share[data-outcome="AWAY"] i span{background:#78a7e8}
.md-model-section{margin-bottom:12px}.md-block-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.md-block-title strong{font-size:11px;letter-spacing:.65px;text-transform:uppercase}.md-block-title span{color:var(--muted);font-size:10px}.md-models{margin:0}.md-model{min-width:0;padding:11px 10px;background:rgba(255,255,255,.018)}.md-model>span{min-height:27px;color:var(--muted);font-size:10px;font-weight:750;line-height:1.25}.md-model strong{display:block;margin:5px 0 3px;font-size:12px;line-height:1.2}.md-model small{color:var(--accent2);font-variant-numeric:tabular-nums}.md-model.unavailable{border-style:dashed;opacity:.72}.md-model.unavailable strong,.md-model.unavailable small{color:var(--muted)}
.md-agreement{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;padding:9px 11px;border:1px solid var(--border);border-left:4px solid var(--muted);border-radius:9px;background:var(--surface2)}.md-agreement span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.md-agreement strong{font-size:12px;text-transform:uppercase}.md-agreement.amplio{border-left-color:var(--accent)}.md-agreement.amplio strong{color:var(--accent2)}.md-agreement.discrepancia{border-left-color:var(--warning)}.md-agreement.discrepancia strong{color:#efd391}
.md-players{margin:0}.md-player-list{display:grid;gap:5px}.md-player{display:grid;grid-template-columns:minmax(110px,1.35fr) minmax(90px,1fr) auto auto;gap:8px;align-items:center;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.025);font-size:11px}.md-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-player>span,.md-player em{color:var(--muted);font-style:normal}.md-player b{color:var(--accent2);font-variant-numeric:tabular-nums}.md-player b small{color:var(--muted)}.empty-players p{margin:0;color:var(--muted);font-size:11px}
.md-actions{margin-top:auto;padding-top:17px}.md-actions .open-report{width:100%;min-height:40px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text);font-weight:800;cursor:pointer}.md-actions .open-report:hover{border-color:var(--accent);color:var(--accent2);background:rgba(53,208,127,.08)}
@media(max-width:720px){.matchday-dashboard-head{display:grid;gap:12px}.memory-save{width:100%;margin-left:0}.md-reading-title{display:grid}.md-kind{max-width:none;justify-self:start}.md-shares{grid-template-columns:1fr}.md-player{grid-template-columns:1fr auto}.md-player>span{grid-column:1}.md-player em{grid-column:2;grid-row:2}}

/* Sprint 11 · Memoria: evaluación 1X2 de snapshots prospectivos inmutables. */
.memory-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto 180px 160px;gap:14px;align-items:end;padding:20px}.memory-toolbar h2{margin:4px 0 0;font-size:20px}.memory-toolbar .eyebrow{margin:0}.memory-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.memory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 25px}.memory-summary>div{display:grid;gap:8px;padding:17px}.memory-summary span{color:var(--muted);font-size:11px;text-transform:uppercase}.memory-summary strong{font-size:27px;color:var(--accent2)}.memory-title{margin:24px 0 11px;font-size:17px}.memory-models{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.memory-model{display:grid;gap:7px;padding:17px}.memory-model h3,.memory-model p{margin:0}.memory-model>span{color:var(--muted);font-size:12px}.memory-model.heuristic{border-color:rgba(226,184,101,.55);background:linear-gradient(135deg,rgba(226,184,101,.1),var(--surface))}.memory-round{padding:19px}.memory-round>header{display:flex;justify-content:space-between;gap:18px;align-items:start}.memory-round h2,.memory-round p{margin:4px 0}.memory-state{display:grid;gap:5px;text-align:right}.memory-state span{color:var(--muted);font-size:12px}.memory-round details{margin:14px 0}.memory-matches{display:grid;gap:10px;margin-top:12px}.memory-match{padding:13px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.018)}.memory-match>div:first-child{display:grid;grid-template-columns:1fr auto auto;gap:12px}.memory-match span{color:var(--muted);font-size:11px}.memory-methods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}.memory-method{display:grid;gap:3px;padding:9px;background:var(--surface2);border-radius:8px;font-size:11px}.memory-method small{color:var(--muted)}.memory-method.unavailable{opacity:.65;border:1px dashed var(--border)}
@media(max-width:1050px){.memory-toolbar{grid-template-columns:1fr 1fr}.memory-summary,.memory-models{grid-template-columns:repeat(2,1fr)}.memory-methods{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.memory-toolbar,.memory-summary,.memory-models,.memory-methods{grid-template-columns:1fr}.memory-round>header,.memory-match>div:first-child{display:grid}.memory-state{text-align:left}}
.memory-method{gap:4px}.memory-method>strong{font-size:13px;color:var(--text)}.memory-method em{color:var(--muted);font-size:10px;font-style:normal}
/* Sprint 12A fourth QA: preserve the card grid while constraining labels. */
.matchday-league{min-width:0;max-width:100%;overflow:hidden}.matchday-league strong{display:block;flex:1 1 0;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.22}.tool-output-head{position:static!important;inset:auto!important;z-index:auto!important}
/* Fifth QA: explicit grid tracks remove the flex item's intrinsic-width leak. */
.matchday-league{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px}.matchday-league .league-card-name{display:block;inline-size:100%;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;line-height:1.22;font-weight:700}.tool-output iframe{height:auto;min-height:720px;overflow:hidden}
/* Selector de 16 competiciones: ocho nameplates homogéneos por fila. */
.matchday-leagues-16{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:112px}.matchday-leagues-16 .league-card-name{overflow-wrap:normal;word-break:normal;hyphens:manual}
.tool-league-selector{margin-bottom:18px;padding:18px}.tool-league-selector header{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.tool-league-selector h2,.tool-league-selector p{margin:0}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tool-card{display:flex;flex-direction:column;gap:14px;padding:22px}.tool-card h2,.tool-card p{margin:0}.tool-card label{display:block;color:var(--muted);font-weight:700}.tool-card input[type="number"],.tool-card select{display:block;width:100%;margin-top:7px}.tool-card .tool-run{margin-top:auto}.tool-leagues{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px;border:1px solid var(--line);border-radius:10px}.tool-leagues label{font-size:12px;color:var(--text)}.tool-progress{margin-top:18px;padding:22px}.tool-output{margin-top:18px}.tool-output-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:10px}.tool-output-head a{text-decoration:none}.tool-output iframe{width:100%;height:calc(100vh - 190px);min-height:720px;border:1px solid var(--line);border-radius:12px;background:#fff}.tool-loading{padding:24px}@media(max-width:1050px){.tool-leagues{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid{grid-template-columns:1fr}.tool-output iframe{min-height:620px}}
.tools-block-title{margin:28px 0 12px;color:var(--accent2);font-size:18px}
.tool-league-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.tool-league-card{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;align-items:center;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:9px;color:var(--muted);cursor:pointer}.tool-league-card.selected{background:var(--surface2);border-color:var(--accent);color:var(--text)}.tool-league-card .league-logo{width:30px;height:30px;object-fit:contain}.tool-league-card span{font-size:11px;font-weight:750;line-height:1.15;overflow-wrap:normal}.tool-league-card input{position:absolute;opacity:0;pointer-events:none}@media(max-width:1100px){.tool-league-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.tool-league-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.method-fixtures{display:grid;gap:6px;max-height:280px;overflow:auto;margin:8px 0}.method-fixture{display:grid!important;grid-template-columns:auto 1fr;gap:2px 8px;padding:8px;background:var(--surface2);border:1px solid var(--border);border-radius:8px}.method-fixture input{grid-row:1/3;width:auto}.method-fixture small{grid-column:2;color:var(--muted)}.method-fixture:has(input:checked){border-color:var(--accent);background:var(--surface3)}#d-methods-count{color:var(--accent2);font-weight:800;margin:6px 0}
.update-safety,.update-selector header,.update-progress{display:flex;align-items:center;justify-content:space-between;gap:24px}.update-safety{background:linear-gradient(135deg,#102a20,#101a16);padding:24px 26px}.update-safety h2,.update-selector h2,.update-pipeline h2{margin:.35rem 0}.update-koda{padding:11px 16px;border-radius:999px;font-weight:800}.update-koda.ok{background:rgba(45,212,128,.12);color:#65e49e;border:1px solid #2d8157}.update-koda.warn{background:rgba(255,184,77,.12);color:#ffc66d;border:1px solid #876129}.update-selector{margin-top:22px;padding:24px 26px}.update-leagues{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:13px 12px;margin-top:20px}.update-league{min-width:0;min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 11px;background:#111d18;border:1px solid #29483a;border-radius:11px;cursor:pointer}.update-league.selected{border-color:#36c979;background:#14291f}.update-league img{width:36px;height:36px;object-fit:contain}.update-league span,.update-league b,.update-league small{min-width:0;display:block}.update-league b{font-size:12px;line-height:1.25}.update-league small{color:#87a596;margin-top:5px}.update-league input{width:auto;margin-left:3px}.update-pipelines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.update-pipeline{display:flex;flex-direction:column;min-height:250px;padding:24px}.update-pipeline>p:not(.eyebrow):not(.update-frozen){color:#9ab0a5;flex:1;line-height:1.55}.update-frozen{color:#ffc66d!important;background:rgba(255,184,77,.08);border:1px solid #6c512b;border-radius:8px;padding:9px 11px;font-size:12px}.update-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:18px}.update-actions button{min-height:42px}.update-job{margin-top:24px;padding:24px}.update-log{max-height:240px;overflow:auto;background:#07110d;border:1px solid #263f34;border-radius:10px;padding:15px;margin-top:18px;font:12px/1.55 Consolas,monospace}.update-log p{margin:7px 0}.update-log b{color:#43d98a;text-transform:uppercase;margin-right:10px}.update-results{display:grid;gap:11px;margin-top:18px}.update-result{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:14px;border-radius:9px;background:#13231c;border:1px solid #29483a}.update-result.updated b{color:#58df96}.update-result.unchanged b{color:#a9bdb3}.update-result.error b{color:#ff7b7b}.update-result small{color:#92aa9f}.update-done{width:16px;height:16px;border-radius:50%;background:#44d98a;box-shadow:0 0 0 5px rgba(68,217,138,.12)}@media(max-width:1200px){.update-leagues{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.update-pipelines{grid-template-columns:1fr}.update-leagues{grid-template-columns:repeat(2,minmax(0,1fr))}.update-safety,.update-selector header{align-items:flex-start;flex-direction:column}.update-safety,.update-selector,.update-pipeline,.update-job{padding:18px}.update-leagues{gap:10px}}
